VinaLC: Parallel Molecular Docking Program

Biochemical and Biophysical Systems Group
VinaLC version: 1.1.2

parse_pdbqt.cpp File Reference
#include <fstream>
#include <sstream>
#include <cctype>
#include <boost/utility.hpp>
#include <boost/optional.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/lexical_cast.hpp>
#include "parse_pdbqt.h"
#include "atom_constants.h"
#include "file.h"
#include "convert_substring.h"
#include "parse_error.h"
Include dependency graph for parse_pdbqt.cpp:

Classes

struct  stream_parse_error
 
struct  parsed_atom
 
struct  atom_syntax_error
 
struct  atom_reference
 
struct  movable_atom
 
struct  rigid
 
struct  non_rigid_parsed
 
struct  parsing_struct
 
struct  parsing_struct::node_t< T >
 
struct  pdbqt_initializer
 

Typedefs

typedef std::vector< movable_atommav
 
typedef std::pair< sz, szaxis_numbers
 
typedef boost::optional
< axis_numbers
axis_numbers_option
 

Functions

void add_context (context &c, std::string &str)
 
std::string omit_whitespace (const std::string &str, sz i, sz j)
 
template<typename T >
checked_convert_substring (const std::string &str, sz i, sz j, const std::string &dest_nature)
 
parsed_atom parse_pdbqt_atom_string (const std::string &str)
 
unsigned parse_one_unsigned (const std::string &str, const std::string &start, unsigned count)
 
void parse_two_unsigneds (const std::string &str, const std::string &start, unsigned count, unsigned &first, unsigned &second)
 
void parse_pdbqt_rigid (const path &name, rigid &r)
 
void parse_pdbqt_root_aux (std::istream &in, unsigned &count, parsing_struct &p, context &c)
 
void parse_pdbqt_root (std::istream &in, unsigned &count, parsing_struct &p, context &c)
 
void parse_pdbqt_branch (std::istream &in, unsigned &count, parsing_struct &p, context &c, unsigned from, unsigned to)
 
void parse_pdbqt_branch_aux (std::istream &in, unsigned &count, const std::string &str, parsing_struct &p, context &c)
 
void parse_pdbqt_aux (std::istream &in, unsigned &count, parsing_struct &p, context &c, boost::optional< unsigned > &torsdof, bool residue)
 
void parse_pdbqt_aux (std::stringstream &in, unsigned &count, parsing_struct &p, context &c, boost::optional< unsigned > &torsdof, bool residue)
 
void add_bonds (non_rigid_parsed &nr, boost::optional< atom_reference > atm, const atom_range &r)
 
void set_rotor (non_rigid_parsed &nr, boost::optional< atom_reference > axis_begin, boost::optional< atom_reference > axis_end)
 
void nr_update_matrixes (non_rigid_parsed &nr)
 
template<typename B >
void postprocess_branch (non_rigid_parsed &nr, parsing_struct &p, context &c, B &b)
 
void postprocess_ligand (non_rigid_parsed &nr, parsing_struct &p, context &c, unsigned torsdof)
 
void postprocess_residue (non_rigid_parsed &nr, parsing_struct &p, context &c)
 
void parse_pdbqt_ligand (const path &name, non_rigid_parsed &nr, context &c)
 
void parse_pdbqt_ligand (std::stringstream &ligSS, non_rigid_parsed &nr, context &c)
 
void parse_pdbqt_residue (std::istream &in, unsigned &count, parsing_struct &p, context &c)
 
void parse_pdbqt_flex (const path &name, non_rigid_parsed &nr, context &c)
 
model parse_ligand_pdbqt (const path &name)
 
model parse_ligand_pdbqt (std::stringstream &ligSS)
 
model parse_receptor_pdbqt (const path &rigid_name, const path &flex_name)
 
model parse_receptor_pdbqt (const path &rigid_name)
 

Typedef Documentation

typedef std::pair<sz, sz> axis_numbers
typedef boost::optional<axis_numbers> axis_numbers_option

Function Documentation

void add_context ( context c,
std::string &  str 
)

Referenced by parse_pdbqt_aux(), parse_pdbqt_branch(), parse_pdbqt_flex(), parse_pdbqt_root(), and parse_pdbqt_root_aux().

Here is the caller graph for this function:

std::string omit_whitespace ( const std::string &  str,
sz  i,
sz  j 
)

References VINA_CHECK.

Referenced by parse_pdbqt_atom_string().

Here is the caller graph for this function:

template<typename T >
T checked_convert_substring ( const std::string &  str,
sz  i,
sz  j,
const std::string &  dest_nature 
)

References VINA_CHECK.

parsed_atom parse_pdbqt_atom_string ( const std::string &  str)

References atom_type::acceptable_type(), is_non_ad_metal_name(), omit_whitespace(), string_to_ad_type(), substring_is_blank(), atom_type::xs, and XS_TYPE_Met_D.

