The ligand module is designed to accept a number of chemical input formats and produce a CIF file at an optimised geometry.
Inputs formats include
SMILES string (Getting a SMILES for your ligand)
PDB (Protein Data Bank)
MolFiles (V2000, V3000 and SDFiles)
TRIPOS MOL2
certain CIF files
GAMESS input and output files
simple python objects that are used by the PyQuante package
Since the PDB file format does not require that atomic connectivity be defined there is a auto connection feature that using quantum chemical bond length data the determine bond types. There are also some algorithmic solutions to determining the character of ring structures and automatic addition of hydrogen atoms if none are included in the input. A feature of the Python language allows this information to be store simply be serialising the appropriate object to disk. This object can be reloaded and retains all the topological information.