Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Private Member Functions | List of all members
protocols::jd2::DockDesignParser Class Reference

Reading the xml file and generating the mover. More...

#include <DockDesignParser.hh>

Inheritance diagram for protocols::jd2::DockDesignParser:
Inheritance graph
[legend]
Collaboration diagram for protocols::jd2::DockDesignParser:
Collaboration graph
[legend]

Public Types

typedef
protocols::moves::MoverFactory 
MoverFactory
 
typedef
protocols::moves::MoverFactoryOP 
MoverFactoryOP
 
- Public Types inherited from protocols::jd2::Parser
typedef core::pose::Pose Pose
 
typedef protocols::moves::Mover Mover
 
typedef protocols::moves::MoverOP MoverOP
 

Public Member Functions

 DockDesignParser ()
 
virtual ~DockDesignParser ()
 
virtual bool generate_mover_from_pose (JobCOP job, Pose &pose, MoverOP &mover, bool new_input, std::string const xml_fname)
 
void register_factory_prototypes ()
 Factories avoid requiring compiler dependencies for all possible constructible derived classes, by allowing runtime registration of derived class prototypes. However, this requires pre-registration of a derived type with the factory prior to asking the factory to return an instance of that type. This method registers those additional derived classes that are available for construction in the DockDesignParser context. TO-DO: replace this manual factory registration system with a load-time-initialized singleton scheme (see r32404 for example) More...
 
- Public Member Functions inherited from protocols::jd2::Parser
virtual ~Parser ()
 
void generate_mover_from_job (JobOP job, MoverOP &mover, bool new_input)
 generate_mover_from_job is the function called by the job distributor to request a mover. It is defined in the base class (this class) and handles unpackaging the job and passes the work to generate_mover_from_pose. The pose is repackaged into the JobOP so that jobs starting off that pose are properly modified. More...
 

Static Private Member Functions

static void substitute_variables_in_stream (std::istream &in, utility::options::StringVectorOption const &script_vars, std::stringstream &out)
 Create a variable substituted version of the input stream, given a StringVectorOption formated list of variables to substitiute. Each item in script_vars should be in the form of "variable=value", where "value" is the string to substitiute into the input stream whereever the string "%%variable%%" is found in the input. More...
 

Detailed Description

Reading the xml file and generating the mover.

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::jd2::DockDesignParser::DockDesignParser ( )
protocols::jd2::DockDesignParser::~DockDesignParser ( )
virtual

Member Function Documentation

bool protocols::jd2::DockDesignParser::generate_mover_from_pose ( JobCOP  job,
Pose pose,
MoverOP in_mover,
bool  new_input,
std::string const  xml_fname 
)
virtual

Uses the Tag interface to the xml reader library in boost to parse an xml file that contains design protocol information. A sample protocol file can be found in src/pilot/apps/sarel/dock_design.protocol. SCOREFXNS provides a way to define scorefunctions as they are defined in the rosetta database, using the weights/patch convenctions. Several default scorefunctions are preset and can be used without defining them explicitly. FILTERS defines a set of filters that can be used together with the dockdesign movers to prune out poses that don't meet certain criteria MOVERS defines the movers that will be used PROTOCOLS is the only order-sensitive section where subsequent movers and filters are expected to be defined. These movers and filters were defined in the previous two sections. The order in which the protocols are specified by the user will be maintained by the DockDesign mover. APPLY_TO_POSE This section allows for certain movers to be applied to the pose prior to starting the DockDesign protocol. For instance, these movers could set constraints, such as favor_native_residue. In this case, for example, the weights of res_type_constraint in all of the scorefunctions that are defined in SCOREFXNS or by default are set to 1.0, but can be changed by the user globally (in the definition of the weight on the constraint), or in particular for each of the scorefunctions by changing the relevant term (which is set by default to the global value). OUTPUT is a section which allows the XML control of how things are output Notice that the order of the sections by which the protocol is written doesn't matter, BUT the order of the mover-filter pairs in PROTOCOLS section does matter.

Implements protocols::jd2::Parser.

References protocols::moves::DataMap::add(), core::scoring::ScoreFunctionFactory::create_score_function(), core::scoring::DOCK_PATCH, protocols::moves::MoverFactory::get_instance(), protocols::filters::FilterFactory::get_instance(), core::scoring::getScoreFunction(), protocols::rosetta_scripts::parse_score_function(), core::scoring::SCORE12_PATCH, core::scoring::SOFT_REP_DESIGN_WTS, core::scoring::STANDARD_WTS, and substitute_variables_in_stream().

void protocols::jd2::DockDesignParser::register_factory_prototypes ( )

Factories avoid requiring compiler dependencies for all possible constructible derived classes, by allowing runtime registration of derived class prototypes. However, this requires pre-registration of a derived type with the factory prior to asking the factory to return an instance of that type. This method registers those additional derived classes that are available for construction in the DockDesignParser context. TO-DO: replace this manual factory registration system with a load-time-initialized singleton scheme (see r32404 for example)

Referenced by DockDesignParser().

void protocols::jd2::DockDesignParser::substitute_variables_in_stream ( std::istream &  in,
utility::options::StringVectorOption const &  script_vars,
std::stringstream &  out 
)
staticprivate

Create a variable substituted version of the input stream, given a StringVectorOption formated list of variables to substitiute. Each item in script_vars should be in the form of "variable=value", where "value" is the string to substitiute into the input stream whereever the string "%%variable%%" is found in the input.

Having the return value be passed through a parameter is to get around some copy-constructor limitations of C++ streams.

References core::sequence::end.

Referenced by generate_mover_from_pose().


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