VinaLC: Parallel Molecular Docking Program

Biochemical and Biophysical Systems Group
VinaLC version: 1.1.2

model Struct Reference

#include <model.h>

Collaboration diagram for model:

Public Member Functions

void append (const model &m)
 
atom_type::t atom_typing_used () const
 
sz num_movable_atoms () const
 
sz num_internal_pairs () const
 
sz num_other_pairs () const
 
sz num_ligands () const
 
sz num_flex () const
 
sz ligand_degrees_of_freedom (sz ligand_number) const
 
sz ligand_longest_branch (sz ligand_number) const
 
sz ligand_length (sz ligand_number) const
 
szv get_movable_atom_types (atom_type::t atom_typing_used_) const
 
conf_size get_size () const
 
conf get_initial_conf () const
 
grid_dims movable_atoms_box (fl add_to_each_dimension, fl granularity=0.375) const
 
void write_flex (const path &name, const std::string &remark) const
 
void write_ligand (sz ligand_number, const path &name, const std::string &remark) const
 
void write_structure (std::stringstream &out) const
 
void write_structure (ofile &out) const
 
void write_structure (std::stringstream &out, const std::string &remark) const
 
void write_structure (ofile &out, const std::string &remark) const
 
void write_model (std::stringstream &out, sz model_number, const std::string &remark) const
 
void write_structure (const path &name) const
 
void write_model (ofile &out, sz model_number, const std::string &remark) const
 
void seti (const conf &c)
 
void sete (const conf &c)
 
void set (const conf &c)
 
fl gyration_radius (sz ligand_number) const
 
const atom_basemovable_atom (sz i) const
 
const vecmovable_coords (sz i) const
 
const vecatom_coords (const atom_index &i) const
 
fl distance_sqr_between (const atom_index &a, const atom_index &b) const
 
bool atom_exists_between (const distance_type_matrix &mobility, const atom_index &a, const atom_index &b, const szv &relevant_atoms) const
 
distance_type distance_type_between (const distance_type_matrix &mobility, const atom_index &i, const atom_index &j) const
 
fl evali (const precalculate &p, const vec &v) const
 
fl evale (const precalculate &p, const igrid &ig, const vec &v) const
 
fl eval (const precalculate &p, const igrid &ig, const vec &v, const conf &c)
 
fl eval_deriv (const precalculate &p, const igrid &ig, const vec &v, const conf &c, change &g)
 
fl eval_intramolecular (const precalculate &p, const vec &v, const conf &c)
 
fl eval_adjusted (const scoring_function &sf, const precalculate &p, const igrid &ig, const vec &v, const conf &c, fl intramolecular_energy)
 
fl rmsd_lower_bound (const model &m) const
 
fl rmsd_upper_bound (const model &m) const
 
fl rmsd_ligands_upper_bound (const model &m) const
 
void verify_bond_lengths () const
 
void about () const
 
vecv get_ligand_internal_coords () const
 
vecv get_ligand_coords () const
 
vecv get_heavy_atom_movable_coords () const
 
void check_internal_pairs () const
 
void print_stuff () const
 
fl clash_penalty () const
 

Private Member Functions

 model ()
 
const atomget_atom (const atom_index &i) const
 
atomget_atom (const atom_index &i)
 
void write_context (const context &c, std::stringstream &out) const
 
void write_context (const context &c, ofile &out) const
 
void write_context (const context &c, ofile &out, const std::string &remark) const
 
void write_context (const context &c, const path &name) const
 
void write_context (const context &c, const path &name, const std::string &remark) const
 
fl rmsd_lower_bound_asymmetric (const model &x, const model &y) const
 
atom_index sz_to_atom_index (sz i) const
 
bool bonded_to_HD (const atom &a) const
 
bool bonded_to_heteroatom (const atom &a) const
 
sz find_ligand (sz a) const
 
void bonded_to (sz a, sz n, szv &out) const
 
szv bonded_to (sz a, sz n) const
 
void assign_bonds (const distance_type_matrix &mobility)
 
void assign_types ()
 
void initialize_pairs (const distance_type_matrix &mobility)
 
void initialize (const distance_type_matrix &mobility)
 
fl clash_penalty_aux (const interacting_pairs &pairs) const
 

Private Attributes

vecv internal_coords
 
vecv coords
 
vecv minus_forces
 
atomv grid_atoms
 
atomv atoms
 
vector_mutable< ligandligands
 
vector_mutable< residueflex
 
context flex_context
 
interacting_pairs other_pairs
 
sz m_num_movable_atoms
 
atom_type::t m_atom_typing_used
 

Friends

struct non_cache
 
struct naive_non_cache
 
struct cache
 
struct szv_grid
 
struct terms
 
struct conf_independent_inputs
 
struct appender_info
 
struct pdbqt_initializer
 
struct model_test
 

Constructor & Destructor Documentation

model::model ( )
inlineprivate

Member Function Documentation

void model::append ( const model m)

References atom_typing_used(), atoms, coords, flex, flex_context, atom_type::get(), grid_atoms, internal_coords, ligands, m_num_movable_atoms, minus_forces, num_atom_types(), other_pairs, triangular_matrix_index_permissive(), VINA_CHECK, and VINA_FOR_IN.

Referenced by parse_bundle().

Here is the call graph for this function:

Here is the caller graph for this function:

atom_type::t model::atom_typing_used ( ) const
inline

References m_atom_typing_used.

Referenced by about(), append(), eval_intramolecular(), terms::evale_robust(), initialize_pairs(), and szv_grid::szv_grid().

Here is the caller graph for this function:

sz model::num_internal_pairs ( ) const

References ligands, and VINA_FOR_IN.

Referenced by about(), and manifold_phase().

Here is the caller graph for this function:

sz model::num_other_pairs ( ) const
inline

References other_pairs.

Referenced by about(), and manifold_phase().

Here is the caller graph for this function:

sz model::num_ligands ( ) const
inline

References ligands.

Referenced by about().

Here is the caller graph for this function:

sz model::num_flex ( ) const
inline

References flex.

Referenced by about(), and write_structure().

Here is the caller graph for this function:

sz model::ligand_degrees_of_freedom ( sz  ligand_number) const
inline

References ligands.

sz model::ligand_longest_branch ( sz  ligand_number) const

References get_branch_metrics(), branch_metrics::length, and ligands.

Here is the call graph for this function:

sz model::ligand_length ( sz  ligand_number) const

References branch_metrics::corner2corner, get_branch_metrics(), and ligands.

Referenced by conf_independent_inputs::conf_independent_inputs().

Here is the call graph for this function:

Here is the caller graph for this function:

szv model::get_movable_atom_types ( atom_type::t  atom_typing_used_) const

References atoms, atom_type::get(), has(), m_num_movable_atoms, num_atom_types(), and VINA_FOR.

Referenced by main_procedure().

Here is the call graph for this function:

Here is the caller graph for this function:

conf_size model::get_size ( ) const
conf model::get_initial_conf ( ) const

References get_size(), ligands, conf::ligands, conf::set_to_null(), and VINA_FOR_IN.

Referenced by do_randomization(), and do_search().

Here is the call graph for this function:

Here is the caller graph for this function:

grid_dims model::movable_atoms_box ( fl  add_to_each_dimension,
fl  granularity = 0.375 
) const

References movable_coords(), num_movable_atoms(), VINA_FOR, and VINA_FOR_IN.

Referenced by terms::evale(), and terms::evale_robust().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::write_flex ( const path name,
const std::string &  remark 
) const
inline

References flex_context, and write_context().

Here is the call graph for this function:

void model::write_ligand ( sz  ligand_number,
const path name,
const std::string &  remark 
) const
inline

References ligands, VINA_CHECK, and write_context().

Here is the call graph for this function:

void model::write_structure ( std::stringstream &  out) const
inline

References flex_context, ligands, num_flex(), VINA_FOR_IN, and write_context().

Referenced by do_randomization(), write_model(), and write_structure().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::write_structure ( ofile out) const
inline

References flex_context, ligands, num_flex(), VINA_FOR_IN, and write_context().

Here is the call graph for this function:

void model::write_structure ( std::stringstream &  out,
const std::string &  remark 
) const
inline

References write_structure().

Here is the call graph for this function:

void model::write_structure ( ofile out,
const std::string &  remark 
) const
inline

References write_structure().

Here is the call graph for this function:

void model::write_model ( std::stringstream &  out,
sz  model_number,
const std::string &  remark 
) const
inline

References write_structure().

Referenced by write_all_output().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::write_structure ( const path name) const
inline

References write_structure().

Referenced by write_structure().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::write_model ( ofile out,
sz  model_number,
const std::string &  remark 
) const
inline

References write_structure().

Here is the call graph for this function:

void model::seti ( const conf c)

References atoms, internal_coords, ligands, conf::ligands, and vector_mutable< T >::set_conf().

Referenced by manifold_phase().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::sete ( const conf c)

References atoms, coords, flex, conf::flex, internal_coords, ligands, conf::ligands, vector_mutable< T >::set_conf(), and VINA_FOR_IN.

Referenced by manifold_phase().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::set ( const conf c)

References atoms, coords, flex, conf::flex, ligands, conf::ligands, and vector_mutable< T >::set_conf().

