Can someone help me understand what's wrong with my searches?

I'm following the tutorial from
   http://openbabel.org/wiki/Tutorial:Fingerprints

% babel Compound_09425001_09450000.sdf.fs results.sdf '-sN#Cc1ccccc1C#N' -at0.6
Segmentation fault

% cat > x.smi
N#Cc1ccccc1C#N blah

% babel Compound_09425001_09450000.sdf.fs results.sdf -Sx.ami -at5
Segmentation fault


This is all with a version of Babel I compiled from version control (since I 
want the corrected MACCS definitions)

% babel --version
No output file or format spec!
Open Babel 2.3.0 -- Jan  8 2011 -- 19:52:18



(gdb) run Compound_09425001_09450000.sdf.fs results.sdf -sN#Cc1ccccc1C#N -at0.6
  ...
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
OpenBabel::FastSearchFormat::ObtainTarget (this=0x10148c660, 
pConv=0x7fff5fbfeb00, patternMols=@0x7fff5fbfb9a0, indexname=@0x7fff5fbfbb30) 
at /Users/dalke/cvses/ob/src/formats/fastsearchformat.cpp:506
506           if(vec[0][0]=='~')
(gdb) 

The relevant code is

486         OBMol patternMol;
487         patternMol.SetIsPatternStructure();
488     
489         const char* p = pConv->IsOption("s",OBConversion::GENOPTIONS);
490     
491         bool OldSOption=false;
492         //If no -s option, make OBMol from file in -S option or -aS option 
(both deprecated)
493         if(!p)
494         {
(gdb) l
495           p = pConv->IsOption("S",OBConversion::GENOPTIONS);
496           if(!p)
497             p = pConv->IsOption("S",OBConversion::INOPTIONS);//for GUI 
mainly
498           OldSOption = true;
499         }
500         if(p)
501         {
502           vector<string> vec;
503           tokenize(vec, p);
504     
(gdb) l
505           //ignore leading ~ (not relevant to fastsearch)
506           if(vec[0][0]=='~')
507             vec[0].erase(0,1);

and I see that p == "", which means vector<string> vect would be the empty 
list, making vec[0][0] not possible.

(gdb) print p
$1 = 0x7fff705ea518 ""

Somehow the "-s" value is being removed?


                                        Andrew
                                        da...@dalkescientific.com


------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world? 
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to