Rosetta
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< PoseFromSFRBuilderPoseFromSFRBuilderOP
 
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)
 
core::chemical::ResidueTypeCOP find_restype (std::string const &name, std::string const &name3, core::chemical::ResidueTypeSet const &restypeset, std::set< std::string > &warned_on_ccd_confusion)
 Utility function to help pass_2_quick_and_dirty_resolve_residue_types() More...
 
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

◆ AIVD

using core::io::pose_from_sfr::AIVD = typedef AtomInfoGraph::vertex_descriptor

◆ AtomInfoGraph

using core::io::pose_from_sfr::AtomInfoGraph = typedef boost::undirected_graph<AtomInformation>

◆ NameBimap

typedef boost::bimap< std::string, std::string > core::io::pose_from_sfr::NameBimap

◆ PoseFromSFRBuilderCOP

typedef utility::pointer::shared_ptr< PoseFromSFRBuilder const > core::io::pose_from_sfr::PoseFromSFRBuilderCOP

◆ PoseFromSFRBuilderOP

typedef utility::pointer::shared_ptr< PoseFromSFRBuilder > core::io::pose_from_sfr::PoseFromSFRBuilderOP

◆ RestypeInfoGraph

using core::io::pose_from_sfr::RestypeInfoGraph = typedef boost::undirected_graph< std::pair< std::string, std::string> >

◆ RIGVD

using core::io::pose_from_sfr::RIGVD = typedef RestypeInfoGraph::vertex_descriptor

Function Documentation

◆ bonding_distance_threshold()

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().

◆ check_and_correct_sister_atom_based_on_chirality()

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 
)

◆ check_and_correct_sister_atom_based_on_outgroup()

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 
)

◆ check_and_correct_sister_atoms()

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().

◆ convert_atom_name()

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().

◆ convert_res_name()

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().

◆ create_working_data()

void core::io::pose_from_sfr::create_working_data ( StructFileRepOptions const &  options,
StructFileRep const &  sfr,
utility::vector1< core::io::ResidueInformation > &  rinfos 
)

◆ find_restype()

core::chemical::ResidueTypeCOP core::io::pose_from_sfr::find_restype ( std::string const &  name,
std::string const &  name3,
core::chemical::ResidueTypeSet const &  restypeset,
std::set< std::string > &  warned_on_ccd_confusion 
)

◆ flip_atom_xyz()

void core::io::pose_from_sfr::flip_atom_xyz ( core::conformation::ResidueOP rsd,
std::string const &  sister1_name,
std::string const &  sister2_name 
)

◆ get_chirality_sign()

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 
)

◆ get_closest_sister()

int core::io::pose_from_sfr::get_closest_sister ( Vector const &  xyz_sister1,
Vector const &  xyz_sister2,
Vector const &  xyz_outgroup 
)

◆ is_connected()

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 
)

◆ missing_O2prime()

bool core::io::pose_from_sfr::missing_O2prime ( utility::vector1< core::io::AtomInformation > const &  atoms)

◆ randomize_missing_coords()

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().

◆ remap_names_on_geometry()

void core::io::pose_from_sfr::remap_names_on_geometry ( NameBimap mapping,
ResidueInformation const &  rinfo,
chemical::ResidueType const &  rsd_type 
)

◆ score_mapping()

core::Real core::io::pose_from_sfr::score_mapping ( NameBimap const &  mapping,
ResidueInformation const &  rinfo,
chemical::ResidueType const &  rsd_type 
)

◆ sgn()

int core::io::pose_from_sfr::sgn ( Real const &  x)

◆ show_residue_connections()

void core::io::pose_from_sfr::show_residue_connections ( core::conformation::Conformation const &  conf,
core::Size  i 
)

◆ TR()

static basic::Tracer core::io::pose_from_sfr::TR ( "core.io.pose_from_sfr.PoseFromSFRBuilder"  )
static

◆ update_atom_information_based_on_occupancy()

bool core::io::pose_from_sfr::update_atom_information_based_on_occupancy ( StructFileRepOptions const &  options,
AtomInformation ai 
)