Hi,
I've run into a case where one of my algorithms runs something like 10,000
time slower in 2.3.x than it did in 2.2.x, and running valgrind with the
"callgrind" tool seems to indicate that aromaticity detection is the
problem.
Here's the problem: Normally when you generate a SMILES, it detects
aromaticity and you're done. But in my case, I'm generating thousands of
"fragment SMILES" on the same molecule (taking various substructures and
generating a SMILES for each structure using an OBBitVec of atoms). It
appears that each time you ask for a SMILES, it discards the aromaticity
and starts over, even though the molecule hasn't changed.
I haven't dug into the code yet ... I wanted to check to see if this makes
sense to anyone. In 2.2.x this didn't happen, so it's a recent change, and
I know several OB contributors made significant improvements to
aromaticity. My "use case" is unusual so I'm not surprised this problem
didn't show up in anyone else's app.
It is dramatic with fullerenes -- a C70 molecule takes less than a second
to analyze in 2.2.x and over five minutes in 2.3.x.
Thanks,
Craig
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel