Rosetta
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
core::kinematics::jacobian::SeriesJacobians Class Reference

The SeriesJacobians class is the mid-level of the Jacobian analysis of a protein's kinematics relations. More...

#include <SeriesJacobians.hh>

Inheritance diagram for core::kinematics::jacobian::SeriesJacobians:
Inheritance graph
[legend]

Public Types

typedef utility::vector1< core::Sizeresidue_series
 typedef a vector containing a series of residue numbers More...
 

Public Member Functions

 SeriesJacobians ()=delete
 No default constructor because SeriesJacobian is not used on its own, but always as part of a JacobianStructure. More...
 
 SeriesJacobians (core::conformation::Conformation const &conformation, residue_series const &residue_set, core::id::AtomID const &ref_atom)
 Constructor based on a vector containing a series of residues. More...
 
 SeriesJacobians (SeriesJacobians const &src)
 Copy constructor. More...
 
 ~SeriesJacobians () override
 Destructor. More...
 
SeriesJacobiansOP clone () const
 Clone operation: make a copy of this object, and return an owning pointer to the copy. More...
 
utility::vector1< core::Sizeget_residues () const
 get residues that make up the chain More...
 
core::Size num_dofs () const
 get amount of DoFs of the chain More...
 
core::kinematics::MoveMapOP move_map () const
 get pointer to movemap More...
 
core::id::AtomID get_ref_atom_ID () const
 get reference atom used to express all vectors in all modules More...
 
utility::vector1< ModuleType1::jacobian_structget_Jacobian_matrices (core::conformation::Conformation const &conformation) const
 update all Jacobian matrices in the chain More...
 

Public Attributes

utility::vector1< core::kinematics::jacobian::ModuleType1OPmodules_
 vector with pointers to Jacobian modules More...
 

Private Member Functions

utility::vector1< core::kinematics::jacobian::ModuleType1OPinit_modules_amino_acids ()
 function that initializes the low-level Jacobian modules for a series of canonical amino acids More...
 
SeriesJacobianTypeEnum determine_residue_series_type (core::conformation::Conformation const &conformation, residue_series const &res_numbers)
 function to determine the type of the residues that make up the series More...
 

Private Attributes

utility::vector1< core::Sizeresidue_set_
 vector with residue series whose internal DoFs are free to move More...
 
core::Size number_dofs_
 number of dofs of the serial chain More...
 
core::id::AtomID ref_atom_ID_
 reference atom in which all vectors are expressed More...
 
core::kinematics::MoveMapOP move_map_ {nullptr}
 movemap of the series More...
 

Detailed Description

The SeriesJacobians class is the mid-level of the Jacobian analysis of a protein's kinematics relations.

Author
teunhoevenaars (teunh.nosp@m.oeve.nosp@m.naars.nosp@m.@gma.nosp@m.il.co.nosp@m.m)

Member Typedef Documentation

◆ residue_series

typedef a vector containing a series of residue numbers

Constructor & Destructor Documentation

◆ SeriesJacobians() [1/3]

core::kinematics::jacobian::SeriesJacobians::SeriesJacobians ( )
delete

No default constructor because SeriesJacobian is not used on its own, but always as part of a JacobianStructure.

◆ SeriesJacobians() [2/3]

core::kinematics::jacobian::SeriesJacobians::SeriesJacobians ( core::conformation::Conformation const &  conformation,
residue_series const &  residue_set,
core::id::AtomID const &  ref_atom_ID 
)

Constructor based on a vector containing a series of residues.

This function constructs SeriesJacobians object based on a series of residues. First it is determined what kind of residues the series consists of, because this determines which Jacobian modules need to be initialized.

Parameters
[in]residue_setthe provided vector with residue numbers needs to be in ascending order, but may contain gaps (e.g. a vector with residues [16, 17, 19, 23, 24, 25, 26] is fine).

References core::kinematics::jacobian::ALPHA_AA, determine_residue_series_type(), init_modules_amino_acids(), modules_, number_dofs_, ref_atom_ID_, and residue_set_.

◆ SeriesJacobians() [3/3]

core::kinematics::jacobian::SeriesJacobians::SeriesJacobians ( SeriesJacobians const &  src)
default

Copy constructor.

Copy constructor. Keep default unless deep copying is needed (and in that case, consider using DeepCopyOPs.)

◆ ~SeriesJacobians()

core::kinematics::jacobian::SeriesJacobians::~SeriesJacobians ( )
override

Destructor.

Member Function Documentation

◆ clone()

SeriesJacobiansOP core::kinematics::jacobian::SeriesJacobians::clone ( ) const

Clone operation: make a copy of this object, and return an owning pointer to the copy.

◆ determine_residue_series_type()

SeriesJacobianTypeEnum core::kinematics::jacobian::SeriesJacobians::determine_residue_series_type ( core::conformation::Conformation const &  conformation,
residue_series const &  res_numbers 
)
private

function to determine the type of the residues that make up the series

References core::kinematics::jacobian::ALPHA_AA, core::chemical::ResidueType::is_alpha_aa(), and core::conformation::Conformation::residue_type().

Referenced by SeriesJacobians().

◆ get_Jacobian_matrices()

utility::vector1< ModuleType1::jacobian_struct > core::kinematics::jacobian::SeriesJacobians::get_Jacobian_matrices ( core::conformation::Conformation const &  conformation) const

update all Jacobian matrices in the chain

obtain vector of structs with all Jacobian matrices in the series chain

References modules_.

◆ get_ref_atom_ID()

core::id::AtomID core::kinematics::jacobian::SeriesJacobians::get_ref_atom_ID ( ) const
inline

get reference atom used to express all vectors in all modules

References ref_atom_ID_.

◆ get_residues()

utility::vector1< core::Size > core::kinematics::jacobian::SeriesJacobians::get_residues ( ) const
inline

get residues that make up the chain

References residue_set_.

◆ init_modules_amino_acids()

utility::vector1< core::kinematics::jacobian::ModuleType1OP > core::kinematics::jacobian::SeriesJacobians::init_modules_amino_acids ( )
private

function that initializes the low-level Jacobian modules for a series of canonical amino acids

For canonical amino acids the internal DoFs are the phi and psi torsion angles. That knowledge is used to initialize the underlying Jacobian modules. First, the total number of DoFs in the residue series is calculated, and subsequently the residue series is complemented with "assisting residues" such that the series can be split up in modules of six torsion axes. This means that some of the torsion axes in the last module are actually constrained, which is captured by the variable dofs_module.

References core::id::BB, move_map_, number_dofs_, ref_atom_ID_, and residue_set_.

Referenced by SeriesJacobians().

◆ move_map()

core::kinematics::MoveMapOP core::kinematics::jacobian::SeriesJacobians::move_map ( ) const
inline

get pointer to movemap

References move_map_.

◆ num_dofs()

core::Size core::kinematics::jacobian::SeriesJacobians::num_dofs ( ) const
inline

get amount of DoFs of the chain

References number_dofs_.

Member Data Documentation

◆ modules_

utility::vector1< core::kinematics::jacobian::ModuleType1OP > core::kinematics::jacobian::SeriesJacobians::modules_

vector with pointers to Jacobian modules

Referenced by get_Jacobian_matrices(), and SeriesJacobians().

◆ move_map_

core::kinematics::MoveMapOP core::kinematics::jacobian::SeriesJacobians::move_map_ {nullptr}
private

movemap of the series

Referenced by init_modules_amino_acids(), and move_map().

◆ number_dofs_

core::Size core::kinematics::jacobian::SeriesJacobians::number_dofs_
private

number of dofs of the serial chain

Referenced by init_modules_amino_acids(), num_dofs(), and SeriesJacobians().

◆ ref_atom_ID_

core::id::AtomID core::kinematics::jacobian::SeriesJacobians::ref_atom_ID_
private

reference atom in which all vectors are expressed

Referenced by get_ref_atom_ID(), init_modules_amino_acids(), and SeriesJacobians().

◆ residue_set_

utility::vector1< core::Size > core::kinematics::jacobian::SeriesJacobians::residue_set_
private

vector with residue series whose internal DoFs are free to move

Referenced by get_residues(), init_modules_amino_acids(), and SeriesJacobians().


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