Sails::TorsionAngleRefiner
struct Sails::TorsionAngleRefiner
Summary
Members | Descriptions |
---|---|
| Refines torsion angles for a set of atoms using reference atoms and density information. |
| Calculates the score function for refining torsion angles based on a set of angles and the density score. |
| Refines torsion angles using a Nelder-Mead optimization algorithm. |
| |
| |
| |
| |
| |
| |
| |
| |
| Calculates the penalty for a given angle based on its deviation from the mean angle using the penalty factor. |
Members
public inline
TorsionAngleRefiner
(std::vector< gemmi::Atom * > & atoms, std::vector< gemmi::Atom > & reference_atoms,
Density
& density,
SuperpositionResult
& superposition_result, double length, std::vector< double > & angle_mean, std::vector< double > & angle_range, std::vector< double > & torsion_mean, std::vector< double > & torsion_range)
Refines torsion angles for a set of atoms using reference atoms and density information.
Parameters
atoms
A reference to a vector of Atom pointers.reference_atoms
A reference to a vector of Atom objects representing the reference atoms.density
A reference to a Density object.superposition_result
A reference to a SuperpositionResult object.length
A double representing the length.angle_mean
A reference to a vector of doubles representing the mean angles.angle_range
A reference to a vector of doubles representing the angle ranges.torsion_mean
A reference to a vector of doubles representing the mean torsions.torsion_range
A reference to a vector of doubles representing the torsion ranges.
public double
score_function
(std::vector< double > & angles)
Calculates the score function for refining torsion angles based on a set of angles and the density score.
Parameters
all_angles
A reference to a vector of doubles representing the input angles.
Angles are in the order alpha beta gamma psi phi omega
Returns
The calculated score function value.
public
SuperpositionResult
refine
()
Refines torsion angles using a Nelder-Mead optimization algorithm.
Returns
A SuperpositionResult object containing the refined residue, transform, and reference residue.
private double
m_length
private std::vector< double >
m_angle_range
private std::vector< double >
m_torsion_range
private std::vector< double >
m_angle_mean
private std::vector< double >
m_torsion_mean
private std::vector< gemmi::Atom * >
m_all_atoms
private std::vector< gemmi::Atom >
m_reference_atoms
private
Density
*
m_density
private gemmi::Residue
m_reference_residue
private static double
calculate_penalty
(double angle, double angle_mean, double angle_stddev, double penalty_factor)
Calculates the penalty for a given angle based on its deviation from the mean angle using the penalty factor.
Parameters
angle
The angle to calculate the penalty for.angle_mean
The mean angle.angle_stddev
The standard deviation of the angle.penalty_factor
The penalty factor to be applied.
Returns
The penalty value calculated for the given angle.