This module contains functionality for dealing with atoms and proteins.
This module provides a variety of functionality for loading, creating, manipulating and scoring atomic structures. Molecules and collections of molecules are represented using Hierarchy particles.
Examples:
Daniel Russel, Ben Webb, Dina Schneidman, Javier Velázquez-Muriel
SVN 8931 with Boost.FileSystem, cgal
LGPL. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
IMP and how to apply them to biological problems.Data Structures | |
| class | AllMol2Selector |
| Read all atoms. More... | |
| class | AllPDBSelector |
| Defines a selector that will pick every ATOM and HETATM record. More... | |
| class | AndPDBSelector |
| Select atoms which are selected by both selectors. More... | |
| class | Angle |
| A particle that describes an angle between three particles. More... | |
| class | AngleSingletonScore |
| Score the angle based on a UnaryFunction,. More... | |
| class | Atom |
| A decorator for a particle representing an atom. More... | |
| class | ATOMPDBSelector |
| Select all non-alternative ATOM records. More... | |
| class | BerendsenThermostatOptimizerState |
| Maintains temperature during molecular dynamics. More... | |
| class | Bond |
| A decorator for wrapping a particle representing a molecular bond. More... | |
| class | Bonded |
| A decorator for a particle which has bonds. More... | |
| class | BondedPairFilter |
| A filter for bonds. More... | |
| class | BondEndpointsRefiner |
| Return the endpoints of a bond. More... | |
| class | BondGraph |
| Represent a bond graph as a boost graph. More... | |
| class | BondPairContainer |
| A container that returns pairs of the endpoints of the bonds. More... | |
| class | BondSingletonScore |
| Score the bond based on a UnaryFunction,. More... | |
| class | BrownianDynamics |
| Simple Brownian dynamics optimizer. More... | |
| class | CAlphaPDBSelector |
| Select all CA ATOM records. More... | |
| class | CBetaPDBSelector |
| Select all CB ATOM records. More... | |
| class | Chain |
| Store info for a chain of a protein. More... | |
| class | ChainPDBSelector |
| Select all ATOM and HETATMrecords with the given chain ids. More... | |
| class | Charged |
| A decorator for a point particle that has an electrostatic charge. More... | |
| class | CHARMMAtom |
| A decorator for an atom that has a defined CHARMM type. More... | |
| class | CHARMMAtomTopology |
| A single atom in a CHARMM topology. More... | |
| class | CHARMMBondEndpoint |
| The end of a bond, angle, dihedral, improper, or internal coordinate. More... | |
| struct | CHARMMBondParameters |
| The parameters for a CHARMM bond or angle. More... | |
| class | CHARMMConnection |
| A connection (bond, angle, dihedral) between some number of endpoints. More... | |
| struct | CHARMMDihedralParameters |
| The parameters for a CHARMM dihedral or improper. More... | |
| class | CHARMMIdealResidueTopology |
| The ideal topology of a single residue. More... | |
| class | CHARMMInternalCoordinate |
| A geometric relationship between four atoms. More... | |
| class | CHARMMParameters |
| CHARMM force field parameters. More... | |
| class | CHARMMPatch |
| A CHARMM patch residue. More... | |
| class | CHARMMResidueTopology |
| The topology of a single residue in a model. More... | |
| class | CHARMMResidueTopologyBase |
| Base class for all CHARMM residue-based topology. More... | |
| class | CHARMMSegmentTopology |
| The topology of a single CHARMM segment in a model. More... | |
| class | CHARMMStereochemistryRestraint |
| Enforce CHARMM stereochemistry on the given Hierarchy. More... | |
| class | CHARMMTopology |
| The topology of a complete CHARMM model. More... | |
| class | CoulombPairScore |
| Coulomb (electrostatic) score between a pair of particles. More... | |
| class | CoverBond |
| Cover a bond with a sphere. More... | |
| class | CPDBSelector |
| Select all C (not CA or CB) ATOM records. More... | |
| class | Diffusion |
| A decorator for a diffusing particle. More... | |
| class | Dihedral |
| A particle that describes a dihedral angle between four particles. More... | |
| class | DihedralSingletonScore |
| Score the dihedral angle. More... | |
| class | Domain |
| A decorator to associate a particle with a part of a protein. More... | |
| class | DopePairScore |
| class | ElementTable |
| class | ForceFieldParameters |
| Storage and access to force field. More... | |
| class | ForceSwitch |
| Smooth interaction scores by switching the derivatives (force switch). More... | |
| class | Fragment |
| A decorator to associate a particle with a part of a protein/DNA/RNA. More... | |
| class | Hierarchy |
| The standard decorator for manipulating molecular structures. More... | |
| class | HydrogenPDBSelector |
| Select all hydrogen ATOM and HETATM records. More... | |
| class | ImproperSingletonScore |
| Score the improper dihedral based on a UnaryFunction,. More... | |
| class | LangevinThermostatOptimizerState |
| Maintains temperature during molecular dynamics. More... | |
| class | LennardJones |
| A decorator for a particle that has a Lennard-Jones potential well. More... | |
| class | LennardJonesPairScore |
| Lennard-Jones score between a pair of particles. More... | |
| class | Mass |
| Add mass to a particle. More... | |
| class | MDMover |
| Modify a set of XYZ coordinates using a short MD stretch. More... | |
| class | Mol2Selector |
| A base class for choosing which Mol2 atoms to read. More... | |
| class | MolecularDynamics |
| Simple molecular dynamics optimizer. More... | |
| class | Molecule |
| A decorator for a molecule. More... | |
| class | NonAlternativePDBSelector |
| Select all ATOM and HETATM records which are not alternatives. More... | |
| class | NonHydrogenMol2Selector |
| Defines a selector that will pick only non-hydrogen atoms. More... | |
| class | NonWaterNonHydrogenPDBSelector |
| Select non water and non hydrogen atoms. More... | |
| class | NonWaterPDBSelector |
| Select all non-water non-alternative ATOM and HETATM records. More... | |
| class | NotPDBSelector |
| Select atoms which not selected by a given selector. More... | |
| class | NPDBSelector |
| Select all N ATOM records. More... | |
| class | OrPDBSelector |
| Select atoms which are selected by either selector. More... | |
| class | PDBSelector |
| Select which atoms to read from a PDB file. More... | |
| class | PPDBSelector |
| Select all P ATOM records. More... | |
| class | ProteinLigandAtomPairScore |
| class | ProteinLigandRestraint |
| class | RemoveRigidMotionOptimizerState |
| Removes rigid translation and rotation from the particles. More... | |
| class | RemoveTranslationOptimizerState |
| Removes rigid translation from the particles. More... | |
| class | Residue |
| A decorator for a residue. More... | |
| class | RMSDCalculator |
| class | SameResiduePairFilter |
| class | Selection |
| class | Simulator |
| The base class for simulators. More... | |
| class | SmoothingFunction |
| Base class for smoothing nonbonded interactions as a function of distance. More... | |
| class | StereochemistryPairFilter |
| A filter that excludes bonds, angles and dihedrals. More... | |
| class | VelocityScalingOptimizerState |
| Maintains temperature during molecular dynamics by velocity scaling. More... | |
| class | WaterPDBSelector |
| Select all non-water ATOM and HETATMrecords. More... | |
| class | WritePDBFailureHandler |
| class | WritePDBOptimizerState |
Estimator Functions | |
| These functions allow you to estimate physical quantities relating to biomolecules. | |
| enum | ProteinDensityReference { ALBER, HARPAZ, ANDERSSON, TSAI, QUILLIN, SQUIRE } |
| double | get_protein_density_from_reference (ProteinDensityReference densityReference) |
| double | get_volume_from_mass (double m, ProteinDensityReference ref=ALBER) |
| Estimate the volume of a protein from its mass. | |
| double | get_mass_from_volume (double v, ProteinDensityReference ref=ALBER) |
| Estimate the mass of a protein from its volume. | |
| double | get_mass_from_number_of_residues (unsigned int num_aa) |
| Estimate the mass of a protein from the number of amino acids. | |
| double | get_volume_from_residue_type (ResidueType rt) |
| Return an estimate for the volume of a given residue. | |
Typedefs | |
| typedef Key< 8974343, false > | AtomType |
| typedef CHARMMConnection< 3 > | CHARMMAngle |
| typedef CHARMMConnection< 2 > | CHARMMBond |
| typedef CHARMMConnection< 4 > | CHARMMDihedral |
| typedef Key< 90784334, true > | ResidueType |
Enumerations | |
| enum | Element { UNKNOWN_ELEMENT = 0, H = 1, He = 2, Li = 3, Be = 4, B = 5, C = 6, N = 7, O = 8, F = 9, Ne = 10, Na = 11, Mg = 12, Al = 13, Si = 14, P = 15, S = 16, Cl = 17, Ar = 18, K = 19, Ca = 20, Sc = 21, Ti = 22, V = 23, Cr = 24, Mn = 25, Fe = 26, Co = 27, Ni = 28, Cu = 29, Zn = 30, Ga = 31, Ge = 32, As = 33, Se = 34, Br = 35, Kr = 36, Rb = 37, Sr = 38, Y = 39, Zr = 40, Nb = 41, Mo = 42, Tc = 43, Ru = 44, Rh = 45, Pd = 46, Ag = 47, Cd = 48, In = 49, Sn = 50, Sb = 51, Te = 52, I = 53, Xe = 54, Cs = 55, Ba = 56, La = 57, Ce = 58, Pr = 59, Nd = 60, Pm = 61, Sm = 62, Eu = 63, Gd = 64, Tb = 65, Dy = 66, Ho = 67, Er = 68, Tm = 69, Yb = 70, Lu = 71, Hf = 72, Ta = 73, W = 74, Re = 75, Os = 76, Ir = 77, Pt = 78, Au = 79, Hg = 80, Tl = 81, Pb = 82, Bi = 83, Po = 84, At = 85, Rn = 86, Fr = 87, Ra = 88, Ac = 89, Th = 90, Pa = 91, U = 92, Np = 93, Pu = 94, Am = 95, Cm = 96, Bk = 97, Cf = 98, Es = 99, Fm = 100, Md = 101, No = 102, Lr = 103, Db = 104, Jl = 105, Rf = 106 } |
The various elements currently supported/known. | |
| enum | GetByType { ATOM_TYPE, RESIDUE_TYPE, CHAIN_TYPE, DOMAIN_TYPE, FRAGMENT_TYPE, XYZ_TYPE, XYZR_TYPE, MASS_TYPE } |
Functions | |
| AtomType | add_atom_type (std::string name, Element e) |
| Create a new AtomType. | |
| void | add_bonds (Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters()) |
| void | add_radii (Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters(), FloatKey radius_key=FloatKey("radius")) |
| Bond | create_bond (Bonded a, Bonded b, Bond o) |
| Connect the two wrapped particles by a custom bond. | |
| Bond | create_bond (Bonded a, Bonded b, Int t) |
| Connect the two wrapped particles by a bond. | |
| Hierarchy | create_clone (Hierarchy d) |
| Clone the Hierarchy. | |
| Hierarchy | create_clone_one (Hierarchy d) |
| Clone the node in the Hierarchy. | |
| IMP::core::RigidBody | create_compatible_rigid_body (Hierarchy h, Hierarchy reference) |
| Rigidify a molecule or collection of molecules. | |
| Restraint * | create_connectivity_restraint (const Selections &s, double k) |
| Restraint * | create_connectivity_restraint (const Selections &s, double x0, double k) |
| Bond | create_custom_bond (Bonded a, Bonded b, Float length, Float stiffness=-1) |
| Connect the two wrapped particles by a custom bond. | |
| Restraint * | create_distance_restraint (const Selection &n0, const Selection &n1, double x0, double k) |
| Restraint * | create_excluded_volume_restraint (const Hierarchies &hs, double resolution=-1) |
| Hierarchy | create_fragment (const HierarchiesTemp &ps) |
| Create a fragment containing the specified nodes. | |
| Restraint * | create_internal_connectivity_restraint (const Selection &s, double x0, double k) |
| Restraint * | create_internal_connectivity_restraint (const Selection &s, double k) |
| Hierarchy | create_protein (Model *m, std::string name, double resolution, int number_of_residues, int first_residue_index=0, double volume=-1) |
| Create a coarse grained molecule. | |
| Hierarchy | create_protein (Model *m, std::string name, double resolution, const Ints domain_boundaries) |
| IMP::core::RigidBody | create_rigid_body (const Hierarchies &h, std::string name=std::string("created rigid body")) |
| Rigidify a molecule or collection of molecules. | |
| IMP::core::RigidBody | create_rigid_body (Hierarchy h) |
| void | destroy (Hierarchy d) |
| Delete the Hierarchy. | |
| void | destroy_bond (Bond b) |
| Destroy the bond connecting to particles. | |
| CHARMMParameters * | get_all_atom_CHARMM_parameters () |
| Atom | get_atom (Residue rd, AtomType at) |
| Return a particle atom from the residue. | |
| bool | get_atom_type_exists (std::string name) |
| Return true if that atom type already exists. | |
| Bond | get_bond (Bonded a, Bonded b) |
| Get the bond between two particles. | |
| algebra::BoundingBoxD< 3 > | get_bounding_box (const Hierarchy &h) |
| Get a bounding box for the Hierarchy. | |
| algebra::SphereD< 3 > | get_bounding_sphere (const Hierarchy &h) |
| HierarchiesTemp | get_by_type (Hierarchy mhd, GetByType t) |
| Chain | get_chain (Residue rd, bool nothrow=false) |
| Atoms | get_charmm_untyped_atoms (Hierarchy hierarchy) |
| Get all atoms in the Hierarchy that do not have CHARMM types. | |
| FloatPair | get_component_placement_score (const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2) |
| Measure the difference between two placements of the same set of points. | |
| std::string | get_data_path (std::string file_name) |
| Return the path to installed data for this module. | |
| Element | get_element_for_atom_type (AtomType at) |
| ElementTable & | get_element_table () |
| std::string | get_example_path (std::string file_name) |
| Return the path to installed example data for this module. | |
| CHARMMParameters * | get_heavy_atom_CHARMM_parameters () |
| Bonds | get_internal_bonds (Hierarchy mhd) |
| Get the bonds internal to this tree. | |
| bool | get_is_heterogen (Hierarchy h) |
| Return true if the piece of hierarchy should be classified as a heterogen. | |
| HierarchiesTemp | get_leaves (Hierarchy h) |
| double | get_mass (Hierarchy h) |
| double | get_maximum_time_step_estimate (BrownianDynamics *bd) |
| std::string | get_module_name () |
| const VersionInfo & | get_module_version_info () |
| template<class Vecto3DsOrXYZs0 , class Vecto3DsOrXYZs1 > | |
| double | get_native_overlap (const Vecto3DsOrXYZs0 &m1, const Vecto3DsOrXYZs1 &m2, double threshold) |
| Computes the native overlap between two sets of 3D points. | |
| Hierarchy | get_next_residue (Residue rd) |
| char | get_one_letter_code (ResidueType c) |
| double | get_pairwise_rmsd_score (const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2) |
| Measure the RMSD between two placements of the same set of points. | |
| FloatPair | get_placement_score (const core::XYZs &from, const core::XYZs &to) |
| Measure the difference between two placements of the same set of points. | |
| double | get_radius_of_gyration (const ParticlesTemp &ps) |
| Hierarchy | get_residue (Hierarchy mhd, unsigned int index) |
| Get the residue with the specified index. | |
| Residue | get_residue (Atom d, bool nothrow=false) |
| Return the Residue containing this atom. | |
| ResidueType | get_residue_type (char c) |
| template<class Vecto3DsOrXYZs0 , class Vecto3DsOrXYZs1 > | |
| double | get_rmsd (const Vecto3DsOrXYZs0 &m1, const Vecto3DsOrXYZs1 &m2, const IMP::algebra::Transformation3D &tr_for_second=IMP::algebra::get_identity_transformation_3d()) |
| Calculate the root mean square deviation between two sets of 3D points. | |
| Hierarchy | get_root (Hierarchy h) |
| Return the root of the hierarchy. | |
| void | remove_charmm_untyped_atoms (Hierarchy hierarchy) |
| Remove any atom from the Hierarchy that does not have a CHARMM type. | |
| void | setup_as_approximation (Particle *h, const ParticlesTemp &other) |
| void | setup_as_approximation (Hierarchy h) |
| void | show (Hierarchy h, std::ostream &out=std::cout) |
| Print out a molecular hierarchy. | |
| void | transform (Hierarchy h, const algebra::Transformation3D &tr) |
Dope scoring | |
| |
| void | add_dope_score_data (atom::Hierarchy h) |
Simplification along backbone | |
These two methods create a simplified version of a molecule by merging residues sequentially. In one case every n residues are merged, in the other, the intervals are passed manually. The resulting molecule is not optimized by default and has no restraints automatically created. At the moment, the calls only support unmodified hierarchies loaded by read_pdb() which have only protein or DNA members. They return Hierarchy() if the input chain is empty. | |
| Hierarchy | create_simplified_along_backbone (Chain in, int num_res) |
| Hierarchy | create_simplified_along_backbone (Chain in, const IntRanges &residue_segments) |
Finding information | |
Get the attribute of the given particle or throw a ValueException if it is not applicable. The particle with the given information must be above the passed node. | |
| std::string | get_molecule_name (Hierarchy h) |
| Ints | get_residue_indexes (Hierarchy h) |
| ResidueType | get_residue_type (Hierarchy h) |
| char | get_chain (Hierarchy h) |
| AtomType | get_atom_type (Hierarchy h) |
| std::string | get_domain_name (Hierarchy h) |
Mol2 IO | |
The read function produces a hierarchy containing the molecule. The write hierarchy writes all the Residue types in the hierarchy to the file. | |
| Hierarchy | read_mol2 (TextInput mol2_file, Model *model, Mol2Selector *mol2sel=NULL) |
| void | write_mol2 (Hierarchy rhd, TextOutput file_name) |
PDB Reading | |
The read PDB methods produce a hierarchy that looks as follows:
Waters are currently dropped if they are ATOM records. This can be fixed. The read_pdb() functions should successfully parse all valid pdb files. It can produce warnings on files which are not valid. It will attempt to read such files, but all bets are off. When reading PDBs, PDBSelector objects can be used to choose to only process certain record types. See the class documentation for more information. When no PDB selector is supplied for reading, the NonWaterPDBSelector is used. Set the IMP::LogLevel to IMP::VERBOSE to see details of parse errors. | |
| Hierarchy | read_pdb (TextInput in, Model *model) |
| Hierarchy | read_pdb (TextInput in, Model *model, PDBSelector *selector, bool select_first_model=true) |
| Hierarchies | read_multimodel_pdb (TextInput in, Model *model, PDBSelector *selector) |
PDB Writing | |
The methods to write a PDBs expects a Hierarchy that looks as follows: All Residue particles that have a Chain particle as an ancestor are considered part of a protein, DNA or RNA, ones without are considered heterogens. The functions produce files that are not valid PDB files, eg only ATOM/HETATM lines are printed for all Atom particles in the hierarchy. Complain if your favorite program can't read them and we might fix it. | |
| void | write_pdb (Hierarchy mhd, TextOutput out) |
| void | write_pdb (const Hierarchies &mhd, TextOutput out) |
| void | write_multimodel_pdb (const Hierarchies &mhd, TextOutput out) |
Protein-ligand scoring | |
Neither of the scoring methods provide derivatives. As will more documentation and examples. | |
| void | add_protein_ligand_score_data (Hierarchy h) |
Python Only | |
The following functions are only availale in Python as the equivalent C++ functionality is provided via template functions or in other ways that don't directly map to python. | |
| void | show_molecular_hiearchy (Hierarchy h) |
Variables | |
| const ResidueType | UNK |
| enum IMP::atom::GetByType |
The different types which can be passed to get_by_type()
Several protein density value references that have been proposed in the literature.
| AtomType IMP::atom::add_atom_type | ( | std::string | name, |
| Element | e | ||
| ) |
| void add_bonds | ( | Hierarchy | d, |
| const ForceFieldParameters * | ffp = get_all_atom_CHARMM_parameters() |
||
| ) |
Add bonds using definitions from given force field parameters. Note that, at the moment, all added bonds are reported as IMP::Bond::SINGLE, whether or not they actually are.
| void IMP::atom::add_dope_score_data | ( | atom::Hierarchy | h | ) |
Add the dope atom types to the atoms in the hierarchy.
| void add_radii | ( | Hierarchy | d, |
| const ForceFieldParameters * | ffp = get_all_atom_CHARMM_parameters(), |
||
| FloatKey | radius_key = FloatKey("radius") |
||
| ) |
Add vdW radius from given force field.
| Hierarchy create_clone | ( | Hierarchy | d | ) |
| Hierarchy create_clone_one | ( | Hierarchy | d | ) |
| IMP::core::RigidBody IMP::atom::create_compatible_rigid_body | ( | Hierarchy | h, |
| Hierarchy | reference | ||
| ) |
Rigidify a molecule or collection of molecules.
This method is identical to create_rigid_body() except that the chosen reference frame is aligned with that of reference (which must have exactly the same set of particles). This allows one to make sure the rigid body is equivalent when you have several copies of the same molecule.
| IMP::atom::create_connectivity_restraint | ( | const Selections & | s, |
| double | k | ||
| ) |
| Restraint* IMP::atom::create_connectivity_restraint | ( | const Selections & | s, |
| double | x0, | ||
| double | k | ||
| ) |
Create a restraint connecting the selections. The particles are allowed to be appart by x0 and still count as connected.
| IMP::atom::create_distance_restraint | ( | const Selection & | n0, |
| const Selection & | n1, | ||
| double | x0, | ||
| double | k | ||
| ) |
| IMP::atom::create_excluded_volume_restraint | ( | const Hierarchies & | hs, |
| double | resolution = -1 |
||
| ) |
| Restraint* IMP::atom::create_internal_connectivity_restraint | ( | const Selection & | s, |
| double | x0, | ||
| double | k | ||
| ) |
Create a restraint connecting the selection. The particles are allowed to be appart by x0 and still count as connected.
| Restraint* IMP::atom::create_internal_connectivity_restraint | ( | const Selection & | s, |
| double | k | ||
| ) |
Create a restraint connecting the selection.
| IMP::atom::create_protein | ( | Model * | m, |
| std::string | name, | ||
| double | resolution, | ||
| int | number_of_residues, | ||
| int | first_residue_index = 0, |
||
| double | volume = -1 |
||
| ) |
Create a coarse grained molecule.
The coarse grained model is created with a number of spheres based on the resolution and the volume. If the volume is not provided it is estimated based on the number of residues. The protein is created as a molecular hierarchy rooted at p. The leaves are Domain particles with appropriate residue indexes stored and are XYZR particles.
Volume is, as usual, in cubic anstroms.
Currently the function creates a set of balls with radii no greater than resolution which overlap by 20% and have a volume of their union equal to the passed volume. The balls are held together by a ConnectivityRestraint with the given spring constant.
The coordinates of the balls defining the protein are optimized by default, and have garbage coordinate values.
| Hierarchy IMP::atom::create_protein | ( | Model * | m, |
| std::string | name, | ||
| double | resolution, | ||
| const Ints | domain_boundaries | ||
| ) |
Like the former create_protein(), but it enforces domain splits at the provide domain boundairs. The domain boundaries should be the start of the first domain, any boundies, and then one past the end of the last domain.
| IMP::core::RigidBody IMP::atom::create_rigid_body | ( | const Hierarchies & | h, |
| std::string | name = std::string("created rigid body") |
||
| ) |
Rigidify a molecule or collection of molecules.
The rigid body created has all the leaves as members and a member rigid body for each internal node in the tree.
A name can be passed as it is not easy to automatically pick a decent name.
| IMP::core::RigidBody IMP::atom::create_rigid_body | ( | Hierarchy | h | ) |
| IMP::atom::create_simplified_along_backbone | ( | Chain | in, |
| int | num_res | ||
| ) |
Simplify every num_res into one particle.
Examples: molecular hierarchy, nup84 rb, setup, displaying ensembles
| Hierarchy IMP::atom::create_simplified_along_backbone | ( | Chain | in, |
| const IntRanges & | residue_segments | ||
| ) |
Simplify by breaking at the boundaries provided.
| IMP::atom::destroy | ( | Hierarchy | d | ) |
Delete the Hierarchy.
All bonds connecting to these atoms are destroyed as are hierarchy links in the Hierarchy and the particles are removed from the Model.
Examples: molecular hierarchy, nup84 rb, setup, displaying ensembles
| CHARMMParameters* IMP::atom::get_all_atom_CHARMM_parameters | ( | ) |
The default CHARMM parameters support normal amino acid and nucleic acid residues and the atoms found in them. To use CHARMM with heterogens or non-standard residues, a different CHARMM parameters file must be used.
Return a particle atom from the residue.
The residue must be part of a molecular hierarchy.
| algebra::BoundingBoxD< 3 > IMP::atom::get_bounding_box | ( | const Hierarchy & | h | ) |
Get a bounding box for the Hierarchy.
This bounding box is that of the highest (in the CS sense of a tree growing down from the root) cut through the tree where each node in the cut has x,y,z, and r. That is, if the root has x,y,z,r then it is the bounding box of that sphere. If only the leaves have radii, it is the bounding box of the leaves. If no such cut exists, the behavior is undefined.
| algebra::SphereD< 3 > get_bounding_sphere | ( | const Hierarchy & | h | ) |
See get_bounding_box() for more details.
| Chain get_chain | ( | Residue | rd, |
| bool | nothrow = false |
||
| ) |
Return the chain containing the residue.
| ValueException | if no residue is found, unless nothrow is true. |
| Atoms IMP::atom::get_charmm_untyped_atoms | ( | Hierarchy | hierarchy | ) |
Get all atoms in the Hierarchy that do not have CHARMM types.
| FloatPair IMP::atom::get_component_placement_score | ( | const core::XYZs & | ref1, |
| const core::XYZs & | ref2, | ||
| const core::XYZs & | mdl1, | ||
| const core::XYZs & | mdl2 | ||
| ) |
Measure the difference between two placements of the same set of points.
| [in] | ref1 | The reference placement of the first component represented by XYZ coordinates |
| [in] | ref2 | The reference placement of the second component represented by XYZ coordinates |
| [in] | mdl1 | The modeled placement of the first component represented by XYZ coordinates |
| [in] | mdl2 | The modeled placement of the second component represented by XYZ coordinates |
| std::string IMP::atom::get_data_path | ( | std::string | file_name | ) |
Return the path to installed data for this module.
Each module has its own data directory, so be sure to use the version of this function in the correct module. To read the data file "data_library" that was placed in the data directory of module "mymodule", do something like
std::ifstream in(IMP::mymodule::get_data_path("data_library"));
This will ensure that the code works when IMP is installed or used via the tools/imppy.sh script.
| std::string IMP::atom::get_example_path | ( | std::string | file_name | ) |
Return the path to installed example data for this module.
Each module has its own example directory, so be sure to use the version of this function in the correct module. For example to read the file example_protein.pdb located in the examples directory of the IMP::atom module, do
IMP::atom::read_pdb(IMP::atom::get_example_path("example_protein.pdb", model));
This will ensure that the code works when IMP is installed or used via the tools/imppy.sh script.
| CHARMMParameters* IMP::atom::get_heavy_atom_CHARMM_parameters | ( | ) |
The default CHARMM parameters support normal amino acid and nucleic acid residues and the atoms found in them. To use CHARMM with heterogens or non-standard residues, a different CHARMM parameters file must be used.
No hydrogen parameters are read.
| Bonds get_internal_bonds | ( | Hierarchy | mhd | ) |
Get the bonds internal to this tree.
| bool IMP::atom::get_is_heterogen | ( | Hierarchy | h | ) |
Return true if the piece of hierarchy should be classified as a heterogen.
For the purposes of classification, a heterogen is anything that
| IMP::atom::get_leaves | ( | Hierarchy | h | ) |
Examples: nup84 cg, rigid bodies, sample 0, nup84 rb, analyze 0, setup, displaying ensembles
| double IMP::atom::get_mass | ( | Hierarchy | h | ) |
Get the total mass of a hierarchy. In daltons.
| double IMP::atom::get_mass_from_number_of_residues | ( | unsigned int | num_aa | ) |
Estimate the mass of a protein from the number of amino acids.
We use an estimate of 110 Daltons per residue, following Chimera.
The mass is in Daltons.
| double IMP::atom::get_mass_from_volume | ( | double | v, |
| ProteinDensityReference | ref = ALBER |
||
| ) |
Estimate the mass of a protein from its volume.
| [in] | v | the volume for which we want to output the corresponding mass |
| [in] | ref | the protein density reference used in the computation. As a default ref is the estimate published in Alber et. al, Structure 2005. |
| double IMP::atom::get_native_overlap | ( | const Vecto3DsOrXYZs0 & | m1, |
| const Vecto3DsOrXYZs1 & | m2, | ||
| double | threshold | ||
| ) |
Computes the native overlap between two sets of 3D points.
| [in] | m1 | first set |
| [in] | m2 | second set |
| [in] | threshold | threshold distance (amstrongs) for the calculation |
| Hierarchy get_next_residue | ( | Residue | rd | ) |
Return the residue from the same chain with one higher index, or Residue().
The return type is Hierarchy since the particle representing the next residue might not be a Residue particle.
| char IMP::atom::get_one_letter_code | ( | ResidueType | c | ) |
Get the 1-letter amino acid code from the residue type.
| double IMP::atom::get_pairwise_rmsd_score | ( | const core::XYZs & | ref1, |
| const core::XYZs & | ref2, | ||
| const core::XYZs & | mdl1, | ||
| const core::XYZs & | mdl2 | ||
| ) |
Measure the RMSD between two placements of the same set of points.
| [in] | ref1 | The reference placement of the first component represented by XYZ coordinates |
| [in] | ref2 | The reference placement of the second component represented by XYZ coordinates |
| [in] | mdl1 | The modeled placement of the first component represented by XYZ coordinates |
| [in] | mdl2 | The modeled placement of the second component represented by XYZ coordinates |
| FloatPair IMP::atom::get_placement_score | ( | const core::XYZs & | from, |
| const core::XYZs & | to | ||
| ) |
Measure the difference between two placements of the same set of points.
| [in] | from | The reference placement represented by XYZ coordinates |
| [in] | to | The modeled placement represented by XYZ coordinates |
| double IMP::atom::get_protein_density_from_reference | ( | ProteinDensityReference | densityReference | ) |
returns the protein density value (in Da/A^3) associated with a given reference
| double IMP::atom::get_radius_of_gyration | ( | const ParticlesTemp & | ps | ) |
Compute the radius of gyration of a set of particles with (optional) radii and mass and (non-optional) coordinates. Either all particles must have mass or none of them.
| Residue get_residue | ( | Atom | d, |
| bool | nothrow = false |
||
| ) |
Return the Residue containing this atom.
The atom must be part of a molecular hierarchy.
| ValueException | if no residue is found, unless nothrow is true. |
| ResidueType IMP::atom::get_residue_type | ( | char | c | ) |
Get the residue type from the 1-letter amino acid code.
| double IMP::atom::get_rmsd | ( | const Vecto3DsOrXYZs0 & | m1, |
| const Vecto3DsOrXYZs1 & | m2, | ||
| const IMP::algebra::Transformation3D & | tr_for_second = IMP::algebra::get_identity_transformation_3d() |
||
| ) |
Calculate the root mean square deviation between two sets of 3D points.
| Hierarchy get_root | ( | Hierarchy | h | ) |
Return the root of the hierarchy.
| double IMP::atom::get_volume_from_mass | ( | double | m, |
| ProteinDensityReference | ref = ALBER |
||
| ) |
Estimate the volume of a protein from its mass.
| [in] | m | the mass for which we want to output the corresponding volume |
| [in] | ref | the protein density reference used in the computation. As a default ref is the estimate published in Alber et. al, Structure 2005. |
| double IMP::atom::get_volume_from_residue_type | ( | ResidueType | rt | ) |
Return an estimate for the volume of a given residue.
The volume estimates are taken from Pontius J, Richelle J, Wodak SJ., Deviations from standard atomic volumes as a quality measure for protein crystal structures, J Mol Biol. 1996 Nov 22;264(1):121-36.
| ValueException | if a non-standard residue type is passed |
| IMP::atom::read_pdb | ( | TextInput | in, |
| Model * | model | ||
| ) |
Read a all the molecules in the first model of the pdb file.
Examples: generate density map of fixed dimension, profile, pdb2density, cover particles, rigid bodies, rigid body excluded volume, molecular hierarchy, score protein with ligand, nup84 rb, charmm forcefield, assess dope, charmm forcefield verbose, profile fit, setup, displaying ensembles, load protein restrain bonds, local fitting, fit restraint
| void IMP::atom::remove_charmm_untyped_atoms | ( | Hierarchy | hierarchy | ) |
Remove any atom from the Hierarchy that does not have a CHARMM type.
| void IMP::atom::setup_as_approximation | ( | Particle * | h, |
| const ParticlesTemp & | other | ||
| ) |
Set the mass, radius, residues, and coordinates to approximate the passed particles.
| void IMP::atom::setup_as_approximation | ( | Hierarchy | h | ) |
Set the mass, radius, residues, and coordinates to approximate the passed particle based on the leaves of h.
| void IMP::atom::show_molecular_hiearchy | ( | Hierarchy | h | ) |
Print out the molecular hierarchy. Equivalent to
IMP::core::show(h);
| void IMP::atom::transform | ( | Hierarchy | h, |
| const algebra::Transformation3D & | tr | ||
| ) |
Transform a hierarchy. This is aware of rigid bodies.
| const ResidueType IMP::atom::UNK |
Unknown residue