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

Reply via email to