Rosetta 3.5
 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::abinitio::AbrelaxApplication Class Reference

application level code for Abrelax, Foldconstraints and JumpingFoldconstraints More...

#include <AbrelaxApplication.hh>

Collaboration diagram for protocols::abinitio::AbrelaxApplication:
Collaboration graph
[legend]

Public Member Functions

 AbrelaxApplication ()
 c'stor - nothing special More...
 
virtual ~AbrelaxApplication ()
 Explicit virtual destructor since AbrelaxApplication contains OPs NOTE: any time you define a class that is derived from by other classes and which contains polymorphic functions, it needs to have a virtual destructor. If your class derives from ReferenceCount, then it will inherit a virtual destructor If it does not, as AbrelaxApplication does not, then you must declare the destructor virtual. More...
 
 AbrelaxApplication (AbrelaxApplication const &)
 Explicit copy constructor since AbrelaxApplication contains OPs. More...
 
void process_decoy (core::pose::Pose &pose, core::scoring::ScoreFunction const &, std::string tag, core::io::silent::SilentStruct &) const
 diagnostic stuff, i.e., computing numbers like an RMSD for each decoy and storing in silent-score-file put everything in here. — actually it mainly calls the evaluator_->apply method. add diagnostic stuff either here as explicit code or in form of a PoseEvaluator to evaluator_ ( see setup () ) the latter has the advantage that the specific evaluation can be carried out during the run of the protocol e.g., for abinitio:debug ( output to stage1_outfile stage2_outfile... ) More...
 
void add_constraints (core::pose::Pose &pose)
 read constraint set (self-initializing) and connect it to pose More...
 
void setup ()
 initialization of application: read some pdb files, set evaluator_ More...
 
void run ()
 run application code: calls do_rerun() or fold() depending on cmd-options More...
 
void do_rerun ()
 run process_decoy on all poses in silent-in file More...
 
void do_distributed_rerun ()
 run process_decoy on all poses in silent-in file – use of JobDistributor More...
 
void setup_fold (core::pose::Pose &extended_pose, ProtocolOP &prot_ptr)
 setup everything needed for fold() — calls helper functions below More...
 
void fold (core::pose::Pose &extended_pose, ProtocolOP prot_ptr)
 run abrelax-type protocols More...
 
bool close_loops (core::pose::Pose &pose, core::scoring::ScoreFunctionOP scorefxn, std::string const &tag)
 return pose with simple fold-tree that has small <0.1 RMSD to input pose More...
 
void relax (core::pose::Pose &pose, core::scoring::ScoreFunctionOP, std::string const &tag)
 relax structure ( fast / classic as controlled by cmd-options ) More...
 
bool multi_fast_relax (Protocol &abinitio_protocol, core::scoring::ScoreFunctionOP, jobdist::PlainSilentFileJobDistributor jobdist, int &curr_nstruct, jobdist::BasicJobOP &curr_job)
 relax multiple structures that are stored in abinitio_protocol.structure_store More...
 
void add_evaluation (evaluation::PoseEvaluatorOP)
 little helper: minimize structure to have lower chainbreak score ( seems particularly necessary after reading from silent-file ) More...
 
bool check_filters (core::pose::Pose &pose)
 check if the given pose passes the set of abinitio filters. More...
 

Static Public Member Functions

static void register_options ()
 

Private Member Functions

core::scoring::ScoreFunctionOP generate_scorefxn (bool fullatom=false)
 create score-functions for centroid and fullatom level More...
 
void copy_native_structure (core::pose::Pose &extended_pose) const
 -— Helper functions for setup_fold More...
 
void copy_structure (core::pose::Pose &extended_pose, core::pose::Pose &desired_pose) const
 copy torsions from the desired_pose, copy them into the extended_pose. More...
 
void generate_extended_pose (core::pose::Pose &extended_pose, std::string const &sequence) const
 steal native torsions from native_pose_ and apply to the "extended_pose" More...
 
void setup_fragments ()
 read fragment data More...
 
void setup_jumps (core::pose::Pose const &extended_pose)
 read jump definitions and set jump_def_ More...
 
void setup_membrane_topology (core::pose::Pose &pose, std::string spanfile) const
 read in membrane topology More...
 
void setup_templates ()
 initialize template_ More...
 
void insert_template_frags (core::pose::Pose &, core::kinematics::MoveMapOP movemap, std::string tag) const
 insert fragments from aligned regions More...
 
void initialize_constraint_forest (core::pose::Pose &pose)
 

Private Attributes

core::io::silent::SilentFileDataOP silent_score_file_
 
core::pose::PoseOP native_pose_
 
core::pose::PoseOP init_pose_obj_
 
loops::Loops loops_in_
 
evaluation::PCA_OP pca_
 
bool bRelax_
 
std::string sequence_
 
core::scoring::constraints::ConstraintSetOP cstset_
 
jumping::MembraneJumpOP membrane_jumps_
 
jumping::BaseJumpSetupOP jump_def_
 
core::fragment::SecondaryStructureOP ss_def_
 
TemplatesOP templates_
 
core::fragment::FragSetOP fragset_large_
 
core::fragment::FragSetOP fragset_small_top25_
 
core::fragment::FragSetOP fragset_small_
 
core::fragment::FragSetOP fragset_templates_
 
evaluation::MetaPoseEvaluatorOP evaluator_
 
checkpoint::CheckPointer abrelax_checkpoints_
 

Detailed Description

application level code for Abrelax, Foldconstraints and JumpingFoldconstraints

Definition at line 79 of file AbrelaxApplication.hh.

Constructor & Destructor Documentation

protocols::abinitio::AbrelaxApplication::AbrelaxApplication ( )

c'stor - nothing special

Definition at line 398 of file AbrelaxApplication.cc.

protocols::abinitio::AbrelaxApplication::~AbrelaxApplication ( )
virtual

Explicit virtual destructor since AbrelaxApplication contains OPs NOTE: any time you define a class that is derived from by other classes and which contains polymorphic functions, it needs to have a virtual destructor. If your class derives from ReferenceCount, then it will inherit a virtual destructor If it does not, as AbrelaxApplication does not, then you must declare the destructor virtual.

Definition at line 413 of file AbrelaxApplication.cc.

protocols::abinitio::AbrelaxApplication::AbrelaxApplication ( AbrelaxApplication const &  src)

Explicit copy constructor since AbrelaxApplication contains OPs.

Shallow copy to mimic the pre 9/8/09 compiler-generated version of this method. If you add new

Definition at line 417 of file AbrelaxApplication.cc.

Member Function Documentation

void protocols::abinitio::AbrelaxApplication::add_constraints ( core::pose::Pose pose)
void protocols::abinitio::AbrelaxApplication::add_evaluation ( evaluation::PoseEvaluatorOP  eval)

little helper: minimize structure to have lower chainbreak score ( seems particularly necessary after reading from silent-file )

add a PoseEvaluator derived instance for decoy-processing

add a PoseEvaluator derived instance for decoy-processing

Definition at line 439 of file AbrelaxApplication.cc.

References evaluator_.

Referenced by add_constraints(), do_distributed_rerun(), do_rerun(), fold(), setup(), and setup_jumps().

bool protocols::abinitio::AbrelaxApplication::check_filters ( core::pose::Pose pose)

check if the given pose passes the set of abinitio filters.

Definition at line 1667 of file AbrelaxApplication.cc.

References core::scoring::saxs::ref_spectrum, core::pose::setPoseExtraScores(), and tr().

Referenced by protocols::abinitio::DomainAssembly::apply(), do_distributed_rerun(), do_rerun(), and fold().

bool protocols::abinitio::AbrelaxApplication::close_loops ( core::pose::Pose pose,
core::scoring::ScoreFunctionOP  scorefxn,
std::string const &  tag 
)
void protocols::abinitio::AbrelaxApplication::copy_native_structure ( core::pose::Pose extended_pose) const
private

-— Helper functions for setup_fold

steal native torsions from native_pose_ and apply to the extended_pose.

called by setup_fold() if option[ start_native ] is active the routine defines a fragment of the length of the structure steals the fragment from the native and applies it to the decoy native needs to be idealized!

Definition at line 1071 of file AbrelaxApplication.cc.

References copy_structure(), native_pose_, and tr().

Referenced by setup_fold().

void protocols::abinitio::AbrelaxApplication::copy_structure ( core::pose::Pose extended_pose,
core::pose::Pose desired_pose 
) const
private

copy torsions from the desired_pose, copy them into the extended_pose.

Definition at line 1078 of file AbrelaxApplication.cc.

References core::conformation::Residue::is_protein(), core::pose::Pose::residue(), core::pose::Pose::total_residue(), and tr().

Referenced by copy_native_structure(), and setup_fold().

void protocols::abinitio::AbrelaxApplication::do_distributed_rerun ( )
void protocols::abinitio::AbrelaxApplication::do_rerun ( )

run process_decoy on all poses in silent-in file

loop over structures in silent-input file small trick is used to also have native structure in the set of analysis: it is added to the collection of silent_file-structures manually TODO we need to do something about difference between fullatom and centroid input!

Definition at line 776 of file AbrelaxApplication.cc.

References add_constraints(), add_evaluation(), core::io::silent::SilentFileData::begin(), core::chemical::CENTROID, check_filters(), close_loops(), core::sequence::end, core::io::silent::SilentFileData::end(), evaluator_, core::chemical::FA_STANDARD, generate_scorefxn(), core::pose::Pose::is_fullatom(), core::scoring::linear_chainbreak, core::pose::Pose::metric(), native_pose_, core::scoring::overlap_chainbreak, protocols::ligand_docking::passes_filters(), process_decoy(), core::io::silent::SilentFileData::read_file(), silent_score_file_, core::io::silent::SilentFileData::size(), and tr().

Referenced by run().

void protocols::abinitio::AbrelaxApplication::fold ( core::pose::Pose init_pose,
ProtocolOP  prot_ptr 
)

run abrelax-type protocols

everything happens in fold()! setup of stuff that is not needed for rerun() read fragments [ optional ] steal fragments ( take fragments from native pose )

Definition at line 1739 of file AbrelaxApplication.cc.

References abrelax_checkpoints_, add_evaluation(), core::io::silent::SilentFileData::add_structure(), protocols::moves::AddPyMolObserver(), protocols::abinitio::ResolutionSwitcher::apply(), protocols::loops::loop_mover::refine::LoopMover_Refine_KIC::apply(), protocols::abinitio::Protocol::apply(), protocols::idealize::IdealizeMover::apply(), bRelax_, core::scoring::methods::ContactOrderEnergy::calculate_contact_order(), check_filters(), protocols::checkpoint::CheckPointer::checkpoint(), protocols::loops::Loop::choose_cutpoint(), protocols::checkpoint::CheckPointer::clear_checkpoints(), close_loops(), core::pose::Pose::constraint_set(), cstset_, core::kinematics::FoldTree::cutpoint(), core::pose::Pose::data(), core::pack::interaction_graph::debug, protocols::checkpoint::CheckPointer::debug(), core::pose::Pose::dump_pdb(), evaluator_, protocols::idealize::IdealizeMover::fast(), core::pose::Pose::fold_tree(), protocols::loops::fold_tree_from_loops(), generate_scorefxn(), protocols::checkpoint::CheckPointer::get_checkpoint_recoveries(), protocols::abinitio::Protocol::get_checkpoints(), core::scoring::constraints::get_cst_fa_file_option(), protocols::moves::Mover::get_current_tag(), core::scoring::constraints::ConstraintIO::get_instance(), protocols::moves::Mover::get_last_move_status(), core::pose::Pose::is_fullatom(), membrane_jumps_, protocols::moves::MS_SUCCESS, multi_fast_relax(), core::kinematics::FoldTree::num_cutpoint(), core::pose::Pose::omega(), protocols::ligand_docking::passes_filters(), core::pose::Pose::phi(), process_decoy(), core::pose::Pose::psi(), core::scoring::constraints::ConstraintIO::read_constraints(), protocols::checkpoint::CheckPointer::recover_checkpoint(), relax(), protocols::abinitio::RG(), protocols::abinitio::Protocol::set_centroid_scorefxn(), protocols::moves::Mover::set_current_job(), protocols::moves::Mover::set_current_tag(), protocols::abinitio::Protocol::set_evaluation(), protocols::abinitio::Protocol::set_fullatom_scorefxn(), protocols::abinitio::ResolutionSwitcher::set_map_cst_from_centroid_to_fa(), core::pose::Pose::set_omega(), core::pose::Pose::set_phi(), core::pose::Pose::set_psi(), protocols::loops::Loop::set_start(), protocols::relax::ClassicRelax::setPoseExtraScores(), core::pose::setPoseExtraScores(), core::scoring::SS_Killhairpins_Info::setup_killhairpins(), silent_score_file_, core::kinematics::FoldTree::simple_tree(), core::pose::datacache::CacheableDataType::SS_KILLHAIRPINS_INFO, protocols::loops::Loop::start(), core::io::silent::SilentFileData::strict_column_mode(), core::pose::Pose::total_residue(), tr(), and core::io::silent::SilentFileData::write_silent_struct().

Referenced by run().

void protocols::abinitio::AbrelaxApplication::generate_extended_pose ( core::pose::Pose extended_pose,
std::string const &  sequence 
) const
private
core::scoring::ScoreFunctionOP protocols::abinitio::AbrelaxApplication::generate_scorefxn ( bool  fullatom = false)
private
void protocols::abinitio::AbrelaxApplication::initialize_constraint_forest ( core::pose::Pose pose)
private

Definition at line 638 of file AbrelaxApplication.cc.

References tr().

Referenced by setup_fold().

void protocols::abinitio::AbrelaxApplication::insert_template_frags ( core::pose::Pose pose,
core::kinematics::MoveMapOP  movemap,
std::string  tag 
) const
private

insert fragments from aligned regions

Definition at line 750 of file AbrelaxApplication.cc.

References core::fragment::FragmentIO::read_data(), and protocols::abinitio::RG().

bool protocols::abinitio::AbrelaxApplication::multi_fast_relax ( Protocol abinitio_protocol,
core::scoring::ScoreFunctionOP  ,
jobdist::PlainSilentFileJobDistributor  jobdist,
int curr_nstruct,
jobdist::BasicJobOP curr_job 
)

relax multiple structures that are stored in abinitio_protocol.structure_store

do fast relax on multiple structures that have been visited during abinitio-protocol. MIKE: please give more documentation to this

Definition at line 2050 of file AbrelaxApplication.cc.

Referenced by fold().

void protocols::abinitio::AbrelaxApplication::process_decoy ( core::pose::Pose pose,
core::scoring::ScoreFunction const &  scorefxn,
std::string  tag,
core::io::silent::SilentStruct pss 
) const

diagnostic stuff, i.e., computing numbers like an RMSD for each decoy and storing in silent-score-file put everything in here. — actually it mainly calls the evaluator_->apply method. add diagnostic stuff either here as explicit code or in form of a PoseEvaluator to evaluator_ ( see setup () ) the latter has the advantage that the specific evaluation can be carried out during the run of the protocol e.g., for abinitio:debug ( output to stage1_outfile stage2_outfile... )

run all evaluations on the decoy from this function if you want these evaluations also available during internal stages of the protocols –> put them into a PoseEvaluator and use add_evaluation in setup() otherwise you can also use "manual" code right here in process_decoy –> this will only appear in final silent_out and silent_score - files.

Definition at line 604 of file AbrelaxApplication.cc.

References protocols::evaluation::MetaPoseEvaluator::add_evaluation(), protocols::evaluation::MetaPoseEvaluator::apply(), core::pose::Pose::data(), evaluator_, core::io::silent::SilentStruct::fill_struct(), core::pose::Pose::fold_tree(), native_pose_, core::pose::Pose::num_jump(), and tr().

Referenced by do_distributed_rerun(), do_rerun(), and fold().

void protocols::abinitio::AbrelaxApplication::register_options ( )
static

registering of options that are relevant for AbrelaxApplication

