Rosetta
Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::ligand_docking::ga_ligand_dock::EntropyEstimator Class Reference

Estimates entropy change by ligand binding using short MC simulation. More...

#include <EntropyEstimator.hh>

Public Member Functions

 EntropyEstimator (core::scoring::ScoreFunctionOP sfxn, core::pose::Pose const &pose, utility::vector1< core::Size > const &ligids, std::string method="MCEntropy")
 
 ~EntropyEstimator ()
 
core::Real apply (core::pose::Pose const &pose) const
 
void set_niter (core::Size setting)
 

Private Member Functions

void get_chi_weight (core::pose::Pose const &pose_ref)
 Estimates per-chiangle weights used for per-chiangle-weighted entropy estimation mode. More...
 
core::Real analyze_trajectory (utility::vector1< ChiInfo > const &chitrj, core::pose::Pose const &pose, utility::vector1< std::pair< core::Size, core::Size > > const &chidefs, core::Real const Emin, core::Real const RT, bool const run_on_ligand, bool const run_on_receptor) const
 torsion entropy calculation function inside estimate_Stors More...
 
core::Real estimate_Stors (core::pose::Pose pose, utility::vector1< ChiInfo > &chitrj, utility::vector1< core::Size > const &flexscs, utility::vector1< std::pair< core::Size, core::Size > > const &chidefs, bool const run_on_ligand, bool const run_on_receptor) const
 Runs MC and returns torsion entropy change. More...
 
void perturb (core::pose::Pose &pose, core::Size const nligchi, utility::vector1< core::Size > const &flexscs, bool &pert_ligand) const
 main perturb function in MC More...
 
utility::vector1< ChiInfosetup_trj (core::pose::Pose const &pose, utility::vector1< core::Size > &flexscs, utility::vector1< std::pair< core::Size, core::Size > > &chidefs) const
 initialize MC trj datastructure More...
 
utility::vector1< core::Sizeget_contacting_reslist (core::pose::Pose const &pose, utility::vector1< std::pair< core::Size, core::Size > > &chidefs) const
 get list of sidechains contacting to ligand More...
 
core::Real get_temperature (core::Size const it) const
 
void update_chis (core::pose::Pose const &pose, utility::vector1< core::Real > &chis, bool const &ligonly) const
 perturb ligand chis More...
 
void update_flexscs (core::pose::Pose const &pose, utility::vector1< std::pair< core::Size, core::Size > > const &chidefs, std::map< core::Size, utility::vector1< core::Real > > &chis) const
 perturb receptor sidechains More...
 
core::Size chis2rotid (utility::vector1< core::Real > const &chis) const
 
core::Real MCEntropy (core::pose::Pose const &pose) const
 
core::Real SimpleEntropy (core::pose::Pose const &pose) const
 

Private Attributes

std::string method_
 
utility::vector1< core::Sizeligids_
 
core::scoring::ScoreFunctionOP sfxn_
 
core::Real run_apostate_
 
core::Real run_holostate_
 
core::Real P_randomize_
 
core::Real maxpert_
 
bool minimize_
 
core::Size sample_every_iter_
 
core::Real temp_i_
 
core::Real temp_f_
 
core::Size niter_
 
core::Size iter_collect_begin_
 
core::Real wRG_
 
core::Real wtors_
 
bool weighted_
 
utility::vector1< std::pair< int, int > > chimapping_
 
utility::vector1< std::pair< int, int > > ligpose_chimapping_
 
utility::vector1< core::Realchiweights_
 
core::Size jumpid_
 

Detailed Description

Estimates entropy change by ligand binding using short MC simulation.

This class takes a full complex pose and ligand seqpos index to calculate entropy change upon ligand binding. MC simulation perturbs chi angles defined for the ligand at free state, and estimates effective entropy loss by binding by processing torsion probability during simulation assuming that ligand gets completely after binding.

Constructor & Destructor Documentation

◆ EntropyEstimator()

protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::EntropyEstimator ( core::scoring::ScoreFunctionOP  sfxn,
core::pose::Pose const &  pose,
utility::vector1< core::Size > const &  ligids,
std::string  method = "MCEntropy" 
)

◆ ~EntropyEstimator()

protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::~EntropyEstimator ( )
inline

Member Function Documentation

◆ analyze_trajectory()

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::analyze_trajectory ( utility::vector1< ChiInfo > const &  chitrj,
core::pose::Pose const &  pose,
utility::vector1< std::pair< core::Size, core::Size > > const &  chidefs,
core::Real const  Emin,
core::Real const  RT,
bool const  run_on_ligand,
bool const  run_on_receptor 
) const
private

◆ apply()

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::apply ( core::pose::Pose const &  pose) const

◆ chis2rotid()

core::Size protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::chis2rotid ( utility::vector1< core::Real > const &  chis) const
private

Referenced by analyze_trajectory().

◆ estimate_Stors()

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::estimate_Stors ( core::pose::Pose  pose,
utility::vector1< ChiInfo > &  chitrj,
utility::vector1< core::Size > const &  flexscs,
utility::vector1< std::pair< core::Size, core::Size > > const &  chidefs,
bool const  run_on_ligand,
bool const  run_on_receptor 
) const
private

◆ get_chi_weight()

void protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::get_chi_weight ( core::pose::Pose const &  pose_ref)
private

◆ get_contacting_reslist()

utility::vector1< core::Size > protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::get_contacting_reslist ( core::pose::Pose const &  pose,
utility::vector1< std::pair< core::Size, core::Size > > &  chidefs 
) const
private

◆ get_temperature()

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::get_temperature ( core::Size const  it) const
private

References niter_, temp_f_, and temp_i_.

Referenced by estimate_Stors().

◆ MCEntropy()

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::MCEntropy ( core::pose::Pose const &  pose) const
private

◆ perturb()

void protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::perturb ( core::pose::Pose pose,
core::Size const  nligchi,
utility::vector1< core::Size > const &  flexscs,
bool &  pert_ligand 
) const
private

◆ set_niter()

void protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::set_niter ( core::Size  setting)
inline

◆ setup_trj()

utility::vector1< ChiInfo > protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::setup_trj ( core::pose::Pose const &  pose,
utility::vector1< core::Size > &  flexscs,
utility::vector1< std::pair< core::Size, core::Size > > &  chidefs 
) const
private

◆ SimpleEntropy()

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::SimpleEntropy ( core::pose::Pose const &  pose) const
private

◆ update_chis()

void protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::update_chis ( core::pose::Pose const &  pose,
utility::vector1< core::Real > &  chis,
bool const &  ligonly 
) const
private

◆ update_flexscs()

void protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::update_flexscs ( core::pose::Pose const &  pose,
utility::vector1< std::pair< core::Size, core::Size > > const &  chidefs,
std::map< core::Size, utility::vector1< core::Real > > &  chis 
) const
private

perturb receptor sidechains

References core::conformation::Residue::chi(), and core::pose::Pose::residue().

Referenced by estimate_Stors(), and setup_trj().

Member Data Documentation

◆ chimapping_

utility::vector1< std::pair< int, int > > protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::chimapping_
private

◆ chiweights_

utility::vector1< core::Real > protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::chiweights_
private

◆ iter_collect_begin_

core::Size protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::iter_collect_begin_
private

Referenced by estimate_Stors().

◆ jumpid_

core::Size protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::jumpid_
private

Referenced by EntropyEstimator(), and estimate_Stors().

◆ ligids_

utility::vector1< core::Size > protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::ligids_
private

◆ ligpose_chimapping_

utility::vector1< std::pair< int, int > > protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::ligpose_chimapping_
private

◆ maxpert_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::maxpert_
private

Referenced by perturb().

◆ method_

std::string protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::method_
private

Referenced by apply().

◆ minimize_

bool protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::minimize_
private

Referenced by estimate_Stors().

◆ niter_

core::Size protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::niter_
private

◆ P_randomize_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::P_randomize_
private

Referenced by perturb().

◆ run_apostate_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::run_apostate_
private

Referenced by MCEntropy().

◆ run_holostate_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::run_holostate_
private

Referenced by MCEntropy().

◆ sample_every_iter_

core::Size protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::sample_every_iter_
private

Referenced by estimate_Stors().

◆ sfxn_

core::scoring::ScoreFunctionOP protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::sfxn_
private

Referenced by estimate_Stors().

◆ temp_f_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::temp_f_
private

Referenced by get_temperature(), and MCEntropy().

◆ temp_i_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::temp_i_
private

Referenced by get_temperature().

◆ weighted_

bool protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::weighted_
private

Referenced by get_chi_weight().

◆ wRG_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::wRG_
private

Referenced by MCEntropy().

◆ wtors_

core::Real protocols::ligand_docking::ga_ligand_dock::EntropyEstimator::wtors_
private

Referenced by MCEntropy().


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