Rosetta
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
core::scoring::PoissonBoltzmannPotential Class Reference

#include <PoissonBoltzmannPotential.hh>

Inheritance diagram for core::scoring::PoissonBoltzmannPotential:
Inheritance graph
[legend]

Public Member Functions

 PoissonBoltzmannPotential ()
 
 ~PoissonBoltzmannPotential () override
 
core::Real get_potential (numeric::xyzVector< core::Real > const &cartX) const
 
Real eval_PB_energy_residue (core::conformation::Residue const &rsd, Real &PB_energy_residue, Real &PB_energy_backbone, Real &PB_energy_sidechain, Real const &PB_burial_weight) const
 
void cart2idx (numeric::xyzVector< core::Real > const &cartX, numeric::xyzVector< core::Real > &idxX) const
 
template<class Q >
void idx2cart (numeric::xyzVector< Q > const &idxX, numeric::xyzVector< core::Real > &cartX) const
 
numeric::xyzVector< core::Reallower_bound () const
 
numeric::xyzVector< core::Realupper_bound () const
 
bool out_of_bounds (numeric::xyzVector< core::Real > const &cartX) const
 
void solve_pb (core::pose::Pose const &pose, std::string const &state_tag, std::map< std::string, bool > const &is_residue_charged_by_name, bool cleanup_files=false)
 
void solve_pb (core::pose::Pose const &pose, std::string const &state_tag, id::AtomID_Map< bool > const &charged_atoms, id::AtomID_Map< bool > const &present_atoms, bool cleanup_files=false)
 
void cleanup_files () const
 

Static Public Attributes

static const std::string APBS_CONFIG_EXT = ".in"
 
static const std::string APBS_PQR_EXT = ".pqr"
 
static const std::string APBS_DX_EXT = ".dx"
 
static const std::string DEFAULT_APBS_PATH = "apbs"
 

Private Member Functions

std::string fpath (std::string const &file) const
 
void write_config (core::pose::Pose const &pose, id::AtomID_Map< bool > const &present_atoms) const
 Prepare ABPS - generate .in and .pqr. More...
 
void load_APBS_potential ()
 Read & load the APBS results. More...
 
void write_pqr (core::pose::Pose const &pose, id::AtomID_Map< bool > const &charged_atoms, id::AtomID_Map< bool > const &present_atoms) const
 Write out .pqr. More...
 

Private Attributes

numeric::xyzMatrix< core::Reali2c_
 
numeric::xyzMatrix< core::Realc2i_
 
numeric::xyzVector< core::Reallower_bound_
 
numeric::xyzVector< core::Realupper_bound_
 
numeric::xyzVector< core::Realgrid_spacing_
 
numeric::xyzVector< core::Sizen_grid_
 
ObjexxFCL::FArray3D< core::Realpotential_
 
std::string config_filename_
 
std::string pqr_filename_
 
std::string dx_filename_
 
std::string apbs_path_
 
std::string scratch_dir_
 
bool calcenergy_
 

Constructor & Destructor Documentation

◆ PoissonBoltzmannPotential()

core::scoring::PB::PoissonBoltzmannPotential ( )

◆ ~PoissonBoltzmannPotential()

core::scoring::PB::~PoissonBoltzmannPotential ( )
overridedefault

Member Function Documentation

◆ cart2idx()

void core::scoring::PoissonBoltzmannPotential::cart2idx ( numeric::xyzVector< core::Real > const &  cartX,
numeric::xyzVector< core::Real > &  idxX 
) const
inline

References c2i_, and lower_bound_.

Referenced by get_potential().

◆ cleanup_files()

void core::scoring::PB::cleanup_files ( ) const

References config_filename_, dx_filename_, fpath(), and pqr_filename_.

Referenced by solve_pb().

◆ eval_PB_energy_residue()

Real core::scoring::PB::eval_PB_energy_residue ( core::conformation::Residue const &  rsd,
Real PB_energy_residue,
Real PB_energy_backbone,
Real PB_energy_sidechain,
Real const &  PB_burial_weight 
) const

◆ fpath()

std::string core::scoring::PB::fpath ( std::string const &  file) const
private

◆ get_potential()

core::Real core::scoring::PB::get_potential ( numeric::xyzVector< core::Real > const &  cartX) const

◆ idx2cart()

template<class Q >
void core::scoring::PoissonBoltzmannPotential::idx2cart ( numeric::xyzVector< Q > const &  idxX,
numeric::xyzVector< core::Real > &  cartX 
) const
inline

References i2c_, and lower_bound_.

Referenced by load_APBS_potential().

◆ load_APBS_potential()

void core::scoring::PB::load_APBS_potential ( )
private

Read & load the APBS results.

References c2i_, dx_filename_, fpath(), grid_spacing_, i2c_, idx2cart(), lower_bound_, n_grid_, potential_, core::scoring::TR(), and upper_bound_.

