Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions
rms_util.cc File Reference

RMS stuff from rosetta++. More...

#include <core/scoring/rms_util.hh>
#include <core/scoring/rms_util.tmpl.hh>
#include <algorithm>
#include <iomanip>
#include <iostream>
#include <map>
#include <string>
#include <utility>
#include <boost/unordered/unordered_map.hpp>
#include <core/types.hh>
#include <core/pose/Pose.hh>
#include <core/pose/PDBInfo.hh>
#include <core/pose/MiniPose.hh>
#include <core/pose/util.hh>
#include <core/id/types.hh>
#include <core/chemical/automorphism.hh>
#include <core/chemical/AtomType.hh>
#include <core/conformation/Residue.hh>
#include <core/conformation/symmetry/SymmetricConformation.hh>
#include <core/conformation/symmetry/SymmetryInfo.hh>
#include <core/id/AtomID.hh>
#include <core/id/AtomID_Map.hh>
#include <core/kinematics/FoldTree.hh>
#include <core/pose/symmetry/util.hh>
#include <core/scoring/TMscore.hh>
#include <basic/prof.hh>
#include <basic/Tracer.hh>
#include <basic/options/option.hh>
#include <basic/options/keys/in.OptionKeys.gen.hh>
#include <basic/options/keys/evaluation.OptionKeys.gen.hh>
#include <numeric/util.hh>
#include <numeric/xyzVector.hh>
#include <numeric/model_quality/maxsub.hh>
#include <numeric/model_quality/rms.hh>
#include <ObjexxFCL/FArray1D.hh>
#include <ObjexxFCL/FArray2D.hh>
#include <utility/exit.hh>
#include <utility/vector1.hh>
#include <core/pose/util.tmpl.hh>

Namespaces

 core
 A class for reading in the atom type properties.
 
 core::scoring
 

Functions

static basic::Tracer core::scoring::TR ("core.scoring.rms_util")
 
core::Real core::scoring::gdtsc (const core::pose::Pose &ref, const core::pose::Pose &model, const std::map< core::Size, core::Size > &residues)
 Returns a single, Global Distance Test-like value that measures the extent to which the functional ends of a model's sidechains agree with their counterparts in a given reference structure. More...
 
core::Real core::scoring::gdtha (const core::pose::Pose &ref, const core::pose::Pose &model, const std::map< core::Size, core::Size > &residues)
 Returns the average fraction of residues superimposable under a series of distance thresholds– 0.5, 1.0, 2.0, and 4.0 Angstroms. More...
 
void core::scoring::invert_exclude_residues (Size nres, utility::vector1< int > const &exclude_list, ResidueSelection &residue_selection)
 
ResidueSelection core::scoring::invert_exclude_residues (core::Size nres, utility::vector1< int > const &exclude_list)
 
Real core::scoring::native_CA_rmsd (const core::pose::Pose &native_pose, const core::pose::Pose &pose)
 
Real core::scoring::native_CA_gdtmm (const core::pose::Pose &native_pose, const core::pose::Pose &pose)
 
core::Real core::scoring::automorphic_rmsd (core::conformation::Residue const &rsd1, core::conformation::Residue const &rsd2, bool superimpose)
 RMSD between residues, accounting for automorphisms (symmetries). For example if you have something like a tyrosine, you won't get a higher rmsd just because you flipped the ring 180 degrees (Rocco). Does NOT include H atoms – they add lots of extra symmetries. More...
 
core::Real core::scoring::residue_rmsd_super (core::conformation::Residue const &rsd1, core::conformation::Residue const &rsd2, utility::vector1< core::Size > const &atom_map, bool skip_hydro)
 Calculate the RMSD between two residues, using the provided atom map. The atom map is indexed by rsd1 index, and give the corresponding rsd2 index. Use a value of 0 to omit the rsd pairing. Superimposes the residues (remove rigid-body rotational/translational component of the rmsd.) More...
 
core::Real core::scoring::residue_rmsd_nosuper (core::conformation::Residue const &rsd1, core::conformation::Residue const &rsd2, utility::vector1< core::Size > const &atom_map, bool skip_hydro)
 Calculate the RMSD between two residues, using the provided atom map. The atom map is indexed by rsd1 index, and give the corresponding rsd2 index. Use a value of 0 to omit the rsd pairing. Does not superimpose the residues. More...
 
bool core::scoring::is_protein_CA (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_protein_CA_or_equiv (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_protein_CA_or_CB (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_protein_backbone (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_protein_backbone_including_O (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_protein_sidechain_heavyatom (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_ligand_heavyatom (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_ligand_heavyatom_residues (core::conformation::Residue const &residue1, core::conformation::Residue const &, core::Size atomno)
 
bool core::scoring::is_polymer_heavyatom (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_carbohydrate_ring_atom (core::pose::Pose const &pose1, core::pose::Pose const &, core::uint const resno, core::uint const atomno)
 Return true is the pose residue and atom specified is a non-virtual, heavy ring atom of a carbohydrate. More...
 
bool core::scoring::is_non_peptide_heavy_atom (core::pose::Pose const &pose1, core::pose::Pose const &, core::uint const resno, core::uint const atomno)
 Return true if the pose residues and atoms specified are non-peptide heavy atoms. More...
 
bool core::scoring::is_heavyatom (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_scatom (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
bool core::scoring::is_nbr_atom (core::pose::Pose const &pose1, core::pose::Pose const &, core::Size resno, core::Size atomno)
 
core::DistanceSquared core::scoring::non_peptide_heavy_atom_RMSD (core::pose::Pose const &pose1, core::pose::Pose const &pose2)
 Return the RMSD of the non-peptide heavy atoms of two poses. More...
 
core::Real core::scoring::CA_or_equiv_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2, Size start=1, Size end=0)
 Compute rmsd for residues between start and end. If start and end aren't specified, use the entire pose. More...
 
core::Real core::scoring::CA_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2, Size start=1, Size end=0)
 Compute rmsd for residues between start and end. If start and end aren't specified, use the entire pose. More...
 
void core::scoring::retrieve_coordinates (const core::pose::Pose &pose, const utility::vector1< core::Size > &residues, FArray2D< core::Real > *coords)
 
core::Real core::scoring::CA_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2, const std::map< core::Size, core::Size > &residues)
 Compute the CA RMSD between two poses. More...
 
core::Real core::scoring::CA_gdtmm (const core::pose::Pose &pose1, const core::pose::Pose &pose2, const std::map< core::Size, core::Size > &residues)
 Compute the CA RMSD between two poses. More...
 
core::Real core::scoring::CA_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2, Size start, Size end, utility::vector1< Size > const &exclude)
 
core::Real core::scoring::bb_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2)
 Compute rmsd for only backbone residues (excluding carboxyl oxygen) More...
 
core::Real core::scoring::bb_rmsd_including_O (const core::pose::Pose &pose1, const core::pose::Pose &pose2)
 Compute rmsd for only backbone residues (including carboxyl oxygen) More...
 
core::Real core::scoring::CA_or_equiv_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2, std::list< Size > const &residue_selection)
 
core::Real core::scoring::CA_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2, std::list< Size > residue_selection)
 
core::Real core::scoring::all_atom_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2)
 
core::Real core::scoring::all_scatom_rmsd_nosuper (const core::pose::Pose &pose1, const core::pose::Pose &pose2)
 
core::Real core::scoring::all_atom_rmsd_nosuper (const core::pose::Pose &pose1, const core::pose::Pose &pose2)
 
core::Real core::scoring::all_atom_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2, std::list< Size > residue_selection)
 
core::Real core::scoring::all_atom_rmsd_nosuper (const core::pose::Pose &pose1, const core::pose::Pose &pose2, utility::vector1< core::Size > const &pose1_residues, utility::vector1< core::Size > const &pose2_residues)
 
core::Real core::scoring::nbr_atom_rmsd (const core::pose::Pose &pose1, const core::pose::Pose &pose2)
 
int core::scoring::CA_maxsub (const core::pose::Pose &pose1, const core::pose::Pose &pose2, Real rms=4.0)
 Calculates a C-alpha maxsub-based superposition between pose1 and pose2, returns the number of residues superimposed past a certain threshold. See maxsub.hh and maxsub.cc for more information. More...
 
int core::scoring::CA_maxsub (const core::pose::Pose &pose1, const core::pose::Pose &pose2, std::list< Size > residue_selection, Real rms)
 
int core::scoring::xyz_maxsub (FArray2D< core::Real > p1a, FArray2D< core::Real > p2a, int natoms)
 
int core::scoring::CA_maxsub_by_subset (const core::pose::Pose &pose1, const core::pose::Pose &pose2, utility::vector1< bool >)
 
core::Real core::scoring::CA_gdtmm (core::pose::Pose const &pose1, core::pose::Pose const &pose2, std::list< Size > const &residue_selection, core::Real &m_1_1, core::Real &m_2_2, core::Real &m_3_3, core::Real &m_4_3, core::Real &m_7_4)
 
core::Real core::scoring::CA_gdtmm (core::pose::Pose const &pose1, core::pose::Pose const &pose2, core::Real &m_1_1, core::Real &m_2_2, core::Real &m_3_3, core::Real &m_4_3, core::Real &m_7_4)
 Calculate gdtmm score based on the C-alpha positions in pose1 and pose2. Also returns the five components of the gdtmm score. More...
 
core::Real core::scoring::xyz_gdtmm (FArray2D< core::Real > p1a, FArray2D< core::Real > p2a)
 
core::Real core::scoring::xyz_gdtmm (FArray2D< core::Real > p1a, FArray2D< core::Real > p2a, core::Real &m_1_1, core::Real &m_2_2, core::Real &m_3_3, core::Real &m_4_3, core::Real &m_7_4)
 
core::Real core::scoring::CA_gdtmm (core::pose::Pose const &pose1, core::pose::Pose const &pose2)
 Calculate gdtmm score based on the C-alpha positions in pose1 and pose2. More...
 
core::Real core::scoring::CA_gdtmm (core::pose::Pose const &pose1, core::pose::Pose const &pose2, std::list< Size > const &residue_selection)
 Calculate gdtmm score based on the C-alpha positions in pose1 and pose2. More...
 
void core::scoring::CA_gdttm (core::pose::Pose const &pose1, core::pose::Pose const &pose2, core::Real &gdttm_score, core::Real &gdtha_score, std::list< Size > const &residue_selection)
 Calculate gdttm score based on the C-alpha positions in pose1 and pose2. More...
 
void core::scoring::CA_gdttm (const core::pose::Pose &pose1, const core::pose::Pose &pose2, core::Real &gdttm_score, core::Real &gdtha_score, const std::map< core::Size, core::Size > &residues)
 
void core::scoring::CA_gdttm (core::pose::Pose const &pose1, core::pose::Pose const &pose2, core::Real &gdttm_score, core::Real &gdtha_score)
 
void core::scoring::xyz_gdttm (FArray2D< core::Real > p1a, FArray2D< core::Real > p2a, core::Real &gdttm_score, core::Real &gdtha_score)
 
Real core::scoring::superimpose_pose (pose::Pose &mod_pose, pose::Pose const &ref_pose, id::AtomID_Map< id::AtomID > const &atom_map,core::Real const &rms_calc_offset_val=1.0e-7, bool const realign=false)
 Superimpose mod_pose onto ref_pose using the mapping of atoms from mod_pose to ref_pose given by atom_map. More...
 
Real core::scoring::superimpose_pose (pose::Pose &mod_pose, pose::Pose const &ref_pose, std::map< id::AtomID, id::AtomID > const &atom_map,core::Real const &rms_calc_offset_val=1.0e-7, bool const realign=false)
 Superimpose mod_pose onto ref_pose using the mapping of atoms from mod_pose to ref_pose given by map< AtomID, AtomID > More...
 
Real core::scoring::superimpose_pose (pose::Pose &mod_pose, pose::MiniPose const &ref_pose, id::AtomID_Map< id::AtomID > const &atom_map,core::Real const &rms_calc_offset_val=1.0e-7, bool const realign=false)
 Superimpose mod_pose onto ref_pose using the mapping of atoms from mod_pose to ref_pose given by atom_map. More...
 
Real core::scoring::calpha_superimpose_pose (pose::Pose &mod_pose, pose::Pose const &ref_pose)
 Superimpose two poses by their calpha coordinates. Ignores residues that do not have atoms named "CA.". More...
 
core::Real core::scoring::CA_rmsd_symmetric (const core::pose::Pose &native_pose, const core::pose::Pose &pose)
 
void core::scoring::create_shuffle_map_recursive_rms (std::vector< int > sequence, int const N, std::vector< std::vector< int > > &map)
 
Real core::scoring::rms_at_corresponding_atoms (pose::Pose const &mod_pose, pose::Pose const &ref_pose, std::map< core::id::AtomID, core::id::AtomID > const &atom_id_map)
 
Real core::scoring::rms_at_corresponding_atoms (pose::Pose const &mod_pose, pose::Pose const &ref_pose, std::map< core::id::AtomID, core::id::AtomID > const &atom_id_map, utility::vector1< Size > const &calc_rms_res)
 
Real core::scoring::rms_at_all_corresponding_atoms (pose::Pose const &mod_pose, pose::Pose const &ref_pose, std::map< core::id::AtomID, core::id::AtomID > const &atom_id_map)
 
Real core::scoring::rms_at_corresponding_atoms_no_super (pose::Pose const &mod_pose, pose::Pose const &ref_pose, std::map< core::id::AtomID, core::id::AtomID > const &atom_id_map)
 
Real core::scoring::rms_at_corresponding_atoms_no_super (pose::Pose const &mod_pose, pose::Pose const &ref_pose, std::map< core::id::AtomID, core::id::AtomID > const &atom_id_map, utility::vector1< Size > const &calc_rms_res)
 
std::map< core::Size, core::Realcore::scoring::per_res_rms_at_corresponding_atoms_no_super (pose::Pose const &mod_pose, pose::Pose const &ref_pose, std::map< core::id::AtomID, core::id::AtomID > const &atom_id_map, utility::vector1< bool > const &mask)
 Calculate RMSD for each residue in mask, return a map of res to value. More...
 
Real core::scoring::rms_at_corresponding_heavy_atoms (pose::Pose const &mod_pose, pose::Pose const &ref_pose)
 
void core::scoring::setup_matching_heavy_atoms (core::pose::Pose const &pose1, core::pose::Pose const &pose2, std::map< core::id::AtomID, core::id::AtomID > &atom_id_map)
 
core::Real core::scoring::residue_sc_rmsd_no_super (core::conformation::ResidueCOP res1, core::conformation::ResidueCOP res2, bool const fxnal_group_only=false)
 utility function to calculate per-residue sidechain rmsd without superposition More...
 
void core::scoring::setup_matching_CA_atoms (core::pose::Pose const &pose1, core::pose::Pose const &pose2, std::map< core::id::AtomID, core::id::AtomID > &atom_id_map)
 
void core::scoring::setup_matching_protein_backbone_heavy_atoms (core::pose::Pose const &pose1, core::pose::Pose const &pose2, std::map< core::id::AtomID, core::id::AtomID > &atom_id_map)
 
void core::scoring::setup_matching_atoms_with_given_names (core::pose::Pose const &pose1, core::pose::Pose const &pose2, utility::vector1< std::string > const &atom_names_to_find, std::map< core::id::AtomID, core::id::AtomID > &atom_id_map)
 
void core::scoring::compute_jump_rmsd (const core::pose::Pose &reference, const core::pose::Pose &model, boost::unordered_map< core::Size, core::Real > &rmsds)
 Computes the RMSD of the jump residues between <model> and <native>, storing the results in a map keyed by jump_id. More...
 
std::map< rmsd_atoms,
utility::vector1< std::string > > 
core::scoring::setup_rmsd_atom_names ()
 
std::map< std::string, rmsd_atoms > core::scoring::get_rmsd_type_name_map ()
 Setup a name mapping for rmsd_atoms. More...
 
utility::vector1< std::string > core::scoring::get_rmsd_type_names ()
 Setup a name mapping for rmsd_atoms. More...
 

Detailed Description

RMS stuff from rosetta++.

Author
Christopher Miles (cmile.nosp@m.s@uw.nosp@m..edu)
James Thompson
Ian Davis
Date
Wed Aug 22 12:10:37 2007