Rosetta
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::hbnet::HBNet Class Reference

#include <HBNet.hh>

Inheritance diagram for protocols::hbnet::HBNet:
Inheritance graph
[legend]

Public Member Functions

 HBNet ()
 
 HBNet (std::string const name)
 
 HBNet (core::scoring::ScoreFunctionCOP scorefxn, core::Size max_unsat, core::Size min_network_size=3, core::Real hb_threshold=-0.75, core::Size max_network_size=15, std::string des_residues="STRKHYWNQDE", bool find_native=false, bool only_native=false, bool keep_existing=false, bool extend_existing=false, bool only_extend=false)
 
 ~HBNet () override
 
moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
 
moves::MoverOP fresh_instance () const override
 Generates a new Mover object freshly created with the default ctor. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &) override
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
 
void apply (core::pose::Pose &pose) override
 Main Method. More...
 
virtual void setup_packer_task_and_starting_residues (core::pose::Pose const &pose)
 
virtual void trim_additional_rotamers (core::pose::Pose &)
 
virtual void search_IG_for_networks (core::pose::Pose &pose)
 
virtual void prepare_output ()
 
virtual bool network_meets_initial_criteria (HBondNetStruct const &)
 initial criteria for screening that just reuqires HBondNetStruct (no scoring or placement of rotamers on the pose) More...
 
virtual bool network_meets_final_criteria (core::pose::Pose const &, HBondNetStruct &)
 final criteria that reuqires network rotamers placed on pose More...
 
virtual bool state_is_starting_aa_type (core::Size const, core::Size const)
 
virtual bool pair_meets_starting_criteria (core::Size const, core::Size const, core::Size const, core::Size const)
 
core::Real upweight_starting_twobody_energy ()
 
virtual core::Real scale_twobody_energy (core::Real input_twobody_energy, char, char)
 
virtual std::string print_additional_info_for_net (HBondNetStruct &, core::pose::Pose const &)
 
virtual std::string print_additional_headers ()
 
virtual core::Size ligand ()
 
bool symmetric () const
 
void symmetric (bool const is_symmetric_pose)
 
core::conformation::symmetry::SymmetryInfoCOP get_symm_info () const
 
void set_symm_info (core::conformation::symmetry::SymmetryInfoCOP const &symminfo)
 
bool multi_component () const
 
void multi_component (bool const multi_component)
 
bool verbose () const
 
void verbose (bool const set_verbose)
 
bool pdb_numbering () const
 
void pdb_numbering (bool const pdb_numbering)
 
std::set< core::Sizeget_start_res_vec ()
 
void add_start_res (core::Size res)
 
void set_start_res_vec (std::set< core::Size > const start_resnums)
 
void set_start_resnums (std::set< core::Size > const start_resnums)
 
core::pack::task::PackerTaskOP get_task () const
 
void set_task (core::pack::task::PackerTaskOP const &task)
 
void task_factory (core::pack::task::TaskFactoryOP const &task_factory)
 
core::pack::task::TaskFactoryOP task_factory () const
 
void set_core_residues (core::select::residue_selector::ResidueSubset core_residues)
 
core::select::residue_selector::ResidueSubset get_core_residues ()
 
core::select::residue_selector::ResidueSelectorOP get_core_selector ()
 
void set_boundary_residues (core::select::residue_selector::ResidueSubset boundary_residues)
 
core::select::residue_selector::ResidueSubset get_boundary_residues ()
 
core::select::residue_selector::ResidueSelectorOP get_boundary_selector ()
 
void update_core_and_boundary_residues (core::pose::Pose const &pose)
 
void set_upweight_starting_twobody (core::Real upweight_factor)
 
std::vector< HBondNetStructOP > & get_net_vec ()
 return all hbond networks, sorted with best networks at the front, THIS SHOULD RETURN A POINTER (OP) More...
 
std::vector< HBondNetStructOP > & get_native_vec ()
 
std::vector< std::set< core::Size > > & get_output_vector ()
 
HBondNetStructOP get_network_by_id (core::Size id)
 
core::pose::Pose const & get_orig_pose ()
 
void set_orig_pose (core::pose::Pose &pose)
 
core::pose::Pose const & get_ala_pose ()
 
void set_ala_pose (core::pose::Pose &pose)
 
char get_aa_for_state (core::Size const res, core::Size const rot) const
 
bool res_is_boundary (core::Size const res) const
 
bool res_is_core (core::Size const res) const
 
void set_min_networks_size (core::Size min)
 
void set_max_networks_size (core::Size max)
 
void set_max_unsat (core::Size max)
 
core::Size get_min_networks_size ()
 
core::Size get_max_networks_size ()
 
core::Size get_max_unsat ()
 
void set_find_native (bool native)
 
bool find_native ()
 
void set_find_only_native (bool only)
 
bool only_native ()
 
void set_keep_existing_networks (bool keep_existing_networks)
 
bool get_keep_existing_networks ()
 
void set_extend_existing_networks (bool extend_existing_networks)
 
bool get_extend_existing_networks ()
 
void set_only_extend_existing (bool only_extend_existing)
 
bool get_only_extend_existing ()
 
utility::graph::GraphOP get_packer_graph ()
 
core::Size num_core_res (HBondNetStruct const &network)
 
core::Size num_boundary_res (HBondNetStruct const &network)
 
void select_best_networks ()
 
std::vector< HBondNetStructOPget_networks ()
 
void set_score_function (core::scoring::ScoreFunctionCOP const &sf)
 
bool net_clash (HBondNetStruct const &i, HBondNetStruct const &j)
 checks if two h-bond networks clash; returns true if they do clash More...
 
void set_symmetry (core::pose::Pose &pose)
 
core::Size get_ind_res (core::pose::Pose const &pose, core::Size const res_i)
 
bool quick_and_dirty_network_has_heavy_atom_unsat (core::pose::Pose const &pose, HBondNetStruct const &network)
 
bool quick_and_dirty_heavy_atom_is_unsat (core::pose::Pose const &pose, core::id::AtomID const at_id)
 
bool atom_hbonds_to_bridging_water (core::pose::Pose const &pose, core::id::AtomID const at_id)
 
void find_unsats (core::pose::Pose const &pose, HBondNetStruct &i)
 
utility::vector1< core::Sizeplace_rots_on_pose (core::pose::Pose &pose, HBondNetStruct &residues, bool use_pose=false)
 places the rotamers of the provided h-bond network onto the provided pose More...
 
core::Size get_num_native_rot (core::pose::Pose &pose, utility::vector1< HBondResStructCOP > const &residues, core::Real sc_rmsd_cut=0.25, bool super=true)
 return the number of rotamers in a network that are identical in seq or rot to the original input pose: More...
 
core::Size get_num_native_seq (core::pose::Pose &pose, utility::vector1< HBondResStructCOP > const &residues)
 
bool water_clashes (core::pose::Pose const &pose, core::Vector const water_O)
 
bool water_oxygen_clashes_with_residue (core::Vector const water_oxygen, core::Size const resnum, int const rot_state)
 
bool water_oxygen_clashes_with_residue (core::Vector const water_oxygen, core::conformation::Residue const &res)
 
core::pose::PoseOP get_additional_output () override
 used by the job distributor and MultiplePoseMover (MPM) to return poses OTF as requested (without need to store in memory) More...
 
std::string get_file_name (core::Size id, std::string prefix, std::string extension)
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
void provide_citation_info (basic::citation_manager::CitationCollectionList &) const override
 Provide the citation. More...
 
void set_monte_carlo_branch (bool setting)
 turn on or off the monte carlo branching protocol More...
 
void set_total_num_mc_runs (core::Size setting)
 set number of monte carlo runs to be divided over all the seed hbonds. A single monte carlo run appears to take roughly 1 ms (very loose estimate). More...
 
void set_monte_carlo_seed_threshold (core::Real setting)
 Maybe you only want to branch from strong hbonds. If this value is -1.2, then only hbonds with a strength of -1.2 or lower will be branched from. More...
 
void set_monte_carlo_seed_must_be_buried (bool setting)
 Only branch from hbonds where at least one residue is buried. Effectively, this results in only finding networks that have at least one buried residue. More...
 
void set_monte_carlo_seed_must_be_fully_buried (bool setting)
 Only branch from hbonds where both residues are buried. This results in only finding networks that have at least one buried hbond but this does not prevent having additional exposed hbonds. More...
 
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
 
virtual MoverOP create ()
 
MoverCOP get_self_ptr () const
 
MoverOP get_self_ptr ()
 
MoverCAP get_self_weak_ptr () const
 
MoverAP get_self_weak_ptr ()
 
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
 
virtual void test_move (Pose &pose)
 : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More...
 
virtual bool reinitialize_for_each_job () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. More...
 
virtual bool reinitialize_for_new_input () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More...
 
MoverStatus get_last_move_status () const
 end parser interface, start Job Distributor interface///////////// More...
 
void reset_status ()
 resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More...
 
void set_type (std::string const &setting)
 Set the 'type' string. More...
 
std::string get_type () const
 
void type (const std::string &type_in)
 Set the 'type' string. More...
 
std::string const & type () const
 Get the set 'type' string. More...
 
virtual void set_input_pose (PoseCOP pose)
 setter for poses contained for rms More...
 
virtual void set_native_pose (PoseCOP pose)
 setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More...
 
PoseCOP get_input_pose () const
 
PoseCOP get_native_pose () const
 
void set_current_job (protocols::jobdist::BasicJobCOP job)
 
jobdist::BasicJobCOP get_current_job () const
 
virtual void set_current_tag (std::string const &new_tag)
 
std::string get_current_tag () const
 A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More...
 
virtual void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. More...
 
virtual core::Real last_proposal_density_ratio ()
 
virtual void clear_info ()
 Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More...
 
virtual Stringsinfo ()
 non-const accessor More...
 
virtual Strings const & info () const
 const accessor More...
 

Static Public Member Functions

static std::string mover_name ()
 
static void attributes_for_hbnet (utility::tag::AttributeList &)
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 
- Static Public Member Functions inherited from protocols::moves::Mover
static std::string name ()
 
static void register_options ()
 Overload this static method if you access options within the mover. More...
 

Protected Member Functions

void setup (core::pose::Pose const &pose)
 sets up rotamer_sets and makes preparations for populating the IG based on task_ops More...
 
void get_native_networks (core::pose::Pose const &pose)
 
void run (core::pose::Pose &pose)
 run common steps universal to all HBNet, e.g. finalize rotamer sets and scoring then populate and search IG for networks. More...
 
void trim_rotamers (core::pose::Pose &pose)
 remove unwanted rotamers from rotamer_sets_ before IG is populated and searched. calls virtual trim_additional_rotamers() that can be overriden by specialized HBNet classes to remove additional rotmaers More...
 
void traverse_native (core::pose::Pose const &pose, core::Real const hb_threshold)
 Do a recursive traversal of an EnergyGraph of a static pose; will find and store all native h-bond networks, regardless of score/parameters. More...
 
void rec_trav_native (core::pose::Pose const &pose, core::Size new_res, core::Size prev_res, utility::vector1< HBondResStructCOP > residues, core::Real const hb_threshold)
 
void traverse_IG (core::Real const hb_threshold)
 Recursively traverse the Interaction Graph ig_, and find all possible h-bond networks, given the parameters that have been set. More...
 
void recursive_traverse (int const new_node_ind, int const newstate, core::Size const newres, core::Size const prevres, utility::vector1< HBondResStructCOP > residues, core::Size network_rec_count, core::Real init_sc, core::Real const hb_threshold, bool const second_search=false)
 
void MC_traverse_IG ()
 A monte carlo alternative to traverse_IG() and recursive_traverse(). Basically just populates hbond_graph_. More...
 
bool network_already_stored (utility::vector1< HBondResStructCOP > &residues, utility::vector1< HBondResStructCOP > &i_residues)
 @breif for efficiency, makes sure that an equivalent network has not already been stored More...
 
void store_network (utility::vector1< HBondResStructCOP > residues, core::Real init_score=0.0, bool term_w_start=false, bool term_w_cycle=false, bool score_now=false, bool native=false)
 
void score_network_on_pose (core::pose::Pose &pose, HBondNetStruct &i)
 void score_networks( bool minimize=false); More...
 
void minimize_network (core::pose::Pose &pose, HBondNetStruct &network, bool residues_already_placed=true)
 
bool check_clash (utility::vector1< HBondResStructCOP > const &residues, platform::uint my_node_ind, core::Size mystate, core::Size myres, core::Real &init_score, bool &cycle)
 check if a residue clashes with other reisdues in the network before adding it to the h-bond network. true = clashes More...
 
bool net_clash (utility::vector1< HBondResStructCOP > const &residues_i, utility::vector1< HBondResStructCOP > const &residues_j)
 used by net_clash( HBondNetStruct & i, HBondNetStruct & j ), should not be called externally! More...
 
bool monte_carlo_net_clash (utility::vector1< HBondResStructCOP > const &residues_i, utility::vector1< HBondResStructCOP > const &residues_j) const
 monte carlo protocol needs to use a different net_clash call because its IG is not populated More...
 
void branch_overlapping_networks ()
 This function finds all networks that share a common rotamer, and then for ones that do not clash, branches them together in all possible combination to find all possible networks. More...
 
void rec_set_intersection (std::vector< core::Size > add_index_vec, std::vector< core::Size > next_index_list, core::Size pos)
 used by branch_overlapping() to efficiently search for all combinations of compatible networks that can be merged More...
 
void MC_branch_overlapping_networks ()
 monte carlo alternative to branch_overlapping_networks(). Requires MC_traverse_IG() to be called ahead of time. Theoretically O( total_num_mc_runs_ ) More...
 
void merge_2_branched_networks (HBondNetStruct const &i, HBondNetStruct const &j, HBondNetStructOP new_network)
 Merges 2 networks (i,j) into a single h-bond network, new_network. More...
 
void merge_2_branched_networks (utility::vector1< HBondResStructCOP > const &residues1, utility::vector1< HBondResStructCOP > const &residues2, utility::vector1< HBondResStructCOP > &new_residues)
 
bool networks_unique (HBondNetStruct const &i, HBondNetStruct const &j, bool no_surface=true)
 
bool networks_identical_aa_sequence (HBondNetStruct const &i, HBondNetStruct const &j)
 
bool residues_identical (utility::vector1< HBondResStructCOP > &residues1, utility::vector1< HBondResStructCOP > &residues2)
 
bool residues_not_unique (utility::vector1< HBondResStructCOP > &residues1, utility::vector1< HBondResStructCOP > &residues2)
 
bool is_sub_residues (utility::vector1< HBondResStructCOP > &residues1, utility::vector1< HBondResStructCOP > &residues2)
 Returns true if a network is a subset of another; it's symmetric, i.e. returns true if i is subset of j, or if j is a subset of i. More...
 
bool is_sub_residues (utility::vector1< HBondResStructCOP > &residues1, utility::vector1< HBondResStructCOP > &residues2, bool &branch, bool true_if_identical=true)
 
void remove_replicate_networks (core::Size same_max=1)
 Sorts all networks by score, removes replicate networks and networks > upper_score_limit; also removes subnetworks if store_subnetworks=false. More...
 
void output_networks (bool finalize=false)
 Writes h-bond networks out to TR, and stores them in output_net_vec_ if finalize=true so they can be returned by get_additional_output(). More...
 
core::pack::task::PackerTaskOP create_ptask (core::pose::Pose const &pose, bool initialize_from_commandline=false)
 
bool task_is_valid (core::pose::Pose const &pose) const
 
bool store_network_scores_in_pose () const
 
void store_network_scores_in_pose (bool setting)
 
void write_network_pdb (HBondNetStructOP &p)
 
void set_constraints (core::pose::Pose &pose, core::scoring::constraints::ConstraintSet &constraints, HBondNetStruct &p, bool write_cst_file=false)
 
core::Size chain_for_resid (core::Size resid) const
 
core::Size chain_for_moltenres (core::Size mres) const
 
void set_monte_carlo_data_to_default ()
 
void initialize_hbond_graph ()
 This transfers rotamer sets data to hbond_graph_. Need to call this before traversing the IG. More...
 
void register_clash (core::Size rotamerA, core::Size rotamerB)
 
virtual bool edge_can_yield_monte_carlo_seed (core::Size resid1, core::Size resid2) const
 The edge_can_yield_monte_carlo_seed() methods determine if a hydrogen bond can be used as a seed for monte carlo branching. Examples of when this might fail include when the hbond does not cross the interface (for HBNetStapleInterface) or when the hbond is not buried to the level of the user's specifications. More...
 
virtual bool edge_can_yield_monte_carlo_seed (core::pack::interaction_graph::EdgeBase const *) const
 
core::scoring::hbonds::graph::HBondNodeget_next_node (NetworkState &current_state)
 get_next_node() randomly decides how the current_state will grow during the monte carlo branching protocol More...
 
bool monte_carlo_seed_is_dead_end (core::scoring::hbonds::graph::HBondEdge const *monte_carlo_seed)
 returns true if this hbond can not create a network More...
 
void append_to_network_vector (utility::vector1< DecoratedNetworkState > const &designed_networks)
 called at the end of the monte carlo branching protocol. Adds all of the monte carlo networks to the data elements used by the traditional HBNet protocol More...
 
void add_residue_to_network_state (NetworkState &current_state, core::scoring::hbonds::graph::HBondNode *node_being_added) const
 
bool network_state_is_satisfied (NetworkState &current_state) const
 quick and dirty satisfaction check More...
 
void score_network_state (NetworkState &state) const
 evaluates state and stores the score in state.score More...
 
