IMP logo

IMP::atom Namespace Reference


Detailed Description

This module contains functionality for dealing with atoms and proteins.

Author:
Daniel Russel, Ben Webb, Dina Schneidman, Javier Velázquez-Muriel
Version:
1.0
Overview:
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
Examples can be found on the IMP.atom examples page.
License:
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.
Publications:
  • Daniel Russel, Keren Lasker, Ben Webb, Dina Schneidman, Javier Velazquez-Muriel, Andrej Sali, “Integrative assembly modeling using IMP”, submitted, 2010. This paper provides an overview of the key concepts in IMP and how to apply them to biological problems.
  • Frank Alber, Friedrich Foerster, Dmitry Korkin, Maya Topf, Andrej Sali, “Integrating diverse data for structure determination of macromolecular assemblies”, Annual Review of Biochemistry, 2008. This paper provides a review of the integrative structure determination methodology and various data sources that can be used.


Data Structures

class  AllMol2Selector
 Read all atoms. More...
class  AllPDBSelector
 Defines a selector that will pick every ATOM and HETATM record. 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  Atoms
class  AtomsTemp
class  AtomType
 The type of an atom. 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  Bondeds
class  BondedsTemp
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  Bonds
class  BondSingletonScore
 Score the bond based on a UnaryFunction,. More...
class  BondsTemp
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  Chains
class  ChainsTemp
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  CHARMMBond
 A bond, angle, dihedral or improper between some number of endpoints. More...
class  CHARMMBondEndpoint
 The end of a bond, angle, dihedral, or improper. More...
class  CHARMMBondParameters
 The parameters for a CHARMM bond or angle. More...
class  CHARMMDihedralParameters
 The parameters for a CHARMM dihedral or improper. More...
class  CHARMMIdealResidueTopology
 The ideal topology of a single residue as read from a CHARMM topology file. 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  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  Diffusions
class  DiffusionsTemp
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  Domains
class  DomainsTemp
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  Fragments
class  FragmentsTemp
class  Hierarchies
class  HierarchiesTemp
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  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  Mol2Selector
 A base class for choosing which Mol2 atoms to read. More...
class  MolecularDynamics
 Simple molecular dynamics optimizer. 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  NPDBSelector
 Select all N ATOM records. 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  Residue
 A decorator for a residue. More...
class  Residues
class  ResiduesTemp
class  ResidueType
 The type for a residue. More...
class  SimulationParameters
 A decorator for a particle storing parameters of the current simulation. 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...

Typedefs

typedef std::vector< AtomTypeAtomTypes
typedef std::vector< ResidueTypeResidueTypes

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=default_force_field_parameters())
void add_radii (Hierarchy d, const ForceFieldParameters *ffp=default_force_field_parameters(), FloatKey radius_key=FloatKey("radius"))
Bond copy_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.
Bond create_custom_bond (Bonded a, Bonded b, Float length, Float stiffness=-1)
 Connect the two wrapped particles by a custom bond.
Hierarchy create_fragment (const HierarchiesTemp &ps)
 Create a fragment containing the specified nodes.
Hierarchy create_protein (Model *m, double resolution, int number_of_residues, int first_residue_index=0, double volume=-1, double spring_strength=1)
 Create a coarse grained molecule.
ForceFieldParametersdefault_force_field_parameters ()
void destroy (Hierarchy d)
 Delete the Hierarchy.
void destroy_bond (Bond b)
 Destroy the bond connecting to particles.
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)
std::pair< double, double > 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.
ElementTableget_element_table ()
std::string get_example_path (std::string file_name)
 Return the path to installed example data for this module.
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)
std::string get_module_name ()
const VersionInfoget_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)
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.
std::pair< double, double > get_placement_score (const core::XYZs &from, const core::XYZs &to)
 Measure the difference between two placements of the same set of points.
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.
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.
IMP::core::RigidBody setup_as_rigid_body (Hierarchy h)
 Rigidify a molecule or collection of molecules.
void show (Hierarchy h, std::ostream &out=std::cout)
 Print out a molecular hierarchy.
Protein-ligand scoring
IMP provides a statistical scoring function for scoring protein-ligand complexes. Papers will be forthcoming.

Neither of the scoring methods provide derivatives.

As will more documentation and examples.

void add_protein_ligand_score_data (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, const IntRanges &residue_segments)
Hierarchy create_simplified_along_backbone (Chain in, int num_res)
Estimator Functions
These functions allow you to estimate physical quantities relating to biomolecules.

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_mass (double v)
 Estimate the volume of a protein from its mass.
Mol2 IO
IMP can also read and write Mol2 files. As with read_pdb(), selector objects are used to determine which atoms are read.

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, const Mol2Selector &mol2sel=AllMol2Selector())
void write_mol2 (Hierarchy rhd, TextOutput file_name)
PDB Reading
The read PDB methods produce a hierarchy that looks as follows:
  • One Atom per ATOM or HETATM record in the PDB.
  • All Atom particles have a parent which is a Residue.
  • All Residue particles have a parent which is a Chain.

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.

Hierarchies read_multimodel_pdb (TextInput in, Model *model, const PDBSelector &selector)
Hierarchy read_pdb (TextInput in, Model *model, const PDBSelector &selector, bool select_first_model=true)
Hierarchy read_pdb (TextInput in, Model *model)
PDB Writing
The methods to write a PDBs expects a Hierarchy that looks as follows:
  • all leaves are Atom particles
  • all Atom particles have Residue particles as parents

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_multimodel_pdb (const Hierarchies &mhd, TextOutput out)
void write_pdb (const Hierarchies &mhd, TextOutput out)
void write_pdb (Hierarchy mhd, TextOutput out)

Variables

const ResidueType UNK

Function Documentation

AtomType add_atom_type ( std::string  name,
Element  e 
)

Create a new AtomType.

This creates a new AtomType (returned) and sets up the mapping between the AtomType and the proper element.

Note:
This method has not been tested. If you use it, please write a test and remove this comment.
See also:
atom_type_exists()

void add_bonds ( Hierarchy  d,
const ForceFieldParameters *  ffp = default_force_field_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 add_radii ( Hierarchy  d,
const ForceFieldParameters *  ffp = default_force_field_parameters(),
FloatKey  radius_key = FloatKey("radius") 
)

Add vdW radius from given force field.

Hierarchy create_clone ( Hierarchy  d  ) 

Clone the Hierarchy.

This method copies the Bond, Bonded, Atom, Residue, and Domain data and the particle name to the new copies in addition to the Hierarchy relationships.

Hierarchy create_clone_one ( Hierarchy  d  ) 

Clone the node in the Hierarchy.

This method copies the Atom, Residue, Chain and Domain data and the particle name.

Hierarchy create_protein ( Model *  m,
double  resolution,
int  number_of_residues,
int  first_residue_index = 0,
double  volume = -1,
double  spring_strength = 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.

Warning: create_protein has not been well tested yet
Use with caution and please report any bugs found.
Warning: create_protein has not been stabilized and is likely to change without notice.

void 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.

Atom get_atom ( Residue  rd,
AtomType  at 
)

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 growning 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 if 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.

Exceptions:
ValueException if no residue is found, unless nothrow is true.

std::pair<double,double> 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.

Parameters:
[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
Returns:
the function returns (distance score,angle score)
Note:
The measure quantifies the difference between the relative placements of two components compared to a reference relative placement. First, the two compared structures are brought into the same frame of reference by superposing the first pair of equivalent domains (ref1 and mdl1). Next, the distance and angle scores are calculated for the second component using placement_score.

see Topf, Lasker et al Structure, 2008 for details

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.

Bonds get_internal_bonds ( Hierarchy  mhd  ) 

Get the bonds internal to this tree.

See also:
Bond

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

  • is a heterogen atom (one whose name starts with HET:)
  • is or is part of a Residue that is not a normal protein, rna or dna residue
  • or is not part of a Chain For the moment, this can only be called on residues or atoms.

HierarchiesTemp get_leaves ( Hierarchy  h  ) 

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.

template<class Vecto3DsOrXYZs0 , class Vecto3DsOrXYZs1 >
double IMP::atom::get_native_overlap ( const Vecto3DsOrXYZs0 &  m1,
const Vecto3DsOrXYZs1 &  m2,
double  threshold 
)

Computes the native overlap between two sets of 3D points.

Parameters:
[in] m1 first set
[in] m2 second set
[in] threshold threshold distance (amstrongs) for the calculation
Note:
The result is returned as a percentage (from 0 to 100)

the function assumes correspondence between two sets of points and does not perform rigid alignment.

Hierarchy get_next_residue ( Residue  rd  ) 

Return the residue from the same chain with one higher index, or Residue().

Note:
Currently, this function only works if the parent of rd is the chain. This should be fixed later. Ask if you need it.
The return type is Hierarchy since the particle representing the next residue might not be a Residue particle.

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.

Parameters:
[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
Note:
The measure quantifies the RMSD between the relative placements of two components compared to a reference relative placement. First, the two compared structures are brought into the same frame of reference by superposing the first pair of equivalent domains (ref1 and mdl1). Next, the RMSD is calculated for the second component

see Lasker et al JMB, 2009 for details

std::pair<double,double> 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.

Parameters:
[in] from The reference placement represented by XYZ coordinates
[in] to The modeled placement represented by XYZ coordinates
Note:
The measure quantifies the difference between placements of the same structure. A rigid transformation that brings mdl1 to ref1 is reported.
Returns:
(d,a), A transformation from mdl to ref represented by a a distance (d) and an angle (a). d is the distance bewteen the centroids of the two placements and a is the axis angle of the rotation matrix between the two placements
Note:
see Lasker,Topf et al JMB, 2009 for details

Residue get_residue ( Atom  d,
bool  nothrow = false 
)

Return the Residue containing this atom.

The atom must be part of a molecular hierarchy.

Exceptions:
ValueException if no residue is found, unless nothrow is true.

template<class Vecto3DsOrXYZs0 , class Vecto3DsOrXYZs1 >
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.

Note:
the function assumes correspondence between the two sets of points and does not perform rigid alignment.

Hierarchy get_root ( Hierarchy  h  ) 

Return the root of the hierarchy.

double IMP::atom::get_volume_from_mass ( double  v  ) 

Estimate the volume of a protein from its mass.

We use the estimate published in Alber et. al, Structure 2005.

Hierarchy read_pdb ( TextInput  in,
Model *  model 
)

Read a all the molecules in the first model of the pdb file.

IMP::core::RigidBody IMP::atom::setup_as_rigid_body ( Hierarchy  h  ) 

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.

Note:
any existing coordinates and radii for internal nodes are overwritten.


Variable Documentation

Unknown residue


Generated on Mon Mar 8 23:08:47 2010 for IMP by doxygen 1.5.8