On 08/11/2010 10:41, Andrew Dalke wrote: > On Nov 6, 2010, at 9:33 PM, Chris Morley wrote: >> The data file with corrected data is attached and can just replace the >> original in OpenBabel v2.3.0 and earlier. > > This raises an interesting problem in my fingerprint generation tool. > > I have a version string which looks like > > OpenBabel-MACCS/1 > > The idea is that tools can do a string comparison of the version fields of > two data sets and figure out if they are compatible. With this change I can > bump up the version number to > > OpenBabel-MACCS/2 > > and I can autodetect the environment by doing a simple fingerprint generation > and test for certain bits. > > However, it would be nice if there was a way to query the fingerprint plugin > to get a unique version number for it. > > I'm also curious - is there a programmatic way from Python to get the list of > available fingerprint plugins, and
On the commandline obabel -L fingerprints verbose will give you a list of fingerprints and as much information as is exposed - which is not much. Missing out the verbose hardly makes any difference. FP2 Indexes linear fragments up to 7 atoms. FP3 SMARTS patterns specified in the file patterns.txt PatternFP is definable FP4 SMARTS patterns specified in the file SMARTS_InteLigand.txt PatternFP is definable MACCS SMARTS patterns specified in the file MACCS.txt PatternFP is definable In C++ std::string OBPlugin::ListAsString (const char* PluginID, const char* param=NULL); gives similar functionality, but I don't know whether it is exposed in Python. The Descriptions of many plugin classes (which is what are presented here) have been expanded recently, but the fingerprints seem to have missed out on this and could clearly do with the kind of information you mentioned. The most straightforward way would be in the second line of the string provided by Description(). Would that be acceptable? > figure out how many bits they generate? For example, I don't see > any way to find that FP2 generates 1021 bits. The size of the vector returned by GetFingerprint() gives an indication (rounded up to a power of 2). Incidentally, "PatternFP is definable" is used in the facility to define your own fingerprint (without recompiling OpenBabel) from SMARTS patterns in a text file (choice of three formats). Chris ------------------------------------------------------------------------------ The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book "Blueprint to a Billion" shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev _______________________________________________ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss