|
NAMEChemistry::Canonicalize - Number the atoms in a molecule in a unique waySYNOPSISuse Chemistry::Canonicalize ':all'; # $mol is a Chemistry::Mol object canonicalize($mol); print "The canonical number for atom 1 is: ", $mol->atoms(1)->attr("canon/class"); print "The symmetry class for for atom 1 is: ", $mol->atoms(1)->attr("canon/symmetry_class"); DESCRIPTIONThis module provides functions for "canonicalizing" a molecular structure; that is, to number the atoms in a unique way regardless of the input order.The canonicalization algorithm is based on: Weininger, et. al., J. Chem. Inf. Comp. Sci. 29[2], 97-101 (1989) This module is part of the PerlMol project, <http://www.perlmol.org/>. ATOM ATTRIBUTESDuring the canonicalization process, the following attributes are set on each atom:
FUNCTIONSThese functions may be exported, although nothing is exported by default.
VERSION0.11TO DOAdd some tests.CAVEATSCurrently there is an atom limit of about 430 atoms.These algorithm is known to fail to discriminate between non-equivalent atoms for some complicated cases. These are usually highly bridged structures explicitly designed to break canonicalization algorithms; I don't know of any "real-looking structure" (meaning something that someone would actually synthesize or find in nature) that fails, but don't say I didn't warn you! SEE ALSOChemistry::Mol, Chemistry::Atom, Chemistry::Obj, <http://www.perlmol.org/>.AUTHORIvan Tubert <itub@cpan.org>COPYRIGHTCopyright (c) 2009 Ivan Tubert. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |