summaryrefslogtreecommitdiff
path: root/scripts/merge-mutagenicity.rb
blob: 2de7d1cfeb2bfc51064db3f549e7cce9e27a4a87 (plain)
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
#!/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 }