Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Functions
core::io::pose_from_sfr Namespace Reference

Classes

class  GeometricRenameIsomorphismCallback
 
class  GeometricRenameVerticiesEquivalent
 Will consider two verticies equivalent if they have the same element. More...
 
class  GraphvizPropertyWriter
 Callback class for writing graphviz info. More...
 
class  PoseFromSFRBuilder
 The PoseFromSFRBuilder is responsible for taking a partially-processed representation of a structure file, a structure-file repersentation or StructFileRep, and it constructs a Pose from it. Its primary output is a Pose, but it also keeps track of the "missing atoms:" the set of atoms in the Pose whose coordinates were not given in the original file. More...
 

Typedefs

using AtomInfoGraph = boost::undirected_graph< AtomInformation >
 
using AIVD = AtomInfoGraph::vertex_descriptor
 
using RestypeInfoGraph = boost::undirected_graph< std::pair< std::string, std::string > >
 
using RIGVD = RestypeInfoGraph::vertex_descriptor
 
typedef boost::bimap
< std::string, std::string > 
NameBimap
 
typedef
utility::pointer::shared_ptr
< PoseFromSFRBuilder
PoseFromSFRBuilderOP
 
typedef
utility::pointer::shared_ptr
< PoseFromSFRBuilder const > 
PoseFromSFRBuilderCOP
 

Functions

void check_and_correct_sister_atoms (core::conformation::ResidueOP &rsd)
 due to differences in different crystallography/NMR/modeling packages, labeling of sister atoms (like OP1 <–> OP2, or H41 <–> H42) in PDBs is totally wacky. This is an attempt to regularize... and it can actually make a difference since sometimes partial charges on sister hydrogens can be different. Right now only set up for nucleic acids, but could probably generalize. More...
 
void check_and_correct_sister_atom_based_on_chirality (core::conformation::ResidueOP &rsd, std::string const &sister1_name, std::string const &sister2_name, std::string const &parent_name, std::string const &cousin_name)
 
void check_and_correct_sister_atom_based_on_outgroup (core::conformation::ResidueOP &rsd, std::string const &sister1_name, std::string const &sister2_name, std::string const &outgroup_name)
 
void flip_atom_xyz (core::conformation::ResidueOP &rsd, std::string const &sister1_name, std::string const &sister2_name)
 
int sgn (Real const &x)
 
int get_chirality_sign (Vector const &xyz_sister1, Vector const &xyz_sister2, Vector const &xyz_parent, Vector const &xyz_cousin)
 
int get_closest_sister (Vector const &xyz_sister1, Vector const &xyz_sister2, Vector const &xyz_outgroup)
 
core::Real bonding_distance_threshold (std::string element1, std::string element2)
 Get theshold distance below which two atoms are considered bonded. (1.2*covalent) More...
 
core::Real score_mapping (NameBimap const &mapping, ResidueInformation const &rinfo, chemical::ResidueType const &rsd_type)
 Scoring scheme for the heuristic PDB renaming. More...
 
void remap_names_on_geometry (NameBimap &mapping, ResidueInformation const &rinfo, chemical::ResidueType const &rsd_type)
 Attempt to use element identity and connectivity to map atom names from the rinfo object onto the rsd_type object names. More...
 
static basic::Tracer TR ("core.io.pose_from_sfr.PoseFromSFRBuilder")
 
bool missing_O2prime (utility::vector1< core::io::AtomInformation > const &atoms)
 
bool is_connected (core::conformation::Conformation const &conf, core::Size ii, std::string const &ii_atm, core::Size jj, std::string const &jj_atm)
 
void show_residue_connections (core::conformation::Conformation const &conf, core::Size i)
 
std::string convert_atom_name (std::string const &res_name, std::string const &atom_name)
 for nucleic acids, slightly better mechanism is below (convert_nucleic_acid_residue_info_to_standard) More...
 
std::string convert_res_name (std::string const &name)
 
void create_working_data (StructFileRepOptions const &options, StructFileRep const &sfr, utility::vector1< core::io::ResidueInformation > &rinfos)
 
bool update_atom_information_based_on_occupancy (StructFileRepOptions const &options, AtomInformation &ai)
 
void randomize_missing_coords (AtomInformation &ai)
 randomize missing density More...
 

Typedef Documentation

using core::io::pose_from_sfr::AIVD = typedef AtomInfoGraph::vertex_descriptor
using core::io::pose_from_sfr::AtomInfoGraph = typedef boost::undirected_graph<AtomInformation>
typedef boost::bimap< std::string, std::string > core::io::pose_from_sfr::NameBimap
typedef utility::pointer::shared_ptr< PoseFromSFRBuilder const > core::io::pose_from_sfr::PoseFromSFRBuilderCOP
typedef utility::pointer::shared_ptr< PoseFromSFRBuilder > core::io::pose_from_sfr::PoseFromSFRBuilderOP
using core::io::pose_from_sfr::RestypeInfoGraph = typedef boost::undirected_graph< std::pair< std::string, std::string> >
using core::io::pose_from_sfr::RIGVD = typedef RestypeInfoGraph::vertex_descriptor

Function Documentation

core::Real core::io::pose_from_sfr::bonding_distance_threshold ( std::string  element1,
std::string  element2 
)

Get theshold distance below which two atoms are considered bonded. (1.2*covalent)

The closest distance of a non-bonded contact is likely to be something like the opposite atoms cyclobutane. This would be sqrt(2)*covalent bond distance. We thus set the contact distance threshold to 1.2*covalent bond distance to allow bond length flexibility. In initial tests this looks to give a clean decision.

Pass-by-value is deliberate, as we want to strip the elements of whitespace

References core::chemical::Element::CovalentRadius, and core::chemical::orbitals::strip_whitespace().

Referenced by remap_names_on_geometry(), and score_mapping().

void core::io::pose_from_sfr::check_and_correct_sister_atom_based_on_chirality ( core::conformation::ResidueOP rsd,
std::string const &  sister1_name,
std::string const &  sister2_name,
std::string const &  parent_name,
std::string const &  cousin_name 
)
void core::io::pose_from_sfr::check_and_correct_sister_atom_based_on_outgroup ( core::conformation::ResidueOP rsd,
std::string const &  sister1_name,
std::string const &  sister2_name,
std::string const &  outgroup_name 
)
void core::io::pose_from_sfr::check_and_correct_sister_atoms ( core::conformation::ResidueOP rsd)

due to differences in different crystallography/NMR/modeling packages, labeling of sister atoms (like OP1 <–> OP2, or H41 <–> H42) in PDBs is totally wacky. This is an attempt to regularize... and it can actually make a difference since sometimes partial charges on sister hydrogens can be different. Right now only set up for nucleic acids, but could probably generalize.

References check_and_correct_sister_atom_based_on_chirality(), and check_and_correct_sister_atom_based_on_outgroup().

Referenced by core::io::pose_from_sfr::PoseFromSFRBuilder::build_initial_pose().

std::string core::io::pose_from_sfr::convert_atom_name ( std::string const &  res_name,
std::string const &  atom_name 
)

for nucleic acids, slightly better mechanism is below (convert_nucleic_acid_residue_info_to_standard)

References TR().

Referenced by create_working_data().

std::string core::io::pose_from_sfr::convert_res_name ( std::string const &  name)

Temporary hacky hack Need better mechanism for this for nucleic acids, slightly better mechanism is below (convert_nucleic_acid_residue_info_to_standard)

References TR().

Referenced by create_working_data().

void core::io::pose_from_sfr::create_working_data ( StructFileRepOptions const &  options,
StructFileRep const &  sfr,
utility::vector1< core::io::ResidueInformation > &  rinfos 
)
void core::io::pose_from_sfr::flip_atom_xyz ( core::conformation::ResidueOP rsd,
std::string const &  sister1_name,
std::string const &  sister2_name 
)
int core::io::pose_from_sfr::get_chirality_sign ( Vector const &  xyz_sister1,
Vector const &  xyz_sister2,
Vector const &  xyz_parent,
Vector const &  xyz_cousin 
)
int core::io::pose_from_sfr::get_closest_sister ( Vector const &  xyz_sister1,
Vector const &  xyz_sister2,
Vector const &  xyz_outgroup 
)
bool core::io::pose_from_sfr::is_connected ( core::conformation::Conformation const &  conf,
core::Size  ii,
std::string const &  ii_atm,
core::Size  jj,
std::string const &  jj_atm 
)
bool core::io::pose_from_sfr::missing_O2prime ( utility::vector1< core::io::AtomInformation > const &  atoms)
void core::io::pose_from_sfr::randomize_missing_coords ( AtomInformation &  ai)

randomize missing density

The missing density regions in the input pdb should have 0.000 in the placeholders this routine puts random coordinates wherever there is 0.000 for mainchain atoms. tex - that's a stupid way of defining missing density, as atoms can be at the origin for other reasons. This has been updated to check for occupancy to define missing density rather than atoms located at the origin.

References core::io::AtomInformation::name, core::io::AtomInformation::occupancy, core::io::AtomInformation::resName, core::io::AtomInformation::resSeq, core::scoring::rg, TR(), core::io::AtomInformation::x, core::io::AtomInformation::y, and core::io::AtomInformation::z.

Referenced by core::io::StructFileRepOptions::init_from_options(), and core::io::StructFileRepOptions::list_options_read().

void core::io::pose_from_sfr::remap_names_on_geometry ( NameBimap &  mapping,
ResidueInformation const &  rinfo,
chemical::ResidueType const &  rsd_type 
)
core::Real core::io::pose_from_sfr::score_mapping ( NameBimap const &  mapping,
ResidueInformation const &  rinfo,
chemical::ResidueType const &  rsd_type 
)
int core::io::pose_from_sfr::sgn ( Real const &  x)
void core::io::pose_from_sfr::show_residue_connections ( core::conformation::Conformation const &  conf,
core::Size  i 
)
static basic::Tracer core::io::pose_from_sfr::TR ( "core.io.pose_from_sfr.PoseFromSFRBuilder"  )
static
bool core::io::pose_from_sfr::update_atom_information_based_on_occupancy ( StructFileRepOptions const &  options,
AtomInformation &  ai 
)