bool register_new_network (NetworkState &current_network_state, utility::vector0< std::list< utility::vector1< core::Size > > > &hash_table, std::list< NetworkState > &designed_networks) const
 
bool node_is_compatible (NetworkState const &current_state, core::scoring::hbonds::graph::HBondNode const *node_being_added)
 returns false if there is a clash between the node_being_added and any node currently in the current_state More...
 
bool network_state_is_done_growing (NetworkState const &current_state, core::scoring::hbonds::graph::HBondGraphCOP hbond_graph)
 This is only being used for debug purposes right now. Makes sure that there are no possible nodes that can be added to current_state. More...
 
core::Real estimate_saturation (NetworkState const &) const
 TODO. More...
 
- Protected Member Functions inherited from protocols::moves::Mover
void set_last_move_status (MoverStatus status)
 nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More...
 

Private Member Functions

core::pose::Posenonconst_get_orig_pose ()
 

Private Attributes

bool write_network_pdbs_
 
bool write_cst_files_
 
bool output_poly_ala_background_
 
bool store_network_scores_in_pose_
 
bool find_native_
 
bool only_native_
 
bool keep_existing_networks_
 
bool extend_existing_networks_
 
bool only_extend_existing_
 
bool verbose_
 
bool symmetric_
 
bool multi_component_
 
bool show_task_
 
bool minimize_
 
bool allow_no_hbnets_
 
bool tyr_hydroxyls_must_donate_
 
bool hydroxyls_must_donate_
 
bool use_pdb_numbering_
 
bool no_heavy_unsats_allowed_
 
bool keep_start_selector_rotamers_fixed_
 
core::Size min_network_size_
 
core::Size max_network_size_
 
core::Size min_unique_networks_
 
core::Size min_core_res_
 
core::Size min_boundary_res_
 
core::Size max_unsat_Hpol_
 
core::Size max_lig_unsat_
 
core::Size max_rep_
 
core::Size max_replicates_before_branch_
 
core::Size max_replicates_before_unsat_check_
 
std::string const allaas_
 
std::string const hbond_default_
 
std::string const hbond_disallow_default_
 
std::string hbond_disallow_
 
std::string des_residues_
 
std::set< core::Sizestart_res_vec_
 
std::vector< HBondNetStructOPnetwork_vector_
 
std::vector< HBondNetStructOPnative_networks_
 
std::vector< std::vector< core::Size > > merged_vecs_
 
std::vector< std::set< core::Size > > output_vector_
 
std::map< char, std::pair< core::Size, core::Size > > chain_bounds_
 
core::Real hydrogen_bond_threshold_
 
core::Real onebody_hb_threshold_
 
core::Real charge_charge_rep_cutoff_
 
core::PackerEnergy clash_threshold_
 
core::Real upper_score_limit_
 
core::Real min_percent_hbond_capacity_
 
core::pose::PoseOP ala_pose_
 
core::pose::PoseOP orig_pose_
 
core::pack::task::PackerTaskOP task_
 
core::pack::task::TaskFactoryOP task_factory_
 
core::scoring::ScoreFunctionOP init_scorefxn_
 
core::scoring::ScoreFunctionOP scorefxn_
 
core::scoring::ScoreFunctionOP bw_sfxn_
 
core::pack::rotamer_set::RotamerSetsOP rotamer_sets_
 
core::pack::interaction_graph::InteractionGraphBaseOP ig_
 
core::conformation::symmetry::SymmetryInfoCOP symm_info_
 
core::pack::rotamer_set::RotamerLinksCOP rotamer_links_
 
bool store_subnetworks_
 
bool secondary_search_
 
core::Real secondary_threshold_
 
core::Real upweight_twobody_
 
core::select::residue_selector::ResidueSelectorOP start_selector_
 
core::select::residue_selector::ResidueSelectorOP core_selector_
 
core::select::residue_selector::ResidueSelectorOP boundary_selector_
 
core::select::residue_selector::ResidueSubset core_residues_
 
core::select::residue_selector::ResidueSubset boundary_residues_
 
core::select::residue_selector::ResidueSubset input_hbnet_info_residues_
 
utility::graph::GraphOP packer_neighbor_graph_
 
core::scoring::hbonds::HBondDatabaseCOP hb_database_
 
bool monte_carlo_branch_
 
core::Size total_num_mc_runs_
 
core::Size max_mc_nets_
 
core::scoring::hbonds::graph::HBondGraphOP hbond_graph_
 
utility::vector1< core::scoring::hbonds::graph::HBondEdge const * > monte_carlo_seeds_
 
core::Real monte_carlo_seed_threshold_
 
bool monte_carlo_seed_must_be_buried_
 
bool monte_carlo_seed_must_be_fully_buried_
 

Additional Inherited Members

- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagCOP TagCOP
 
typedef core::pose::Pose Pose
 
typedef core::pose::PoseCOP PoseCOP
 
typedef std::list< std::string > Strings
 

Constructor & Destructor Documentation

◆ HBNet() [1/3]

protocols::hbnet::HBNet::HBNet ( )

◆ HBNet() [2/3]

protocols::hbnet::HBNet::HBNet ( std::string const  name)

◆ HBNet() [3/3]

protocols::hbnet::HBNet::HBNet ( core::scoring::ScoreFunctionCOP  scorefxn,
core::Size  max_unsat,
core::Size  min_network_size = 3,
core::Real  hb_threshold = -0.75,
core::Size  max_network_size = 15,
std::string  des_residues = "STRKHYWNQDE",
bool  find_native = false,
bool  only_native = false,
bool  keep_existing = false,
bool  extend_existing = false,
bool  only_extend = false 
)

◆ ~HBNet()

protocols::hbnet::HBNet::~HBNet ( )
overridedefault

Member Function Documentation

◆ add_residue_to_network_state()

void protocols::hbnet::HBNet::add_residue_to_network_state ( NetworkState current_state,
core::scoring::hbonds::graph::HBondNode node_being_added 
) const
protected

◆ add_start_res()

void protocols::hbnet::HBNet::add_start_res ( core::Size  res)
inline

◆ append_to_network_vector()

void protocols::hbnet::HBNet::append_to_network_vector ( utility::vector1< DecoratedNetworkState > const &  designed_networks)
protected

called at the end of the monte carlo branching protocol. Adds all of the monte carlo networks to the data elements used by the traditional HBNet protocol

References chain_for_moltenres(), protocols::hbnet::NetworkState::edges(), get_net_vec(), max_mc_nets_, max_replicates_before_unsat_check_, protocols::hbnet::NetworkState::nodes(), rot(), rotamer_sets_, protocols::hbnet::NetworkState::score(), and task_.

Referenced by MC_branch_overlapping_networks().

◆ apply()

void protocols::hbnet::HBNet::apply ( core::pose::Pose )
overridevirtual

◆ atom_hbonds_to_bridging_water()

bool protocols::hbnet::HBNet::atom_hbonds_to_bridging_water ( core::pose::Pose const &  pose,
core::id::AtomID const  at_id 
)

◆ attributes_for_hbnet()

void protocols::hbnet::HBNet::attributes_for_hbnet ( utility::tag::AttributeList &  attlist)
static

◆ branch_overlapping_networks()

void protocols::hbnet::HBNet::branch_overlapping_networks ( )
protected

This function finds all networks that share a common rotamer, and then for ones that do not clash, branches them together in all possible combination to find all possible networks.

Critical function to HBNet; because of depth-first traversal, need to combine networks for branched amino acids, e.g. ASN that can make multiple h-bonds The reason we need this is because bread-first additions ("branches") are order-dependent, meaning we need to try ALL combinations Branching is also a poor name as it is not "branching" in a computational or graph-theory sense

References is_sub_residues(), merge_2_branched_networks(), merged_vecs_, net_clash(), network_vector_, only_native_, protocols::hbnet::print_list_to_string(), rec_set_intersection(), store_subnetworks_, core::id::to_string(), protocols::hbnet::TR(), and verbose_.

Referenced by get_native_networks(), and run().

◆ chain_for_moltenres()

core::Size protocols::hbnet::HBNet::chain_for_moltenres ( core::Size  mres) const
inlineprotected

◆ chain_for_resid()

core::Size protocols::hbnet::HBNet::chain_for_resid ( core::Size  resid) const
inlineprotected

◆ check_clash()

bool protocols::hbnet::HBNet::check_clash ( utility::vector1< HBondResStructCOP > const &  residues,
platform::uint  new_node_ind,
core::Size  newstate,
core::Size  newres,
core::Real init_score,
bool &  cycle 
)
protected

check if a residue clashes with other reisdues in the network before adding it to the h-bond network. true = clashes

Check if a new rotamer state clashes with any rotamer states already in a given h-bond network return of true = it clashes, false = no clashes

References clash_threshold_, core::pack::interaction_graph::EdgeBase::get_first_node_ind(), hydrogen_bond_threshold_, ig_, rotamer_sets_, symm_info_, and symmetric_.

