diff options
Diffstat (limited to 'scripts/all_mg_dup.rb')
-rwxr-xr-x | scripts/all_mg_dup.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/all_mg_dup.rb b/scripts/all_mg_dup.rb new file mode 100755 index 0000000..48323d7 --- /dev/null +++ b/scripts/all_mg_dup.rb @@ -0,0 +1,35 @@ +#!/usr/bin/env ruby +require_relative '../../lazar/lib/lazar' +include OpenTox +csv_in = CSV.read("data/NOAEL-LOAEL_SMILES_rat_chron.csv", :encoding => 'windows-1251:utf-8') +head = csv_in.shift +data = {} +csv_in.each do |line| + smi = line[11] + mg = line[19].to_f + unless mg.to_f == 0.0 + c = Compound.from_smiles smi + data[c.smiles] ||= [] + data[c.smiles] << -Math.log10(mg).signif(5) + end +end +csv_in = CSV.read("data/LOAEL_mg_corrected_smiles_mmol.csv", :encoding => 'windows-1251:utf-8') +head = csv_in.shift +data = {} +csv_in.each do |line| + c = Compound.from_smiles line[0] + mmol = line[1].to_f + data[c.smiles] ||= [] + data[c.smiles] << -Math.log10(c.mmol_to_mg(mmol)).signif(5) +end +File.open(File.join("data","all_mg_dup.csv"),"w+") do |f| + f.puts ["SMILES","LOAEL"].join "," + data.each do |smi,values| + values.uniq! + if values.size > 1 + values.each do |v| + f.puts "#{smi},#{v}" + end + end + end +end |