On 9 December 2012 21:03, David van der Spoel <sp...@xray.bmc.uu.se> wrote:
> On 2012-12-09 11:36, Chris Morley wrote:
>> On 08/12/2012 21:32, David van der Spoel wrote:
>>> On 2012-12-08 17:42, Noel O'Boyle wrote:
>>>> C:\Users\Noel>obabel -:c1(Br)cc(Br)ccc1 -ofpt -xf fp4 -xs
>>>>>
>>>> Arylbromide     Aromatic
>>>> 1 molecule converted
>>>>
>>> Great, I can reproduce that.
>>> Is there a simple way of getting this functionality from the source
>>> code? I don't see any member functions in OBMol that could provide this?
>>
>> As well as the core API, OpenBabel has some of its functionality in
>> plugins. The code for the above feature is in the API code
>> fingerprint.cpp, and in the plugins fingerprintformat.cpp and
>> finger3.cpp. Probably the easiest way to access it is to use OB's
>> conversion framework (Imitate the command line.). Something like: (untested)
>>
>> ifstream ifs(13-dibromobenzene.sdf);
>> if(!ifs)
>>     return false;
>> OBConversion conv(&ifs, &cout);
>> if(!conv.SetInAndOutFormats("sdf", "fpt"))
>>     return false;
>> conv.AddOption("f", OBConversion::OUTOPTIONS, "FP4");
>> conv.AddOption("s");
>> conv.Convert();
>>
>> If you already have the OBMol, conv.Write() will do the output half.
>>
>> See http://openbabel.org/dev-api
>
> Thanks, I now use this which works:
>
>            if (conv.SetOutFormat("fpt"))
>              {
>                conv.AddOption("f", OpenBabel::OBConversion::OUTOPTIONS,
> "FP4");
>                conv.AddOption("s");
>                conv.Convert();
>                cout << conv.WriteString(mol,false);
>              }
>
> however, it gives me output that is not very nice for e.g.
> N,N-dimethylaniline
>
>  >
> Amine   Tertiary_mixed_amine    Aromatic           C_ONS_bond   Rotatable_bond
>
> It would be nicer to get this in a more ordered manner, like a vector of
> strings. Also, the first three terms make sense to me but the last two
> seem not very useful. Any more tips?

Just write your own code. All it's doing is SMARTS matching using the
patterns in the text file for FP4.

- Noel

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to