summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2015-10-29 12:45:49 +0100
committerChristoph Helma <helma@in-silico.ch>2015-10-29 12:45:49 +0100
commit61fda66b5bc86e600b27f9a2c2eaea97603fbb92 (patch)
treef71b7a203da0a582f6a00fd3258a01009e2dfe5a
parent17d7315f32111b9ade6295a0de95c4160ee42841 (diff)
check for whitespaces in smiles
-rw-r--r--lib/compound.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/compound.rb b/lib/compound.rb
index 028a8cd..a26528b 100644
--- a/lib/compound.rb
+++ b/lib/compound.rb
@@ -87,13 +87,14 @@ module OpenTox
# @param [String] smiles Smiles string
# @return [OpenTox::Compound] Compound
def self.from_smiles smiles
- smiles = obconversion(smiles,"smi","can")
+ return nil if smiles.match(/\s/) # spaces seem to confuse obconversion and may lead to invalid smiles
+ smiles = obconversion(smiles,"smi","can") # test if SMILES is correct and return canonical smiles (for compound comparisons)
if smiles.empty?
return nil
#Compound.find_or_create_by(:warning => "SMILES parsing failed for '#{smiles}', this may be caused by an incorrect SMILES string.")
else
- #Compound.find_or_create_by :smiles => obconversion(smiles,"smi","can")
- Compound.find_or_create_by(:smiles => smiles)
+ #Compound.find_or_create_by :smiles => obconversion(smiles,"smi","can") # test if SMILES is correct and return canonical smiles (for compound comparisons)
+ Compound.find_or_create_by :smiles => smiles
end
end