Referenced by recursive_traverse().

◆ clone()

moves::MoverOP protocols::hbnet::HBNet::clone ( ) const
overridevirtual

Return a clone of the Mover object.

clone is meant to return an OP'ed deep copy of this object. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function.

Reimplemented from protocols::moves::Mover.

Reimplemented in protocols::hbnet::HBNetStapleInterface.

◆ create_ptask()

core::pack::task::PackerTaskOP protocols::hbnet::HBNet::create_ptask ( core::pose::Pose const &  pose,
bool  initialize_from_commandline = false 
)
protected

◆ edge_can_yield_monte_carlo_seed() [1/2]

bool protocols::hbnet::HBNet::edge_can_yield_monte_carlo_seed ( core::pack::interaction_graph::EdgeBase const *  edge) const
protectedvirtual

◆ edge_can_yield_monte_carlo_seed() [2/2]

bool protocols::hbnet::HBNet::edge_can_yield_monte_carlo_seed ( core::Size  resid1,
core::Size  resid2 
) const
protectedvirtual

The edge_can_yield_monte_carlo_seed() methods determine if a hydrogen bond can be used as a seed for monte carlo branching. Examples of when this might fail include when the hbond does not cross the interface (for HBNetStapleInterface) or when the hbond is not buried to the level of the user's specifications.

Reimplemented in protocols::hbnet::HBNetStapleInterface.

References core_residues_, monte_carlo_seed_must_be_buried_, monte_carlo_seed_must_be_fully_buried_, and start_res_vec_.

Referenced by edge_can_yield_monte_carlo_seed(), protocols::hbnet::HBNetStapleInterface::edge_can_yield_monte_carlo_seed(), and MC_traverse_IG().

◆ estimate_saturation()

core::Real protocols::hbnet::HBNet::estimate_saturation ( NetworkState const &  network_state) const
protected

◆ find_native()

bool protocols::hbnet::HBNet::find_native ( )
inline

References find_native_.

◆ find_unsats()

void protocols::hbnet::HBNet::find_unsats ( core::pose::Pose const &  pose,
HBondNetStruct i 
)

◆ fresh_instance()

moves::MoverOP protocols::hbnet::HBNet::fresh_instance ( ) const
overridevirtual

Generates a new Mover object freshly created with the default ctor.

fresh_instance is meant to return a new object of this class, created with the default constructor. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function. This is used by the August 08 job distributor.

Reimplemented from protocols::moves::Mover.

Reimplemented in protocols::hbnet::HBNetStapleInterface.

◆ get_aa_for_state()

char protocols::hbnet::HBNet::get_aa_for_state ( core::Size const  res,
core::Size const  rot 
) const

◆ get_additional_output()

pose::PoseOP protocols::hbnet::HBNet::get_additional_output ( )
overridevirtual

used by the job distributor and MultiplePoseMover (MPM) to return poses OTF as requested (without need to store in memory)

