A molecular three-dimensional feature. This special class of MOL object properies has its own data lines.
More...
|
const std::string & | getTitle () const |
| Get the title of the MDL MOL entry (for its first three lines)
|
|
int | getAtomCount () const |
| Get the system's atom count.
|
|
int | getBondCount () const |
| Get the number of bonds in the system.
|
|
int | getPropertiesCount () const |
| Get the number of properties found in the MDL MOL entry.
|
|
int | getDataItemCount () const |
| Get the number of data items (XML-like note found after the MDL section of the entry in a BIOVIA Structure Data (SD)-format file).
|
|
const MdlMol * | getSelfPointer () const |
| Get a const pointer to the object, useful if a pointer is needed and the object is available by const reference.
|
|
PhaseSpace | exportPhaseSpace () const |
| Export the coordinates as a PhaseSpace object suitable for basic molecular mechanics force computations.
|
|
CoordinateFrame | exportCoordinateFrame () const |
| Export the coordinates as a stripped-down CoordinateFrame object suitable for molecular mechanics energy computations.
|
|
char4 | getAtomSymbol (int index) const |
| Get the atomic symbol for a particular atom.
|
|
const std::vector< char4 > & | getAtomSymbols () const |
| Get a const reference to the atomic symbols for all atoms.
|
|
int | getAtomicNumber (int index) const |
| Get the atomic number of a particular atom.
|
|
const std::vector< int > & | getAtomicNumbers () const |
| Get a const reference to the vector of all atomic numbers in the system.
|
|
int | getFormalCharge (int index) const |
| Get the formal charge on a particular atom.
|
|
const std::vector< int > & | getFormalCharges () const |
| Get a const reference to the vector of all formal charges.
|
|
void | addProperty (const MdlMolProperty *mmprop) |
| Add a property to the object. Properties must follow a list of pre-approved BIOVIA codes, but provide a means of extending the V2000 format to include information found in the V3000 format.
|
|
void | addProperty (const MdlMolProperty &mmprop) |
|
MdlMolDataItemKind | getDataItemKind (int item_index) const |
| Get the classification of a data item from within the MDL MOL entry.
|
|
StateVariable | getTrackedState (int item_index) const |
| Get the state variable that one of the data items is tracking.
|
|
void | addLineToDataItem (const std::string &text, int item_index) |
| Add a line of text to a specific data item within the MDL MOL entry. This text may contain a pre-formatted string displaying some energy quantity, or more complex syntax.
|
|
const std::string & | getDataItemName (int item_index) const |
| Get the name of a data item based on its number.
|
|
const std::string & | getDataItemOutputName (int item_index) const |
| Get the name of a data item based on its number, fit for output in the proper Biovia SD file format standard.
|
|
int | getDataItemIndex (const std::string &item_name) const |
| Get the index of a data item based on a name.
|
|
|
| MdlMol (ExceptionResponse policy_in=ExceptionResponse::WARN) |
| Constructors for the MDL molecule format object (known as MolObj in RDKit)
|
|
| MdlMol (const std::string &filename, ExceptionResponse policy_in=ExceptionResponse::WARN, ModificationPolicy dimod_policy=ModificationPolicy::DO_NOT_MODIFY, ExceptionResponse dimod_notify=ExceptionResponse::WARN) |
|
| MdlMol (const char *filename, ExceptionResponse policy_in=ExceptionResponse::WARN, ModificationPolicy dimod_policy=ModificationPolicy::DO_NOT_MODIFY, ExceptionResponse dimod_notify=ExceptionResponse::WARN) |
|
| MdlMol (const TextFile &tf, int line_start=0, int line_end=-1, CaseSensitivity capitalization=CaseSensitivity::YES, ExceptionResponse policy_in=ExceptionResponse::WARN, ModificationPolicy dimod_policy=ModificationPolicy::DO_NOT_MODIFY, ExceptionResponse dimod_notify=ExceptionResponse::WARN) |
|
template<typename T> |
| MdlMol (const ChemicalFeatures *chemfe, const T *xcrd, const T *ycrd, const T *zcrd, double inv_scale, int molecule_index=0) |
|
template<typename T> |
| MdlMol (const ChemicalFeatures *chemfe, const T *xcrd, const T *ycrd, const T *zcrd, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const CoordinateFrameReader cfr, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const CoordinateFrame *cf, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures &chemfe, const CoordinateFrame &cf, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const PhaseSpaceReader psr, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const PhaseSpace *ps, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures &chemfe, const PhaseSpace &ps, int molecule_index=0) |
|
template<typename T> |
| MdlMol (const ChemicalFeatures *chemfe, const CoordinateSeriesReader< T > csr, int frame_index, int molecule_index=0) |
|
template<typename T> |
| MdlMol (const ChemicalFeatures *chemfe, const CoordinateSeries< T > *cs, int frame_index, int molecule_index=0) |
|
template<typename T> |
| MdlMol (const ChemicalFeatures &chemfe, const CoordinateSeries< T > &cs, int frame_index, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const PsSynthesisReader poly_psr, int system_index, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const PhaseSpaceSynthesis *poly_ps, int system_index, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures &chemfe, const PhaseSpaceSynthesis &poly_ps, int system_index, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const CondensateReader *cdnsr, int system_index, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures *chemfe, const Condensate *cdns, int system_index, int molecule_index=0) |
|
| MdlMol (const ChemicalFeatures &chemfe, const Condensate &cdns, int system_index, int molecule_index=0) |
|
|
| MdlMol (const MdlMol &original)=default |
| Default copy and move constructors, as well as assignment operators, are appropriate for this object which consists entirely of scalar data types, Standard Template Library objects, and no const members.
|
|
| MdlMol (MdlMol &&original)=default |
|
MdlMol & | operator= (const MdlMol &original)=default |
|
MdlMol & | operator= (MdlMol &&original)=default |
|
|
double3 | getCoordinates (int index) const |
| Get the { X, Y, Z } coordinate tuple for a particular atom, or for all atoms.
|
|
const std::vector< double3 > & | getCoordinates () const |
|
std::vector< double > | getCoordinates (CartesianDimension dim) const |
|
|
template<typename T> |
void | impartCoordinates (const T *xcrd, const T *ycrd, const T *zcrd, double scale_factor) |
| Impart a new set of coordinates to the atoms based on one of STORMM's major coordinate classes. This will permanently modify the underlying coordinates of the object and also any properties dependent of the structure. If providing a standalone coordinate object, the atom count of the incoming coordinate set will be checked. In all cases, the order of atoms in the incoming coordinate set is expect to match this object's own arrangement. If presenting an abstract of a PhaseSpace object, the coordinates of the WHITE stage in the time cycle will be taken. When presenting the original objects, the developer may select the stage in the time cycle.
|
|
template<typename T> |
void | impartCoordinates (const T *xcrd, const T *ycrd, const T *zcrd, double scale_factor, const ChemicalDetailsKit &cdk, int molecule_index) |
|
void | impartCoordinates (const llint *xcrd, const llint *ycrd, const llint *zcrd, const int *xcrd_ovrf, const int *ycrd_ovrf, const int *zcrd_ovrf, double scale_factor) |
|
void | impartCoordinates (const llint *xcrd, const llint *ycrd, const llint *zcrd, const int *xcrd_ovrf, const int *ycrd_ovrf, const int *zcrd_ovrf, double scale_factor, const ChemicalDetailsKit &cdk, int molecule_index) |
|
void | impartCoordinates (const PhaseSpaceReader &psr) |
|
void | impartCoordinates (const PhaseSpaceWriter &psw) |
|
void | impartCoordinates (const PhaseSpace *ps, CoordinateCycle orientation, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
void | impartCoordinates (const PhaseSpace *ps, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
void | impartCoordinates (const PhaseSpace &ps, CoordinateCycle orientation, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
void | impartCoordinates (const PhaseSpace &ps, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
void | impartCoordinates (const CoordinateFrameReader &cfr) |
|
void | impartCoordinates (const CoordinateFrameWriter &cfw) |
|
void | impartCoordinates (const CoordinateFrame *cf, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
void | impartCoordinates (const CoordinateFrame &cf, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
template<typename T> |
void | impartCoordinates (const CoordinateSeriesReader< T > &cs, int frame_index, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
template<typename T> |
void | impartCoordinates (const CoordinateSeriesWriter< T > &cs, int frame_index, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
template<typename T> |
void | impartCoordinates (const CoordinateSeries< T > *cs, int frame_index, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
template<typename T> |
void | impartCoordinates (const CoordinateSeries< T > &cs, int frame_index, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
void | impartCoordinates (const PhaseSpaceSynthesis *poly_ps, int system_index, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
void | impartCoordinates (const PhaseSpaceSynthesis &poly_ps, int system_index, HybridTargetLevel tier=HybridTargetLevel::HOST) |
|
|
void | addDataItem (const MdlMolDataRequest &ask, const AtomGraph &ag, const RestraintApparatus &ra) |
| Add a data item to the object. These data items follow the classifications set forth in the DataRequestKind enumerator (see molecule_format_enumerators.h). Each overload is designed to serve a particular case.
|
|
|
const std::vector< std::string > & | getDataItemContent (int item_index) const |
| Get the lines from a data item as an array of strings.
|
|
std::vector< std::string > | getDataItemContent (const std::string &item_name) const |
|
|
void | writeMdl (std::ofstream *foutp, MdlMolVersion vformat) const |
| Write a set of molecular coordinates, bonds, and their annotations in MDL MOL format. Apply all properties already stored in the object, such that the result is not an exact reversal of the operations for reading such a file but correctly conveys the relevant information to any other SDF / MDL MOL reader. The data items are not part of this output–for that section of the SD file format, use writeDataItems() below. The intention is that different coordinates can then be edited for a new structure while the (smaller) data section is re-written separately for a more efficient file I/O process.
|
|
void | writeMdl (const std::string &fname, MdlMolVersion vformat, PrintSituation expectation) const |
|
std::string | writeMdl (MdlMolVersion vformat=MdlMolVersion::V3000) const |
|
|
void | writeDataItems (std::ofstream *foutp, int mol_index=0) const |
| Write the non-MDL components of an SD file, including all applicable data items, to a string or file. This is to be used in concert with the writeMdl() member function above.
|
|
void | writeDataItems (const std::string &fname, PrintSituation expectation, int mol_index=0) const |
|
std::string | writeDataItems (int mol_index=0) const |
|