Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
protocols::kinematic_closure::solution_pickers::FilteredSolutions Class Reference

Apply rama and bump checks to quickly filter out bad solutions. More...

#include <FilteredSolutions.hh>

Inheritance diagram for protocols::kinematic_closure::solution_pickers::FilteredSolutions:
Inheritance graph
[legend]

Public Member Functions

 FilteredSolutions (bool check_rama=true, bool check_overlap=true, bool be_lenient=false)
 Constructor which can enable or disable any of the filters used by this algorithm. More...
 
bool pick_and_apply (Pose &pose, SolutionList const &solutions) override
 Pick a solution from the given list, and if apply it to the given pose. If no solution is satisfactory, don't do anything. More...
 
void check_rama ()
 Enable the rama check. More...
 
void check_overlap ()
 Enable the bump check. More...
 
void be_lenient ()
 Make the bump check more lenient. More...
 
void dont_check_rama ()
 Disable the rama check. More...
 
void dont_check_overlap ()
 Disable the bump check. More...
 
void dont_be_lenient ()
 Make the bump check more lenient. More...
 

Private Attributes

bool check_rama_
 
bool check_overlap_
 
bool be_lenient_
 

Detailed Description

Apply rama and bump checks to quickly filter out bad solutions.

The rama check only considers the pivot torsions, since it is assumed that the non-pivot torsions were set as desired. This check employs a Monte Carlo acceptance step, which means that the pivot torsions will really be sampled from a rama distribution (ignoring the inherent geometric biases in the closure algorithm) when this check is enabled. However, note that the rama distribution will be double-counted if the score function also contains a rama term, which it usually does.

The bump check checks for clashes between the N, CA, C, O, and CB atoms of every residue in the loop versus every other residue in the protein. This filter is O(n^2) and is much slower than the constant time rama check. The rama check is also very selective; it usually filters out more than 90% of proposed solutions. For these reasons, it is important that the rama check be run before the bump check. You can disable the rama check, but this would probably lead to a noticeable drop in performance.

Constructor & Destructor Documentation

protocols::kinematic_closure::solution_pickers::FilteredSolutions::FilteredSolutions ( bool  check_rama = true,
bool  check_overlap = true,
bool  be_lenient = false 
)

Constructor which can enable or disable any of the filters used by this algorithm.

References core::optimization::symmetry::check_rama.

Member Function Documentation

void protocols::kinematic_closure::solution_pickers::FilteredSolutions::be_lenient ( )
inline

Make the bump check more lenient.

References be_lenient_.

void protocols::kinematic_closure::solution_pickers::FilteredSolutions::check_overlap ( )
inline

Enable the bump check.

References check_overlap_.

void protocols::kinematic_closure::solution_pickers::FilteredSolutions::check_rama ( )
inline

Enable the rama check.

References check_rama_.

void protocols::kinematic_closure::solution_pickers::FilteredSolutions::dont_be_lenient ( )
inline

Make the bump check more lenient.

References be_lenient_.

void protocols::kinematic_closure::solution_pickers::FilteredSolutions::dont_check_overlap ( )
inline

Disable the bump check.

References check_overlap_.

void protocols::kinematic_closure::solution_pickers::FilteredSolutions::dont_check_rama ( )
inline

Disable the rama check.

References check_rama_.

bool protocols::kinematic_closure::solution_pickers::FilteredSolutions::pick_and_apply ( Pose pose,
SolutionList const &  solutions 
)
overridevirtual

Pick a solution from the given list, and if apply it to the given pose. If no solution is satisfactory, don't do anything.

Implements protocols::kinematic_closure::solution_pickers::SolutionPicker.

References core::scoring::rg.

Member Data Documentation

bool protocols::kinematic_closure::solution_pickers::FilteredSolutions::be_lenient_
private

Referenced by be_lenient(), and dont_be_lenient().

bool protocols::kinematic_closure::solution_pickers::FilteredSolutions::check_overlap_
private
bool protocols::kinematic_closure::solution_pickers::FilteredSolutions::check_rama_
private

Referenced by check_rama(), and dont_check_rama().


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