Hi, Here are some comments regarding my commits from yesterday.
The type used to represent automorphisms has been changed from std::vector< std::map<unsigned int, unsigned int> > to std::vector< std::pair<unsigned int, unsigned int> >. This makes a huge difference in performance but might require small changes in code using it (code in svn is updated of course). When doing an automorphisms search for a multiple fragment molecule, each fragment is treated separately and the resulting set of automorphisms is simply the union of the individual results. In other words, not all automorphisms will have the same size and cover the whole molecule. Substructure search should now also be much faster using OBIsomorphismMapper compared to smarts although I haven't tested this yet. The canonical labeling code now uses memory more efficiently and also treats connected fragments individually. Performance analysis shows that precomputing and caching stereo descriptors would be the next part to optimize and I'll do this tonight together with some other smaller improvements. If anyone still encounters problematic cases (now or later), they can always send me the cases. The canonical order is now "stable" and I'll add a unit test to check this tonight. Still todo: Add square-planar stereochemistry + isotopes I've added a DataCache class to help with storing symmetry classes, automorphisms and stereogenic units as generic data. The class uses graph invariants and bitvec masks to check if the data needs to be recalculated. I still need to document this although we might want to keep this as private API? That's it for now, feel free to ask more questions... Tim ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel