Classes | Namespaces | Defines | Enumerations | Functions
PDB.h File Reference
#include <boost/lexical_cast.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/format.hpp>
#include <sstream>
#include <iostream>
#include <typeinfo>
#include <ESBTL/constants.h>

Go to the source code of this file.

Classes

struct  ESBTL::PDB::Mandatory_fields_default
class  ESBTL::PDB::Line_format< Mandatory_fields >

Namespaces

namespace  ESBTL
namespace  ESBTL::PDB

Defines

#define RECOVER_FIELD(FNAME, TYPE, FROM, TO, DEF)

Enumerations

enum  ESBTL::PDB::Record_type {
  ESBTL::PDB::ATOM = 0, ESBTL::PDB::HETATM, ESBTL::PDB::MODEL, ESBTL::PDB::ENDMDL,
  ESBTL::PDB::TER, ESBTL::PDB::END, ESBTL::PDB::ANISOU, ESBTL::PDB::CONECT,
  ESBTL::PDB::MASTER, ESBTL::PDB::UNKNOWN
}

Functions

template<class PDB_Atom >
std::string ESBTL::PDB::get_atom_pdb_format (const PDB_Atom &atom)
template<class PDB_Atom >
std::string ESBTL::PDB::get_atom_pdb_reduced_format (const PDB_Atom &atom)
template<class Mandatory_fields >
bool ESBTL::get_is_hetatm (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
int ESBTL::get_atom_serial_number (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
std::string ESBTL::get_atom_name (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char ESBTL::get_alternate_location (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
double ESBTL::get_occupancy (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
double ESBTL::get_temperature_factor (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
std::string ESBTL::get_element (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
int ESBTL::get_charge (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char ESBTL::get_chain_identifier (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
std::string ESBTL::get_residue_name (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
int ESBTL::get_residue_sequence_number (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char ESBTL::get_insertion_code (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char ESBTL::get_x (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char ESBTL::get_y (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)
template<class Mandatory_fields >
char ESBTL::get_z (const std::pair< PDB::Line_format< Mandatory_fields >, std::string > &p)

Define Documentation

#define RECOVER_FIELD (   FNAME,
  TYPE,
  FROM,
  TO,
  DEF 
)
Value:
TYPE get_##FNAME(const std::string& line) const { \
    if (line.length() < TO){\
      if (! Mandatory_fields::FNAME) return TYPE(DEF);\
      else{\
          std::cerr << "Fatal error: Cannot extract field \'" << #FNAME << "\' in \n";\
          std::cerr << "<|" << line << "|>\n";\
          exit (EXIT_FAILURE);\
      }\
    }\
    return PDB::extract_field<TYPE>(line,FROM,TO,DEF,#FNAME,Mandatory_fields::FNAME); \
  }