An object to store information about chemical motifs: participation in rings, planarity, chirality, aromaticity, conjugation, planarity, and bonds with different rotatability.
More...
|
int | getAtomCount () const |
| Get the total number of atoms.
|
|
int | getPlanarAtomCount () const |
| Get the number of planar atoms.
|
|
int | getRingCount () const |
| Get the number of rings in the system.
|
|
int | getFusedRingCount () const |
| Get the number of fused rings in the system.
|
|
int | getMutableRingCount () const |
| Get the number of malleable, non-aromatic twistable rings in the system.
|
|
int | getAromaticGroupCount () const |
| Get the number of aromatic groups in the system.
|
|
int | getPolarHydrogenCount () const |
| Get the number of polar hydrogens in the system.
|
|
int | getHydrogenBondDonorCount () const |
| Get the number of hydrogen bond donors in the system.
|
|
int | getHydrogenBondAcceptorCount () const |
| Get the number of hydrogen bond acceptors in the system.
|
|
int | getChiralCenterCount () const |
| Get the number of chiral centers in the system.
|
|
int | getRotatableBondCount () const |
| Get the number of rotatable bonds in the system.
|
|
int | getCisTransBondCount () const |
| Get the number of bonds involved in cis-trans isomerization.
|
|
bool | rotatableGroupsMapped () const |
| Indicate whether the rotatable groups (including rotatable bonds as well as cis-trans bonds) have been computed.
|
|
bool | chiralitiesComputed () const |
| Indicate whether chiralities have been determined for this set of chemical features.
|
|
std::vector< uint > | getRingMask (int min_ring_size, int max_ring_size) const |
| Return a mask of rings within a given size range for this system.
|
|
std::vector< uint > | getAromaticMask (int min_pi_electrons, int max_pi_electrons) const |
| Return a mask of atomatic atoms in the system.
|
|
std::vector< int > | getPolarHydrogenList () const |
| Get a list of all polar hydrogen atoms.
|
|
std::vector< int > | getHydrogenBondDonorList () const |
| Get a list of all hydrogen bond donor atoms.
|
|
std::vector< int > | getHydrogenBondAcceptorList () const |
| Get a list of all hydrogen bond acceptor atoms.
|
|
std::vector< uint > | getPolarHydrogenMask () const |
| Get a bit mask of all polar hydrogen atoms in the system, acceptable for inputs to creating new atom masks.
|
|
std::vector< uint > | getHydrogenBondDonorMask () const |
| Get a bit mask of all hydrogen bond donors in the system, acceptable for inputs to creating new atom masks.
|
|
std::vector< uint > | getHydrogenBondAcceptorMask () const |
| Get a bit mask of all hydrogen bond acceptors in the system, acceptable for inputs to creating new atom masks.
|
|
std::vector< int > | getChiralCenters (ChiralOrientation direction=ChiralOrientation::NONE) const |
| List the chiral centers in a system, using topological indices.
|
|
std::vector< int4 > | getChiralArmBaseAtoms () const |
| Get the bases of each arm for all chiral centers. The result returns the lowest priority arm in the "x" member, the highest in the "y" member, and the second- and third-highest priority arms in the "z" and "w" members of each tuple, respectively.
|
|
std::vector< uint > | getChiralityMask (ChiralOrientation direction) const |
| Return a mask of chiral centers in the system.
|
|
std::vector< double > | getFormalCharges () const |
| Return a vector containing the formal charges on all particles in the system (this includes virtual sites, which will have formal charges of zero since they are not real atoms).
|
|
std::vector< double > | getBondOrders () const |
| Return a vector containing the orders of all bonds in the system (this includes bonds to virtual sites only if they are defined in the topology's connectivity, and such bonds will have order zero).
|
|
const std::vector< int > & | getZeroKelvinFormalCharges () const |
| Return the formal charges for a representative Lewis structure of the molecules in this topology.
|
|
const std::vector< int > & | getZeroKelvinBondOrders () const |
| Return the bond orders for a representative Lewis structure of the molecules in this topology.
|
|
const std::vector< int > & | getZeroKelvinFreeElectrons () const |
| Return the free electron content of atoms in a representative Lewis structure of the molecules in this topology.
|
|
std::vector< IsomerPlan > | getCisTransIsomerizationGroups () const |
| Get the moving atom groups and bond endpoints involved in cis-trans isomerization. This function clones the simple form of getRotatableBondGroups but the reliance on so many different arrays and counters makes it fruitless to abstract.
|
|
std::vector< IsomerPlan > | getChiralInversionGroups () const |
| Get the group of atoms that can invert a chiral center by a C2 symmetry rotation. This re-uses the IsomerPlan struct, this time casting the root and pivot atoms as the origins of the heaviest and second-heaviest branches, respectively, which will again not move even as the rest of the atoms rotate.
|
|
const AtomGraph * | getTopologyPointer () const |
| Get a pointer to the AtomGraph which built this object.
|
|
const ChemicalFeatures * | getSelfPointer () const |
| Get a const pointer to the object itself in host memory.
|
|
ChemicalFeaturesReader | data (HybridTargetLevel tier=HybridTargetLevel::HOST) const |
| Get the abstract.
|
|
void | findChiralOrientations (const CoordinateFrameReader &cfr) |
| Find the chiral orientations of the system's chiral centers. This function will be called once by the constructor but can be called additional times if the coordinates of the system change. It will update the object's internal array of chiral centers, which combines orientational information with the centers' topological indices.
|
|
void | findRotatableBondGroups (StopWatch *timer=nullptr) |
| Find the rotatable (and cis-trans invertible, and chiral invertible) atom groups in the topology based on rotatable bonds or chiral centers found by the rest of the chemical perception calculations.
|
|
|
| ChemicalFeatures (const AtomGraph *ag_in=nullptr, MapRotatableGroups map_groups_in=MapRotatableGroups::NO, double temperature_in=300.0, StopWatch *timer_in=nullptr) |
| The constructor requires a topology and some coordinate set.
|
|
| ChemicalFeatures (const AtomGraph &ag_in, MapRotatableGroups map_groups_in=MapRotatableGroups::NO, double temperature_in=300.0, StopWatch *timer_in=nullptr) |
|
| ChemicalFeatures (const AtomGraph *ag_in, const CoordinateFrameReader &cfr, MapRotatableGroups map_groups_in=MapRotatableGroups::NO, double temperature_in=300.0, StopWatch *timer_in=nullptr) |
|
| ChemicalFeatures (const AtomGraph *ag_in, const CoordinateFrame &cf, MapRotatableGroups map_groups_in=MapRotatableGroups::NO, double temperature_in=300.0, StopWatch *timer_in=nullptr) |
|
| ChemicalFeatures (const AtomGraph *ag_in, const PhaseSpace &ps, MapRotatableGroups map_groups_in=MapRotatableGroups::NO, double temperature_in=300.0, StopWatch *timer_in=nullptr) |
|
| ChemicalFeatures (const AtomGraph &ag_in, const CoordinateFrame &cf, MapRotatableGroups map_groups_in=MapRotatableGroups::NO, double temperature_in=300.0, StopWatch *timer_in=nullptr) |
|
| ChemicalFeatures (const AtomGraph &ag_in, const PhaseSpace &ps, MapRotatableGroups map_groups_in=MapRotatableGroups::NO, double temperature_in=300.0, StopWatch *timer_in=nullptr) |
|
|
| ChemicalFeatures (const ChemicalFeatures &original) |
| Copy and move constructors.
|
|
| ChemicalFeatures (ChemicalFeatures &&original) |
|
|
ChemicalFeatures & | operator= (const ChemicalFeatures &other) |
| Copy assignment and move assignment operators.
|
|
ChemicalFeatures & | operator= (ChemicalFeatures &&other) |
|
|
ChiralOrientation | getAtomChirality (int atom_index) const |
| Return the chiral orientations for one or more atoms in the system.
|
|
std::vector< ChiralOrientation > | getAtomChirality (int low_index, int high_index) const |
|
std::vector< ChiralOrientation > | getAtomChirality () const |
|
|
double | getFreeElectrons (int atom_index) const |
| Return the (resonance-averaged) free electron content for one or more atoms in the system.
|
|
std::vector< double > | getFreeElectrons (int low_index, int high_index) const |
|
std::vector< double > | getFreeElectrons () const |
|
|
ullint | getRingInclusion (int atom_index) const |
| Return the ring inclusion specifications for one or more atoms in the system.
|
|
std::vector< ullint > | getRingInclusion (int low_index, int high_index) const |
|
std::vector< ullint > | getRingInclusion () const |
|
|
bool | bondIsInRing (int atom_i, int atom_j) const |
| Return whether a bond in the system is in a ring group or not.
|
|
bool | bondIsInRing (int bond_index) const |
|
|
std::vector< IsomerPlan > | getRotatableBondGroups () const |
| Get the atom endpoints of a rotatable bond. The bond root atom is returned in the x member of the tuple, the pivot atom (the second atom, closest to atoms that will turn) is listed in the y member.
|
|
std::vector< IsomerPlan > | getRotatableBondGroups (int cutoff, int mol_index=0) const |
|
|
std::vector< ChiralInversionProtocol > | getChiralInversionMethods () const |
| Get the means for inverting one or more chiral centers.
|
|
ChiralInversionProtocol | getChiralInversionMethods (int index) const |
|
An object to store information about chemical motifs: participation in rings, planarity, chirality, aromaticity, conjugation, planarity, and bonds with different rotatability.