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

Pose class utilities. More...

#include <core/pose/util.hh>
#include <core/pose/extra_pose_info_util.hh>
#include <core/pose/PDBInfo.hh>
#include <core/pose/Pose.hh>
#include <core/pose/MiniPose.hh>
#include <core/pose/full_model_info/FullModelInfo.hh>
#include <core/pose/full_model_info/util.hh>
#include <core/pose/datacache/CacheableDataType.hh>
#include <core/pose/datacache/PositionConservedResiduesStore.hh>
#include <core/pose/util.tmpl.hh>
#include <core/pose/rna/util.hh>
#include <core/pose/carbohydrates/util.hh>
#include <core/chemical/ChemicalManager.hh>
#include <core/chemical/ResidueType.hh>
#include <core/chemical/ResidueTypeSet.hh>
#include <core/chemical/VariantType.hh>
#include <core/chemical/Patch.hh>
#include <core/chemical/PatchOperation.hh>
#include <core/chemical/util.hh>
#include <core/chemical/AtomICoor.hh>
#include <core/chemical/ResidueConnection.hh>
#include <core/conformation/Conformation.hh>
#include <core/conformation/Residue.hh>
#include <core/conformation/ResidueFactory.hh>
#include <core/conformation/util.hh>
#include <core/id/DOF_ID_Map.hh>
#include <core/id/Exceptions.hh>
#include <core/id/NamedStubID.hh>
#include <core/id/NamedAtomID.hh>
#include <core/id/TorsionID.hh>
#include <core/kinematics/MoveMap.hh>
#include <core/kinematics/FoldTree.hh>
#include <core/io/StructFileRep.hh>
#include <core/io/raw_data/DisulfideFile.hh>
#include <core/io/silent/BinarySilentStruct.hh>
#include <core/io/silent/SilentFileOptions.hh>
#include <core/scoring/ScoreType.hh>
#include <core/scoring/Energies.hh>
#include <core/scoring/func/HarmonicFunc.hh>
#include <core/scoring/func/CircularHarmonicFunc.hh>
#include <core/scoring/constraints/AtomPairConstraint.hh>
#include <core/scoring/constraints/AngleConstraint.hh>
#include <core/scoring/constraints/DihedralConstraint.hh>
#include <core/id/SequenceMapping.hh>
#include <core/sequence/Sequence.hh>
#include <core/sequence/util.hh>
#include <basic/Tracer.hh>
#include <basic/datacache/DataCache.hh>
#include <basic/datacache/BasicDataCache.hh>
#include <basic/datacache/CacheableString.hh>
#include <basic/datacache/CacheableStringFloatMap.hh>
#include <basic/datacache/CacheableStringMap.hh>
#include <basic/options/option.hh>
#include <basic/options/keys/in.OptionKeys.gen.hh>
#include <numeric/constants.hh>
#include <numeric/xyz.functions.hh>
#include <numeric/xyzVector.string.hh>
#include <utility/io/izstream.hh>
#include <utility/exit.hh>
#include <utility/string_constants.hh>
#include <utility/string_util.hh>
#include <utility/excn/Exceptions.hh>
#include <utility/vector1.hh>
#include <utility/vector1.functions.hh>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <numeric>
#include <ObjexxFCL/string.functions.hh>

Namespaces

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

Functions

static basic::Tracer core::pose::TR ("core.pose.util")
 
void core::pose::swap_transform (Size jump_num, kinematics::RT const &xform, Pose &pose)
 Updates the rigid-body transform of the specified jump in <pose> More...
 
bool core::pose::is_position_conserved_residue (Pose const &pose, core::Size residue)
 Returns true if <residue> is positionally conserved, false otherwise Based on the POSITION_CONSERVED_RESIDUES annotation stored in the Pose DataCache. More...
 
bool core::pose::create_chemical_edge (core::uint start_resnum, core::uint end_resnum, core::pose::Pose const &pose, core::kinematics::FoldTree &ft)
 Create a chemical edge between two Residues. More...
 
void core::pose::set_reasonable_fold_tree (pose::Pose &pose)
 
core::chemical::ResidueTypeCOP core::pose::virtual_type_for_pose (core::pose::Pose const &pose)
 Return the appropritate ResidueType for the virtual residue for the "mode" (fullatom, centroid ...) the pose is in. More...
 
void core::pose::addVirtualResAsRoot (const numeric::xyzVector< core::Real > &xyz, core::pose::Pose &pose)
 Adds a virtual residue to the end of the pose at the specified location. Roots the structure on this residue. More...
 
void core::pose::remove_virtual_residues (core::pose::Pose &pose)
 Removes all virtual residues from <pose> More...
 
numeric::xyzVector< core::Realcore::pose::get_center_of_mass (core::pose::Pose const &pose)
 Get center of mass of a pose. More...
 
void core::pose::addVirtualResAsRoot (core::pose::Pose &pose)
 Find residue closest to center-of-mass More...
 
void core::pose::fix_pdbinfo_damaged_by_insertion (core::pose::Pose &pose)
 Repair pdbinfo of inserted residues that may have blank chain and zero seqpos. Assumes insertions only occur after a residue. More...
 
bool core::pose::is_ideal_pose (core::pose::Pose const &pose)
 checks if the pose geometry is ideal More...
 
bool core::pose::is_ideal_position (core::Size seqpos, core::pose::Pose const &pose)
 checks if the pose geometry is ideal in position seqpos More...
 
void core::pose::remove_nonprotein_residues (core::pose::Pose &pose)
 this function removes all residues from the pose which are not protein residues. More...
 
void core::pose::remove_ligand_canonical_residues (core::pose::Pose &pose)
 this function removes all residues with both UPPER and LOWER terminus types. This is intended for removing ligands that are canonical residues. More...
 
bool core::pose::compare_atom_coordinates (Pose const &lhs, Pose const &rhs, Size const n_dec_places=3)
 this function compares pose atom coordinates for equality; it is not the == operator because it does not compare all pose data. More...
 
bool core::pose::compare_binary_protein_silent_struct (Pose const &lhs, Pose const &rhs)
 this function compares poses for equality up to the information stored in the binary protein silent struct format. More...
 
id::NamedAtomID core::pose::atom_id_to_named_atom_id (core::id::AtomID const &atom_id, Pose const &pose)
 
id::AtomID core::pose::named_atom_id_to_atom_id (core::id::NamedAtomID const &named_atom_id, Pose const &pose, bool raise_exception)
 
id::NamedStubID core::pose::stub_id_to_named_stub_id (id::StubID const &stub_id, core::pose::Pose const &pose)
 
id::StubID core::pose::named_stub_id_to_stub_id (id::NamedStubID const &named_stub_id, core::pose::Pose const &pose)
 
core::Real core::pose::energy_from_pose (core::pose::Pose const &pose, core::scoring::ScoreType const &sc_type)
 
core::Real core::pose::energy_from_pose (core::pose::Pose const &pose, std::string const &sc_type)
 
core::Real core::pose::total_energy_from_pose (core::pose::Pose const &pose)
 
bool core::pose::sort_pose_by_score (core::pose::PoseOP const &pose1, core::pose::PoseOP const &pose2)
 
void core::pose::transfer_phi_psi (const core::pose::Pose &srcpose, core::pose::Pose &tgtpose, core::Size ir, core::Size jr)
 
void core::pose::transfer_phi_psi (const core::pose::Pose &srcpose, core::pose::Pose &tgtpose)
 
void core::pose::transfer_jumps (const core::pose::Pose &srcpose, core::pose::Pose &tgtpose)
 
void core::pose::replace_pose_residue_copying_existing_coordinates (pose::Pose &pose, Size const seqpos, core::chemical::ResidueType const &new_rsd_type)
 
void core::pose::replace_pose_residue_copying_existing_coordinates (pose::Pose &pose, Size const seqpos, core::chemical::ResidueType const &new_rsd_type, utility::vector1< core::Size > const &mapping)
 
core::chemical::ResidueTypeCOP core::pose::get_restype_for_pose (core::pose::Pose const &pose, std::string const &name)
 Return the residue type in the correct "mode" (fullatom, centroid ...) the pose is in. More...
 
core::chemical::ResidueTypeCOP core::pose::get_restype_for_pose (core::pose::Pose const &pose, std::string const &name, core::chemical::TypeSetMode mode)
 Return the residue type in the passed mode, respecting any modification that pose may make. More...
 
core::Real core::pose::pose_max_nbr_radius (Pose const &pose)
 returns a Distance More...
 
void core::pose::setup_dof_to_torsion_map (pose::Pose const &pose, id::DOF_ID_Map< id::TorsionID > &dof_map)
 set up a map to look up TORSION_ID by DOF_ID (Map[DOF_ID] = TORISION_ID) More...
 
void core::pose::setup_dof_mask_from_move_map (core::kinematics::MoveMap const &mm, pose::Pose const &pose, id::DOF_ID_Mask &dof_mask)
 convert from allow-bb/allow-chi MoveMap to simple DOF_ID boolean mask needed by the minimizer More...
 
