Namespaces | Classes | Typedefs | Enumerations | Functions
ESBTL Namespace Reference

Namespaces

namespace  CGAL
namespace  PDB

Classes

class  Radius_of_atom
class  Name_and_radius_of_atom
class  Name_of_pair
struct  Generic_classifier
struct  Weight_of_atoms
struct  Select_by_resname
struct  Select_by_atmname
struct  Select_by_element
class  Select_by_chainids
class  All_atom_system_builder
class  Radius_of_coarse_atom
struct  Color_of_atom
class  Color_of_residues
class  Coarse_creator_two_barycenters
class  Coarse_creator_closest_to_barycenter
class  Coarse_atom
class  Coarse_residue
struct  Coarse_atoms_iterators
struct  System_items_with_coarse_grain
struct  Not_functor
class  And_functors
class  Or_functors
struct  Traits_for_grid
struct  Grid_of_cubes
class  Line_reader
class  PDB_line_selector
class  PDB_line_selector_two_systems
class  PDB_line_selector_chain
class  Generic_line_selector
class  Molecular_system
class  Molecular_model
class  Molecular_chain
class  Molecular_residue
class  Molecular_atom
struct  Default_system_items
struct  No_occupancy_policy
struct  Accept_all_occupancy_policy
struct  Accept_none_occupancy_policy
class  Max_occupancy_policy
class  Min_occupancy_policy
class  Atom_list_occupancy_policy
class  Selected_atom_iterator
class  System_updater_from_xdrfile
class  Weighted_atom_iterator
class  Point_3

Typedefs

typedef Molecular_system
< Default_system_items,
Point_3
Default_system
typedef Molecular_system
< System_items_with_coarse_grain,
Point_3
Default_system_with_coarse_grain

Enumerations

enum  Reading_mode { ASCII, BZIP2, GZIP }

Functions

