Rosetta 3.4
ObjexxFCL Namespace Reference

A class for defining residue. More...


namespace  fmt

Detailed Description

A class for defining residue.

Objexx Fortran Compatibility Library.

ObjexxFCL headers.

Application level code for relax-type protocols.

C++ headers.


This class contains the "chemical" information for residues. This does not contain the actual xyz coordinates of the class (xyz found in core/conformation/Residue.hh). A residue in Rosetta can be a ligand, DNA, amino acid, or basically anything. A residue is read in through and read from parameter files, generally located in the database chemical/residuetypes. For ligands, or anything that is not the natural 20 aa, a parameter has to be provided to rosetta through the -extra_res_fa flag. Residue_io sets private member data in ResidueType. The primary data that are set are: atoms, mmatoms, orbitals, properties of residues. These properties can be modified through patches, which is controlled through If the residuetype is modified, the indices of atoms and mmatoms and everything associated with those indices must be redefined. This redordering of indices is taken care of with the function reorder_primary_data().

Setting of primary data and then reordering is important. Primary data for the following are described:

atoms: setting of atoms includes indexing the atoms into vectors, saving their names into vectors/maps, saving the associated mm_atom_type into a vector, saving bond connections into vectors, etc, etc. Since everything is allocated into vectors, it is easy to reorder those vectors. On any given residue, the heavy atoms are put into the vector first (their indices are first) and hydrogens are put in last.

properties: properties of a residue include things like DNA, PROTEIN, SC_ORBITALS, CHARGED, etc. These properties indicate the type of residue it is and what properties that are asscociated with the residue. They are set when read in. Several lines of code must be modified to get them to work, all found in

orbitals: orbitals are indexed seperate from atoms. They function much the same way as atoms, except for some key differences. To find atoms bonded to orbitals, you must provide the atom index, not the orbital index. I havent figured out how to get the reverse to work because of the seperate indices. Orbital xyz coordinates are not updated when atom coordinates are. This is to keep speed consistent with just having atoms. To output the orbitals, use the flag -output_orbitals

Phil Bradley Steven Combs - these comments

use AbrelaxApplication in the following way:

AbrelaxApplication::register_options(); core::init AbrelaxAppliaction my_app; my_app.add_evaluation( new MySpecialEvaluator ); ...;

--------------------------------------- control flow: the run method calls setup() and then either fold() or rerun() (depending on option -rerun )

each decoy is evaluated by process_decoy() and results are written to the score-file (if specified) or to the silent_output file ( if applicable ). the score file is a silent-file without structural data ( just SCORE lines )

rerun(): run thru structures in in:file:silent and call process_decoy for each fold(): produce structures with an Abinitio-type protocol and call process_decoy

options specific to AbrelaxApplication can be found by using -help at the command-line. if you add new options please follow the scheme in the static method register options

the behaviour of AbrelaxApplication is controlled by comman-line-options. Refer to -help (usage) and the code

information that is not always present is stored as xxxOP, and the NULL-pointer is interpreted that the respective behaviour is not present. (i.e., native_pose_ is either pointing to the native pose (-native) or to NULL. when you use such pointers ask if they are non-NULL.

Oliver Lange
Christopher Miles (
Mike Tyka
Rhiju Das
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines