Rosetta
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
protocols::fldsgn::filters::SecondaryStructureFilter Class Reference

#include <SecondaryStructureFilter.hh>

Inheritance diagram for protocols::fldsgn::filters::SecondaryStructureFilter:
Inheritance graph
[legend]

Public Types

typedef protocols::filters::Filter Super
 
typedef protocols::filters::Filter Filter
 
typedef std::string String
 
typedef protocols::filters::FilterOP FilterOP
 
typedef core::pose::Pose Pose
 
typedef utility::tag::TagCOP TagCOP
 
typedef basic::datacache::DataMap DataMap
 

Public Member Functions

 SecondaryStructureFilter ()
 
 SecondaryStructureFilter (String const &ss)
 
 ~SecondaryStructureFilter () override
 
FilterOP clone () const override
 
FilterOP fresh_instance () const override
 
void filtered_ss (String const &s)
 
void filtered_abego (String const &s)
 
void set_use_dssp (bool const use_ss)
 Should we use the secstruct in the pose (false), or compute via dssp (true)? default=false for historical reasons. More...
 
void set_strand_pairings (String const &s)
 Sets sheet topology string. More...
 
void set_blueprint (std::string const &blueprint_file)
 sets the blueprint file based on filename. If a strand pairing is impossible (i.e. the structure has two strands, 5 and 6 residues, respectively, it sets the unpaired residues to 'h' so that they still match. More...
 
void set_residue_selector (core::select::residue_selector::ResidueSelector const &selector)
 sets the residue selector used to choose which residues to scan. Default is all protein residues More...
 
void parse_my_tag (TagCOP tag, basic::datacache::DataMap &) override
 parse xml More...
 
bool apply (Pose const &pose) const override
 Returns true if the given pose passes the filter, false otherwise. More...
 
core::Real report_sm (Pose const &pose) const override
 used to report filter internals through a score or silent file More...
 
std::string name () const override
 
- Public Member Functions inherited from protocols::filters::Filter
 Filter ()
 
 Filter (std::string const &)
 
 ~Filter () override
 
virtual void report (std::ostream &, core::pose::Pose const &) const
 
virtual std::string get_type () const
 
std::string get_user_defined_name () const
 
void set_user_defined_name (std::string const &name)
 
virtual void clear ()
 used to clear internal variables if needed. Using fresh_instance is preferred since it's a pure virtual More...
 
virtual core::Real score (core::pose::Pose &pose)
 
virtual void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...
 

Static Public Member Functions

static std::string class_name ()
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 

Protected Member Functions

std::string get_filtered_secstruct (core::pose::Pose const &pose) const
 Returns the desired secondary structure. More...
 
std::string get_strand_pairings (core::pose::Pose const &pose) const
 returns the strand pairing string to be used in computation More...
 
void correct_for_incomplete_strand_pairings (core::pose::Pose const &pose, std::string &secstruct) const
 If a strand pairing is impossible (i.e. the structure has two strands, 5 and 6 residues, respectively, it sets the unpaired residues to 'h' so that they still match. More...
 
core::Size compute (Pose const &pose, core::select::residue_selector::ResidueSubset const &subset) const
 returns the number of residues in the protein that have matching secondary structure More...
 

Private Attributes

core::select::residue_selector::ResidueSelectorCOP selector_
 
String filtered_ss_
 
utility::vector1< Stringfiltered_abego_
 
String strand_pairings_
 
bool use_abego_
 
bool use_dssp_
 
core::Real threshold_
 
bool treat_L_as_D_
 

Additional Inherited Members

- Protected Attributes inherited from protocols::filters::Filter
std::string scorename_
 

Member Typedef Documentation

◆ DataMap

◆ Filter

◆ FilterOP

◆ Pose

◆ String

◆ Super

◆ TagCOP

Constructor & Destructor Documentation

◆ SecondaryStructureFilter() [1/2]

protocols::fldsgn::filters::SecondaryStructureFilter::SecondaryStructureFilter ( )

◆ SecondaryStructureFilter() [2/2]

protocols::fldsgn::filters::SecondaryStructureFilter::SecondaryStructureFilter ( String const &  ss)

◆ ~SecondaryStructureFilter()

protocols::fldsgn::filters::SecondaryStructureFilter::~SecondaryStructureFilter ( )
inlineoverride

Member Function Documentation

◆ apply()

bool protocols::fldsgn::filters::SecondaryStructureFilter::apply ( Pose const &  pose) const
overridevirtual

Returns true if the given pose passes the filter, false otherwise.

Implements protocols::filters::Filter.

References report_sm(), protocols::filters::Filter::score(), threshold_, and tr().

◆ class_name()

std::string protocols::fldsgn::filters::SecondaryStructureFilter::class_name ( )
static

◆ clone()

FilterOP protocols::fldsgn::filters::SecondaryStructureFilter::clone ( ) const
inlineoverridevirtual

◆ compute()

core::Size protocols::fldsgn::filters::SecondaryStructureFilter::compute ( Pose const &  pose,
core::select::residue_selector::ResidueSubset const &  subset 
) const
protected

returns the number of residues in the protein that have matching secondary structure

Parameters
[in]posePose to be analyzed
[in]subsetSubset of the pose to be analyzed. Only residues that are true in the subset will be included in the computation.
Returns
Number of protein residues in the residue subset that match the desired secondary structure WARNING: ignores abegos for now, since abegomanager only returns a bool The filter score will report only secondary structures, but if you specify abego, the 'apply' function will return false if abegos don't match

If impossible strand pairings exist (i.e a two-strand pose where one strand has 6 residues and the other has 5), either 'E' or 'L' will be allowed at the unpaired position

Parameters
[in]posePose to be analyzed
[in]subsetSubset of the pose to be analyzed. Only residues that are true in the subset will be included in the computation. WARNING: ignores abegos for now, since abegomanager only returns a bool The filter score will report only secondary structures, but if you specify abego, the 'apply' function will return false if abegos don't match

If impossible strand pairings exist (i.e a two-strand pose where one strand has 6 residues and the other has 5), either 'E' or 'L' will be allowed at the unpaired position

References core::scoring::abego, core::sequence::ABEGOManager::check_rama(), correct_for_incomplete_strand_pairings(), protocols::simple_filters::dssp(), filtered_abego_, core::sequence::ABEGOManager::get_abego_string(), get_filtered_secstruct(), core::conformation::Residue::is_protein(), core::pose::Pose::omega(), core::pose::Pose::phi(), core::pose::Pose::psi(), core::pose::Pose::residue(), core::pose::Pose::secstruct(), core::pose::Pose::size(), tr(), treat_L_as_D_, use_abego_, and use_dssp_.

Referenced by report_sm().

◆ correct_for_incomplete_strand_pairings()

void protocols::fldsgn::filters::SecondaryStructureFilter::correct_for_incomplete_strand_pairings ( core::pose::Pose const &  pose,
std::string &  secstruct 
) const
protected

If a strand pairing is impossible (i.e. the structure has two strands, 5 and 6 residues, respectively, it sets the unpaired residues to 'h' so that they still match.

Parameters
[in]poseInput pose to be tested.
[in/out]secstruct Desired secondary structure. It will be modified in-place
[in]strand_pairingsStrand pairings to be used for modification

If strand_pairings_ is user-specified, the specific residue pairings will be computed based on it. If strand_pairings_ is empty, residue pairings will be taken from the cached StructureData in the pose, if present. If strand_pairings is empty and no cached StructureData was found, this will do nothing. Any unpaired residues found in the sheet topology with 'E' secondary structure will be changed to 'h' (to allow either loop or strand)

Parameters
[in]poseInput pose to be tested.
[in/out]secstruct Desired secondary structure. It will be modified in-place
[in]strand_pairingsStrand pairings to be used for modification

If strand_pairings is user-specified, the specific residue pairings will be computed based on it. If strand_pairings is empty, residue pairings will be taken from the cached StructureData in the pose, if present. If strand_pairings_ is empty and no cached StructureData was found, this will do nothing. Any unpaired residues found in the sheet topology with 'E' secondary structure will be changed to 'h' (to allow either loop or strand)

References protocols::denovo_design::residue_selectors::PairedSheetResidueSelector::set_secstruct(), core::pose::Pose::size(), strand_pairings_, and tr().

Referenced by compute().

◆ filtered_abego()

void protocols::fldsgn::filters::SecondaryStructureFilter::filtered_abego ( String const &  s)

References filtered_abego_, and use_abego_.

◆ filtered_ss()

void protocols::fldsgn::filters::SecondaryStructureFilter::filtered_ss ( String const &  s)

References filtered_ss_.

◆ fresh_instance()

FilterOP protocols::fldsgn::filters::SecondaryStructureFilter::fresh_instance ( ) const
inlineoverridevirtual

◆ get_filtered_secstruct()

std::string protocols::fldsgn::filters::SecondaryStructureFilter::get_filtered_secstruct ( core::pose::Pose const &  pose) const
protected

Returns the desired secondary structure.

Rules for selecting this seconary structure:

  1. If a user-specified filtered_ss_ is set, return that
  2. If StructureData is cached in the pose, use the secondary structure of that
  3. Use pose secondary structure, throwing and error if use_dssp is false

References filtered_ss_, protocols::denovo_design::components::StructureDataFactory::get_from_const_pose(), protocols::denovo_design::components::StructureDataFactory::has_cached_data(), core::pose::Pose::secstruct(), protocols::denovo_design::components::StructureData::ss(), tr(), and use_dssp_.

Referenced by compute().

◆ get_strand_pairings()

std::string protocols::fldsgn::filters::SecondaryStructureFilter::get_strand_pairings ( core::pose::Pose const &  pose) const
protected

returns the strand pairing string to be used in computation

Parameters
[in]posePose to be analyzed

If strand_pairings_ is non-empty, it will be returned Otherwise, the strand pairings will be computed from the Pose's StructureData If StructureData is not present and strand_pairings_ are not specified, quit

◆ name()

std::string protocols::fldsgn::filters::SecondaryStructureFilter::name ( ) const
overridevirtual

Reimplemented from protocols::filters::Filter.

References class_name().

◆ parse_my_tag()

void protocols::fldsgn::filters::SecondaryStructureFilter::parse_my_tag ( TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

◆ provide_xml_schema()

void protocols::fldsgn::filters::SecondaryStructureFilter::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

◆ report_sm()

core::Real protocols::fldsgn::filters::SecondaryStructureFilter::report_sm ( Pose const &  ) const
overridevirtual

used to report filter internals through a score or silent file

Reimplemented from protocols::filters::Filter.

References compute(), core::conformation::Residue::is_protein(), core::pose::Pose::residue(), selector_, and core::pose::Pose::size().

Referenced by apply().

◆ set_blueprint()

void protocols::fldsgn::filters::SecondaryStructureFilter::set_blueprint ( std::string const &  blueprint_file)

sets the blueprint file based on filename. If a strand pairing is impossible (i.e. the structure has two strands, 5 and 6 residues, respectively, it sets the unpaired residues to 'h' so that they still match.

Sets the filtered_ss, filtered_abego, and strand_pairings from the blueprint file given.

References filtered_abego_, filtered_ss_, and strand_pairings_.

Referenced by parse_my_tag().

◆ set_residue_selector()

void protocols::fldsgn::filters::SecondaryStructureFilter::set_residue_selector ( core::select::residue_selector::ResidueSelector const &  selector)

sets the residue selector used to choose which residues to scan. Default is all protein residues

References core::select::residue_selector::ResidueSelector::clone(), and selector_.

Referenced by parse_my_tag().

◆ set_strand_pairings()

void protocols::fldsgn::filters::SecondaryStructureFilter::set_strand_pairings ( String const &  s)

Sets sheet topology string.

References strand_pairings_.

◆ set_use_dssp()

void protocols::fldsgn::filters::SecondaryStructureFilter::set_use_dssp ( bool const  use_ss)

Should we use the secstruct in the pose (false), or compute via dssp (true)? default=false for historical reasons.

References use_dssp_.

Referenced by parse_my_tag().

Member Data Documentation

◆ filtered_abego_

utility::vector1< String > protocols::fldsgn::filters::SecondaryStructureFilter::filtered_abego_
private

◆ filtered_ss_

String protocols::fldsgn::filters::SecondaryStructureFilter::filtered_ss_
private

◆ selector_

core::select::residue_selector::ResidueSelectorCOP protocols::fldsgn::filters::SecondaryStructureFilter::selector_
private

Referenced by report_sm(), and set_residue_selector().

◆ strand_pairings_

String protocols::fldsgn::filters::SecondaryStructureFilter::strand_pairings_
private

◆ threshold_

core::Real protocols::fldsgn::filters::SecondaryStructureFilter::threshold_
private

Referenced by apply(), and parse_my_tag().

◆ treat_L_as_D_

bool protocols::fldsgn::filters::SecondaryStructureFilter::treat_L_as_D_
private

Referenced by compute(), and parse_my_tag().

◆ use_abego_

bool protocols::fldsgn::filters::SecondaryStructureFilter::use_abego_
private

◆ use_dssp_

bool protocols::fldsgn::filters::SecondaryStructureFilter::use_dssp_
private

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