summaryrefslogtreecommitdiff
path: root/scripts/pa-fingerprints.rb
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/pa-fingerprints.rb')
-rwxr-xr-xscripts/pa-fingerprints.rb33
1 files changed, 17 insertions, 16 deletions
diff --git a/scripts/pa-fingerprints.rb b/scripts/pa-fingerprints.rb
index 344ba86..852af5c 100755
--- a/scripts/pa-fingerprints.rb
+++ b/scripts/pa-fingerprints.rb
@@ -1,20 +1,21 @@
#!/usr/bin/env ruby
-require_relative "../../lazar/lib/lazar.rb"
-training_fingerprints = `sed -n '1p' data/mutagenicity-fingerprints.csv`.chomp.split(",")
-training_fingerprints.pop
-puts training_fingerprints.join(",")
-training_fingerprints.shift
-File.readlines(File.join("pyrrolizidine-alkaloids","lazar","pa-smiles.csv")).each_with_index do |line,i|
- if i > 0
- (id,smiles) = line.chomp.split(",")
- c = Compound.new(smiles)
- out = [c.smiles]
- fp = c.fingerprint
- training_fingerprints.each do |frag|
- fp.include?(frag) ? out << 1 : out << 0
- end
- puts out.join(",")
+mp2d = {}
+File.readlines(File.join("pyrrolizidine-alkaloids","pa-mp2d")).each do |line|
+ items = line.chomp.split(',')
+ smi = items.shift
+ mp2d[smi] = items
+end
+fps = []
+mp2d.each do |smi,fp|
+ fps += fp
+end
+fps = fps.sort.uniq
+puts (["Canonical SMILES"]+fps).join(",")
+mp2d.each do |smi,fp|
+ print smi
+ fps.each do |f|
+ fp.include?(f) ? print(",1") : print(",0")
end
+ puts
end
-