Referenced by do_randomization(), do_search(), monte_carlo::operator()(), manifold::operator()(), refine_structure(), and write_all_output().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::gyration_radius ( sz  ligand_number) const

References atoms, coords, EL_TYPE_H, ligands, vec_distance_sqr(), VINA_CHECK, and VINA_RANGE.

Referenced by mutate_conf().

Here is the call graph for this function:

Here is the caller graph for this function:

const atom_base& model::movable_atom ( sz  i) const
inline

References atoms, and m_num_movable_atoms.

const vec& model::movable_coords ( sz  i) const
inline

References coords, and m_num_movable_atoms.

Referenced by movable_atoms_box().

Here is the caller graph for this function:

const vec & model::atom_coords ( const atom_index i) const

References coords, grid_atoms, atom_index::i, and atom_index::in_grid.

Referenced by assign_bonds(), distance_sqr_between(), and terms::evale_robust().

Here is the caller graph for this function:

fl model::distance_sqr_between ( const atom_index a,
const atom_index b 
) const

References atom_coords(), and vec_distance_sqr().

Referenced by assign_bonds(), atom_exists_between(), and verify_bond_lengths().

Here is the call graph for this function:

Here is the caller graph for this function:

bool model::atom_exists_between ( const distance_type_matrix mobility,
const atom_index a,
const atom_index b,
const szv relevant_atoms 
) const

References distance_sqr_between(), distance_type_between(), DISTANCE_VARIABLE, sz_to_atom_index(), and VINA_FOR_IN.

Referenced by assign_bonds().

Here is the call graph for this function:

Here is the caller graph for this function:

distance_type model::distance_type_between ( const distance_type_matrix mobility,
const atom_index i,
const atom_index j 
) const

References atoms, DISTANCE_FIXED, DISTANCE_VARIABLE, atom_index::i, atom_index::in_grid, and m_num_movable_atoms.

Referenced by assign_bonds(), and atom_exists_between().

Here is the caller graph for this function:

fl model::evali ( const precalculate p,
const vec v 
) const

References eval_interacting_pairs(), internal_coords, ligands, and VINA_FOR_IN.

Referenced by manifold_phase().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::evale ( const precalculate p,
const igrid ig,
const vec v 
) const

References coords, igrid::eval(), eval_interacting_pairs(), and other_pairs.

Referenced by eval(), and manifold_phase().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::eval ( const precalculate p,
const igrid ig,
const vec v,
const conf c 
)

References coords, eval_interacting_pairs(), evale(), ligands, and VINA_FOR_IN.

Referenced by eval_adjusted().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::eval_deriv ( const precalculate p,
const igrid ig,
const vec v,
const conf c,
change g 
)

References coords, vector_mutable< T >::derivative(), igrid::eval_deriv(), eval_interacting_pairs_deriv(), change::flex, flex, change::ligands, ligands, minus_forces, other_pairs, and VINA_FOR_IN.

Referenced by quasi_newton_aux::operator()(), and ssd::operator()().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::eval_adjusted ( const scoring_function sf,
const precalculate p,
const igrid ig,
const vec v,
const conf c,
fl  intramolecular_energy 
)

References scoring_function::conf_independent(), and eval().

Referenced by do_search().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::rmsd_lower_bound ( const model m) const

References rmsd_lower_bound_asymmetric().

Referenced by do_search().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::rmsd_upper_bound ( const model m) const

References atom_type::ad, atoms, coords, atom_type::el, EL_TYPE_H, m_num_movable_atoms, sum(), vec_distance_sqr(), VINA_CHECK, VINA_FOR, and atom_type::xs.

Referenced by do_search().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::rmsd_ligands_upper_bound ( const model m) const
void model::verify_bond_lengths ( ) const

References atoms, atom::bonds, bond::connected_atom_index, distance_sqr_between(), eq_r2(), get_atom(), grid_atoms, bond::length, sz_to_atom_index(), VINA_CHECK, VINA_FOR, VINA_FOR_IN, and VINA_SHOW.

Referenced by write_context().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::about ( ) const

References atom_typing_used(), num_flex(), num_internal_pairs(), num_ligands(), num_movable_atoms(), num_other_pairs(), and VINA_SHOW.

Referenced by print_stuff().

Here is the call graph for this function:

Here is the caller graph for this function:

vecv model::get_ligand_internal_coords ( ) const
inline
vecv model::get_ligand_coords ( ) const
inline
vecv model::get_heavy_atom_movable_coords ( ) const
inline

References atoms, coords, EL_TYPE_H, num_movable_atoms(), and VINA_FOR.