template<class NT , class Atom >
NT get_radius (const Radius_of_atom< NT, Atom > &property)
template<class NT , class Coarse_atom >
NT get_radius (const Radius_of_coarse_atom< NT, Coarse_atom > &property)
template<class Input_iterator , class System >
void insert_coarse_atoms (Input_iterator first, Input_iterator last, System &system, int modelid=1, char chainid='Z', std::string resname="SOL", int starting_res_index=1)
template<class Model >
Coarse_atoms_iterators< Model >
::const_iterator 
coarse_atoms_begin (const Model &model)
template<class Model >
Coarse_atoms_iterators< Model >
::const_iterator 
coarse_atoms_end (const Model &model)
template<class Model >
Coarse_atoms_iterators< Model >
::iterator 
coarse_atoms_begin (Model &model)
template<class Model >
Coarse_atoms_iterators< Model >
::iterator 
coarse_atoms_end (Model &model)
template<class Point_3 , class Output_iterator >
void fcc_lattice (const Point_3 &center, double radius, double min_edge_length, Output_iterator out)
template<class Point_3 , class Output_iterator >
void fcc_lattice (const std::pair< Point_3, double > &cube, double radius, double expand_value, Output_iterator out)
template<class Atom >
bool is_backbone (const Atom &atom)
template<class Atom >
bool is_side_chain_or_CA (const Atom &atom)
template<class Atom >
bool is_hydrogen (const Atom &atom)
template<class Atom >
bool is_water (const Atom &atom)
template<class Atom_iterator , class Classifier_with_radius , class Color_of >
void write_to_cgo (const std::string &filename, Atom_iterator first, Atom_iterator last, const Classifier_with_radius &classifier, const Color_of &color_of)
template<Reading_mode mode, class Line_selector , class Builder , class Occupancy_handler >
bool read_a_pdb_file (const std::string &filename, Line_selector &sel, Builder &builder, const Occupancy_handler &occupancy, char altloc=' ')
template<class Line_selector , class Builder , class Occupancy_handler >
bool read_a_pdb_file (const std::string &filename, Line_selector &sel, Builder &builder, const Occupancy_handler &occupancy, char altloc=' ')
template<class System >
char get_chain_identifier (const Molecular_chain< System > &c)
template<class System >
const std::string & get_residue_name (const Molecular_residue< System > &r)
template<class System >
int get_residue_sequence_number (const Molecular_residue< System > &r)
template<class System >
char get_insertion_code (const Molecular_residue< System > &r)
template<class System , class Point >
bool get_is_hetatm (const Molecular_atom< System, Point > &a)
template<class System , class Point >
int get_atom_serial_number (const Molecular_atom< System, Point > &a)
template<class System , class Point >
const std::string & get_atom_name (const Molecular_atom< System, Point > &a)
template<class System , class Point >
char get_alternate_location (const Molecular_atom< System, Point > &a)
template<class System , class Point >
double get_occupancy (const Molecular_atom< System, Point > &a)
template<class System , class Point >
double get_temperature_factor (const Molecular_atom< System, Point > &a)
template<class System , class Point >
const std::string & get_element (const Molecular_atom< System, Point > &a)
template<class System , class Point >
int get_charge (const Molecular_atom< System, Point > &a)
template<class System , class Point >
char get_chain_identifier (const Molecular_atom< System, Point > &a)
template<class System , class Point >
const std::string & get_residue_name (const Molecular_atom< System, Point > &a)
template<class System , class Point >
int get_residue_sequence_number (const Molecular_atom< System, Point > &a)
template<class System , class Point >
char get_insertion_code (const Molecular_atom< System, Point > &a)
template<class System , class Point >
char get_x (const Molecular_atom< System, Point > &a)
template<class System , class Point >
char get_y (const Molecular_atom< System, Point > &a)
template<class System , class Point >
char get_z (const Molecular_atom< System, Point > &a)
template<class Mandatory_fields >
bool get_is_hetatm (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
int get_atom_serial_number (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
std::string get_atom_name (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char get_alternate_location (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
double get_occupancy (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
double get_temperature_factor (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
std::string get_element (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
int get_charge (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char get_chain_identifier (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
std::string get_residue_name (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
int get_residue_sequence_number (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char get_insertion_code (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char get_x (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char get_y (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char get_z (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Model , class Subset_functor , bool is_const>
Selected_atom_iterator< Model,
Subset_functor, is_const > 
make_selected_atom_iterator (internal::Atoms_iterator_from_model< Model, is_const > iterator, const Subset_functor &functor)
template<class Subset_functor , class Model , bool is_const>
Selected_atom_iterator< Model,
Subset_functor, is_const > 
make_selected_atom_iterator (internal::Atoms_iterator_from_model< Model, is_const > iterator)
template<class NT >
NT square (const NT &n)
template<class Point1 , class Point2 >
double squared_distance (const Point1 &p1, const Point2 &p2)
template<class Iterator >
double rms_no_align (Iterator begin1, Iterator end1, Iterator begin2, Iterator end2)
template<class Point_3 , class Iterator >
std::pair< Point_3, Point_3bounding_box (Iterator begin, Iterator end)
template<class Point_3 , class Iterator >
std::pair< Point_3, double > bounding_cube (Iterator begin, Iterator end)

Typedef Documentation

A default declaration of an all-atom system.

A default declaration of an all-atom and coarse grain system.


Enumeration Type Documentation

Modes available to read a PDB file:

  • ASCII stands for a non-compressed standard text file.
  • BZIP2 stands for a compressed file using bzip2 algorithm (see http://www.bzip.org/).
  • GZIP stands for a compressed file using gzip algorithm (see http://www.gzip.org/).
Enumerator:
ASCII 
BZIP2 
GZIP 

Function Documentation

template<class Point_3 , class Iterator >
std::pair<Point_3,Point_3> ESBTL::bounding_box ( Iterator  begin,
Iterator  end 
)

Computes the bounding box containing a set of points.

Template Parameters:
Iteratoris an iterator over a set of points.
Point_3is a point type with access method x() ,y() and z().
Parameters:
beginfirst iterator of the set.
endpast end iterator of the set.
Returns:
a pair containing the lower corner and the upper corner of the bounding box.
template<class Point_3 , class Iterator >
std::pair<Point_3,double> ESBTL::bounding_cube ( Iterator  begin,
Iterator  end 
) [inline]

Computes a cube containing a set of points.

Template Parameters:
Iteratoris an iterator over a set of points.
Point_3is a point type with access method x() ,y() and z().
Parameters:
beginfirst iterator of the set.
endpast end iterator of the set.
Returns:
a pair containing the lower corner and the edge length of the bounding cube.
template<class Point_3 , class Output_iterator >
void ESBTL::fcc_lattice ( const Point_3 &  center,
double  radius,
double  min_edge_length,
Output_iterator  out 
)

Computes a cube filled with a face centered cubic lattice of balls.

Template Parameters:
Point_3is a point type with access method x() ,y() and z().
Output_iteratoris an output iterator of Point_3.
Parameters:
centeris the center of the cube.
radiusis the radius used for the balls to compute the lattice.
min_edge_lengthis a lower bound of the edge length of the cube.
outis an output iterator of Point_3.
template<class Point_3 , class Output_iterator >
void ESBTL::fcc_lattice ( const std::pair< Point_3, double > &  cube,
double  radius,
double  expand_value,
Output_iterator  out 
) [inline]

Computes a cube filled with a face centered cubic lattice of balls.

Template Parameters:
Point_3is a point type with access method x() ,y() and z().
Output_iteratoris an output iterator of Point_3.
Parameters:
cubeis a pair containing the lower corner of the cube to be filled and its edge length.
radiusis the radius used for the balls to compute the lattice.
expand_valueis the value of which the edge length of the cube must be increased.
outis an output iterator of Point_3.
template<class Mandatory_fields >
char ESBTL::get_alternate_location ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
char ESBTL::get_alternate_location ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
std::string ESBTL::get_atom_name ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
const std::string& ESBTL::get_atom_name ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
int ESBTL::get_atom_serial_number ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
int ESBTL::get_atom_serial_number ( const Molecular_atom< System, Point > &  a)
template<class System >
char ESBTL::get_chain_identifier ( const Molecular_chain< System > &  c)
template<class Mandatory_fields >
char ESBTL::get_chain_identifier ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
char ESBTL::get_chain_identifier ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
int ESBTL::get_charge ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
int ESBTL::get_charge ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
std::string ESBTL::get_element ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
const std::string& ESBTL::get_element ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
char ESBTL::get_insertion_code ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
char ESBTL::get_insertion_code ( const Molecular_atom< System, Point > &  a)
template<class System >
char ESBTL::get_insertion_code ( const Molecular_residue< System > &  r)
template<class Mandatory_fields >
bool ESBTL::get_is_hetatm ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
bool ESBTL::get_is_hetatm ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
double ESBTL::get_occupancy ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
double ESBTL::get_occupancy ( const Molecular_atom< System, Point > &  a)
template<class NT , class Coarse_atom >
NT ESBTL::get_radius ( const Radius_of_coarse_atom< NT, Coarse_atom > &  property)

Extract the radius from a property of type ESBTL::Radius_of_coarse_atom

template<class NT , class Atom >
NT ESBTL::get_radius ( const Radius_of_atom< NT, Atom > &  property)

Extract the radius from a property of type ESBTL::Radius_of_atom

template<class System >
const std::string& ESBTL::get_residue_name ( const Molecular_residue< System > &  r)
template<class Mandatory_fields >
std::string ESBTL::get_residue_name ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
const std::string& ESBTL::get_residue_name ( const Molecular_atom< System, Point > &  a)
template<class System >
int ESBTL::get_residue_sequence_number ( const Molecular_residue< System > &  r)
template<class Mandatory_fields >
int ESBTL::get_residue_sequence_number ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
int ESBTL::get_residue_sequence_number ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
double ESBTL::get_temperature_factor ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
double ESBTL::get_temperature_factor ( const Molecular_atom< System, Point > &  a)
template<class System , class Point >
char ESBTL::get_x ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
char ESBTL::get_x ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
char ESBTL::get_y ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
char ESBTL::get_y ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class System , class Point >
char ESBTL::get_z ( const Molecular_atom< System, Point > &  a)
template<class Mandatory_fields >
char ESBTL::get_z ( const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &  p)
template<class Input_iterator , class System >
void ESBTL::insert_coarse_atoms ( Input_iterator  first,
Input_iterator  last,
System &  system,
int  modelid = 1,
char  chainid = 'Z',
std::string  resname = "SOL",
int  starting_res_index = 1 
)

Inserts a set of coarse grain atoms in a molecule using one residue per such atom.

Template Parameters:
Input_iteratoris an iterator type over point type objects. This type must be the one used to defined the coarse grain atom type in System.
Systemis a coarse-grain system.
Parameters:
firstis the first iterator over the range of points.
lastis the past-end iterator over the range of points.
systemis the system in which coarse grain atoms must be inserted.
modelidis the number of the model of the system in which coarse grain atoms must be inserted.
chainidis the id of the chain of the model in which coarse grain atoms must be inserted.
resnameis the name of the residues in which coarse grain atoms must be inserted.
starting_res_indexis the residue sequence number of the first residue inserted. Other coarse grain atoms will use an increasing number starting from this value.
template<class Atom >
bool ESBTL::is_backbone ( const Atom &  atom)

Check if an atom belong to the backbone of a protein. The check is done on the atom name. An atom is considered to belong to the backbone if its atom name is either N, C, CA, OXT or O.

Template Parameters:
Atommust represent an atom, global function ESBTL::get_atom_name and ESBTL::get_is_hetatm, both taking an object of this type must exits.
Parameters:
atomrepresents an atom.
template<class Atom >
bool ESBTL::is_hydrogen ( const Atom &  atom)

Check if an atom is an hydrogen.

Template Parameters:
Atommust represent an atom, global function ESBTL::get_element taking an object of this type must exits.
Parameters:
atomrepresents an atom.
template<class Atom >
bool ESBTL::is_side_chain_or_CA ( const Atom &  atom)

Check if an atom belong to a protein side-chain or is carbon alpha atom. The check is done on the atom name. An atom is considered to belong to the backbone if its atom name is either N, C, CA, OXT or O. Carbon alpha atom name is CA.

Template Parameters:
Atommust represent an atom, global function ESBTL::get_atom_name and ESBTL::get_is_hetatm, both taking an object of this type must exits.
Parameters:
atomrepresents an atom.
template<class Atom >
bool ESBTL::is_water ( const Atom &  atom)

Check if an atom belongs to a water molecule. An atom is considered to belong to a water molecule if its residue name is either HOH, SOL or WAT.

Template Parameters:
Atommust represent an atom, global function ESBTL::get_residue_name taking an object of this type must exits.
Parameters:
atomrepresents an atom.
template<class Model , class Subset_functor , bool is_const>
Selected_atom_iterator<Model,Subset_functor,is_const> ESBTL::make_selected_atom_iterator ( internal::Atoms_iterator_from_model< Model, is_const >  iterator,
const Subset_functor &  functor 
)

Short cut function to construct a Selected_atom_iterator.

template<class Subset_functor , class Model , bool is_const>
Selected_atom_iterator<Model,Subset_functor,is_const> ESBTL::make_selected_atom_iterator ( internal::Atoms_iterator_from_model< Model, is_const >  iterator)

Short cut function to construct a Selected_atom_iterator.

template<Reading_mode mode, class Line_selector , class Builder , class Occupancy_handler >
bool ESBTL::read_a_pdb_file ( const std::string &  filename,
Line_selector &  sel,
Builder &  builder,
const Occupancy_handler &  occupancy,
char  altloc = ' ' 
) [inline]

Short cuts to read a PDB file. See the documentation of ESBTL::Line_reader::read for more details.

template<class Line_selector , class Builder , class Occupancy_handler >
bool ESBTL::read_a_pdb_file ( const std::string &  filename,
Line_selector &  sel,
Builder &  builder,
const Occupancy_handler &  occupancy,
char  altloc = ' ' 
) [inline]
template<class Iterator >
double ESBTL::rms_no_align ( Iterator  begin1,
Iterator  end1,
Iterator  begin2,
Iterator  end2 
)

Computes the root mean square deviation (RMSD) between two sets of atoms.

Precondition:
The two sets must have the same size, and corresponding atoms must be enumerated in the same order.
Template Parameters:
Iteratoris an iterator over a point type providing access functions x(),y() and z().
Parameters:
begin1is the first element of the first range of points.
end1is the past-end iterator over elements of the first range of points.
begin2is the first element of the second range of points.
end2is the past-end iterator over elements of the second range of points.
Returns:
The RMSD between two sets of points.
template<class NT >
NT ESBTL::square ( const NT &  n) [inline]

Computes the square of n.

Template Parameters:
NTis the number type of the input.
Parameters:
nis the number to be squared.
Returns:
the square of n.
template<class Point1 , class Point2 >
double ESBTL::squared_distance ( const Point1 &  p1,
const Point2 &  p2 
) [inline]

Computes the squared distance between two points.

Template Parameters:
Point1is a point type providing access functions x(),y() and z().
Point2is a point type providing access functions x(),y() and z().
Parameters:
p1is the first point.
p2is the second point.
Returns:
the squared distance between p1 and p2.
template<class Atom_iterator , class Classifier_with_radius , class Color_of >
void ESBTL::write_to_cgo ( const std::string &  filename,
Atom_iterator  first,
Atom_iterator  last,
const Classifier_with_radius &  classifier,
const Color_of &  color_of 
)

Create a python script that can be run using PyMol and that load a cgo objects representing a set of (pseudo-) atoms as a set of balls.

Template Parameters:
Atom_iteratoriterator over a set of atoms.
Classifier_with_radiusis a classifier that attributes a radius to an atom.
Color_ofis a classifier that attributes a color to an atom (such as ESBTL::Color_of_atom).
Parameters:
filenameis the name of the script to be created.
firstis the iterator of the first atom of the set.
lastis the past-end iterator of the last atom of the set.
classifierattributes a radius to an atom.
color_ofattributes a color to an atom.