Subsections

 
15.2 Tripos Atom Typing

The OEChem library contains several routines to perform Tripos atom typing. Tripos atom types are commonly used in computational chemistry from the Tripos force field itself, to Gasteiger's partial charge algorithm, xlogp, and even the writing of Sybyl .mol2 format files.

15.2.1 OETriposAtomTypes

This function sets the integer atom type field of each atom in a molecule to its Tripos atom type. This function typically requires OEAssignAromaticFlags has been called to perceive aromaticity using the Tripos aromaticity model, i.e. OEAssignAromaticFlags(mol,OEAroModelTripos). This is required as Tripos considers compounds such as pyrrole to be aliphatic and so the carbon atoms of pyrrole should be correctly typed as ``C.2'' not ``C.ar''. Using the Tripos aromaticity model, however, is not a strong requirement and other aromaticity models can be used (for example if C.ar is desired in pyrrole).

The integer atom type properties are set to the values defined in the OETriposType namespace . So for example, planar nitrogen with Tripos atom type N.pl3 will be assigned the value OETriposType::Npl3. Atoms are cannot be assigned a Tripos atom type, are assigned value zero, a.k.a. OETriposType::Du. This function returns true if all the atoms could be assigned at type.

15.2.2 OETriposAtomTypeNames

This function is similar to OETriposAtomTypes , but instead of setting the integer atom type property, OETriposAtomTypeNames sets the atom type name string property using OEAtomBase::SetType. The integer atom type property is left unchanged. Once again, this function typically requires that OEAssignAromaticFlags has been called to perceive Tripos aromaticity model aromaticity, i.e. OEAssignAromaticFlags(mol,OEAroModelTripos). See the OETriposAtomTypes function for details.

The atom type name string property should typically be set to a Tripos type name before writing a Sybyl .mol2 file using the low-level OEWriteMol2File function.

15.2.3 OETriposTypeNames

This function is very similar to OETriposAtomTypeNames, and sets the atom type name string property using OEAtomBase::SetType. However, instead of doing graph matching to perceive the Tripos atom types, OETriposTypeNames assumes OETriposAtomTypes has already been called. This is a simple optimization, that avoids duplicating effort and just sets the atom type name string property from the value stored in

The atom type name string property should typically be set to a Tripos type name before writing a Sybyl .mol2 file using the low-level OEWriteMol2File function.

15.2.4 OETriposAtomNames

This function doesn't involve atom or bond typing at all, but is included here because it is related. This function sets the atom name field to ``XY'' where X is the atomic symbol for the atom and Y is a sequential index per atomic number. The atom name property should typically set to a Tripos atom name before writing a Sybyl mol2 file using the low-level OEWriteMol2File function.