STORMM Source Documentation
|
Public Member Functions | |
int | getAtomCount () const |
Get the number of atoms in the structure (the number of atoms per model). | |
int | getModelCount () const |
Get the number of models in the object. | |
bool | getFormalChargePrinting () const |
Get the object's current directive on whether to print formal charges to any output files. | |
CoordinateFrame | exportCoordinateFrame (int model_index, HybridFormat layout=default_hpc_format) const |
Produce a CoordinateFrame object from a specific model index. | |
PhaseSpace | exportPhaseSpace (int model_index, HybridFormat layout=default_hpc_format) const |
Produce a PhaseSpace object (with zero velocity and force components) based on the particle positions in a specific model index. Descriptions of input parameters follow from getCoordinateFrame(), above. | |
template<typename T> | |
CoordinateSeries< T > | getCoordinateSeries (const std::vector< int > model_sequence={}) const |
Produce a CoordinateSeries object based on the particle positions in a sequence of models. | |
void | writeToFile (const std::string &file_name, PrintSituation expectation, const std::vector< int > &model_indices={}) const |
Write the contents of the object to a PDB file. | |
void | setFormalChargePrinting (bool print_formal_charges_in=true) |
Set whether to print formal charges in any output files. | |
Pdb (int atom_count_in=0, int model_count_in=1) | |
The constructor can accept a file to read, arrays of data to compile, or a simple number of atoms for which to allocate space. | |
Pdb (const std::string &file_name_in, int model_index=-1, const std::vector< char > &alternate_prefs={ ' ', 'A' }) | |
Pdb (const std::string &file_name_in, const std::vector< int > &model_indices, const std::vector< char > &alternate_prefs={ ' ', 'A' }) | |
Pdb (int atom_count_in, int model_count_in, const std::vector< double > &x_coordinates_in, const std::vector< double > &y_coordinates_in, const std::vector< double > &z_coordinates_in, const std::vector< char4 > &atom_names_in, const std::vector< char4 > &residue_names_in, const std::vector< char > &chain_names_in, const std::vector< double > &occupancies_in, const std::vector< double > &b_factors_in, const std::vector< char2 > &elements_in={}, const std::vector< int > &atom_numbers_in={}, const std::vector< int > &residue_numbers_in={}, const std::vector< int > &anisotropy_matrices_in={}, const std::vector< PdbAtomKind > &atom_classes_in={}, const std::vector< std::string > &header_in={}, const std::vector< std::string > &remark_in={}, const std::vector< std::string > &extras_in={}) | |
Pdb (const AtomGraph *ag, const CoordinateFrame *cf) | |
Pdb (const AtomGraph &ag, const CoordinateFrame &cf) | |
Pdb (const AtomGraph *ag, const PhaseSpace *ps) | |
Pdb (const AtomGraph &ag, const PhaseSpace &ps) | |
template<typename T> | |
Pdb (const AtomGraph *ag, const CoordinateSeries< T > *cf, const std::vector< int > &frames={}) | |
template<typename T> | |
Pdb (const AtomGraph &ag, const CoordinateSeries< T > &cf, const std::vector< int > &frames={}) | |
template<typename T> | |
Pdb (const AtomGraph *ag, const CoordinateSeries< T > *cs, int frame_number) | |
template<typename T> | |
Pdb (const AtomGraph &ag, const CoordinateSeries< T > &cs, int frame_number) | |
void | loadTopologicalData (const AtomGraph *ag) |
Transcribe information from a topology into the object. This includes atom names, symbols, and formal charges. Atom classes will be assigned based on recognized amino acid names. Atom symbols for virtual sites will be listed as "VS", and all letters in atom symbols will be capitalized. | |
void | loadTopologicalData (const AtomGraph &ag) |
template<typename T> | |
void | loadCoordinates (const T *xcrd_in, const T *ycrd_in, const T *zcrd_in, int model_index=0, double gpos_scale=1.0) |
Load coordinates into the object from various coordinate objects. | |
void | loadCoordinates (const llint *xcrd_in, const llint *ycrd_in, const llint *zcrd_in, const int *xcrd_ovrf, const int *ycrd_ovrf, const int *zcrd_ovrf, double gpos_scale=1.0, int model_index=0) |
void | loadCoordinates (const CoordinateFrame *cf, int model_index=0) |
void | loadCoordinates (const CoordinateFrame &cf, int model_index=0) |
void | loadCoordinates (const PhaseSpace *ps, int model_index=0) |
void | loadCoordinates (const PhaseSpace &ps, int model_index=0) |
template<typename T> | |
void | loadCoordinates (const CoordinateSeries< T > *cs, const std::vector< int2 > &frame_mapping={}) |
template<typename T> | |
void | loadCoordinates (const CoordinateSeries< T > &cs, const std::vector< int2 > &frame_mapping={}) |
void | loadCoordinates (const PhaseSpaceSynthesis *poly_ps, int system_index, int model_index=0) |
void | loadCoordinates (const PhaseSpaceSynthesis &poly_ps, int system_index, int model_index=0) |
void | loadCoordinates (const Condensate *cdns, int system_index, int model_index=0) |
void | loadCoordinates (const Condensate &cdns, int system_index, int model_index=0) |
stormm::structure::Pdb::Pdb | ( | int | atom_count_in = 0, |
int | model_count_in = 1 ) |
The constructor can accept a file to read, arrays of data to compile, or a simple number of atoms for which to allocate space.
atom_count_in | The anticipated number of atoms in each model entry |
model_count_in | The anticipated number of models |
file_name_in | Name of the input PDB file |
model_index | Indicate a particular model of the PDB to use in constructing the object |
alternate_prefs | List of symbols that will qualify for including an atom. White space is an option. |
xcoordinates_in | Cartesian X coordinates of all particles, perhaps spanning multiple model entries. If multiple model entries are involved, the inputs for each separate model must be padded by the warp size. |
ycoordinates_in | Cartesian Y coordinates of all particles |
zcoordinates_in | Cartesian Z coordinates of all particles |
atom_names_in | Names of atoms in each entry, common to all entries |
res_names_in | Names of residues in each entry, listed atom by atom and common to all entries |
chain_names_in | Names of each chain in the system, common to all entries |
occupancies_in | The occupancies of each atom, unique to each entry |
b_factors_in | Temperature factors indicating the spread of positions for each atom about some observed mean. Unique elements must be provided for each entry. |
elements_in | IUPAC element symbols for each atom |
ag | Topology providing atom-specific information for each model entry |
cf | Coordinates for one system |
ps | Coordinates for one system |
cs | Coordinates for multiple copies of one system |
frames | A list of frames associated with a CoordinateSeries (input cs) |
frame_number | A specific frame associated with a CoordinateSeries |
CoordinateFrame stormm::structure::Pdb::exportCoordinateFrame | ( | int | model_index, |
HybridFormat | layout = default_hpc_format ) const |
Produce a CoordinateFrame object from a specific model index.
model_index | The model of interest (this will be checked against the actual number of models available) |
layout | The memory (CPU host and GPU device) layout with which to create the resulting object |
CoordinateSeries< T > stormm::structure::Pdb::getCoordinateSeries | ( | const std::vector< int > | model_sequence = {} | ) | const |
Produce a CoordinateSeries object based on the particle positions in a sequence of models.
model_sequence | The sequence of models to impart to frames of the coordinate series. An empty vector indicates that all models should be imparted, in order. |
void stormm::structure::Pdb::loadCoordinates | ( | const T * | xcrd_in, |
const T * | ycrd_in, | ||
const T * | zcrd_in, | ||
int | model_index = 0, | ||
double | gpos_scale = 1.0 ) |
Load coordinates into the object from various coordinate objects.
Overloaded:
xcrd_in | Pointer to Cartesian X coordinates, in units of Angstroms. The order of atoms in these coordinates is expected to match that in the Pdb object. |
ycrd_in | Pointer to Cartesian Y coordinates, in units of Angstroms |
zcrd_in | Pointer to Cartesian Z coordinates, in units of Angstroms |
xcrd_ovrf | Overflow bits for split fixed-precision Cartesian X coordinates |
ycrd_ovrf | Overflow bits for split fixed-precision Cartesian Y coordinates |
zcrd_ovrf | Overflow bits for split fixed-precision Cartesian Z coordinates |
cf | A set of coordinates to draw from |
ps | A set of coordinates to draw from. The POSITIONS aspect of this input will be taken, at whatever point in the coordinate cycle the object is currently at. |
cs | A coordinate series to draw from (one frame, a collection of frames, or all frames in the series can be taken into the object). If all frames of the series are to be loaded and the series has more frames than the object has models, the loading will stop at the limit of the object. |
poly_ps | A coordinate synthesis to draw from (a specific system within the synthesis must be specified) |
cdns | An abridged coordinate synthesis to draw from (a specific system must be specified) |
system_index | Index of the system to take from a coordinate synthesis |
frame_index | Index of the frame to take from a coordinate series |
void stormm::structure::Pdb::loadTopologicalData | ( | const AtomGraph * | ag | ) |
Transcribe information from a topology into the object. This includes atom names, symbols, and formal charges. Atom classes will be assigned based on recognized amino acid names. Atom symbols for virtual sites will be listed as "VS", and all letters in atom symbols will be capitalized.
Overloaded:
ag | The topology containing information to transcribe |
void stormm::structure::Pdb::setFormalChargePrinting | ( | bool | print_formal_charges_in = true | ) |
Set whether to print formal charges in any output files.
print_formal_charges_in | The new setting to apply |
void stormm::structure::Pdb::writeToFile | ( | const std::string & | file_name, |
PrintSituation | expectation, | ||
const std::vector< int > & | model_indices = {} ) const |
Write the contents of the object to a PDB file.
file_name | Name of the file to write (likely to have a .pdb extension) |
expectation | Directive as to what to do if the file already exists |