Source code for skchem.core.conformer

#! /usr/bin/env python
#
# Copyright (C) 2015-2016 Rich Lewis <rl403@cam.ac.uk>
# License: 3-clause BSD

"""
## skchem.core.conformer

Defining conformers in scikit-chem.
"""

import rdkit.Chem
from .point import Point3D
from .base import ChemicalObject

[docs]class Conformer(rdkit.Chem.rdchem.Conformer, ChemicalObject): """ Class representing a Conformer in scikit-chem. """ #should use a view, list for now @property def atom_positions(self): """ Return the atom positions in the conformer for the atoms in the molecule. """ return [Point3D.from_super(self.GetAtomPosition(i)) for i in range(self.GetNumAtoms())] @atom_positions.setter def atom_positions(self, value): """ Set the atom positions in the conformer. Not implemented. """ raise NotImplementedError @property def is_three_d(self): """ Return whether the conformer is three dimensional. """ return self.is3D() @is_three_d.setter def is_three_d(self, value): """ Set whether the conformer is three dimensional. """ self.set3D(value) def __repr__(self): return '<{klass} id="{id}" at {address}>'.format(klass=self.__class__.__name__, \ id=self.GetId(), address=hex(id(self)))