summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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