core::Size core::pose::num_heavy_atoms (core::Size begin, core::Size const end, core::pose::Pose const &pose)
 
core::Size core::pose::num_atoms (core::Size begin, core::Size const end, core::pose::Pose const &pose)
 
core::Size core::pose::num_hbond_acceptors (core::Size begin, core::Size const end, core::pose::Pose const &pose)
 
core::Size core::pose::num_hbond_donors (core::Size begin, core::Size const end, core::pose::Pose const &pose)
 
core::Size core::pose::num_chi_angles (core::Size begin, core::Size const end, core::pose::Pose const &pose)
 
core::Real core::pose::mass (core::Size begin, core::Size const end, core::pose::Pose const &pose)
 
void core::pose::initialize_disulfide_bonds (Pose &pose)
 detect and fix disulfide bonds More...
 
void core::pose::initialize_disulfide_bonds (Pose &pose, io::StructFileRep const &fd)
 detect and fix disulfide bonds More...
 
core::id::SequenceMapping core::pose::sequence_map_from_pdbinfo (Pose const &first, Pose const &second)
 Create a sequence map of first pose onto the second, matching the PDBInfo If the PDBInfo of either Pose is missing or invalid, do a simple sequence alignment matching. More...
 
core::Size core::pose::canonical_residue_count (core::pose::Pose const &pose)
 count the number of canonical residues in the pose More...
 
core::Size core::pose::noncanonical_residue_count (core::pose::Pose const &pose)
 count the number of non-canonical residues in the pose More...
 
core::Size core::pose::canonical_atom_count (core::pose::Pose const &pose)
 count the number of canonical amino acid atoms in the pose More...
 
core::Size core::pose::noncanonical_atom_count (core::pose::Pose const &pose)
 count the number of non-canonical amino acids in thepose More...
 
core::Size core::pose::noncanonical_chi_count (core::pose::Pose const &pose)
 count the number of non-canonical chi angles in the pose More...
 
Size core::pose::nres_protein (pose::Pose const &pose)
 Number of protein residues in the pose. More...
 
core::Real core::pose::radius_of_gyration (core::pose::Pose const &pose, numeric::xyzVector< core::Real > const &center_of_mass, utility::vector1< bool > const &residues)
 Get the radius of gyration of the selected residues. More...
 
numeric::xyzVector< Real > core::pose::center_of_mass (core::pose::Pose const &pose, utility::vector1< bool > const &residues)
 Get the center of the indicated residues. More...
 
utility::vector1< boolcore::pose::generate_vector_from_bounds (pose::Pose const &pose, int const start, int const stop)
 
numeric::xyzVector< core::Realcore::pose::center_of_mass (pose::Pose const &pose, int const start, int const stop)
 calculates the center of mass of a pose More...
 
core::Vector core::pose::all_atom_center (core::pose::Pose const &pose, utility::vector1< core::Size > const &residues)
 Get the center of the indicated residues. More...
 
int core::pose::residue_center_of_mass (pose::Pose const &pose, utility::vector1< bool > residues)
 
int core::pose::residue_center_of_mass (pose::Pose const &pose, int const start, int const stop)
 calculates the center of mass of a pose More...
 
int core::pose::return_nearest_residue (pose::Pose const &pose, utility::vector1< bool > const &residues, Vector center)
 
int core::pose::return_nearest_residue (pose::Pose const &pose, int const begin, int const end, Vector center)
 finds the residue nearest some position passed in (normally a center of mass) More...
 
id::AtomID_Map< id::AtomID > core::pose::convert_from_std_map (std::map< id::AtomID, id::AtomID > const &atom_map, core::pose::Pose const &pose)
 
std::map< std::string, core::Sizecore::pose::get_pdb2pose_numbering_as_stdmap (core::pose::Pose const &pose)
 Create std::map from PDBPoseMap in pose (JKLeman) More...
 
void core::pose::declare_cutpoint_chemical_bond (core::pose::Pose &pose, Size const cutpoint_res, Size const next_res_in)
 Create a chemical bond from lower to upper residue across CUTPOINT_LOWER/CUTPOINT_UPPER. More...
 
void core::pose::update_cutpoint_virtual_atoms_if_connected (core::pose::Pose &pose, core::Size const cutpoint_res, bool recurse)
 Given a pose and a position that may or may not be CUTPOINT_UPPER or CUTPOINT_LOWER, determine whether this position has either of these variant types, and if it does, determine whether it's connected to anything. If it is, update the C-OVL1-OVL2 bond lengths and bond angle (for CUTPOINT_LOWER) or OVU1-N bond length (for CUTPOINT_UPPER) to match any potentially non-ideal geometry in the residue to which it's bonded. More...
 