minimal h-bond network information is stored in memory and used here to place the rotamers onto a copy of input pose, returend on-the-fly as requested returns networks in order of ranking and automatically turns on constraints (added to Pose that's returned)

Reimplemented from protocols::moves::Mover.

References core::pose::add_comment(), ala_pose_, get_network_by_id(), orig_pose_, output_poly_ala_background_, output_vector_, place_rots_on_pose(), print_additional_headers(), protocols::hbnet::print_headers(), set_constraints(), protocols::hbnet::TR(), and write_cst_files_.

◆ get_ala_pose()

core::pose::Pose const& protocols::hbnet::HBNet::get_ala_pose ( )
inline

References ala_pose_.

◆ get_boundary_residues()

core::select::residue_selector::ResidueSubset protocols::hbnet::HBNet::get_boundary_residues ( )
inline

References boundary_residues_.

◆ get_boundary_selector()

core::select::residue_selector::ResidueSelectorOP protocols::hbnet::HBNet::get_boundary_selector ( )
inline

References boundary_selector_.

◆ get_core_residues()

core::select::residue_selector::ResidueSubset protocols::hbnet::HBNet::get_core_residues ( )
inline

References core_residues_.

◆ get_core_selector()

core::select::residue_selector::ResidueSelectorOP protocols::hbnet::HBNet::get_core_selector ( )
inline

References core_selector_.

◆ get_extend_existing_networks()

bool protocols::hbnet::HBNet::get_extend_existing_networks ( )
inline

◆ get_file_name()

std::string protocols::hbnet::HBNet::get_file_name ( core::Size  id,
std::string  prefix,
std::string  extension 
)

◆ get_ind_res()

Size protocols::hbnet::HBNet::get_ind_res ( core::pose::Pose const &  pose,
core::Size const  res_i 
)

◆ get_keep_existing_networks()

bool protocols::hbnet::HBNet::get_keep_existing_networks ( )
inline

◆ get_max_networks_size()

core::Size protocols::hbnet::HBNet::get_max_networks_size ( )
inline

References max_network_size_.

◆ get_max_unsat()

core::Size protocols::hbnet::HBNet::get_max_unsat ( )
inline

References max_unsat_Hpol_.

◆ get_min_networks_size()

core::Size protocols::hbnet::HBNet::get_min_networks_size ( )
inline

References min_network_size_.

◆ get_name()

std::string protocols::hbnet::HBNet::get_name ( ) const
overridevirtual

Each derived class must specify its name. The class name.

Implements protocols::moves::Mover.

Reimplemented in protocols::hbnet::HBNetStapleInterface.

References mover_name().

Referenced by provide_citation_info().

◆ get_native_networks()

void protocols::hbnet::HBNet::get_native_networks ( core::pose::Pose const &  pose)
protected

◆ get_native_vec()

std::vector< HBondNetStructOP >& protocols::hbnet::HBNet::get_native_vec ( )
inline

◆ get_net_vec()

std::vector< HBondNetStructOP >& protocols::hbnet::HBNet::get_net_vec ( )
inline

return all hbond networks, sorted with best networks at the front, THIS SHOULD RETURN A POINTER (OP)

References network_vector_.

Referenced by append_to_network_vector(), protocols::hbnet::HBNetStapleInterface::prepare_output(), and protocols::hbnet::HBNetStapleInterface::rec_add_staple().

◆ get_network_by_id()

HBondNetStructOP protocols::hbnet::HBNet::get_network_by_id ( core::Size  id)
inline

◆ get_networks()

std::vector< HBondNetStructOP > protocols::hbnet::HBNet::get_networks ( )
inline

References network_vector_.

◆ get_next_node()

HBondNode * protocols::hbnet::HBNet::get_next_node ( NetworkState current_state)
protected

◆ get_num_native_rot()

Size protocols::hbnet::HBNet::get_num_native_rot ( core::pose::Pose pose,
utility::vector1< HBondResStructCOP > const &  residues,
core::Real  sc_rmsd_cut = 0.25,
bool  super = true 
)

return the number of rotamers in a network that are identical in seq or rot to the original input pose:

References core::conformation::Residue::clone(), ligand(), core::conformation::Residue::name1(), orig_pose_, core::pose::Pose::residue(), and core::scoring::residue_sc_rmsd_no_super().

◆ get_num_native_seq()

Size protocols::hbnet::HBNet::get_num_native_seq ( core::pose::Pose pose,
utility::vector1< HBondResStructCOP > const &  residues 
)

◆ get_only_extend_existing()

bool protocols::hbnet::HBNet::get_only_extend_existing ( )
inline

References only_extend_existing_.

◆ get_orig_pose()

core::pose::Pose const& protocols::hbnet::HBNet::get_orig_pose ( )
inline

◆ get_output_vector()

std::vector< std::set< core::Size > >& protocols::hbnet::HBNet::get_output_vector ( )
inline

◆ get_packer_graph()

utility::graph::GraphOP protocols::hbnet::HBNet::get_packer_graph ( )
inline

◆ get_start_res_vec()

std::set< core::Size > protocols::hbnet::HBNet::get_start_res_vec ( )
inline

◆ get_symm_info()

core::conformation::symmetry::SymmetryInfoCOP protocols::hbnet::HBNet::get_symm_info ( ) const
inline

◆ get_task()

core::pack::task::PackerTaskOP protocols::hbnet::HBNet::get_task ( ) const
inline

References task_.

◆ initialize_hbond_graph()

void protocols::hbnet::HBNet::initialize_hbond_graph ( )
protected

This transfers rotamer sets data to hbond_graph_. Need to call this before traversing the IG.

References hbond_graph_, core::pack::hbonds::init_node_info(), and rotamer_sets_.

Referenced by run().

◆ is_sub_residues() [1/2]

bool protocols::hbnet::HBNet::is_sub_residues ( utility::vector1< HBondResStructCOP > &  residues1,
utility::vector1< HBondResStructCOP > &  residues2 
)
protected

Returns true if a network is a subset of another; it's symmetric, i.e. returns true if i is subset of j, or if j is a subset of i.

Referenced by branch_overlapping_networks(), output_networks(), protocols::hbnet::HBNetStapleInterface::rec_add_staple(), and remove_replicate_networks().

◆ is_sub_residues() [2/2]

bool protocols::hbnet::HBNet::is_sub_residues ( utility::vector1< HBondResStructCOP > &  residues1,
utility::vector1< HBondResStructCOP > &  residues2,
bool &  branch,
bool  true_if_identical = true 
)
protected

identical networks are considered subsets of each other here by default unless specified by true_if_identical=false std::includes() returns false if 2 vectors are identical

◆ ligand()

virtual core::Size protocols::hbnet::HBNet::ligand ( )
inlinevirtual

◆ MC_branch_overlapping_networks()

void protocols::hbnet::HBNet::MC_branch_overlapping_networks ( )
protected

monte carlo alternative to branch_overlapping_networks(). Requires MC_traverse_IG() to be called ahead of time. Theoretically O( total_num_mc_runs_ )

heart of MC-HBNet: use the MC seeds to stochastically grow networks to completion

References add_residue_to_network_state(), append_to_network_vector(), estimate_saturation(), get_next_node(), hbond_graph_, monte_carlo_seeds_, network_state_is_satisfied(), register_new_network(), core::scoring::rg, symmetric_, total_num_mc_runs_, and protocols::hbnet::TR().

Referenced by run().

◆ MC_traverse_IG()

void protocols::hbnet::HBNet::MC_traverse_IG ( )
protected

◆ merge_2_branched_networks() [1/2]

void protocols::hbnet::HBNet::merge_2_branched_networks ( HBondNetStruct const &  i,
HBondNetStruct const &  j,
HBondNetStructOP  new_network 
)
protected

◆ merge_2_branched_networks() [2/2]

void protocols::hbnet::HBNet::merge_2_branched_networks ( utility::vector1< HBondResStructCOP > const &  residues1,
utility::vector1< HBondResStructCOP > const &  residues2,
utility::vector1< HBondResStructCOP > &  new_residues 
)
protected

◆ minimize_network()

void protocols::hbnet::HBNet::minimize_network ( core::pose::Pose pose,
HBondNetStruct network,
bool  residues_already_placed = true 
)
protected

◆ monte_carlo_net_clash()

bool protocols::hbnet::HBNet::monte_carlo_net_clash ( utility::vector1< HBondResStructCOP > const &  residues_i,
utility::vector1< HBondResStructCOP > const &  residues_j 
) const
protected

◆ monte_carlo_seed_is_dead_end()

bool protocols::hbnet::HBNet::monte_carlo_seed_is_dead_end ( core::scoring::hbonds::graph::HBondEdge const *  monte_carlo_seed)
protected

◆ mover_name()

std::string protocols::hbnet::HBNet::mover_name ( )
static

◆ multi_component() [1/2]

bool protocols::hbnet::HBNet::multi_component ( ) const
inline

◆ multi_component() [2/2]

void protocols::hbnet::HBNet::multi_component ( bool const  multi_component)
inline

References multi_component(), and multi_component_.

Referenced by multi_component().

◆ net_clash() [1/2]

bool protocols::hbnet::HBNet::net_clash ( HBondNetStruct const &  i,
HBondNetStruct const &  j 
)

checks if two h-bond networks clash; returns true if they do clash

Function to check whether two h-bond networks clash with eachother return of true = they clash, false = no clashes (networks i and j are compatible)

References protocols::hbnet::HBondNetStruct::residues.

Referenced by branch_overlapping_networks(), output_networks(), protocols::hbnet::HBNetStapleInterface::prepare_output(), and protocols::hbnet::HBNetStapleInterface::rec_add_staple().

◆ net_clash() [2/2]

bool protocols::hbnet::HBNet::net_clash ( utility::vector1< HBondResStructCOP > const &  residues_i,
utility::vector1< HBondResStructCOP > const &  residues_j 
)
protected

used by net_clash( HBondNetStruct & i, HBondNetStruct & j ), should not be called externally!

Function to check whether two h-bond networks clash with eachother return of true = they clash, false = no clashes (networks i and j are compatible)

References ala_pose_, clash_threshold_, core::scoring::fa_rep, core::pack::interaction_graph::EdgeBase::get_first_node_ind(), ig_, init_scorefxn_, ligand(), monte_carlo_branch_, monte_carlo_net_clash(), core::pose::Pose::replace_residue(), core::scoring::residue_sc_rmsd_no_super(), rotamer_sets_, protocols::hbnet::SC_RMSD_CUTOFF, symm_info_, and symmetric_.

◆ network_already_stored()

bool protocols::hbnet::HBNet::network_already_stored ( utility::vector1< HBondResStructCOP > &  residues,
utility::vector1< HBondResStructCOP > &  i_residues 
)
protected

@breif for efficiency, makes sure that an equivalent network has not already been stored

References core::scoring::residue_sc_rmsd_no_super(), protocols::jumping::rot1, protocols::jumping::rot2, rotamer_sets_, and protocols::hbnet::SC_RMSD_CUTOFF.

Referenced by store_network().

◆ network_meets_final_criteria()

virtual bool protocols::hbnet::HBNet::network_meets_final_criteria ( core::pose::Pose const &  ,
HBondNetStruct  
)
inlinevirtual

final criteria that reuqires network rotamers placed on pose

Reimplemented in protocols::hbnet::HBNetStapleInterface.

◆ network_meets_initial_criteria()

virtual bool protocols::hbnet::HBNet::network_meets_initial_criteria ( HBondNetStruct const &  )
inlinevirtual

initial criteria for screening that just reuqires HBondNetStruct (no scoring or placement of rotamers on the pose)

Reimplemented in protocols::hbnet::HBNetStapleInterface.

Referenced by select_best_networks().

◆ network_state_is_done_growing()

bool protocols::hbnet::HBNet::network_state_is_done_growing ( NetworkState const &  current_state,
core::scoring::hbonds::graph::HBondGraphCOP  hbond_graph 
)
protected

This is only being used for debug purposes right now. Makes sure that there are no possible nodes that can be added to current_state.

References hbond_graph_, node_is_compatible(), and protocols::hbnet::NetworkState::nodes().

◆ network_state_is_satisfied()

bool protocols::hbnet::HBNet::network_state_is_satisfied ( NetworkState current_state) const
protected

quick and dirty satisfaction check

References protocols::hbnet::NetworkState::unsatisfied_sc_atoms_const().

Referenced by MC_branch_overlapping_networks().

◆ networks_identical_aa_sequence()

bool protocols::hbnet::HBNet::networks_identical_aa_sequence ( HBondNetStruct const &  i,
HBondNetStruct const &  j 
)
protected

◆ networks_unique()

bool protocols::hbnet::HBNet::networks_unique ( HBondNetStruct const &  i,
HBondNetStruct const &  j,
bool  no_surface = true 
)
protected

◆ node_is_compatible()

bool protocols::hbnet::HBNet::node_is_compatible ( NetworkState const &  current_state,
core::scoring::hbonds::graph::HBondNode const *  node_being_added 
)
protected

returns false if there is a clash between the node_being_added and any node currently in the current_state

References core::scoring::hbonds::graph::HBondNode::clashes(), core::scoring::hbonds::graph::HBondNode::moltenres(), and protocols::hbnet::NetworkState::nodes().

Referenced by get_next_node(), and network_state_is_done_growing().

◆ nonconst_get_orig_pose()

core::pose::Pose& protocols::hbnet::HBNet::nonconst_get_orig_pose ( )
inlineprivate

References orig_pose_.

Referenced by apply().

◆ num_boundary_res()

Size protocols::hbnet::HBNet::num_boundary_res ( HBondNetStruct const &  network)

◆ num_core_res()

Size protocols::hbnet::HBNet::num_core_res ( HBondNetStruct const &  network)

◆ only_native()

bool protocols::hbnet::HBNet::only_native ( )
inline

◆ output_networks()

void protocols::hbnet::HBNet::output_networks ( bool  finalize = false)
protected

◆ pair_meets_starting_criteria()

virtual bool protocols::hbnet::HBNet::pair_meets_starting_criteria ( core::Size const  ,
core::Size const  ,
core::Size const  ,
core::Size const   
)
inlinevirtual

◆ parse_my_tag()

void protocols::hbnet::HBNet::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing.

Some movers need not be parsed, so we shouldn't force people to reimplement this method. However, we should be chatty about the fact that someone is using a RosettaScripts interface to a mover which didn't define parse_my_tag()

Reimplemented from protocols::moves::Mover.

Reimplemented in protocols::hbnet::HBNetStapleInterface.

References allow_no_hbnets_, boundary_selector_, charge_charge_rep_cutoff_, clash_threshold_, core_selector_, des_residues_, protocols::pack_daemon::error_message, extend_existing_networks_, find_native_, core::select::residue_selector::get_residue_selector(), core::pose::get_resnum_selector(), hydrogen_bond_threshold_, hydroxyls_must_donate_, keep_existing_networks_, keep_start_selector_rotamers_fixed_, max_mc_nets_, max_network_size_, max_rep_, max_replicates_before_branch_, max_replicates_before_unsat_check_, max_unsat_Hpol_, min_boundary_res_, min_core_res_, min_network_size_, min_percent_hbond_capacity_, min_unique_networks_, minimize_, monte_carlo_branch_, monte_carlo_seed_must_be_buried_, monte_carlo_seed_must_be_fully_buried_, monte_carlo_seed_threshold_, no_heavy_unsats_allowed_, onebody_hb_threshold_, only_extend_existing_, only_native_, output_poly_ala_background_, core::scoring::parse_score_function(), core::pack::task::parse_task_operations(), secondary_search_, secondary_threshold_, set_score_function(), show_task_, start_selector_, store_network_scores_in_pose_, store_subnetworks_, task_factory(), total_num_mc_runs_, protocols::hbnet::TR(), tyr_hydroxyls_must_donate_, upper_score_limit_, use_pdb_numbering_, verbose_, write_cst_files_, and write_network_pdbs_.

Referenced by protocols::hbnet::HBNetStapleInterface::parse_my_tag().

◆ pdb_numbering() [1/2]

bool protocols::hbnet::HBNet::pdb_numbering ( ) const
inline

References use_pdb_numbering_.

Referenced by output_networks().

◆ pdb_numbering() [2/2]

void protocols::hbnet::HBNet::pdb_numbering ( bool const  pdb_numbering)
inline

References pdb_numbering(), and use_pdb_numbering_.

Referenced by pdb_numbering().

◆ place_rots_on_pose()

utility::vector1< core::Size > protocols::hbnet::HBNet::place_rots_on_pose ( core::pose::Pose pose,
HBondNetStruct residues,
bool  use_pose = false 
)

◆ prepare_output()

void protocols::hbnet::HBNet::prepare_output ( )
virtual

Reimplemented in protocols::hbnet::HBNetStapleInterface.

References output_networks().

Referenced by apply().

◆ print_additional_headers()

virtual std::string protocols::hbnet::HBNet::print_additional_headers ( )
inlinevirtual

◆ print_additional_info_for_net()

virtual std::string protocols::hbnet::HBNet::print_additional_info_for_net ( HBondNetStruct ,
core::pose::Pose const &   
)
inlinevirtual

◆ provide_citation_info()

void protocols::hbnet::HBNet::provide_citation_info ( basic::citation_manager::CitationCollectionList &  citations) const
overridevirtual

Provide the citation.

Reimplemented from protocols::moves::Mover.

References get_name().

◆ provide_xml_schema()

void protocols::hbnet::HBNet::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

◆ quick_and_dirty_heavy_atom_is_unsat()

bool protocols::hbnet::HBNet::quick_and_dirty_heavy_atom_is_unsat ( core::pose::Pose const &  pose,
core::id::AtomID const  at_id 
)

◆ quick_and_dirty_network_has_heavy_atom_unsat()

bool protocols::hbnet::HBNet::quick_and_dirty_network_has_heavy_atom_unsat ( core::pose::Pose const &  pose,
HBondNetStruct const &  network 
)

◆ rec_set_intersection()

void protocols::hbnet::HBNet::rec_set_intersection ( std::vector< core::Size add_index_vec,
std::vector< core::Size next_index_list,
core::Size  pos 
)
protected

used by branch_overlapping() to efficiently search for all combinations of compatible networks that can be merged

References merged_vecs_, network_vector_, and store_subnetworks_.

Referenced by branch_overlapping_networks().

◆ rec_trav_native()

void protocols::hbnet::HBNet::rec_trav_native ( core::pose::Pose const &  pose,
core::Size  new_res,
core::Size  prev_res,
utility::vector1< HBondResStructCOP residues,
core::Real const  hb_threshold 
)
protected

◆ recursive_traverse()

void protocols::hbnet::HBNet::recursive_traverse ( int const  new_node_ind,
int const  newstate,
core::Size const  newres,
core::Size const  prevres,
utility::vector1< HBondResStructCOP residues,
core::Size  network_rec_count,
core::Real  init_sc,
core::Real const  hb_threshold,
bool const  second_search = false 
)
protected

◆ register_clash()

void protocols::hbnet::HBNet::register_clash ( core::Size  rotamerA,
core::Size  rotamerB 
)
inlineprotected

References hbond_graph_.

◆ register_new_network()

bool protocols::hbnet::HBNet::register_new_network ( NetworkState current_network_state,
utility::vector0< std::list< utility::vector1< core::Size > > > &  hash_table,
std::list< NetworkState > &  designed_networks 
) const
protected

◆ remove_replicate_networks()

void protocols::hbnet::HBNet::remove_replicate_networks ( core::Size  same_max = 1)
protected

Sorts all networks by score, removes replicate networks and networks > upper_score_limit; also removes subnetworks if store_subnetworks=false.

References is_sub_residues(), network_vector_, only_native_, protocols::hbnet::print_list_to_string(), residues_identical(), protocols::hbnet::TR(), verbose(), and verbose_.

Referenced by get_native_networks(), and run().

◆ res_is_boundary()

bool protocols::hbnet::HBNet::res_is_boundary ( core::Size const  res) const

References boundary_residues_.

Referenced by networks_unique(), and num_boundary_res().

◆ res_is_core()

bool protocols::hbnet::HBNet::res_is_core ( core::Size const  res) const

◆ residues_identical()

bool protocols::hbnet::HBNet::residues_identical ( utility::vector1< HBondResStructCOP > &  residues1,
utility::vector1< HBondResStructCOP > &  residues2 
)
protected

◆ residues_not_unique()

bool protocols::hbnet::HBNet::residues_not_unique ( utility::vector1< HBondResStructCOP > &  residues1,
utility::vector1< HBondResStructCOP > &  residues2 
)
protected

Referenced by networks_unique().

◆ run()

void protocols::hbnet::HBNet::run ( core::pose::Pose pose)
protected

◆ scale_twobody_energy()

virtual core::Real protocols::hbnet::HBNet::scale_twobody_energy ( core::Real  input_twobody_energy,
char  ,
char   
)
inlinevirtual

◆ score_network_on_pose()

void protocols::hbnet::HBNet::score_network_on_pose ( core::pose::Pose pose,
HBondNetStruct i 
)
protected

◆ score_network_state()

void protocols::hbnet::HBNet::score_network_state ( NetworkState state) const
protected

◆ search_IG_for_networks()

void protocols::hbnet::HBNet::search_IG_for_networks ( core::pose::Pose pose)
virtual

◆ select_best_networks()

void protocols::hbnet::HBNet::select_best_networks ( )

◆ set_ala_pose()

void protocols::hbnet::HBNet::set_ala_pose ( core::pose::Pose pose)
inline

References ala_pose_.

◆ set_boundary_residues()

void protocols::hbnet::HBNet::set_boundary_residues ( core::select::residue_selector::ResidueSubset  boundary_residues)
inline

References boundary_residues_.

◆ set_constraints()

void protocols::hbnet::HBNet::set_constraints ( core::pose::Pose pose,
core::scoring::constraints::ConstraintSet constraints,
HBondNetStruct p,
bool  write_cst_file = false 
)
protected

◆ set_core_residues()

void protocols::hbnet::HBNet::set_core_residues ( core::select::residue_selector::ResidueSubset  core_residues)
inline

References core_residues_.

◆ set_extend_existing_networks()

void protocols::hbnet::HBNet::set_extend_existing_networks ( bool  extend_existing_networks)
inline

◆ set_find_native()

void protocols::hbnet::HBNet::set_find_native ( bool  native)
inline

References find_native_.

◆ set_find_only_native()

void protocols::hbnet::HBNet::set_find_only_native ( bool  only)
inline

References find_native_, and only_native_.

◆ set_keep_existing_networks()

void protocols::hbnet::HBNet::set_keep_existing_networks ( bool  keep_existing_networks)
inline

◆ set_max_networks_size()

void protocols::hbnet::HBNet::set_max_networks_size ( core::Size  max)
inline

◆ set_max_unsat()

void protocols::hbnet::HBNet::set_max_unsat ( core::Size  max)
inline

◆ set_min_networks_size()

void protocols::hbnet::HBNet::set_min_networks_size ( core::Size  min)
inline

◆ set_monte_carlo_branch()

void protocols::hbnet::HBNet::set_monte_carlo_branch ( bool  setting)
inline

turn on or off the monte carlo branching protocol

References monte_carlo_branch_.

◆ set_monte_carlo_data_to_default()

void protocols::hbnet::HBNet::set_monte_carlo_data_to_default ( )
inlineprotected

◆ set_monte_carlo_seed_must_be_buried()

void protocols::hbnet::HBNet::set_monte_carlo_seed_must_be_buried ( bool  setting)
inline

Only branch from hbonds where at least one residue is buried. Effectively, this results in only finding networks that have at least one buried residue.

References monte_carlo_seed_must_be_buried_.

◆ set_monte_carlo_seed_must_be_fully_buried()

void protocols::hbnet::HBNet::set_monte_carlo_seed_must_be_fully_buried ( bool  setting)
inline

Only branch from hbonds where both residues are buried. This results in only finding networks that have at least one buried hbond but this does not prevent having additional exposed hbonds.

References monte_carlo_seed_must_be_fully_buried_.

◆ set_monte_carlo_seed_threshold()

void protocols::hbnet::HBNet::set_monte_carlo_seed_threshold ( core::Real  setting)
inline

Maybe you only want to branch from strong hbonds. If this value is -1.2, then only hbonds with a strength of -1.2 or lower will be branched from.

References monte_carlo_seed_threshold_.

◆ set_only_extend_existing()

void protocols::hbnet::HBNet::set_only_extend_existing ( bool  only_extend_existing)
inline

◆ set_orig_pose()

void protocols::hbnet::HBNet::set_orig_pose ( core::pose::Pose pose)
inline

References orig_pose_.

◆ set_score_function()

void protocols::hbnet::HBNet::set_score_function ( core::scoring::ScoreFunctionCOP const &  sf)
inline

References scorefxn_.

Referenced by parse_my_tag().

◆ set_start_res_vec()

void protocols::hbnet::HBNet::set_start_res_vec ( std::set< core::Size > const  start_resnums)
inline

References start_res_vec_.

◆ set_start_resnums()

void protocols::hbnet::HBNet::set_start_resnums ( std::set< core::Size > const  start_resnums)
inline

References start_res_vec_.

◆ set_symm_info()

void protocols::hbnet::HBNet::set_symm_info ( core::conformation::symmetry::SymmetryInfoCOP const &  symminfo)
inline

References symm_info_.

◆ set_symmetry()

void protocols::hbnet::HBNet::set_symmetry ( core::pose::Pose pose)

◆ set_task()

void protocols::hbnet::HBNet::set_task ( core::pack::task::PackerTaskOP const &  task)
inline

◆ set_total_num_mc_runs()

void protocols::hbnet::HBNet::set_total_num_mc_runs ( core::Size  setting)
inline

set number of monte carlo runs to be divided over all the seed hbonds. A single monte carlo run appears to take roughly 1 ms (very loose estimate).

References total_num_mc_runs_.

◆ set_upweight_starting_twobody()

void protocols::hbnet::HBNet::set_upweight_starting_twobody ( core::Real  upweight_factor)
inline

◆ setup()

void protocols::hbnet::HBNet::setup ( core::pose::Pose const &  pose)
protected

◆ setup_packer_task_and_starting_residues()

void protocols::hbnet::HBNet::setup_packer_task_and_starting_residues ( core::pose::Pose const &  pose)
virtual

◆ state_is_starting_aa_type()

virtual bool protocols::hbnet::HBNet::state_is_starting_aa_type ( core::Size const  ,
core::Size const   
)
inlinevirtual

Reimplemented in protocols::hbnet::HBNetStapleInterface.

Referenced by traverse_IG().

◆ store_network()

void protocols::hbnet::HBNet::store_network ( utility::vector1< HBondResStructCOP residues,
core::Real  init_score = 0.0,
bool  term_w_start = false,
bool  term_w_cycle = false,
bool  score_now = false,
bool  native = false 
)
protected

◆ store_network_scores_in_pose() [1/2]

bool protocols::hbnet::HBNet::store_network_scores_in_pose ( ) const
inlineprotected

◆ store_network_scores_in_pose() [2/2]

void protocols::hbnet::HBNet::store_network_scores_in_pose ( bool  setting)
inlineprotected

◆ symmetric() [1/2]

bool protocols::hbnet::HBNet::symmetric ( ) const
inline

◆ symmetric() [2/2]

void protocols::hbnet::HBNet::symmetric ( bool const  is_symmetric_pose)
inline

References symmetric_.

◆ task_factory() [1/2]

core::pack::task::TaskFactoryOP protocols::hbnet::HBNet::task_factory ( ) const
inline

◆ task_factory() [2/2]

void protocols::hbnet::HBNet::task_factory ( core::pack::task::TaskFactoryOP const &  task_factory)
inline

References task_factory(), and task_factory_.

Referenced by task_factory().

◆ task_is_valid()

bool protocols::hbnet::HBNet::task_is_valid ( core::pose::Pose const &  pose) const
protected

◆ traverse_IG()

void protocols::hbnet::HBNet::traverse_IG ( core::Real const  hb_threshold)
protected

Recursively traverse the Interaction Graph ig_, and find all possible h-bond networks, given the parameters that have been set.

Traverse IG to enumerate all possible h-bond networks; networks are stored using the store_networks() function and pushed to the back of network_vector_

References clash_threshold_, get_ind_res(), core::pack::interaction_graph::EdgeBase::get_other_ind(), ig_, onebody_hb_threshold_, orig_pose_, pair_meets_starting_criteria(), recursive_traverse(), rotamer_sets_, scale_twobody_energy(), start_res_vec_, state_is_starting_aa_type(), store_network(), symm_info_, symmetric_, and upweight_starting_twobody_energy().

Referenced by search_IG_for_networks().

◆ traverse_native()

void protocols::hbnet::HBNet::traverse_native ( core::pose::Pose const &  pose,
core::Real const  hb_threshold 
)
protected

Do a recursive traversal of an EnergyGraph of a static pose; will find and store all native h-bond networks, regardless of score/parameters.

traverse EnergyGraph of static pose to find all native networks

References core::pose::Pose::energies(), core::scoring::Energies::energy_graph(), get_ind_res(), core::scoring::hbond_sc, hydrogen_bond_threshold_, core::conformation::Residue::is_ligand(), core::conformation::Residue::is_protein(), core::conformation::Residue::name1(), orig_pose_, rec_trav_native(), core::pose::Pose::residue(), start_res_vec_, and symmetric_.

Referenced by get_native_networks().

◆ trim_additional_rotamers()

virtual void protocols::hbnet::HBNet::trim_additional_rotamers ( core::pose::Pose )
inlinevirtual

Referenced by trim_rotamers().

◆ trim_rotamers()

void protocols::hbnet::HBNet::trim_rotamers ( core::pose::Pose pose)
protected

remove unwanted rotamers from rotamer_sets_ before IG is populated and searched. calls virtual trim_additional_rotamers() that can be overriden by specialized HBNet classes to remove additional rotmaers

References trim_additional_rotamers().

Referenced by run().

◆ update_core_and_boundary_residues()

void protocols::hbnet::HBNet::update_core_and_boundary_residues ( core::pose::Pose const &  pose)

References core_residues_, and core_selector_.

◆ upweight_starting_twobody_energy()

core::Real protocols::hbnet::HBNet::upweight_starting_twobody_energy ( )
inline

References upweight_twobody_.

Referenced by traverse_IG().

◆ verbose() [1/2]

bool protocols::hbnet::HBNet::verbose ( ) const
inline

◆ verbose() [2/2]

void protocols::hbnet::HBNet::verbose ( bool const  set_verbose)
inline

References verbose_.

◆ water_clashes()

bool protocols::hbnet::HBNet::water_clashes ( core::pose::Pose const &  pose,
core::Vector const  water_O 
)

◆ water_oxygen_clashes_with_residue() [1/2]

bool protocols::hbnet::HBNet::water_oxygen_clashes_with_residue ( core::Vector const  water_oxygen,
core::conformation::Residue const &  res 
)

◆ water_oxygen_clashes_with_residue() [2/2]

bool protocols::hbnet::HBNet::water_oxygen_clashes_with_residue ( core::Vector const  water_oxygen,
core::Size const  resnum,
int const  rot_state 
)

Referenced by water_clashes().

◆ write_network_pdb()

void protocols::hbnet::HBNet::write_network_pdb ( HBondNetStructOP p)
protected

Member Data Documentation

◆ ala_pose_

core::pose::PoseOP protocols::hbnet::HBNet::ala_pose_
private

◆ allaas_

std::string const protocols::hbnet::HBNet::allaas_
private

◆ allow_no_hbnets_

bool protocols::hbnet::HBNet::allow_no_hbnets_
private

Referenced by apply(), and parse_my_tag().

◆ boundary_residues_

core::select::residue_selector::ResidueSubset protocols::hbnet::HBNet::boundary_residues_
private

◆ boundary_selector_

core::select::residue_selector::ResidueSelectorOP protocols::hbnet::HBNet::boundary_selector_
private

◆ bw_sfxn_

core::scoring::ScoreFunctionOP protocols::hbnet::HBNet::bw_sfxn_
private

◆ chain_bounds_

std::map<char,std::pair<core::Size,core::Size> > protocols::hbnet::HBNet::chain_bounds_
private

Referenced by get_ind_res(), and set_symmetry().

◆ charge_charge_rep_cutoff_

core::Real protocols::hbnet::HBNet::charge_charge_rep_cutoff_
private

Referenced by parse_my_tag().

◆ clash_threshold_

core::PackerEnergy protocols::hbnet::HBNet::clash_threshold_
private

◆ core_residues_

core::select::residue_selector::ResidueSubset protocols::hbnet::HBNet::core_residues_
private

◆ core_selector_

core::select::residue_selector::ResidueSelectorOP protocols::hbnet::HBNet::core_selector_
private

◆ des_residues_

std::string protocols::hbnet::HBNet::des_residues_
private

Referenced by apply(), parse_my_tag(), and setup().

◆ extend_existing_networks_

bool protocols::hbnet::HBNet::extend_existing_networks_
private

◆ find_native_

bool protocols::hbnet::HBNet::find_native_
private

◆ hb_database_

core::scoring::hbonds::HBondDatabaseCOP protocols::hbnet::HBNet::hb_database_
private

Referenced by MC_traverse_IG().

◆ hbond_default_

std::string const protocols::hbnet::HBNet::hbond_default_
private

◆ hbond_disallow_

std::string protocols::hbnet::HBNet::hbond_disallow_
private

◆ hbond_disallow_default_

std::string const protocols::hbnet::HBNet::hbond_disallow_default_
private

◆ hbond_graph_

core::scoring::hbonds::graph::HBondGraphOP protocols::hbnet::HBNet::hbond_graph_
private

◆ hydrogen_bond_threshold_

core::Real protocols::hbnet::HBNet::hydrogen_bond_threshold_
private

◆ hydroxyls_must_donate_

bool protocols::hbnet::HBNet::hydroxyls_must_donate_
private

Referenced by find_unsats(), and parse_my_tag().

◆ ig_

core::pack::interaction_graph::InteractionGraphBaseOP protocols::hbnet::HBNet::ig_
private

◆ init_scorefxn_

core::scoring::ScoreFunctionOP protocols::hbnet::HBNet::init_scorefxn_
private

Referenced by net_clash(), and run().

◆ input_hbnet_info_residues_

core::select::residue_selector::ResidueSubset protocols::hbnet::HBNet::input_hbnet_info_residues_
private

Referenced by apply(), and setup().

◆ keep_existing_networks_

bool protocols::hbnet::HBNet::keep_existing_networks_
private

◆ keep_start_selector_rotamers_fixed_

bool protocols::hbnet::HBNet::keep_start_selector_rotamers_fixed_
private

Referenced by parse_my_tag(), and setup().

◆ max_lig_unsat_

core::Size protocols::hbnet::HBNet::max_lig_unsat_
private

Referenced by select_best_networks().

◆ max_mc_nets_

core::Size protocols::hbnet::HBNet::max_mc_nets_
private

◆ max_network_size_

core::Size protocols::hbnet::HBNet::max_network_size_
private

◆ max_rep_

core::Size protocols::hbnet::HBNet::max_rep_
private

Referenced by parse_my_tag(), and run().

◆ max_replicates_before_branch_

core::Size protocols::hbnet::HBNet::max_replicates_before_branch_
private

Referenced by parse_my_tag(), and run().

◆ max_replicates_before_unsat_check_

core::Size protocols::hbnet::HBNet::max_replicates_before_unsat_check_
private

◆ max_unsat_Hpol_

core::Size protocols::hbnet::HBNet::max_unsat_Hpol_
private

◆ merged_vecs_

std::vector< std::vector< core::Size > > protocols::hbnet::HBNet::merged_vecs_
private

◆ min_boundary_res_

core::Size protocols::hbnet::HBNet::min_boundary_res_
private

◆ min_core_res_

core::Size protocols::hbnet::HBNet::min_core_res_
private

◆ min_network_size_

core::Size protocols::hbnet::HBNet::min_network_size_
private

◆ min_percent_hbond_capacity_

core::Real protocols::hbnet::HBNet::min_percent_hbond_capacity_
private

◆ min_unique_networks_

core::Size protocols::hbnet::HBNet::min_unique_networks_
private

◆ minimize_

bool protocols::hbnet::HBNet::minimize_
private

◆ monte_carlo_branch_

bool protocols::hbnet::HBNet::monte_carlo_branch_
private

◆ monte_carlo_seed_must_be_buried_

bool protocols::hbnet::HBNet::monte_carlo_seed_must_be_buried_
private

◆ monte_carlo_seed_must_be_fully_buried_

bool protocols::hbnet::HBNet::monte_carlo_seed_must_be_fully_buried_
private

◆ monte_carlo_seed_threshold_

core::Real protocols::hbnet::HBNet::monte_carlo_seed_threshold_
private

◆ monte_carlo_seeds_

utility::vector1< core::scoring::hbonds::graph::HBondEdge const * > protocols::hbnet::HBNet::monte_carlo_seeds_
private

◆ multi_component_

bool protocols::hbnet::HBNet::multi_component_
private

◆ native_networks_

std::vector< HBondNetStructOP > protocols::hbnet::HBNet::native_networks_
private

◆ network_vector_

std::vector< HBondNetStructOP > protocols::hbnet::HBNet::network_vector_
private

◆ no_heavy_unsats_allowed_

bool protocols::hbnet::HBNet::no_heavy_unsats_allowed_
private

◆ onebody_hb_threshold_

core::Real protocols::hbnet::HBNet::onebody_hb_threshold_
private

◆ only_extend_existing_

bool protocols::hbnet::HBNet::only_extend_existing_
private

◆ only_native_

bool protocols::hbnet::HBNet::only_native_
private

◆ orig_pose_

core::pose::PoseOP protocols::hbnet::HBNet::orig_pose_
private

◆ output_poly_ala_background_

bool protocols::hbnet::HBNet::output_poly_ala_background_
private

◆ output_vector_

std::vector< std::set< core::Size > > protocols::hbnet::HBNet::output_vector_
private

◆ packer_neighbor_graph_

utility::graph::GraphOP protocols::hbnet::HBNet::packer_neighbor_graph_
private

◆ rotamer_links_

core::pack::rotamer_set::RotamerLinksCOP protocols::hbnet::HBNet::rotamer_links_
private

Referenced by apply(), and setup().

◆ rotamer_sets_

core::pack::rotamer_set::RotamerSetsOP protocols::hbnet::HBNet::rotamer_sets_
private

◆ scorefxn_

core::scoring::ScoreFunctionOP protocols::hbnet::HBNet::scorefxn_
private

◆ secondary_search_

bool protocols::hbnet::HBNet::secondary_search_
private

Referenced by parse_my_tag(), and recursive_traverse().

◆ secondary_threshold_

core::Real protocols::hbnet::HBNet::secondary_threshold_
private

◆ show_task_

bool protocols::hbnet::HBNet::show_task_
private

Referenced by parse_my_tag(), and setup().

◆ start_res_vec_

std::set< core::Size > protocols::hbnet::HBNet::start_res_vec_
private

◆ start_selector_

core::select::residue_selector::ResidueSelectorOP protocols::hbnet::HBNet::start_selector_
private

Referenced by apply(), and parse_my_tag().

◆ store_network_scores_in_pose_

bool protocols::hbnet::HBNet::store_network_scores_in_pose_
private

◆ store_subnetworks_

bool protocols::hbnet::HBNet::store_subnetworks_
private

◆ symm_info_

core::conformation::symmetry::SymmetryInfoCOP protocols::hbnet::HBNet::symm_info_
private

◆ symmetric_

bool protocols::hbnet::HBNet::symmetric_
private

◆ task_

core::pack::task::PackerTaskOP protocols::hbnet::HBNet::task_
private

◆ task_factory_

core::pack::task::TaskFactoryOP protocols::hbnet::HBNet::task_factory_
private

◆ total_num_mc_runs_

core::Size protocols::hbnet::HBNet::total_num_mc_runs_
private

◆ tyr_hydroxyls_must_donate_

bool protocols::hbnet::HBNet::tyr_hydroxyls_must_donate_
private

Referenced by find_unsats(), and parse_my_tag().

◆ upper_score_limit_

core::Real protocols::hbnet::HBNet::upper_score_limit_
private

◆ upweight_twobody_

core::Real protocols::hbnet::HBNet::upweight_twobody_
private

◆ use_pdb_numbering_

bool protocols::hbnet::HBNet::use_pdb_numbering_
private

Referenced by parse_my_tag(), and pdb_numbering().

◆ verbose_

bool protocols::hbnet::HBNet::verbose_
private

◆ write_cst_files_

bool protocols::hbnet::HBNet::write_cst_files_
private

◆ write_network_pdbs_

bool protocols::hbnet::HBNet::write_network_pdbs_
private

Referenced by output_networks(), and parse_my_tag().


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