Referenced by parse_pdbqt_branch(), parse_pdbqt_rigid(), and parse_pdbqt_root_aux().

Here is the call graph for this function:

Here is the caller graph for this function:

unsigned parse_one_unsigned ( const std::string &  str,
const std::string &  start,
unsigned  count 
)

Referenced by parse_pdbqt_aux().

Here is the caller graph for this function:

void parse_two_unsigneds ( const std::string &  str,
const std::string &  start,
unsigned  count,
unsigned &  first,
unsigned &  second 
)

Referenced by parse_pdbqt_branch(), and parse_pdbqt_branch_aux().

Here is the caller graph for this function:

void parse_pdbqt_rigid ( const path name,
rigid r 
)

References rigid::atoms, atom_syntax_error::nature, parse_pdbqt_atom_string(), and starts_with().

Referenced by parse_receptor_pdbqt().

Here is the call graph for this function:

Here is the caller graph for this function:

void parse_pdbqt_root_aux ( std::istream &  in,
unsigned &  count,
parsing_struct p,
context c 
)

References parsing_struct::add(), add_context(), atom_syntax_error::nature, parse_pdbqt_atom_string(), and starts_with().

Referenced by parse_pdbqt_root().

Here is the call graph for this function:

Here is the caller graph for this function:

void parse_pdbqt_root ( std::istream &  in,
unsigned &  count,
parsing_struct p,
context c 
)

References add_context(), parse_pdbqt_root_aux(), and starts_with().

Referenced by parse_pdbqt_aux().

Here is the call graph for this function:

Here is the caller graph for this function:

void parse_pdbqt_branch ( std::istream &  in,
unsigned &  count,
parsing_struct p,
context c,
unsigned  from,
unsigned  to 
)
void parse_pdbqt_branch_aux ( std::istream &  in,
unsigned &  count,
const std::string &  str,
parsing_struct p,
context c 
)

References parsing_struct::atoms, parse_pdbqt_branch(), and parse_two_unsigneds().

Referenced by parse_pdbqt_aux(), and parse_pdbqt_branch().

Here is the call graph for this function:

Here is the caller graph for this function:

void parse_pdbqt_aux ( std::istream &  in,
unsigned &  count,
parsing_struct p,
context c,
boost::optional< unsigned > &  torsdof,
bool  residue 
)

References add_context(), parse_one_unsigned(), parse_pdbqt_branch_aux(), parse_pdbqt_root(), and starts_with().

Referenced by parse_pdbqt_ligand(), and parse_pdbqt_residue().

Here is the call graph for this function:

Here is the caller graph for this function:

void parse_pdbqt_aux ( std::stringstream &  in,
unsigned &  count,
parsing_struct p,
context c,
boost::optional< unsigned > &  torsdof,
bool  residue 
)

References add_context(), parse_one_unsigned(), parse_pdbqt_branch_aux(), parse_pdbqt_root(), and starts_with().

Here is the call graph for this function:

void add_bonds ( non_rigid_parsed nr,
boost::optional< atom_reference atm,
const atom_range r 
)
void set_rotor ( non_rigid_parsed nr,
boost::optional< atom_reference axis_begin,
boost::optional< atom_reference axis_end 
)
void postprocess_ligand ( non_rigid_parsed nr,
parsing_struct p,
context c,
unsigned  torsdof 
)

References parsing_struct::atoms, non_rigid_parsed::ligands, nr_update_matrixes(), postprocess_branch(), and VINA_CHECK.

Referenced by parse_pdbqt_ligand().

Here is the call graph for this function:

Here is the caller graph for this function:

void parse_pdbqt_ligand ( const path name,
non_rigid_parsed nr,
context c 
)
void parse_pdbqt_ligand ( std::stringstream &  ligSS,
non_rigid_parsed nr,
context c 
)
void parse_pdbqt_residue ( std::istream &  in,
unsigned &  count,
parsing_struct p,
context c 
)

References parse_pdbqt_aux().

Referenced by parse_pdbqt_flex().

Here is the call graph for this function:

Here is the caller graph for this function:

void parse_pdbqt_flex ( const path name,
non_rigid_parsed nr,
context c 
)
model parse_ligand_pdbqt ( const path name)

References pdbqt_initializer::initialize(), pdbqt_initializer::initialize_from_nrp(), pdbqt_initializer::m, non_rigid_parsed::mobility_matrix(), and parse_pdbqt_ligand().

Referenced by parse_bundle().

Here is the call graph for this function:

Here is the caller graph for this function:

model parse_ligand_pdbqt ( std::stringstream &  ligSS)
model parse_receptor_pdbqt ( const path rigid_name,
const path flex_name 
)
model parse_receptor_pdbqt ( const path rigid_name)