void core::pose::get_constraints_from_link_records (core::pose::Pose &pose, io::StructFileRep const &sfr)
 
utility::vector1< Size > core::pose::pdb_to_pose (pose::Pose const &pose, utility::vector1< int > const &pdb_res)
 Convert PDB numbering to pose numbering. Must exist somewhere else, but I couldn't find it. – rhiju. More...
 
utility::vector1< Size > core::pose::pdb_to_pose (pose::Pose const &pose, std::tuple< utility::vector1< int >, utility::vector1< char >, utility::vector1< std::string > > const &pdb_res)
 Convert PDB numbering to pose numbering. Must exist somewhere else, but I couldn't find it. – rhiju. More...
 
Size core::pose::pdb_to_pose (pose::Pose const &pose, int const res_num, char const chain)
 Convert PDB numbering to pose numbering. Must exist somewhere else, but I couldn't find it. – rhiju. More...
 
utility::vector1< Size > core::pose::pose_to_pdb (pose::Pose const &pose, utility::vector1< Size > const &pose_res)
 Convert pose numbering to pdb numbering. Must exist somewhere else, but I couldn't find it. – rhiju. More...
 
chemical::rings::AxEqDesignation core::pose::is_atom_axial_or_equatorial_to_ring (Pose const &pose, uint seqpos, uint query_atom, utility::vector1< uint > const &ring_atoms)
 Is the query atom in this pose residue axial or equatorial to the given ring or neither? More...
 
chemical::rings::AxEqDesignation core::pose::is_atom_axial_or_equatorial_to_ring (Pose const &pose, id::AtomID const &query_atom, utility::vector1< id::AtomID > const &ring_atoms)
 
void core::pose::set_bb_torsion (uint torsion_id, Pose &pose, core::Size sequence_position, core::Angle new_angle)
 
core::Angle core::pose::get_bb_torsion (uint torsion_id, Pose const &pose, core::Size sequence_position)
 Get a particular backbone torsion, phi, psi, omega (see core::types) Works with carbohydrates. Think about moving this to pose itself. More...
 
void core::pose::set_bfactors_from_atom_id_map (Pose &pose, id::AtomID_Map< Real > const &bfactors)
 Set bfactors in a pose PDBInfo. More...
 
bool core::pose::just_modeling_RNA (std::string const &sequence)
 
bool core::pose::stepwise_addable_pose_residue (Size const n, pose::Pose const &pose)
 
bool core::pose::stepwise_addable_residue (Size const n, std::map< Size, std::string > const &non_standard_residue_map)
 
bool core::pose::effective_lower_terminus_based_on_working_res (Size const i, utility::vector1< Size > const &working_res, utility::vector1< Size > const &res_list, utility::vector1< Size > const &cutpoint_open_in_full_model)
 
bool core::pose::effective_upper_terminus_based_on_working_res (Size const i, utility::vector1< Size > const &working_res, utility::vector1< Size > const &res_list, utility::vector1< Size > const &cutpoint_open_in_full_model, Size const nres_full)
 
bool core::pose::definite_terminal_root (utility::vector1< Size > const &cutpoint_open_in_full_model, utility::vector1< Size > const &working_res, utility::vector1< Size > const &res_list, Size const nres, Size const i)
 
bool core::pose::definite_terminal_root (pose::Pose const &pose, Size const i)
 
Size core::pose::get_definite_terminal_root (pose::Pose const &pose, utility::vector1< Size > const &partition_res, utility::vector1< Size > const &res_list, utility::vector1< Size > const &fixed_domain_map, utility::vector1< Size > const &cutpoint_open_in_full_model, utility::vector1< Size > const &working_res)
 
Size core::pose::get_definite_terminal_root (pose::Pose const &pose, utility::vector1< Size > const &partition_res)
 
utility::vector1< Size > core::pose::reorder_root_partition_res (utility::vector1< Size > const &root_partition_res, utility::vector1< Size > const &res_list, utility::vector1< Size > const &fixed_domain_map)
 
void core::pose::reroot (pose::Pose &pose, utility::vector1< Size > const &root_partition_res, utility::vector1< Size > const &res_list, utility::vector1< Size > const &preferred_root_res, utility::vector1< Size > const &fixed_domain_map, utility::vector1< Size > const &cutpoint_open_in_full_model, utility::vector1< Size > const &working_res)
 

Detailed Description

Pose class utilities.

Author
Phil Bradley
Modified by Sergey Lyskov, Rhiju Das, Steven Lewis, Vikram K. Mulligan