Rosetta  2019.07
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
numeric::kinematic_closure::radians Namespace Reference

Functions

void triangle (const utility::fixedsizearray1< Real, 3 > &vbond, utility::fixedsizearray1< Real, 3 > &calpha, utility::fixedsizearray1< Real, 3 > &salpha)
 
void triangle (const utility::fixedsizearray1< Real, 3 > &vbond, utility::fixedsizearray1< Real, 4 > &calpha, utility::fixedsizearray1< Real, 4 > &salpha)
 
void sincos (const utility::fixedsizearray1< Real, 3 > &theta, const int flag, utility::fixedsizearray1< Real, 3 > &cosine, utility::fixedsizearray1< Real, 3 > &sine)
 
void sincos (const utility::fixedsizearray1< Real, 3 > &theta, const int flag, utility::fixedsizearray1< Real, 4 > &cosine, utility::fixedsizearray1< Real, 4 > &sine)
 
void triaxialCoefficients (const utility::fixedsizearray1< Real, 3 > &vb, const utility::fixedsizearray1< Real, 3 > &xi, const utility::fixedsizearray1< Real, 3 > &eta, const utility::fixedsizearray1< Real, 3 > &delta, const utility::fixedsizearray1< Real, 3 > &theta, const utility::vector1< int > &order, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &A, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &B, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &C, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &D, utility::fixedsizearray1< Real, 3 > &cal, utility::fixedsizearray1< Real, 3 > &sal, bool &feasible_triangle)
 
void cross (const utility::fixedsizearray1< Real, 3 > &L, const utility::fixedsizearray1< Real, 3 > &r0, utility::fixedsizearray1< Real, 3 > &r)
 
void frame (const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &R, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &U)
 
Real eucDistance (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b)
 
Real scpn (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b, const utility::fixedsizearray1< Real, 3 > &c)
 
Real bondangle (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b, const utility::fixedsizearray1< Real, 3 > &c)
 
Real torsion (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b, const utility::fixedsizearray1< Real, 3 > &c, const utility::fixedsizearray1< Real, 3 > &d)
 
void chainParams (const int &n, const utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms, Real &vbond, Real &xi, Real &eta, Real &delta, utility::fixedsizearray1< Real, 3 > &R0, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &Q)
 
void chainXYZ (const int &n, const utility::vector1< Real > &b_len1, const utility::vector1< Real > &b_ang1, const utility::vector1< Real > &t_ang1, const bool space, const utility::fixedsizearray1< Real, 3 > &R0, const utility::vector1< utility::fixedsizearray1< Real, 3 > > &Q, utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms)
 
void chainXYZ (const int &n, const utility::vector1< Real > &b_len, const utility::vector1< Real > &b_ang, const utility::vector1< Real > &t_ang, utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms)
 
void chainTORS (const int n, const utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms, utility::vector1< Real > &t_ang, utility::vector1< Real > &b_ang, utility::vector1< Real > &b_len, utility::fixedsizearray1< Real, 3 > &R0, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &Q)
 
void rotateX (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &R, const Real &c, const Real &s, utility::vector1< utility::fixedsizearray1< Real, 3 > > &Rx)
 
void rotateY (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &R, const Real &c, const Real &s, utility::vector1< utility::fixedsizearray1< Real, 3 > > &Ry)
 
void rotateZ (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &R, const Real &c, const Real &s, utility::vector1< utility::fixedsizearray1< Real, 3 > > &Rz)
 
void to_radians (utility::vector1< Real > &degrees)
 
void to_degrees (utility::vector1< Real > &radians)
 
void bridge_objects (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms, const utility::vector1< Real > &dt, const utility::vector1< Real > &da, const utility::vector1< Real > &db, const utility::vector1< int > &pivots, const utility::vector1< int > &order, utility::vector1< utility::vector1< Real > > &t_ang, utility::vector1< utility::vector1< Real > > &b_ang, utility::vector1< utility::vector1< Real > > &b_len, int &nsol)
 Solve the triaxial loop closure problem for a system of atoms. More...
 
void chainXYZ (const int &n, const utility::vector1< numeric::Real > &b_len, const utility::vector1< numeric::Real > &b_ang, const utility::vector1< numeric::Real > &t_ang, const bool space, const utility::fixedsizearray1< numeric::Real, 3 > &R0, const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &Q, utility::vector1< utility::fixedsizearray1< numeric::Real, 3 > > &atoms)
 

Function Documentation

numeric::Real numeric::kinematic_closure::radians::bondangle ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b,
const utility::fixedsizearray1< Real, 3 > &  c 
)
Returns
the bond angle between the given vectors in radians.

References eucDistance(), and scpn().

Referenced by chainParams(), and chainTORS().

void numeric::kinematic_closure::radians::bridge_objects ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms,
const utility::vector1< Real > &  dt,
const utility::vector1< Real > &  da,
const utility::vector1< Real > &  db,
const utility::vector1< int > &  pivots,
const utility::vector1< int > &  order,
utility::vector1< utility::vector1< Real > > &  t_ang,
utility::vector1< utility::vector1< Real > > &  b_ang,
utility::vector1< utility::vector1< Real > > &  b_len,
int nsol 
)

Solve the triaxial loop closure problem for a system of atoms.

Parameters
[in]atoms- matrix of cartesian coordinates of N-CA-C atoms indexed as atoms[atom][dimension]
[in]dt- desired torsions for each atom (radians)
[in]da- desired bond angle for each atom (radians)
[in]db- desired bond length for each atom (radians)
[in]pivots- 3 indices (base 1) of atoms to be used as loop closure pivots
[in]order- length 3 vector giving order to solve for the tau parameters (use 1,2,3 if unsure)
[out]t_ang- matrix giving torsion angles for each atom for each solution, indexed as t_ang[solution][atom] (radians)
[out]b_ang- matrix giving bond angles for each atom for each solution, indexed as b_ang[solution][atom] (radians)
[out]b_len- matrix giving bond lengths for each atom for each solution, indexed as b_len[solution][atom] (radians)
[out]nsol- number of solutions found
Global Read:
Global Write:
Returns
Remarks
dt, da, and db are cast to Real precision when placed in t_ang1,2, b_ang1,2 and b_len1,2. Solution is carried out in Real precision. Solutions are cast back to Reals when placed into t_ang.
References:
Author
Evangelos A. Coutsias
Daniel J. Mandell

References ObjexxFCL::format::A(), erraser_analysis::atoms, C, chainParams(), chainXYZ(), basic::options::OptionKeys::out::path::db, numeric::kinematic_closure::dixon_eig(), basic::options::OptionKeys::frags::j, test.G201_Module_Structure::l1, test.G200_Module_Region::loop, numeric::kinematic_closure::multMatrix(), numeric::kinematic_closure::multTransMatrix(), rotateX(), rotateZ(), torsion(), and triaxialCoefficients().

void numeric::kinematic_closure::radians::chainParams ( const int n,
const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms,
Real &  vbond,
Real &  xi,
Real &  eta,
Real &  delta,
utility::fixedsizearray1< Real, 3 > &  R0,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  Q 
)
void numeric::kinematic_closure::radians::chainTORS ( const int  n,
const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms,
utility::vector1< Real > &  t_ang,
utility::vector1< Real > &  b_ang,
utility::vector1< Real > &  b_len,
utility::fixedsizearray1< Real, 3 > &  R0,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  Q 
)
void numeric::kinematic_closure::radians::chainXYZ ( const int n,
const utility::vector1< numeric::Real > &  b_len,
const utility::vector1< numeric::Real > &  b_ang,
const utility::vector1< numeric::Real > &  t_ang,
const bool  space,
const utility::fixedsizearray1< numeric::Real, 3 > &  R0,
const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &  Q,
utility::vector1< utility::fixedsizearray1< numeric::Real, 3 > > &  atoms 
)
void numeric::kinematic_closure::radians::chainXYZ ( const int n,
const utility::vector1< Real > &  b_len1,
const utility::vector1< Real > &  b_ang1,
const utility::vector1< Real > &  t_ang1,
const bool  space,
const utility::fixedsizearray1< Real, 3 > &  R0,
const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Q,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms 
)
void numeric::kinematic_closure::radians::chainXYZ ( const int n,
const utility::vector1< Real > &  b_len,
const utility::vector1< Real > &  b_ang,
const utility::vector1< Real > &  t_ang,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms 
)
void numeric::kinematic_closure::radians::cross ( const utility::fixedsizearray1< Real, 3 > &  L,
const utility::fixedsizearray1< Real, 3 > &  r0,
utility::fixedsizearray1< Real, 3 > &  r 
)

Referenced by frame(), and torsion().

Real numeric::kinematic_closure::radians::eucDistance ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b 
)

References ObjexxFCL::pow().

Referenced by bondangle(), chainParams(), and chainTORS().

void numeric::kinematic_closure::radians::frame ( const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  R,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  U 
)

References cross().

Referenced by chainParams(), and chainTORS().

void numeric::kinematic_closure::radians::rotateX ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  R,
const Real &  c,
const Real &  s,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Rx 
)

Referenced by bridge_objects().

void numeric::kinematic_closure::radians::rotateY ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  R,
const Real &  c,
const Real &  s,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Ry 
)
void numeric::kinematic_closure::radians::rotateZ ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  R,
const Real &  c,
const Real &  s,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Rz 
)

Referenced by bridge_objects().

Real numeric::kinematic_closure::radians::scpn ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b,
const utility::fixedsizearray1< Real, 3 > &  c 
)

Referenced by bondangle().

void numeric::kinematic_closure::radians::sincos ( const utility::fixedsizearray1< Real, 3 > &  theta,
const int  flag,
utility::fixedsizearray1< Real, 3 > &  cosine,
utility::fixedsizearray1< Real, 3 > &  sine 
)
void numeric::kinematic_closure::radians::sincos ( const utility::fixedsizearray1< Real, 3 > &  theta,
const int  flag,
utility::fixedsizearray1< Real, 4 > &  cosine,
utility::fixedsizearray1< Real, 4 > &  sine 
)
void numeric::kinematic_closure::radians::to_degrees ( utility::vector1< Real > &  radians)
void numeric::kinematic_closure::radians::to_radians ( utility::vector1< Real > &  degrees)
numeric::Real numeric::kinematic_closure::radians::torsion ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b,
const utility::fixedsizearray1< Real, 3 > &  c,
const utility::fixedsizearray1< Real, 3 > &  d 
)
void numeric::kinematic_closure::radians::triangle ( const utility::fixedsizearray1< Real, 3 > &  vbond,
utility::fixedsizearray1< Real, 3 > &  calpha,
utility::fixedsizearray1< Real, 3 > &  salpha 
)

Referenced by triaxialCoefficients().

void numeric::kinematic_closure::radians::triangle ( const utility::fixedsizearray1< Real, 3 > &  vbond,
utility::fixedsizearray1< Real, 4 > &  calpha,
utility::fixedsizearray1< Real, 4 > &  salpha 
)
void numeric::kinematic_closure::radians::triaxialCoefficients ( const utility::fixedsizearray1< Real, 3 > &  vb,
const utility::fixedsizearray1< Real, 3 > &  xi,
const utility::fixedsizearray1< Real, 3 > &  eta,
const utility::fixedsizearray1< Real, 3 > &  delta,
const utility::fixedsizearray1< Real, 3 > &  theta,
const utility::vector1< int > &  order,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  A,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  B,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  C,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  D,
utility::fixedsizearray1< Real, 3 > &  cal,
utility::fixedsizearray1< Real, 3 > &  sal,
bool feasible_triangle 
)