Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::scoring::carbohydrates::CHIEnergyFunction Class Reference

#include <CHIEnergyFunction.hh>

Inheritance diagram for core::scoring::carbohydrates::CHIEnergyFunction:
Inheritance graph
[legend]

Public Member Functions

 CHIEnergyFunction ()
 Default constructor. More...
 
 ~CHIEnergyFunction () override
 
Energy operator() (CHIEnergyFunctionLinkageType type, Angle x) const
 
Real evaluate_derivative (CHIEnergyFunctionLinkageType type, Angle x) const
 
CHIDihedralSamplingData const & get_sampling_data (CHIEnergyFunctionLinkageType type) const
 
bool sampling_data_setup () const
 
bool sampling_data_setup (CHIEnergyFunctionLinkageType linkage_type) const
 

Private Member Functions

Energy evaluate_term (CHIEnergyFunctionLinkageType type, uint i, Angle x) const
 
Energy evaluate_function (CHIEnergyFunctionLinkageType type, Angle x) const
 
void setup_for_sampling ()
 Set up CHI sampling data if not already setup. More...
 
void init ()
 

Private Attributes

utility::vector1
< utility::vector1< Real > > 
a_
 
utility::vector1
< utility::vector1< Real > > 
b_
 
utility::vector1
< utility::vector1< Real > > 
c_
 
utility::vector1< Reald_
 
std::map
< CHIEnergyFunctionLinkageType,
CHIDihedralSamplingData
dihedral_sampling_data_
 

Detailed Description

This is an implementation of the "CarboHydrate Intrinsic" (CHI) energy function developed by Woods Lab.
The Gaussian parameters for the function depend on whether the glycosidic bond in question is a phi or psi angle.
The parameters further depend on if the phi angles are at alpha or beta linkages and on if the psi angles are at ->2-axial, ->3-equatorial, or ->4-axial OR ->2-equatorial, ->3-axial, or ->4-equatorial linkages. If at exocyclic linkages, psi instead depends on whether the linkage is alpha or beta.
Functions for omega angles and (2->3) and (2->6) linkages (found in ketoses) could not be developed with QM, so knowledge-based functions were created instead. A.K. Nivedha et al. J. Comput. Chem. 2014, 35, 526-39 A.K. Nivedha et al. JCTC 2016, 12, 892-901

Constructor & Destructor Documentation

core::scoring::carbohydrates::CHIEnergyFunction::CHIEnergyFunction ( )

Default constructor.

This class is only intended to be instantiated by the ScoringManager.

References init().

core::scoring::carbohydrates::CHIEnergyFunction::~CHIEnergyFunction ( )
overridedefault

Member Function Documentation

Real core::scoring::carbohydrates::CHIEnergyFunction::evaluate_derivative ( CHIEnergyFunctionLinkageType  type,
core::Angle  x 
) const

E'(x) = Sum of -2((x-b)/c)[ae^-((x-b)^2/c)], where the parameters for a, b, and c depend on the linkage type.

Parameters
<x>an angle, in degrees:
phi (between -180 and 180), if type is ALPHA_LINKS or BETA_LINKS;
psi (between 0 and 360), if type is _2AX_3EQ_4AX_LINKS, _2EQ_3AX_4EQ_LINKS, ALPHA_1_6_LINKS, or BETA_1_6_LINKS A.K. Nivedha et al. J. Comput. Chem. 2014, 35, 526-39 A.K. Nivedha et al. JCTC 2016, 12, 892-901

References a_, b_, c_, evaluate_term(), core::scoring::carbohydrates::LINKAGE_NA, and core::chemical::element::N.

Referenced by core::scoring::methods::carbohydrates::SugarBackboneEnergy::eval_residue_dof_derivative().

Energy core::scoring::carbohydrates::CHIEnergyFunction::evaluate_function ( CHIEnergyFunctionLinkageType  type,
core::Angle  x 
) const
private
Energy core::scoring::carbohydrates::CHIEnergyFunction::evaluate_term ( CHIEnergyFunctionLinkageType  type,
uint  i,
core::Angle  x 
) const
private
CHIDihedralSamplingData const & core::scoring::carbohydrates::CHIEnergyFunction::get_sampling_data ( CHIEnergyFunctionLinkageType  linkage_type) const
void core::scoring::carbohydrates::CHIEnergyFunction::init ( void  )
private
Energy core::scoring::carbohydrates::CHIEnergyFunction::operator() ( CHIEnergyFunctionLinkageType  type,
core::Angle  x 
) const

E(x) = d + Sum of ae^-((x-b)^2/c), where the parameters for a, b, c, and d depend on the linkage type.

Parameters
<x>an angle, in degrees:
phi (between -180 and 180), if type is ALPHA_LINKS or BETA_LINKS;
psi (between 0 and 360), if type is _2AX_3EQ_4AX_LINKS, _2EQ_3AX_4EQ_LINKS, ALPHA_1_6_LINKS, or BETA_1_6_LINKS A.K. Nivedha et al. J. Comput. Chem. 2014, 35, 526-39 A.K. Nivedha et al. JCTC 2016, 12, 892-901

References evaluate_function().

bool core::scoring::carbohydrates::CHIEnergyFunction::sampling_data_setup ( ) const
Author
Jared Adolf-Bryfogle (jadol.nosp@m.fbr@.nosp@m.gmail.nosp@m..com)

References dihedral_sampling_data_.

Referenced by setup_for_sampling().

bool core::scoring::carbohydrates::CHIEnergyFunction::sampling_data_setup ( CHIEnergyFunctionLinkageType  linkage_type) const
Author
Jared Adolf-Bryfogle (jadol.nosp@m.fbr@.nosp@m.gmail.nosp@m..com)

References dihedral_sampling_data_.

void core::scoring::carbohydrates::CHIEnergyFunction::setup_for_sampling ( )
private

Member Data Documentation

utility::vector1< utility::vector1 < Real > > core::scoring::carbohydrates::CHIEnergyFunction::a_
private
utility::vector1< utility::vector1 < Real > > core::scoring::carbohydrates::CHIEnergyFunction::b_
private
utility::vector1< utility::vector1 < Real > > core::scoring::carbohydrates::CHIEnergyFunction::c_
private
utility::vector1< Real > core::scoring::carbohydrates::CHIEnergyFunction::d_
private

Referenced by evaluate_function(), and init().

std::map< CHIEnergyFunctionLinkageType, CHIDihedralSamplingData > core::scoring::carbohydrates::CHIEnergyFunction::dihedral_sampling_data_
private

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