diff options
author | Christoph Helma <helma@in-silico.ch> | 2018-09-17 16:53:19 +0200 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2018-09-17 16:53:19 +0200 |
commit | b2f12e257037faa21c14a54eec0205c45c5686c6 (patch) | |
tree | 3e91207be85679f6e64969bbbdacd4d86e0d567e /scripts/merge-mutagenicity.rb | |
parent | 21c114dc55eef123a91d74fb81f36877fb66c44e (diff) |
efsa parsing fixed, contradictory results
Diffstat (limited to 'scripts/merge-mutagenicity.rb')
-rwxr-xr-x | scripts/merge-mutagenicity.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/merge-mutagenicity.rb b/scripts/merge-mutagenicity.rb new file mode 100755 index 0000000..2de7d1c --- /dev/null +++ b/scripts/merge-mutagenicity.rb @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby +require 'csv' +require 'json' + +acts = {} +ids = {} +ARGV.each do |csv| + CSV.foreach(csv) do |row| + acts[row[1]] ||= [] + acts[row[1]] << row[2] + ids[row[1]] ||= [] + ids[row[1]] << row[0] + end +end + +contradictions = {} +puts ["SMILES","Mutagenicity"].join(",") +acts.each do |s,a| + if a.uniq.size > 1 + contradictions[s] ||= {} + a.each_with_index do |act,i| + contradictions[s][ids[s][i]] = act + puts [s,act].join "," + end + else + puts [s,a.first].join "," + end +end + +File.open(File.join(File.dirname(__FILE__),"..","data","contradictions.json"),"w+") { |cont| cont.puts contradictions.to_json } |