Referenced by solve_pb().

◆ lower_bound()

numeric::xyzVector< core::Real > core::scoring::PoissonBoltzmannPotential::lower_bound ( ) const
inline

References lower_bound_.

Referenced by out_of_bounds().

◆ out_of_bounds()

bool core::scoring::PoissonBoltzmannPotential::out_of_bounds ( numeric::xyzVector< core::Real > const &  cartX) const
inline

References lower_bound(), and upper_bound().

Referenced by get_potential().

◆ solve_pb() [1/2]

void core::scoring::PB::solve_pb ( core::pose::Pose const &  pose,
std::string const &  state_tag,
id::AtomID_Map< bool > const &  charged_atoms,
id::AtomID_Map< bool > const &  present_atoms,
bool  cleanup_files = false 
)

◆ solve_pb() [2/2]

void core::scoring::PB::solve_pb ( core::pose::Pose const &  pose,
std::string const &  state_tag,
std::map< std::string, bool > const &  is_residue_charged_by_name,
bool  cleanup_files = false 
)

Execute ABPS to freshly compute the electrotatic field.

Parameters
poseThe pose
state_tagArbitrary string for generating APBS files. e.g. The current energy state.
is_residue_charged_by_nameWhich residues are charged? The key is the residue name.

References cleanup_files(), core::id::AtomID_Map< T >::fill_with(), core::pose::initialize_atomid_map(), core::chemical::ResidueTypeBase::name(), core::pose::Pose::residue(), core::pose::Pose::size(), and core::conformation::Residue::type().

Referenced by core::scoring::sc::ElectrostaticComplementarityCalculator::Calc(), and core::scoring::sc::ElectrostaticSimilarityCalculator::Calc().

◆ upper_bound()

numeric::xyzVector< core::Real > core::scoring::PoissonBoltzmannPotential::upper_bound ( ) const
inline

References upper_bound_.

Referenced by out_of_bounds().

◆ write_config()

void core::scoring::PB::write_config ( core::pose::Pose const &  pose,
id::AtomID_Map< bool > const &  present_atoms 
) const
private

◆ write_pqr()

void core::scoring::PB::write_pqr ( core::pose::Pose const &  pose,
id::AtomID_Map< bool > const &  charged_atoms,
id::AtomID_Map< bool > const &  present_atoms 
) const
private

Member Data Documentation

◆ APBS_CONFIG_EXT

const std::string core::scoring::PB::APBS_CONFIG_EXT = ".in"
static

Referenced by solve_pb().

◆ APBS_DX_EXT

const std::string core::scoring::PB::APBS_DX_EXT = ".dx"
static

Referenced by solve_pb(), and write_config().

◆ apbs_path_

std::string core::scoring::PoissonBoltzmannPotential::apbs_path_
private

Referenced by solve_pb().

◆ APBS_PQR_EXT

const std::string core::scoring::PB::APBS_PQR_EXT = ".pqr"
static

Referenced by solve_pb().

◆ c2i_

numeric::xyzMatrix< core::Real > core::scoring::PoissonBoltzmannPotential::c2i_
private

Referenced by cart2idx(), and load_APBS_potential().

◆ calcenergy_

bool core::scoring::PoissonBoltzmannPotential::calcenergy_
private

Referenced by solve_pb(), and write_config().

◆ config_filename_

std::string core::scoring::PoissonBoltzmannPotential::config_filename_
private

◆ DEFAULT_APBS_PATH

const std::string core::scoring::PB::DEFAULT_APBS_PATH = "apbs"
static

◆ dx_filename_

std::string core::scoring::PoissonBoltzmannPotential::dx_filename_
private

◆ grid_spacing_

numeric::xyzVector< core::Real > core::scoring::PoissonBoltzmannPotential::grid_spacing_
private

Referenced by load_APBS_potential().

◆ i2c_

numeric::xyzMatrix< core::Real > core::scoring::PoissonBoltzmannPotential::i2c_
private

Referenced by idx2cart(), and load_APBS_potential().

◆ lower_bound_

numeric::xyzVector< core::Real > core::scoring::PoissonBoltzmannPotential::lower_bound_
private

◆ n_grid_

numeric::xyzVector< core::Size > core::scoring::PoissonBoltzmannPotential::n_grid_
private

Referenced by load_APBS_potential().

◆ potential_

ObjexxFCL::FArray3D< core::Real > core::scoring::PoissonBoltzmannPotential::potential_
private

◆ pqr_filename_

std::string core::scoring::PoissonBoltzmannPotential::pqr_filename_
private

◆ scratch_dir_

std::string core::scoring::PoissonBoltzmannPotential::scratch_dir_
private

Referenced by fpath(), and solve_pb().

◆ upper_bound_

numeric::xyzVector< core::Real > core::scoring::PoissonBoltzmannPotential::upper_bound_
private

Referenced by load_APBS_potential(), and upper_bound().


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