Referenced by ssd::operator()(), monte_carlo::operator()(), manifold::operator()(), and refine_structure().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::check_internal_pairs ( ) const
void model::print_stuff ( ) const
fl model::clash_penalty ( ) const

References clash_penalty_aux(), ligands, other_pairs, and VINA_FOR_IN.

Referenced by do_randomization().

Here is the call graph for this function:

Here is the caller graph for this function:

atom& model::get_atom ( const atom_index i)
inlineprivate
void model::write_context ( const context c,
std::stringstream &  out 
) const
private

References coords, coords_to_pdbqt_string(), verify_bond_lengths(), and VINA_FOR_IN.

Referenced by write_context(), write_flex(), write_ligand(), and write_structure().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::write_context ( const context c,
ofile out 
) const
private

References coords, coords_to_pdbqt_string(), verify_bond_lengths(), and VINA_FOR_IN.

Here is the call graph for this function:

void model::write_context ( const context c,
ofile out,
const std::string &  remark 
) const
inlineprivate
void model::write_context ( const context c,
const path name 
) const
inlineprivate

References write_context().

Here is the call graph for this function:

void model::write_context ( const context c,
const path name,
const std::string &  remark 
) const
inlineprivate

References write_context().

Here is the call graph for this function:

fl model::rmsd_lower_bound_asymmetric ( const model x,
const model y 
) const
private

References atoms, coords, atom_type::el, EL_TYPE_H, atom_type::is_hydrogen(), m_num_movable_atoms, max_fl, not_max(), atom_type::same_element(), sum(), vec_distance_sqr(), VINA_CHECK, and VINA_FOR.

Referenced by rmsd_lower_bound().

Here is the call graph for this function:

Here is the caller graph for this function:

atom_index model::sz_to_atom_index ( sz  i) const
private

References grid_atoms.

Referenced by assign_bonds(), assign_types(), atom_exists_between(), and verify_bond_lengths().

Here is the caller graph for this function:

bool model::bonded_to_HD ( const atom a) const
private

References atom_type::ad, AD_TYPE_HD, atom::bonds, bond::connected_atom_index, get_atom(), and VINA_FOR_IN.

Referenced by assign_types().

Here is the call graph for this function:

Here is the caller graph for this function:

bool model::bonded_to_heteroatom ( const atom a) const
private

References atom::bonds, bond::connected_atom_index, get_atom(), atom_type::is_heteroatom(), and VINA_FOR_IN.

Referenced by assign_types().

Here is the call graph for this function:

Here is the caller graph for this function:

sz model::find_ligand ( sz  a) const
private

References ligands, and VINA_FOR_IN.

Referenced by eval_intramolecular(), terms::evale_robust(), and initialize_pairs().

Here is the caller graph for this function:

void model::bonded_to ( sz  a,
sz  n,
szv out 
) const
private

References atoms, bond::connected_atom_index, has(), atom_index::i, atom_index::in_grid, and VINA_FOR_IN.

Referenced by bonded_to(), and initialize_pairs().

Here is the call graph for this function:

Here is the caller graph for this function:

szv model::bonded_to ( sz  a,
sz  n 
) const
private

References bonded_to().

Here is the call graph for this function:

void model::initialize_pairs ( const distance_type_matrix mobility)
private

References atom_typing_used(), atoms, bonded_to(), DISTANCE_VARIABLE, find_ligand(), has(), ligands, m_num_movable_atoms, num_atom_types(), other_pairs, triangular_matrix_index_permissive(), VINA_FOR_IN, and VINA_RANGE.

Referenced by initialize().

Here is the call graph for this function:

Here is the caller graph for this function:

void model::initialize ( const distance_type_matrix mobility)
private

References assign_bonds(), assign_types(), initialize_pairs(), ligands, and VINA_FOR_IN.

Referenced by pdbqt_initializer::initialize().

Here is the call graph for this function:

Here is the caller graph for this function:

fl model::clash_penalty_aux ( const interacting_pairs pairs) const
private

References interacting_pair::a, atoms, interacting_pair::b, coords, pairwise_clash_penalty(), vec_distance_sqr(), and VINA_FOR_IN.

Referenced by clash_penalty().

Here is the call graph for this function:

Here is the caller graph for this function:

Friends And Related Function Documentation

friend struct non_cache
friend
friend struct naive_non_cache
friend
friend struct cache
friend
friend struct szv_grid
friend
friend struct terms
friend
friend struct conf_independent_inputs
friend
friend struct appender_info
friend
friend struct pdbqt_initializer
friend
friend struct model_test
friend

Member Data Documentation

context model::flex_context
private
atom_type::t model::m_atom_typing_used
private

Referenced by atom_typing_used().


The documentation for this struct was generated from the following files: