Rosetta
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::io::pose_to_sfr::PoseToStructFileRepConverter Class Reference

A class to convert a pose to a StructFileRep. More...

#include <PoseToStructFileRepConverter.hh>

Inheritance diagram for core::io::pose_to_sfr::PoseToStructFileRepConverter:
Inheritance graph
[legend]

Public Member Functions

 PoseToStructFileRepConverter ()
 Constructor. More...
 
 PoseToStructFileRepConverter (StructFileRepOptions const &options_in)
 Constructor with options input. More...
 
 ~PoseToStructFileRepConverter () override
 Destructor. More...
 
core::io::StructFileRepOP new_sfr ()
 Resets the PoseToStructFileRepConverter object, and reinitializes it with a fresh StruftFileRep object, returning an owning pointer to the new object. More...
 
void init_from_pose (core::pose::Pose const &pose)
 Fill StructFileRep object using information from given Pose object. More...
 
void init_from_pose (core::pose::Pose const &pose, StructFileRepOptions const &options)
 Fill StructFileRep object using information from given Pose object and a set of options. More...
 
void init_from_pose (core::pose::Pose const &pose, utility::vector1< core::Size > const &residue_indices)
 Fill StructFileRep object using information from given Pose object, for a specified subset of residues. More...
 
void init_from_pose (core::pose::Pose const &pose, id::AtomID_Mask const &mask)
 Fill StructFileRep object using information from given Pose object, for a specified subset of residues and atoms. More...
 
void init_from_pose (core::pose::Pose const &pose, id::AtomID_Mask const &mask, StructFileRepOptions const &options)
 Fill StructFileRep object using information from given Pose object, for a specified subset of residues and atoms. More...
 
void grab_additional_pose_data (core::pose::Pose const &pose)
 Get additional pose data. More...
 
void append_residue_to_sfr (pose::Pose const &pose, core::Size const resnum)
 Append pdb information to StructFileRep for a single residue. More...
 
void append_residue_to_sfr (pose::Pose const &pose, core::Size const resnum, core::Size &new_atom_num, core::Size const new_tercount)
 Start atom numbering from given n. Increments N. More...
 
void get_connectivity_annotation_info (core::pose::Pose const &pose)
 Get connectivity annotation information from the Pose object and create LinkInformation and SSBondInformation data as appropriate. More...
 
LinkInformation get_link_record (core::pose::Pose const &pose, core::Size ii, core::Size conn)
 
SSBondInformation get_ssbond_record (core::pose::Pose const &pose, core::Size ii, core::Size conn)
 
void get_parametric_info (core::io::RemarksOP remarks, core::pose::Pose const &pose)
 Get parametric information from the Pose object and add it to the PDB remarks. More...
 
void grab_pose_energies_table (core::pose::Pose const &pose)
 Grab all the data that makes the pose energies table. More...
 
void grab_pose_cache_data (core::pose::Pose const &pose)
 Grab all the data that is in pose datacache as string/value pairs Arbitrary Float data Arbitrary String data. More...
 
void grab_simple_metric_data (core::pose::Pose const &pose)
 Grab RAW simple_metric data for SM IO. More...
 
StructFileRepOP sfr ()
 Non-const access to the StructFileRep object. More...
 

Private Member Functions

void determine_atom_indices (pose::Pose const &pose)
 Determines the atom indices, which are needed for CONECT info. More...
 
bool add_atom_to_sfr (pose::Pose const &pose, conformation::Residue const &rsd, core::Size atom_index) const
 Should this atom be [added]? More...
 
void recalculate_new_chainIDs (pose::Pose const &pose)
 
bool use_pdb_info_for_num (pose::Pose const &pose, Size resnum) const
 
void append_residue_info_to_sfr (ResidueInformation const &res_info, core::conformation::Residue const &rsd)
 Append just residue-based info to StructFileRep For now, it is only HETNAM Data. More...
 
bool append_atom_info_to_sfr (core::pose::Pose const &pose, ResidueInformation const &res_info, core::conformation::Residue const &rsd, core::Size const atom_index)
 Append just atom-based info to StructFileRep. New atom number will be detected from current SFR or start from 1. Returns True if successfully added to SFR. More...
 
bool append_atom_info_to_sfr (core::pose::Pose const &pose, ResidueInformation const &res_info, core::conformation::Residue const &rsd, core::Size const atom_index, core::Size const new_atom_num, core::Size const new_tercount)
 Append just atom-based info to StructFileRep Specify the new atom to start from. Returns True if successfully added to SFR. More...
 
std::string get_chem_comp_type (core::conformation::Residue const &rsd) const
 Determine chem_comp_type via ResidueType and VariantType combinations http://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v50.dic/Items/_chem_comp.type.html. More...
 
core::Size get_new_atom_serial_num () const
 
void generate_default_title_section (rcsb::ExperimentalTechnique const technique)
 Create a default PDB-format title section. More...
 
void generate_default_remarks (rcsb::ExperimentalTechnique const technique)
 Create default PDB remarks, which provide the date and Rosetta version number. More...
 
void set_fold_tree_io (bool const setting)
 Set whether to write the fold tree, in the StructFileRepOptions object (options_). More...
 
void grab_membrane_info (core::pose::Pose const &pose, bool const normalize_to_thk)
 Get the membrane information from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot. More...
 
void grab_conect_records_for_atom (core::pose::Pose const &pose, core::Size const res_index, core::Size const atom_index_in_rsd, core::io::AtomInformation &ai)
 Get the conect record information from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot. More...
 
void grab_foldtree (core::pose::Pose const &pose, bool const output_foldtree)
 Get the foldtree from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot. More...
 
void grab_pdb_parents (core::pose::Pose const &pose, bool const output_parents)
 Get the pdb parents from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot. More...
 
void grab_pdb_comments (core::pose::Pose const &pose, bool const output_comments)
 Get the pdb comments from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot. More...
 
void grab_torsion_records (core::pose::Pose const &pose, bool const output_torsions)
 Get the torsion information from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot. More...
 
void grab_pdbinfo_labels (core::pose::Pose const &pose)
 Get the pdbinfo labels from the pose and store them in the StructFileRep for output to pdbs/mmCIF/whatnot. More...
 
core::Size total_sfr_atoms (StructFileRep const &sfr) const
 Get the total number of atoms in the SFR. More...
 
core::Size total_sfr_atoms (StructFileRep const &sfr, core::Size const chain_num) const
 Get the total number of atoms in a chain in the SFR. More...
 
ResidueInformation get_residue_information (core::pose::Pose const &pose, core::uint const seqpos, core::Size const new_tercount=0) const
 Return the PDB resName, chainID, resSeq, and iCode for the given Rosetta sequence position. More...
 
void generate_secondary_structure_informations (core::pose::Pose const &pose)
 fills HELIXInformation and SHEETInformation for SFR More...
 
void generate_HELIXInformation (ResidueInformation const &start_info, ResidueInformation const &stop_info, core::Size const index, core::Size const length)
 fills one HELIXInformation into SFR More...
 
void generate_SHEETInformation (ResidueInformation const &start_info, ResidueInformation const &stop_info, core::Size const index)
 fills one SHEETInformation into SFR More...
 

Private Attributes

StructFileRepOP sfr_
 Owning pointer to the StructFileRep object, copied in during object construction. More...
 
StructFileRepOptions options_
 The StructFileRepOptions object. More...
 
id::AtomID_Map< Sizeatom_indices_
 The index for every atom in the Pose – used for generating CONECT records. More...
 
bool atom_indices_initialized_
 
utility::vector1< char > new_chainIDs_
 

Friends

class ::PoseToStructFileRepConverterTests
 
std::ostream & operator<< (std::ostream &os, StructFileRep const &)
 Debug printing. More...
 

Detailed Description

A class to convert a pose to a StructFileRep.

The StructFileRep is a data structure that serves as an intermediate between Protein Databank file formats (PDB and mmCIF) and Rosetta objects (poses). This was implemented at the 2016 Chemical XRW (eXtreme Rosetta Workshop), at which this class was popularly referred to as the "pose unbuilder".

Constructor & Destructor Documentation

◆ PoseToStructFileRepConverter() [1/2]

core::io::pose_to_sfr::PoseToStructFileRepConverter::PoseToStructFileRepConverter ( )

Constructor.

Creates the StructFileRep object, which is subsequently accessible by owning pointer (using the sfr() object). The options_ object is created and initialized from the options system.

References new_sfr().

◆ PoseToStructFileRepConverter() [2/2]

core::io::pose_to_sfr::PoseToStructFileRepConverter::PoseToStructFileRepConverter ( StructFileRepOptions const &  options_in)

Constructor with options input.

Creates the StructFileRep object, which is subsequently accessible by owning pointer (using the sfr() object). The options_ object is duplicated from the input options object.

References new_sfr().

◆ ~PoseToStructFileRepConverter()

core::io::pose_to_sfr::PoseToStructFileRepConverter::~PoseToStructFileRepConverter ( )
inlineoverride

Destructor.

Member Function Documentation

◆ add_atom_to_sfr()

bool core::io::pose_to_sfr::PoseToStructFileRepConverter::add_atom_to_sfr ( pose::Pose const &  pose,
conformation::Residue const &  rsd,
core::Size  atom_index 
) const
private

◆ append_atom_info_to_sfr() [1/2]

bool core::io::pose_to_sfr::PoseToStructFileRepConverter::append_atom_info_to_sfr ( core::pose::Pose const &  pose,
ResidueInformation const &  res_info,
core::conformation::Residue const &  rsd,
core::Size const  atom_index 
)
private

Append just atom-based info to StructFileRep. New atom number will be detected from current SFR or start from 1. Returns True if successfully added to SFR.

References core::pose::Pose::chain(), get_new_atom_serial_num(), and core::conformation::Residue::seqpos().

Referenced by append_residue_to_sfr(), and init_from_pose().

◆ append_atom_info_to_sfr() [2/2]

bool core::io::pose_to_sfr::PoseToStructFileRepConverter::append_atom_info_to_sfr ( core::pose::Pose const &  pose,
ResidueInformation const &  res_info,
core::conformation::Residue const &  rsd,
core::Size const  atom_index,
core::Size const  new_atom_num,
core::Size const  new_tercount 
)
private

Append just atom-based info to StructFileRep Specify the new atom to start from. Returns True if successfully added to SFR.

References add_atom_to_sfr(), core::io::AtomInformation::altLoc, core::conformation::Residue::atom(), core::conformation::Residue::atom_name(), core::conformation::Residue::atom_type(), core::chemical::ResidueTypeBase::atom_type_set(), core::chemical::CANONICAL_AA, core::chemical::ResidueTypeBase::canonical_atom_alias(), core::chemical::ResidueTypeBase::canonical_atom_aliases(), core::chemical::CANONICAL_NUCLEIC, core::conformation::Residue::chain(), core::io::AtomInformation::chainID, core::io::ResidueInformation::chainID(), core::io::AtomInformation::chem_comp_type, core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, core::io::AtomInformation::element, get_chem_comp_type(), grab_conect_records_for_atom(), core::chemical::ResidueTypeBase::has_property(), core::chemical::ResidueTypeBase::has_variant_type(), core::io::AtomInformation::iCode, core::io::ResidueInformation::iCode(), core::conformation::Residue::is_carbohydrate(), core::chemical::AtomType::is_virtual(), core::io::AtomInformation::isHet, core::conformation::Residue::name(), core::io::AtomInformation::name, core::conformation::Residue::name3(), core::io::AtomInformation::occupancy, options_, core::io::StructFileRepOptions::output_virtual_zero_occ(), core::pose::Pose::pdb_info(), core::io::AtomInformation::resName, core::io::AtomInformation::resSeq, core::io::ResidueInformation::resSeq(), core::io::AtomInformation::segmentID, core::io::ResidueInformation::segmentID(), core::conformation::Residue::seqpos(), core::io::AtomInformation::serial, sfr_, core::io::AtomInformation::temperature, core::io::AtomInformation::terCount, core::io::pose_to_sfr::TR(), core::conformation::Residue::type(), core::conformation::Atom::type(), use_pdb_info_for_num(), core::io::StructFileRepOptions::write_glycan_pdb_codes(), core::io::AtomInformation::x, core::conformation::Atom::xyz(), core::io::AtomInformation::y, and core::io::AtomInformation::z.

◆ append_residue_info_to_sfr()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::append_residue_info_to_sfr ( ResidueInformation const &  res_info,
core::conformation::Residue const &  rsd 
)
private

◆ append_residue_to_sfr() [1/2]

void core::io::pose_to_sfr::PoseToStructFileRepConverter::append_residue_to_sfr ( pose::Pose const &  pose,
core::Size const  resnum 
)

Append pdb information to StructFileRep for a single residue.

References core::pose::Pose::chain(), and get_new_atom_serial_num().

Referenced by core::io::pdb::dump_pdb_residue().

◆ append_residue_to_sfr() [2/2]

void core::io::pose_to_sfr::PoseToStructFileRepConverter::append_residue_to_sfr ( pose::Pose const &  pose,
core::Size const  resnum,
core::Size new_atom_num,
core::Size const  new_tercount 
)

Start atom numbering from given n. Increments N.

Append pdb information to StructFileRep for a single residue.

Start atom numbering from given n

References append_atom_info_to_sfr(), append_residue_info_to_sfr(), get_residue_information(), core::conformation::Residue::natoms(), and core::pose::Pose::residue().

◆ determine_atom_indices()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::determine_atom_indices ( pose::Pose const &  pose)
private

◆ generate_default_remarks()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::generate_default_remarks ( rcsb::ExperimentalTechnique const  technique)
private

Create default PDB remarks, which provide the date and Rosetta version number.

This function adds the following to structure files generated by Rosetta:
REMARK 220
REMARK 220 EXPERIMENTAL DETAILS
REMARK 220 EXPERIMENT TYPE : THEORETICAL MODELLING
REMARK 220 DATE OF DATA COLLECTION : xx-MMM-xx
REMARK 220
REMARK 220 REMARK: MODEL GENERATED BY ROSETTA
REMARK 220 VERSION 000000000000000000000000000000000000000000000000000000000000
If the -write_pdb_parametric_info option is set to true, the REMARK 250 is used instead. If this pose was the result of crystal- or electron-density-refinement, REMARK 3 records are output instead.

Note
220 is an obsolete REMARK code from an earlier version of the .pdb format. It was used for theoretical models, which at that time were permitted. Technically, REMARK 225 would also have been mandatory, but 225 is a blanket statement that simply explains that any CRYST1 and SCALE records are meaningless. Since a theoretical model can no longer be submitted to the PDB, it is pointless to include RECORD 225.
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::io::StructFileRepOptions::integration_test_mode(), core::io::RemarkInfo::num, options_, core::io::StructFileRepOptions::pdb_author(), sfr_, core::io::rcsb::THEORETICAL_MODEL, core::io::rcsb::UNKNOWN_EXPDTA, core::io::RemarkInfo::value, and core::io::StructFileRepOptions::write_pdb_parametric_info().

Referenced by init_from_pose().

◆ generate_default_title_section()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::generate_default_title_section ( rcsb::ExperimentalTechnique const  technique)
private

Create a default PDB-format title section.

This function adds the following to structure files generated by Rosetta:
HEADER xx-MMM-xx XXXX
EXPDTA THEORETICAL MODEL
AUTHOR
If the pose contains electron density, EXPDTA is blanked, since this is technically no longer a theoretical model.

Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::io::StructFileRepOptions::integration_test_mode(), options_, core::io::StructFileRepOptions::pdb_author(), and sfr_.

Referenced by init_from_pose().

◆ generate_HELIXInformation()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::generate_HELIXInformation ( ResidueInformation const &  start_info,
ResidueInformation const &  stop_info,
core::Size const  index,
core::Size const  length 
)
private

◆ generate_secondary_structure_informations()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::generate_secondary_structure_informations ( core::pose::Pose const &  pose)
private

fills HELIXInformation and SHEETInformation for SFR

fills HELIXInformation and SHEETInformation for SFR - wrappers for individual functions

Author
Steven Lewis smlew.nosp@m.i@gm.nosp@m.ail.c.nosp@m.om, but cribbed from code of Yifan Song as part of Cyrus Biotechnology option dependencies in this function: options_.output_secondary_structure() controls if it runs at all, options_.per_chain_renumbering() is used with ResidueInformation, and it also calls get_residue_information()

References core::conformation::Residue::chain(), core::pose::Pose::chain(), core::io::StructFileRepOptions::do_not_autoassign_SS(), generate_HELIXInformation(), generate_SHEETInformation(), core::scoring::dssp::Dssp::get_dssp_secstruct(), get_residue_information(), options_, core::io::StructFileRepOptions::output_secondary_structure(), core::pose::Pose::residue(), core::pose::Pose::secstruct(), core::pose::Pose::size(), and core::io::pose_to_sfr::TR().

Referenced by init_from_pose().

◆ generate_SHEETInformation()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::generate_SHEETInformation ( ResidueInformation const &  start_info,
ResidueInformation const &  stop_info,
core::Size const  index 
)
private

◆ get_chem_comp_type()

std::string core::io::pose_to_sfr::PoseToStructFileRepConverter::get_chem_comp_type ( core::conformation::Residue const &  rsd) const
private

◆ get_connectivity_annotation_info()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::get_connectivity_annotation_info ( core::pose::Pose const &  pose)

◆ get_link_record()

LinkInformation core::io::pose_to_sfr::PoseToStructFileRepConverter::get_link_record ( core::pose::Pose const &  pose,
core::Size  ii,
core::Size  conn 
)

◆ get_new_atom_serial_num()

core::Size core::io::pose_to_sfr::PoseToStructFileRepConverter::get_new_atom_serial_num ( ) const
private

◆ get_parametric_info()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::get_parametric_info ( core::io::RemarksOP  remarks,
core::pose::Pose const &  pose 
)

Get parametric information from the Pose object and add it to the PDB remarks.

Note
REMARK 250, reserved for "other kinds of studies", is used and appended to the REMARK 250 lines generated by generate_default_remarks().

References core::pose::Pose::conformation(), core::conformation::Conformation::n_parameters_sets(), core::io::RemarkInfo::num, core::conformation::Conformation::parameters_set(), and core::io::RemarkInfo::value.

Referenced by init_from_pose().

◆ get_residue_information()

ResidueInformation core::io::pose_to_sfr::PoseToStructFileRepConverter::get_residue_information ( core::pose::Pose const &  pose,
core::uint const  seqpos,
core::Size const  new_tercount = 0 
) const
private

◆ get_ssbond_record()

SSBondInformation core::io::pose_to_sfr::PoseToStructFileRepConverter::get_ssbond_record ( core::pose::Pose const &  pose,
core::Size  ii,
core::Size  conn 
)

◆ grab_additional_pose_data()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_additional_pose_data ( core::pose::Pose const &  pose)

Get additional pose data.

This is rewritten from the old core/io/pdb/file_data.cc:write_additional_pdb_data() function. This was a catch-all for dumping out all sorts of protocol-specific stuff (e.g. membrane info).

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References core::io::StructFileRepOptions::fold_tree_io(), grab_foldtree(), grab_membrane_info(), grab_pdb_comments(), grab_pdb_parents(), grab_pdbinfo_labels(), grab_torsion_records(), core::io::StructFileRepOptions::normalize_to_thk(), options_, core::io::StructFileRepOptions::output_torsions(), and core::io::StructFileRepOptions::pdb_parents().

Referenced by init_from_pose().

◆ grab_conect_records_for_atom()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_conect_records_for_atom ( core::pose::Pose const &  pose,
core::Size const  res_index,
core::Size const  atom_index_in_rsd,
core::io::AtomInformation ai 
)
private

Get the conect record information from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot.

Parameters
[in]poseThe pose, for determining what's bonded to what.
[in]atom_index_in_poseThe index (in the whole pose) of the atom that we're setting up.
[in]res_indexThe current residue index.
[in]atom_index_rsdThe index (in the residue) of the atom that we're setting up.
[in]dist_cutoffThe atom separation, above which a CONECT record is written.
[in]write_virtualsAre virtual atoms being written out?
[in/out]ai The AtomInformation object that's being set up. Modified by this function
Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)
Parameters
[in]poseThe pose, for determining what's bonded to what.
[in]atom_index_in_poseThe index (in the whole pose) of the atom that we're setting up.
[in]res_indexThe current residue index.
[in]atom_index_rsdThe index (in the residue) of the atom that we're setting up.
[in]dist_cutoffThe atom separation, above which a CONECT record is written.
[in]write_virtualsAre virtual atoms being written out?
[in/out]ai The AtomInformation object that's being set up. Modified by this function

References atom_indices_, atom_indices_initialized_, core::chemical::ResidueType::atom_type(), core::chemical::ResidueType::bond_type(), core::conformation::Conformation::bonded_neighbor_all_res(), core::pose::Pose::conformation(), core::io::StructFileRepOptions::connect_info_cutoff(), core::io::AtomInformation::connected_indices, core::io::AtomInformation::connected_orders, determine_atom_indices(), core::chemical::ResidueType::is_canonical(), core::chemical::ResidueType::is_solvent(), core::chemical::AtomType::is_virtual(), core::chemical::ResidueType::is_virtual_residue(), core::conformation::Residue::natoms(), options_, core::io::StructFileRepOptions::output_virtual(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::id::AtomID::rsd(), core::chemical::SingleBond, core::pose::Pose::size(), core::io::StructFileRepOptions::skip_connect_info(), core::io::StructFileRepOptions::write_all_connect_info(), and core::pose::Pose::xyz().

Referenced by append_atom_info_to_sfr().

◆ grab_foldtree()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_foldtree ( core::pose::Pose const &  pose,
bool const  output_foldtree 
)
private

Get the foldtree from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot.

References core::pose::Pose::fold_tree(), and sfr_.

Referenced by grab_additional_pose_data().

◆ grab_membrane_info()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_membrane_info ( core::pose::Pose const &  pose,
bool const  normalize_to_thk 
)
private

Get the membrane information from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot.

Parameters
[in]poseThe pose.
[in]normalize_to_thkNormalized MEM lines, useful for visualizing the boundaries of the membrane by coupling the NORM and THK coordinates. Added by Rebecca.
Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References core::io::AtomInformation::chainID, core::pose::Pose::conformation(), core::io::AtomInformation::element, core::conformation::Conformation::is_membrane(), core::io::AtomInformation::isHet, core::conformation::Conformation::membrane_info(), core::io::AtomInformation::name, core::io::AtomInformation::occupancy, core::io::AtomInformation::resName, core::io::AtomInformation::resSeq, core::io::AtomInformation::serial, sfr_, core::io::AtomInformation::x, core::io::AtomInformation::y, and core::io::AtomInformation::z.

Referenced by grab_additional_pose_data().

◆ grab_pdb_comments()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_pdb_comments ( core::pose::Pose const &  pose,
bool const  output_comments 
)
private

Get the pdb comments from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot.

References core::pose::get_all_comments(), and sfr_.

Referenced by grab_additional_pose_data().

◆ grab_pdb_parents()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_pdb_parents ( core::pose::Pose const &  pose,
bool const  output_parents 
)
private

Get the pdb parents from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot.

References core::pose::get_comment(), and sfr_.

Referenced by grab_additional_pose_data().

◆ grab_pdbinfo_labels()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_pdbinfo_labels ( core::pose::Pose const &  pose)
private

Get the pdbinfo labels from the pose and store them in the StructFileRep for output to pdbs/mmCIF/whatnot.

This also abuses REMARK lines, and should be rewritten.

References core::conformation::membrane::out, core::pose::Pose::pdb_info(), and sfr_.

Referenced by grab_additional_pose_data().

◆ grab_pose_cache_data()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_pose_cache_data ( core::pose::Pose const &  pose)

Grab all the data that is in pose datacache as string/value pairs Arbitrary Float data Arbitrary String data.

Simple Metric data

References core::io::raw_data::ScoreMap::get_arbitrary_score_data_from_pose(), core::io::raw_data::ScoreMap::get_arbitrary_string_data_from_pose(), and sfr_.

Referenced by init_from_pose().

◆ grab_pose_energies_table()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_pose_energies_table ( core::pose::Pose const &  pose)

◆ grab_simple_metric_data()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_simple_metric_data ( core::pose::Pose const &  pose)

Grab RAW simple_metric data for SM IO.

References core::simple_metrics::get_sm_data(), core::simple_metrics::has_sm_data(), and sfr_.

Referenced by init_from_pose().

◆ grab_torsion_records()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_torsion_records ( core::pose::Pose const &  pose,
bool const  output_torsions 
)
private

Get the torsion information from the pose and store it in the StructFileRep for output to pdbs/mmCIF/whatnot.

This is an incredibly ugly way to handle the output of these records. This abuses the REMARK lines in the PDB format, and should be refactored. Keeping as-is for now to preserve legacy behaviour (VKM 29 January 2016, Chemical XRW).

References core::pose::Pose::chain(), core::scoring::dssp::Dssp::dssp_reduced(), core::chemical::element::F, core::chemical::element::I, core::chemical::ResidueType::is_carbohydrate(), core::pose::is_ideal_pose(), core::chemical::ResidueTypeBase::is_peptoid(), core::chemical::ResidueTypeBase::is_protein(), core::chemical::ResidueTypeBase::name1(), core::pose::Pose::omega(), core::conformation::membrane::out, core::pose::Pose::pdb_info(), core::pose::Pose::phi(), core::pose::Pose::psi(), core::pose::Pose::residue_type(), sfr_, core::pose::Pose::size(), and core::io::pose_to_sfr::TR().

Referenced by grab_additional_pose_data().

◆ init_from_pose() [1/5]

void core::io::pose_to_sfr::PoseToStructFileRepConverter::init_from_pose ( core::pose::Pose const &  pose)

Fill StructFileRep object using information from given Pose object.

Read atoms/residue information from Pose object and put it in StructFileRep object.

References options_.

Referenced by protocols::constel::create_constel_records_from_sfr(), core::io::mmcif::dump_cif(), core::io::mmtf::dump_mmtf(), core::io::pdb::dump_pdb(), core::import_pose::PDBSilentStruct::fill_struct(), init_from_pose(), and core::io::pose_from_pose().

◆ init_from_pose() [2/5]

void core::io::pose_to_sfr::PoseToStructFileRepConverter::init_from_pose ( core::pose::Pose const &  pose,
id::AtomID_Mask const &  mask 
)

Fill StructFileRep object using information from given Pose object, for a specified subset of residues and atoms.

References init_from_pose(), and options_.

◆ init_from_pose() [3/5]

void core::io::pose_to_sfr::PoseToStructFileRepConverter::init_from_pose ( core::pose::Pose const &  pose,
id::AtomID_Mask const &  mask,
StructFileRepOptions const &  options 
)

◆ init_from_pose() [4/5]

void core::io::pose_to_sfr::PoseToStructFileRepConverter::init_from_pose ( core::pose::Pose const &  pose,
StructFileRepOptions const &  options 
)

Fill StructFileRep object using information from given Pose object and a set of options.

Read atoms/residue information from Pose object and put it in StructFileRep object using options defined in StructFileRepOptions.

References init_from_pose(), core::pose::Pose::residue_type(), core::id::AtomID_Map< T >::set(), and core::pose::Pose::size().

◆ init_from_pose() [5/5]

void core::io::pose_to_sfr::PoseToStructFileRepConverter::init_from_pose ( core::pose::Pose const &  pose,
utility::vector1< core::Size > const &  residue_indices 
)

Fill StructFileRep object using information from given Pose object, for a specified subset of residues.

A lightweight, direct way of limiting pose pdb output to a subset of residues.

Note
The alternative of constructing new subposes for output only would be unnecessary/less efficient (?)

References init_from_pose(), core::pose::Pose::residue_type(), core::id::AtomID_Map< T >::set(), and core::pose::Pose::size().

◆ new_sfr()

core::io::StructFileRepOP core::io::pose_to_sfr::PoseToStructFileRepConverter::new_sfr ( )

Resets the PoseToStructFileRepConverter object, and reinitializes it with a fresh StruftFileRep object, returning an owning pointer to the new object.

References atom_indices_initialized_, and sfr_.

Referenced by init_from_pose(), and PoseToStructFileRepConverter().

◆ recalculate_new_chainIDs()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::recalculate_new_chainIDs ( pose::Pose const &  pose)
private

◆ set_fold_tree_io()

void core::io::pose_to_sfr::PoseToStructFileRepConverter::set_fold_tree_io ( bool const  setting)
private

Set whether to write the fold tree, in the StructFileRepOptions object (options_).

References options_, and core::io::StructFileRepOptions::set_fold_tree_io().

◆ sfr()

StructFileRepOP core::io::pose_to_sfr::PoseToStructFileRepConverter::sfr ( )

◆ total_sfr_atoms() [1/2]

core::Size core::io::pose_to_sfr::PoseToStructFileRepConverter::total_sfr_atoms ( StructFileRep const &  sfr) const
private

Get the total number of atoms in the SFR.

References sfr(), and protocols::analysis::total.

Referenced by get_new_atom_serial_num().

◆ total_sfr_atoms() [2/2]

core::Size core::io::pose_to_sfr::PoseToStructFileRepConverter::total_sfr_atoms ( StructFileRep const &  sfr,
core::Size const  chain_num 
) const
private

Get the total number of atoms in a chain in the SFR.

References sfr().

◆ use_pdb_info_for_num()

bool core::io::pose_to_sfr::PoseToStructFileRepConverter::use_pdb_info_for_num ( pose::Pose const &  pose,
Size  resnum 
) const
private

Friends And Related Function Documentation

◆ ::PoseToStructFileRepConverterTests

friend class ::PoseToStructFileRepConverterTests
friend

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
StructFileRep const &   
)
friend

Debug printing.

Member Data Documentation

◆ atom_indices_

id::AtomID_Map< Size > core::io::pose_to_sfr::PoseToStructFileRepConverter::atom_indices_
private

The index for every atom in the Pose – used for generating CONECT records.

Referenced by determine_atom_indices(), and grab_conect_records_for_atom().

◆ atom_indices_initialized_

bool core::io::pose_to_sfr::PoseToStructFileRepConverter::atom_indices_initialized_
private

◆ new_chainIDs_

utility::vector1< char > core::io::pose_to_sfr::PoseToStructFileRepConverter::new_chainIDs_
private

◆ options_

StructFileRepOptions core::io::pose_to_sfr::PoseToStructFileRepConverter::options_
private

◆ sfr_

StructFileRepOP core::io::pose_to_sfr::PoseToStructFileRepConverter::sfr_
private

The documentation for this class was generated from the following files: