Rosetta
|
A simple protocol which outputs information about surface residues on the passed in list of PDBs. More...
#include <core/pose/Pose.hh>
#include <core/conformation/Residue.hh>
#include <core/scoring/Energies.hh>
#include <core/pose/PDBInfo.hh>
#include <core/scoring/TenANeighborGraph.hh>
#include <core/io/pdb/pdb_writer.hh>
#include <core/scoring/ScoreFunctionFactory.hh>
#include <core/scoring/ScoreFunction.hh>
#include <core/scoring/sasa.hh>
#include <devel/init.hh>
#include <basic/tracer.hh>
#include <basic/database/open.hh>
#include <basic/options/util.hh>
#include <basic/options/keys/in.OptionKeys.gen.hh>
#include <protocols/viewer/viewers.hh>
#include <utility/file/file_sys_util.hh>
#include <utility/file/FileName.hh>
#include <utility/io/izstream.hh>
#include <core/types.hh>
#include <utility/vector1.hh>
#include <numeric/xyzVector.hh>
#include <numeric/constants.hh>
#include <utility/exit.hh>
#include <basic/prof.hh>
#include <ObjexxFCL/format.hh>
#include <sstream>
#include <string>
#include <map>
#include <core/import_pose/import_pose.hh>
Macros | |
#define | FILE_DEBUG 1 |
Functions | |
core::Real | neighborWeight (core::Vector::Value &dist, core::Real lBound, core::Real uBound) |
Calculate the weighted neighbor count given an upper and lower bound. More... | |
void | read_NACCESS_asa_file (std::string filename, std::map< std::string, Real > &map) |
void | find_hppatches_nb_graph (std::vector< FileName > &pdb_file_names) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins More... | |
void | find_hppatches_distance (std::vector< FileName > &pdb_file_names) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins More... | |
void | calculate_percent_hydrophobic_stats (std::vector< FileName > &pdb_file_names) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins More... | |
void | calculate_percent_hydrophobic_distribution (std::vector< FileName > &pdb_file_names) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins More... | |
void | calculate_hydrophobic_accessible_surface_area (std::vector< FileName > &pdb_file_names) |
a quick protocol written to calculate hydrophobic ASA on a set of proteins More... | |
void | calculate_hASA_by_type_and_exposure (std::vector< FileName > &pdb_file_names) |
a quick protocol written to tally the amount of hASA exposed by each residue type in a certain environment More... | |
void | calculate_hASA_by_type_and_attractiveE (std::vector< FileName > &pdb_file_names) |
std::string | get_residue_key (core::pose::Pose &pose, core::Size pose_resid, bool mse) |
helper function for function below More... | |
void | calculate_total_hASA_within_distance_exact_hASA_values (std::vector< FileName > &pdb_file_names) |
void | calculate_total_hASA_within_distance_exact_hASA_values_allnbs (std::vector< FileName > &pdb_file_names) |
void | calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs (std::vector< FileName > &pdb_file_names) |
void | calculate_total_hASA_within_distance_miniSASAvalues_allnbs_exposedornot_conditionalonnumnbs (std::vector< FileName > &pdb_file_names) |
std::string | get_map_key (std::string resname, core::Size count_nbs) |
helper function for function below More... | |
void | calculate_total_hASA_within_distance_avg_values (std::vector< FileName > &pdb_file_names) |
a quick protocol written to calculate hydrophobic ASA on a set of proteins More... | |
void | calculate_hASA_by_type_and_nbcount (std::vector< FileName > &pdb_file_names) |
void | calculate_total_hASA_within_distance_avgresiduevalues_allnbs_conditionalonnumnbs (std::vector< FileName > &pdb_file_names) |
int | main (int argc, char *argv[]) |
main function More... | |
Variables | |
static basic::Tracer | TR ("apps.pilot.ronj.hydrophobic_patch_stats_calculator") |
core::Size | SURFACE_EXPOSED_CUTOFF = 20 |
core::Size | BURIED_RESIDUE_NO_HSASA_CUTOFF = 24 |
A simple protocol which outputs information about surface residues on the passed in list of PDBs.
#define FILE_DEBUG 1 |
void calculate_hASA_by_type_and_attractiveE | ( | std::vector< FileName > & | pdb_file_names | ) |
References utility::io::oc::cerr, dist(), numeric::xyzVector< T >::distance(), utility::options::OptionKeys::options::exit, utility::file::file_basename(), utility::file::file_exists(), lactamize::filename, create_a3b_hbs::ii, enumerate_junctions::int, subloop_histogram::iterator, beta_nonlocal::jj, kk, neighborWeight(), numeric::xyzVector< T >::norm(), erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, test.T008_Serialization::pose2, pyrosetta.distributed.io::pose_from_file, read_NACCESS_asa_file(), oop_conformations::scorefxn, subloop_histogram::size, TR, utility::file::trytry_ofstream_open(), and basic::options::OptionKeys::sc::weight.
void calculate_hASA_by_type_and_exposure | ( | std::vector< FileName > & | pdb_file_names | ) |
a quick protocol written to tally the amount of hASA exposed by each residue type in a certain environment
References utility::io::oc::cerr, utility::options::OptionKeys::options::exit, utility::file::file_basename(), utility::file::file_exists(), lactamize::filename, create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, kk, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, read_NACCESS_asa_file(), oop_conformations::scorefxn, subloop_histogram::size, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void calculate_hASA_by_type_and_nbcount | ( | std::vector< FileName > & | pdb_file_names | ) |
Function which determines the amount of hASA a residue exposes given some number of neighbors. Previous versions of this function have used the NACCESS generated output files to determine the hASA. This new version of the function uses the mini SASA calculation machinery to do the same thing. It will be interesting to see if the two match up.
References BURIED_RESIDUE_NO_HSASA_CUTOFF, utility::io::oc::cerr, utility::options::OptionKeys::options::exit, utility::file::file_exists(), lactamize::filename, create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, oop_conformations::scorefxn, TR, and utility::file::trytry_ofstream_open().
void calculate_hydrophobic_accessible_surface_area | ( | std::vector< FileName > & | pdb_file_names | ) |
a quick protocol written to calculate hydrophobic ASA on a set of proteins
References utility::io::oc::cerr, utility::options::OptionKeys::options::exit, utility::file::file_basename(), utility::file::file_exists(), lactamize::filename, getline(), create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, subloop_histogram::key, line, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void calculate_percent_hydrophobic_distribution | ( | std::vector< FileName > & | pdb_file_names | ) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins
References utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::file::file_exists(), run_backbone::float, utility::graph::Edge::get_node(), create_a3b_hbs::i, subloop_histogram::iterator, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void calculate_percent_hydrophobic_stats | ( | std::vector< FileName > & | pdb_file_names | ) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins
References average(), utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::io::oc::cout, erraser_analysis::diff, utility::file::file_exists(), run_backbone::float, utility::graph::Edge::get_node(), create_a3b_hbs::i, subloop_histogram::iterator, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, oop_conformations::scorefxn, numeric::statistics::std_dev(), sum(), SURFACE_EXPOSED_CUTOFF, and TR.
void calculate_total_hASA_within_distance_avg_values | ( | std::vector< FileName > & | pdb_file_names | ) |
a quick protocol written to calculate hydrophobic ASA on a set of proteins
The function before this one figures out what the hASA is for each residue type on the surface. This functions uses the values determined in that function. For every surface exposed residue, we look at all the other surface-exposed residues within some distance (e.g. 10A to start with) and how many neighbors THOSE residues have and determine what the total hASA for the surface-exposed residue we're currently on. After going through all PDBs and all residues, it will print out the hASA in that sphere and I will create a distribution of this in JMP.
References utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::io::izstream::eof(), utility::options::OptionKeys::options::exit, utility::file::file_exists(), get_map_key(), utility::graph::Edge::get_node(), create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, subloop_histogram::key, basic::database::open(), erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, build_restypes::restype, oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void calculate_total_hASA_within_distance_avgresiduevalues_allnbs_conditionalonnumnbs | ( | std::vector< FileName > & | pdb_file_names | ) |
Calculates patch areas for all surface positions. Surface positions are those with lte 16/20 nbs. Uses all neighbor types, not just hydrophobic neighbors, or just surface-exposed residues. Uses the average hASA residue values determined from lots of residue observations, not exact SASA values. Does still include a check to make sure neighbors are surface-exposed. (If we didn't have this check, then the patch areas would be significantly off.) Splits up the patch areas by number of nbs that each surface position has for a finer grained score.
References BURIED_RESIDUE_NO_HSASA_CUTOFF, utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::io::izstream::eof(), utility::options::OptionKeys::options::exit, utility::file::file_exists(), lactamize::filename, get_map_key(), utility::graph::Edge::get_node(), test.T110_numeric::I, create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, subloop_histogram::key, basic::database::open(), erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, build_restypes::restype, oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
Referenced by main().
void calculate_total_hASA_within_distance_exact_hASA_values | ( | std::vector< FileName > & | pdb_file_names | ) |
Same as function above but instead of using the average amount of hASA a residue exposes in a certain environment, go back and read the NACCESS files to see how much surface area exactly the neighbors and that residue expose. Doing this to get an idea of the amount of error we introduce by using average hASA instead of exact hASA. After going through all PDBs and all residues, it will print out the hASA in that sphere and I will create a distribution of this in JMP.
References utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::options::OptionKeys::options::exit, utility::file::file_basename(), utility::file::file_exists(), utility::graph::Edge::get_node(), get_residue_key(), create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, subloop_histogram::key, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, read_NACCESS_asa_file(), oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void calculate_total_hASA_within_distance_exact_hASA_values_allnbs | ( | std::vector< FileName > & | pdb_file_names | ) |
Same as function above but instead of using just hydrophobic neighbors, uses all surface-exposed neighbors.
References utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::options::OptionKeys::options::exit, utility::file::file_basename(), utility::file::file_exists(), utility::graph::Edge::get_node(), get_residue_key(), create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, subloop_histogram::key, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, read_NACCESS_asa_file(), oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs | ( | std::vector< FileName > & | pdb_file_names | ) |
Same as function above but instead of using just hydrophobic neighbors, uses all neighbors, surface exposed or not. This function makes multiple score distributions, based on the number of neighbors a position has.
References utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::options::OptionKeys::options::exit, utility::file::file_basename(), utility::file::file_exists(), utility::graph::Edge::get_node(), get_residue_key(), create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, subloop_histogram::key, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, read_NACCESS_asa_file(), oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void calculate_total_hASA_within_distance_miniSASAvalues_allnbs_exposedornot_conditionalonnumnbs | ( | std::vector< FileName > & | pdb_file_names | ) |
Same as function above but instead of using just hydrophobic neighbors, uses all neighbors, surface exposed or not. This function makes multiple score distributions, based on the number of neighbors a position has. Same as above but instead of using NACCESS, uses the SurfacePotential to get hASA.
References utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::options::OptionKeys::options::exit, utility::file::file_exists(), lactamize::filename, utility::graph::Edge::get_node(), test.T110_numeric::I, create_a3b_hbs::ii, subloop_histogram::iterator, beta_nonlocal::jj, erraser_single_res_analysis::out, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, TR, and utility::file::trytry_ofstream_open().
void find_hppatches_distance | ( | std::vector< FileName > & | pdb_file_names | ) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins
References utility::io::oc::cerr, utility::file::file_exists(), subloop_histogram::iterator, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, test.T200_Scoring::rsd1, test.T200_Scoring::rsd2, oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, and TR.
void find_hppatches_nb_graph | ( | std::vector< FileName > & | pdb_file_names | ) |
a quick protocol written to calculate some statistics on surface residues in native and designed proteins
References utility::io::oc::cerr, utility::graph::Node::const_edge_list_end(), utility::file::file_exists(), utility::graph::Edge::get_node(), subloop_histogram::iterator, kic_runner::pdb, beta_nonlocal::pose, pyrosetta.distributed.io::pose_from_file, oop_conformations::scorefxn, SURFACE_EXPOSED_CUTOFF, and TR.
std::string get_map_key | ( | std::string | resname, |
core::Size | count_nbs | ||
) |
helper function for function below
Referenced by calculate_total_hASA_within_distance_avg_values(), and calculate_total_hASA_within_distance_avgresiduevalues_allnbs_conditionalonnumnbs().
std::string get_residue_key | ( | core::pose::Pose & | pose, |
core::Size | pose_resid, | ||
bool | mse | ||
) |
helper function for function below
References beta_nonlocal::pose.
Referenced by calculate_total_hASA_within_distance_exact_hASA_values(), calculate_total_hASA_within_distance_exact_hASA_values_allnbs(), and calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs().
int main | ( | int | argc, |
char * | argv[] | ||
) |
main function
References argv, calculate_total_hASA_within_distance_avgresiduevalues_allnbs_conditionalonnumnbs(), data, test.T009_Exceptions::e, getline(), create_a3b_hbs::i, basic::init(), subloop_histogram::iterator, in::file::l(), line, option, in::file::s(), TR, utility_exit_with_message, and utility_exit_with_message_status.
core::Real neighborWeight | ( | core::Vector::Value & | dist, |
core::Real | lBound, | ||
core::Real | uBound | ||
) |
Calculate the weighted neighbor count given an upper and lower bound.
References dist(), and numeric::constants::r::pi.
Referenced by calculate_hASA_by_type_and_attractiveE().
void read_NACCESS_asa_file | ( | std::string | filename, |
std::map< std::string, Real > & | map | ||
) |
Read in the values contained in the NACCESS data file into the map passed in by reference.
References lactamize::filename, getline(), subloop_histogram::key, and line.
Referenced by calculate_hASA_by_type_and_attractiveE(), calculate_hASA_by_type_and_exposure(), calculate_total_hASA_within_distance_exact_hASA_values(), calculate_total_hASA_within_distance_exact_hASA_values_allnbs(), and calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs().
core::Size BURIED_RESIDUE_NO_HSASA_CUTOFF = 24 |
core::Size SURFACE_EXPOSED_CUTOFF = 20 |
Referenced by calculate_hASA_by_type_and_exposure(), calculate_hydrophobic_accessible_surface_area(), calculate_percent_hydrophobic_distribution(), calculate_percent_hydrophobic_stats(), calculate_total_hASA_within_distance_avg_values(), calculate_total_hASA_within_distance_avgresiduevalues_allnbs_conditionalonnumnbs(), calculate_total_hASA_within_distance_exact_hASA_values(), calculate_total_hASA_within_distance_exact_hASA_values_allnbs(), calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs(), calculate_total_hASA_within_distance_miniSASAvalues_allnbs_exposedornot_conditionalonnumnbs(), find_hppatches_distance(), and find_hppatches_nb_graph().
|
static |
Referenced by calculate_hASA_by_type_and_attractiveE(), calculate_hASA_by_type_and_exposure(), calculate_hASA_by_type_and_nbcount(), calculate_hydrophobic_accessible_surface_area(), calculate_percent_hydrophobic_distribution(), calculate_percent_hydrophobic_stats(), calculate_total_hASA_within_distance_avg_values(), calculate_total_hASA_within_distance_avgresiduevalues_allnbs_conditionalonnumnbs(), calculate_total_hASA_within_distance_exact_hASA_values(), calculate_total_hASA_within_distance_exact_hASA_values_allnbs(), calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs(), calculate_total_hASA_within_distance_miniSASAvalues_allnbs_exposedornot_conditionalonnumnbs(), find_hppatches_distance(), find_hppatches_nb_graph(), and main().