Hi Andrew, Naturally, there are some differences between the processing of command line options by bash and Windows cmd prompt. Have you tried the various combinations such as -s"whatever" instead of '-swhatever', and avoiding the use of the hash, to figure out where the problem is?
- Noel On 7 February 2011 12:05, Andrew Dalke <[email protected]> wrote: > 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 > [email protected] > > > ------------------------------------------------------------------------------ > 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 > [email protected] > https://lists.sourceforge.net/lists/listinfo/openbabel-discuss > ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ OpenBabel-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
