diff options
author | Christoph Helma <helma@in-silico.ch> | 2015-10-29 12:45:49 +0100 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2015-10-29 12:45:49 +0100 |
commit | 61fda66b5bc86e600b27f9a2c2eaea97603fbb92 (patch) | |
tree | f71b7a203da0a582f6a00fd3258a01009e2dfe5a /lib/compound.rb | |
parent | 17d7315f32111b9ade6295a0de95c4160ee42841 (diff) |
check for whitespaces in smiles
Diffstat (limited to 'lib/compound.rb')
-rw-r--r-- | lib/compound.rb | 7 |
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 |