Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::helical_bundle_predict::HelicalBundlePredictApplication Class Reference

The meat-and-potatoes for the helical_bundle_predict application, used to predict structures of helical bundles made from canonical or noncanonical building-blocks. More...

#include <HelicalBundlePredictApplication.hh>

Inheritance diagram for protocols::helical_bundle_predict::HelicalBundlePredictApplication:
Inheritance graph
[legend]

Public Member Functions

 HelicalBundlePredictApplication ()=delete
 Delete the default constructor, and require an options constructor. More...
 
 HelicalBundlePredictApplication (HelicalBundlePredictApplicationOptionsCOP options_in)
 Options constructor. More...
 
 HelicalBundlePredictApplication (HelicalBundlePredictApplicationOptionsCOP options_in, HBP_MoveGeneratorOP centroid_move_generator_in, core::scoring::ScoreFunctionOP centroid_sfxn_in, core::scoring::ScoreFunctionOP fullatom_sfxn_in)
 Options + move generator constructor. More...
 
 HelicalBundlePredictApplication (HelicalBundlePredictApplication const &src)
 Copy constructor. More...
 
 ~HelicalBundlePredictApplication () override
 Destructor. More...
 
HelicalBundlePredictApplicationOP clone () const
 Clone operator: copy this object and return a smart pointer to the copy. More...
 
void run ()
 Actually run the application and produce output. More...
 
void set_native (core::pose::PoseCOP native)
 Set the native pose. More...
 
core::Real align_to_native_pose (core::pose::Pose &pose) const
 Given a pose, align it to the native pose. More...
 
HBP_MoveGeneratorOP create_final_fullatom_refinement_move_generator () const
 Create the move generator used for the final fullatom refinement step. More...
 
void set_nstruct (core::Size const nstruct_in)
 Set the number of repeats to try. More...
 
void set_output_format (core::import_pose::FileType const type)
 Set the output format. (Automatically sets extension.) More...
 
void set_silent_output ()
 Indicate that we're using silent output. This overrides set_ouput_format(), and sets the extension automatically. More...
 
void set_output_prefix_and_suffix (std::string const &prefix, std::string const &suffix)
 Set the prefix and suffix for output. More...
 

Static Public Member Functions

static HBP_MoveGeneratorOP create_centroid_move_generator ()
 Create a new move generator. Static, so this can be called from other classes (e.g. HelicalBundlePredictApplication_MPI.) More...
 
static
core::scoring::ScoreFunctionOP 
create_centroid_scorefunction ()
 Create the scorefunction used during centroid mode. More...
 
static
core::scoring::ScoreFunctionOP 
create_fullatom_scorefunction ()
 Create the scorefunction used during fullatom mode. More...
 

Private Member Functions

void load_native_pose_from_disk ()
 Read the native pose in from disk, based on the native_file_ set in the options_ object. More...
 
void set_up_centroid_move_generator ()
 Given the helix assignment file's contents, set up the HBP_HelixCoilMoveGenerator used in centroid mode.. More...
 
core::pose::PoseOP make_pose_from_fasta_contents () const
 Construct a pose from the contents of a FASTA file. The conformation is set to linear at this point. More...
 
core::pose::PoseOP make_pose_from_sequence_file_contents () const
 Construct a pose from the contents of a sequence file. The conformation is set to linear at this point. More...
 
void do_a_simulated_annealing_round (core::pose::PoseOP &pose, core::Size num_steps, HBP_MoveGeneratorCOP move_generator, HBP_TemperatureScheduleGeneratorCOP temperature_generator, core::scoring::ScoreFunction const &sfxn) const
 Do a single simulated annealing round (a Monte Carlo trajectory with temperature ramping from high to low, once). More...
 
void do_simulated_annealing (core::pose::PoseOP &pose, core::Size const num_rounds, core::Size const num_steps_per_round, HBP_MoveGeneratorOP move_generator, HBP_TemperatureScheduleGeneratorOP temperature_generator, core::scoring::ScoreFunction const &sfxn) const
 Entry point into the simulated annealing. More...
 
void do_final_fullatom_refinement (core::pose::PoseOP &pose) const
 Carry out the final full-atom refinement steps. More...
 
bool apply_metropolis_criterion (core::Real const &old_energy, core::Real const &new_energy, core::Real const &temperature) const
 Given the old energy, the new energy, and the temperature, apply the Metropolis criterion. More...
 
void check_ignore_residues_reasonable (utility::vector1< core::Size > const &ignore_residues, core::pose::PoseCOP const &pose) const
 Check that the list of residues to ignore in calculating RMSD is reasonable. More...
 

Private Attributes

HelicalBundlePredictApplicationOptionsCOP options_
 Options for the application. More...
 
core::pose::PoseCOP native_pose_
 The native pose. Loaded from disk when run() is called unless provided separately. More...
 
core::pose::PoseOP pose_
 The pose that we're working on. More...
 
HBP_MoveGeneratorOP centroid_move_generator_
 Move generator for centroid-mode Monte Carlo. More...
 
HBP_TemperatureScheduleGeneratorOP centroid_temperature_generator_
 Temperature schedule generator for centroid-mode Monte Carlo. More...
 
core::scoring::ScoreFunctionOP centroid_sfxn_
 The scorefunction to use in centroid mode. More...
 
core::scoring::ScoreFunctionOP fullatom_sfxn_
 The scoring function to use for fullatom refinement steps. More...
 
HBP_MoveGeneratorOP final_fullatom_refinement_move_generator_
 Move generator for the full-atom refinement move at the end. More...
 
core::Size nstruct_
 Number of repeats to attempt. More...
 
std::string outfile_prefix_ = "result_"
 The output prefix. More...
 
std::string outfile_suffix_ = ""
 The output suffix. More...
 
std::string outfile_extension_ = "pdb"
 The output extension. More...
 
core::import_pose::FileType output_filetype_ = core::import_pose::PDB_file
 The output format. More...
 
bool silent_output_ = false
 Are we doing silent output? More...
 

Detailed Description

The meat-and-potatoes for the helical_bundle_predict application, used to predict structures of helical bundles made from canonical or noncanonical building-blocks.

Constructor & Destructor Documentation

protocols::helical_bundle_predict::HelicalBundlePredictApplication::HelicalBundlePredictApplication ( )
delete

Delete the default constructor, and require an options constructor.

protocols::helical_bundle_predict::HelicalBundlePredictApplication::HelicalBundlePredictApplication ( HelicalBundlePredictApplicationOptionsCOP  options_in)

Options constructor.

Stores input options directly; doesn't clone.

Note
Triggers read from disk to set up move generator!

References options_, and set_up_centroid_move_generator().

protocols::helical_bundle_predict::HelicalBundlePredictApplication::HelicalBundlePredictApplication ( HelicalBundlePredictApplicationOptionsCOP  options_in,
HBP_MoveGeneratorOP  centroid_move_generator_in,
core::scoring::ScoreFunctionOP  centroid_sfxn_in,
core::scoring::ScoreFunctionOP  fullatom_sfxn_in 
)

Options + move generator constructor.

Stores input options directly; doesn't clone.

Note
Avoids read from disk by using a move generator that was already set up. The input move generator and the input scorefunctions are used directly (not cloned).

References centroid_move_generator_, centroid_sfxn_, and fullatom_sfxn_.

protocols::helical_bundle_predict::HelicalBundlePredictApplication::HelicalBundlePredictApplication ( HelicalBundlePredictApplication const &  src)

Copy constructor.

References centroid_move_generator_, centroid_sfxn_, and fullatom_sfxn_.

protocols::helical_bundle_predict::HelicalBundlePredictApplication::~HelicalBundlePredictApplication ( )
override

Destructor.

Member Function Documentation

core::Real protocols::helical_bundle_predict::HelicalBundlePredictApplication::align_to_native_pose ( core::pose::Pose pose) const

Given a pose, align it to the native pose.

Throws an error if there's a mismatch between the pose lengths or mainchain atom counts.

Returns
RMSD to native.

References core::id::AtomID::BOGUS_ATOM_ID(), core::pose::initialize_atomid_map(), core::chemical::ResidueTypeBase::is_polymer(), native_pose_, options_, core::pose::Pose::residue_type(), core::scoring::superimpose_pose(), core::id::to_string(), core::pose::Pose::total_residue(), and protocols::TR().

Referenced by run().

bool protocols::helical_bundle_predict::HelicalBundlePredictApplication::apply_metropolis_criterion ( core::Real const &  old_energy,
core::Real const &  new_energy,
core::Real const &  temperature 
) const
private

Given the old energy, the new energy, and the temperature, apply the Metropolis criterion.

Referenced by do_a_simulated_annealing_round().

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::check_ignore_residues_reasonable ( utility::vector1< core::Size > const &  ignore_residues,
core::pose::PoseCOP const &  pose 
) const
private

Check that the list of residues to ignore in calculating RMSD is reasonable.

Throws if residues are outside the size of the posem or if residues are provided but there's no pose.

References core::id::to_string().

Referenced by run().

HelicalBundlePredictApplicationOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::clone ( ) const

Clone operator: copy this object and return a smart pointer to the copy.

HBP_MoveGeneratorOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::create_centroid_move_generator ( )
static

Create a new move generator. Static, so this can be called from other classes (e.g. HelicalBundlePredictApplication_MPI.)

Triggers read from disk!

core::scoring::ScoreFunctionOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::create_centroid_scorefunction ( )
static

Create the scorefunction used during centroid mode.

Reads from disk! Do not use repeatedly! Store the result rather than regenerating it!

References core::scoring::ScoreFunctionFactory::create_score_function().

HBP_MoveGeneratorOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::create_final_fullatom_refinement_move_generator ( ) const

Create the move generator used for the final fullatom refinement step.

Not static, since it depends on the options_ object.

Note
In its current form, this should not trigger a read from disk.

References fullatom_sfxn_, and options_.

core::scoring::ScoreFunctionOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::create_fullatom_scorefunction ( )
static

Create the scorefunction used during fullatom mode.

Reads from disk! Do not use repeatedly! Store the result rather than regenerating it!

Note
This returns whatever the current default fullatom scorefunction is, currently. This function is here to make it easy to hard-code a specialized scorefunction in the future if necessary.

References core::scoring::get_score_function().

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::do_a_simulated_annealing_round ( core::pose::PoseOP pose,
core::Size  num_steps,
HBP_MoveGeneratorCOP  move_generator,
HBP_TemperatureScheduleGeneratorCOP  temperature_generator,
core::scoring::ScoreFunction const &  sfxn 
) const
private

Do a single simulated annealing round (a Monte Carlo trajectory with temperature ramping from high to low, once).

References core::io::pdb::add_to_multimodel_pdb(), apply_metropolis_criterion(), protocols::moves::MS_SUCCESS, and protocols::TR().

Referenced by do_simulated_annealing().

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::do_final_fullatom_refinement ( core::pose::PoseOP pose) const
private

Carry out the final full-atom refinement steps.

This is a single step, not a Monte Carlo trajectory.

References final_fullatom_refinement_move_generator_.

Referenced by run().

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::do_simulated_annealing ( core::pose::PoseOP pose,
core::Size const  num_rounds,
core::Size const  num_steps_per_round,
HBP_MoveGeneratorOP  move_generator,
HBP_TemperatureScheduleGeneratorOP  temperature_generator,
core::scoring::ScoreFunction const &  sfxn 
) const
private

Entry point into the simulated annealing.

Does multiple rounds of simulated annealing.

References do_a_simulated_annealing_round().

Referenced by run().

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::load_native_pose_from_disk ( )
private

Read the native pose in from disk, based on the native_file_ set in the options_ object.

READS FROM DISK! This can be avoided by passing in a pointer to the native pose.

References native_pose_, options_, core::import_pose::pose_from_file(), and protocols::TR().

Referenced by run().

core::pose::PoseOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::make_pose_from_fasta_contents ( ) const
private

Construct a pose from the contents of a FASTA file. The conformation is set to linear at this point.

References core::id::BB, core::chemical::CENTROID, core::pose::make_pose_from_sequence(), and options_.

Referenced by run().

core::pose::PoseOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::make_pose_from_sequence_file_contents ( ) const
private
void protocols::helical_bundle_predict::HelicalBundlePredictApplication::run ( )
void protocols::helical_bundle_predict::HelicalBundlePredictApplication::set_native ( core::pose::PoseCOP  native)

Set the native pose.

Does not clone the input; sets owning pointer directly.

References native_pose_.

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::set_nstruct ( core::Size const  nstruct_in)
inline

Set the number of repeats to try.

References nstruct_.

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::set_output_format ( core::import_pose::FileType const  type)

Set the output format. (Automatically sets extension.)

This one sets silent output to false.

References core::import_pose::end_of_filetype_list, core::import_pose::extension_from_filetype(), outfile_extension_, output_filetype_, silent_output_, and core::import_pose::SRLZ_file.

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::set_output_prefix_and_suffix ( std::string const &  prefix,
std::string const &  suffix 
)

Set the prefix and suffix for output.

References outfile_prefix_, and outfile_suffix_.

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::set_silent_output ( )

Indicate that we're using silent output. This overrides set_ouput_format(), and sets the extension automatically.

References outfile_extension_, and silent_output_.

void protocols::helical_bundle_predict::HelicalBundlePredictApplication::set_up_centroid_move_generator ( )
private

Given the helix assignment file's contents, set up the HBP_HelixCoilMoveGenerator used in centroid mode..

The helix_assignment_file_content_ variable must be populated first!

References centroid_move_generator_, and options_.

Referenced by HelicalBundlePredictApplication().

Member Data Documentation

HBP_MoveGeneratorOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::centroid_move_generator_
private

Move generator for centroid-mode Monte Carlo.

Referenced by HelicalBundlePredictApplication(), run(), and set_up_centroid_move_generator().

core::scoring::ScoreFunctionOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::centroid_sfxn_
private

The scorefunction to use in centroid mode.

Referenced by HelicalBundlePredictApplication(), and run().

HBP_TemperatureScheduleGeneratorOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::centroid_temperature_generator_
private

Temperature schedule generator for centroid-mode Monte Carlo.

Referenced by run().

HBP_MoveGeneratorOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::final_fullatom_refinement_move_generator_
private

Move generator for the full-atom refinement move at the end.

Note
This generates a move that is applied ONCE.

Referenced by do_final_fullatom_refinement().

core::scoring::ScoreFunctionOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::fullatom_sfxn_
private

The scoring function to use for fullatom refinement steps.

Referenced by create_final_fullatom_refinement_move_generator(), and HelicalBundlePredictApplication().

core::pose::PoseCOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::native_pose_
private

The native pose. Loaded from disk when run() is called unless provided separately.

Referenced by align_to_native_pose(), load_native_pose_from_disk(), run(), and set_native().

core::Size protocols::helical_bundle_predict::HelicalBundlePredictApplication::nstruct_
private

Number of repeats to attempt.

Referenced by run(), and set_nstruct().

HelicalBundlePredictApplicationOptionsCOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::options_
private
std::string protocols::helical_bundle_predict::HelicalBundlePredictApplication::outfile_extension_ = "pdb"
private

The output extension.

Not used in MPI build.

Referenced by run(), set_output_format(), and set_silent_output().

std::string protocols::helical_bundle_predict::HelicalBundlePredictApplication::outfile_prefix_ = "result_"
private

The output prefix.

Not used in MPI build.

Referenced by run(), and set_output_prefix_and_suffix().

std::string protocols::helical_bundle_predict::HelicalBundlePredictApplication::outfile_suffix_ = ""
private

The output suffix.

Not used in MPI build.

Referenced by run(), and set_output_prefix_and_suffix().

core::import_pose::FileType protocols::helical_bundle_predict::HelicalBundlePredictApplication::output_filetype_ = core::import_pose::PDB_file
private

The output format.

Not used in MPI build.

Referenced by set_output_format().

core::pose::PoseOP protocols::helical_bundle_predict::HelicalBundlePredictApplication::pose_
private

The pose that we're working on.

Referenced by run().

bool protocols::helical_bundle_predict::HelicalBundlePredictApplication::silent_output_ = false
private

Are we doing silent output?

Not used in MPI build.

Referenced by run(), set_output_format(), and set_silent_output().


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