From 61fda66b5bc86e600b27f9a2c2eaea97603fbb92 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 29 Oct 2015 12:45:49 +0100 Subject: check for whitespaces in smiles --- lib/compound.rb | 7 ++++--- 1 file 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 -- cgit v1.2.3