Source code for prolif.rdkitmol
"""
Reading RDKit molecules --- :mod:`prolif.rdkitmol`
==================================================
"""
from rdkit import Chem
from rdkit.Chem.rdMolTransforms import ComputeCentroid
[docs]class BaseRDKitMol(Chem.Mol):
"""Base molecular class that behaves like an RDKit :class:`~rdkit.Chem.rdchem.Mol`
with extra attributes (see below).
The sole purpose of this class is to define the common API between the
:class:`~prolif.molecule.Molecule` and :class:`~prolif.residue.Residue` classes.
This class should not be instantiated by users.
Parameters
----------
mol : rdkit.Chem.rdchem.Mol
A molecule (protein, ligand, or residue) with a single conformer
Attributes
----------
centroid : numpy.ndarray
XYZ coordinates of the centroid of the molecule
xyz : numpy.ndarray
XYZ coordinates of all atoms in the molecule
"""
@property
def centroid(self):
return ComputeCentroid(self.GetConformer())
@property
def xyz(self):
return self.GetConformer().GetPositions()