Definition at line 212 of file AbrelaxApplication.cc.

References core::pack::interaction_graph::debug, and protocols::evaluation::register_options().

void protocols::abinitio::AbrelaxApplication::relax ( core::pose::Pose pose,
core::scoring::ScoreFunctionOP  scorefxn,
std::string const &  tag 
)
void protocols::abinitio::AbrelaxApplication::run ( )

run application code: calls do_rerun() or fold() depending on cmd-options

after setup() run either fold() or rerun()

Definition at line 2117 of file AbrelaxApplication.cc.

References do_distributed_rerun(), do_rerun(), fold(), setup(), and setup_fold().

void protocols::abinitio::AbrelaxApplication::setup ( )
void protocols::abinitio::AbrelaxApplication::setup_fold ( core::pose::Pose extended_pose,
ProtocolOP prot_ptr 
)

setup everything needed for fold() — calls helper functions below

setup_fold() all initialization that is necessary to run abinitio production loop in fold() read fragments, make pose from sequence, get constraints, set jumps, movemap .etc the two parameters are OUTPUT: extended_pose to run A) with ( might actually contain native starting structure (option!) ) prot_ptr: an initialized instance of ClassicAbinitio, FoldConstraints or JumpingFoldConstraints depending on user settings.

Definition at line 1400 of file AbrelaxApplication.cc.

References add_constraints(), protocols::simple_moves::RepulsiveOnlyMover::apply(), bRelax_, core::chemical::CENTROID, core::pose::Pose::conformation(), core::pose::Pose::constraint_set(), copy_native_structure(), copy_structure(), core::pack::interaction_graph::debug, core::io::raw_data::DisulfideFile::disulfides(), core::sequence::end, evaluator_, core::chemical::FA_STANDARD, protocols::abinitio::filename(), core::conformation::Conformation::fix_disulfides(), core::pose::Pose::fold_tree(), fragset_large_, fragset_small_, fragset_small_top25_, generate_extended_pose(), core::chemical::ChemicalManager::get_instance(), protocols::loops::Loops::grow_all_loops(), protocols::abinitio::Protocol::init(), initialize_constraint_forest(), protocols::loops::Loops::invert(), core::pose::Pose::is_fullatom(), jump_def_, loops_in_, membrane_jumps_, native_pose_, core::import_pose::pose_from_pdb(), core::chemical::ChemicalManager::residue_type_set(), protocols::abinitio::Protocol::return_centroid(), sequence_, core::kinematics::MoveMap::set_bb(), protocols::abinitio::Protocol::set_evaluation(), protocols::moves::Mover::set_native_pose(), setup_fragments(), setup_jumps(), setup_membrane_topology(), core::kinematics::simple_visualize_fold_tree(), ss_def_, protocols::loops::start, core::pose::Pose::total_residue(), tr(), and protocols::loops::Loops::verify_against().

Referenced by run().

void protocols::abinitio::AbrelaxApplication::setup_fragments ( )
private

read fragment data

called by setup_fold(): read fragment libraries, I strongly suggest to use different options than A and B if option[ steal ] fragments from the native structure are added to the set. native structure needs to be idealized for this!

Definition at line 1139 of file AbrelaxApplication.cc.

References fragset_large_, fragset_small_, fragset_small_top25_, fragset_templates_, core::fragment::merge_frags(), native_pose_, core::fragment::steal_frag_set_from_pose(), templates_, and tr().

Referenced by close_loops(), and setup_fold().

void protocols::abinitio::AbrelaxApplication::setup_jumps ( core::pose::Pose const &  extended_pose)
private

read jump definitions and set jump_def_

called by setup_fold(). Read jump definitions / barcodes (not yet) etc. if jump_def_ points to an object we will use JumpFoldConstraint-protocol in fold()

Definition at line 1279 of file AbrelaxApplication.cc.

References add_evaluation(), fragset_small_, jump_def_, native_pose_, core::scoring::dssp::read_pairing_list(), ss_def_, templates_, core::pose::Pose::total_residue(), and tr().

Referenced by setup_fold().

void protocols::abinitio::AbrelaxApplication::setup_membrane_topology ( core::pose::Pose pose,
std::string  spanfile 
) const
private
void protocols::abinitio::AbrelaxApplication::setup_templates ( )
private

initialize template_

called by setup_fold(). Read template definitions

Definition at line 1254 of file AbrelaxApplication.cc.

References fragset_large_, native_pose_, sequence_, templates_, and tr().

Referenced by setup().

Member Data Documentation

checkpoint::CheckPointer protocols::abinitio::AbrelaxApplication::abrelax_checkpoints_
private

Definition at line 248 of file AbrelaxApplication.hh.

Referenced by close_loops(), fold(), and relax().

bool protocols::abinitio::AbrelaxApplication::bRelax_
private

Definition at line 210 of file AbrelaxApplication.hh.

Referenced by do_distributed_rerun(), fold(), and setup_fold().

core::scoring::constraints::ConstraintSetOP protocols::abinitio::AbrelaxApplication::cstset_
private

Definition at line 216 of file AbrelaxApplication.hh.

Referenced by add_constraints(), fold(), and generate_scorefxn().

evaluation::MetaPoseEvaluatorOP protocols::abinitio::AbrelaxApplication::evaluator_
private
core::fragment::FragSetOP protocols::abinitio::AbrelaxApplication::fragset_large_
private

Definition at line 233 of file AbrelaxApplication.hh.

Referenced by setup_fold(), setup_fragments(), and setup_templates().

core::fragment::FragSetOP protocols::abinitio::AbrelaxApplication::fragset_small_
private

Definition at line 239 of file AbrelaxApplication.hh.

Referenced by close_loops(), setup_fold(), setup_fragments(), and setup_jumps().

core::fragment::FragSetOP protocols::abinitio::AbrelaxApplication::fragset_small_top25_
private

Definition at line 236 of file AbrelaxApplication.hh.

Referenced by setup_fold(), and setup_fragments().

core::fragment::FragSetOP protocols::abinitio::AbrelaxApplication::fragset_templates_
private

Definition at line 242 of file AbrelaxApplication.hh.

Referenced by setup_fragments().

core::pose::PoseOP protocols::abinitio::AbrelaxApplication::init_pose_obj_
private

Definition at line 201 of file AbrelaxApplication.hh.

jumping::BaseJumpSetupOP protocols::abinitio::AbrelaxApplication::jump_def_
private

Definition at line 224 of file AbrelaxApplication.hh.

Referenced by generate_scorefxn(), setup_fold(), and setup_jumps().

loops::Loops protocols::abinitio::AbrelaxApplication::loops_in_
private

Definition at line 204 of file AbrelaxApplication.hh.

Referenced by do_distributed_rerun(), and setup_fold().

jumping::MembraneJumpOP protocols::abinitio::AbrelaxApplication::membrane_jumps_
private

Definition at line 221 of file AbrelaxApplication.hh.

Referenced by fold(), and setup_fold().

core::pose::PoseOP protocols::abinitio::AbrelaxApplication::native_pose_
private
evaluation::PCA_OP protocols::abinitio::AbrelaxApplication::pca_
private

Definition at line 207 of file AbrelaxApplication.hh.

Referenced by protocols::abinitio::PcaEvaluator::apply(), and setup().

std::string protocols::abinitio::AbrelaxApplication::sequence_
private

Definition at line 213 of file AbrelaxApplication.hh.

Referenced by setup(), setup_fold(), and setup_templates().

core::io::silent::SilentFileDataOP protocols::abinitio::AbrelaxApplication::silent_score_file_
private

----------— Data ----------------------------— -----— When you add new data to this class, -— -----— you must update the copy constructor -—

Definition at line 195 of file AbrelaxApplication.hh.

Referenced by do_distributed_rerun(), do_rerun(), fold(), and setup().

core::fragment::SecondaryStructureOP protocols::abinitio::AbrelaxApplication::ss_def_
private

Definition at line 227 of file AbrelaxApplication.hh.

Referenced by setup_fold(), and setup_jumps().

TemplatesOP protocols::abinitio::AbrelaxApplication::templates_
private

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