1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/usr/bin/env ruby
require 'csv'
csv = []
exclude = [
%{Acetal},
"Anion",
%r{_bond},
%{_carbon},
"Charged",
%{Hetero_},
%{_rings},
"Kation",
%{NOS},
"Salt",
"Spiro",
%{Sugar}
]
CSV.foreach("data/functional-groups.csv") do |row|
keep = true
exclude.each do |patt|
keep = false if row[0].match(patt)
end
if keep and [row[1].to_i,row[2].to_i].max >= 25
csv << [row[0].gsub('_',' '),row[1].to_i,"Nestle"]
csv << [row[0].gsub('_',' '),row[2].to_i,"FSVO"]
else
p row
end
end
File.open("data/functional-groups-reduced4R.csv","w+"){|f| f.puts csv.collect{|r| r.join ", "}.join("\n")}
|