Rosetta
Macros | Functions | Variables
hydrophobic_patch_stats_calculator.cc File Reference

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
 

Detailed Description

A simple protocol which outputs information about surface residues on the passed in list of PDBs.

Author
Ron Jacak

Macro Definition Documentation

◆ FILE_DEBUG

#define FILE_DEBUG   1

Function Documentation

◆ calculate_hASA_by_type_and_attractiveE()

void calculate_hASA_by_type_and_attractiveE ( std::vector< FileName > &  pdb_file_names)

◆ calculate_hASA_by_type_and_exposure()

void calculate_hASA_by_type_and_exposure ( std::vector< FileName > &  pdb_file_names)

◆ calculate_hASA_by_type_and_nbcount()

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

◆ calculate_hydrophobic_accessible_surface_area()

void calculate_hydrophobic_accessible_surface_area ( std::vector< FileName > &  pdb_file_names)

◆ calculate_percent_hydrophobic_distribution()

void calculate_percent_hydrophobic_distribution ( std::vector< FileName > &  pdb_file_names)

◆ calculate_percent_hydrophobic_stats()

void calculate_percent_hydrophobic_stats ( std::vector< FileName > &  pdb_file_names)

◆ calculate_total_hASA_within_distance_avg_values()

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

◆ calculate_total_hASA_within_distance_avgresiduevalues_allnbs_conditionalonnumnbs()

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

◆ calculate_total_hASA_within_distance_exact_hASA_values()

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

◆ calculate_total_hASA_within_distance_exact_hASA_values_allnbs()

void calculate_total_hASA_within_distance_exact_hASA_values_allnbs ( std::vector< FileName > &  pdb_file_names)

◆ calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs()

void calculate_total_hASA_within_distance_exact_hASA_values_allnbs_exposedornot_conditionalonnumnbs ( std::vector< FileName > &  pdb_file_names)

◆ calculate_total_hASA_within_distance_miniSASAvalues_allnbs_exposedornot_conditionalonnumnbs()

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

◆ find_hppatches_distance()

void find_hppatches_distance ( std::vector< FileName > &  pdb_file_names)

◆ find_hppatches_nb_graph()

void find_hppatches_nb_graph ( std::vector< FileName > &  pdb_file_names)

◆ get_map_key()

std::string get_map_key ( std::string  resname,
core::Size  count_nbs 
)

◆ get_residue_key()

std::string get_residue_key ( core::pose::Pose pose,
core::Size  pose_resid,
bool  mse 
)

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ neighborWeight()

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

◆ read_NACCESS_asa_file()

void read_NACCESS_asa_file ( std::string  filename,
std::map< std::string, Real > &  map 
)

Variable Documentation

◆ BURIED_RESIDUE_NO_HSASA_CUTOFF

core::Size BURIED_RESIDUE_NO_HSASA_CUTOFF = 24

◆ SURFACE_EXPOSED_CUTOFF

core::Size SURFACE_EXPOSED_CUTOFF = 20

◆ TR

basic::Tracer TR("apps.pilot.ronj.hydrophobic_patch_stats_calculator") ( "apps.pilot.ronj.hydrophobic_patch_stats_calculator"  )
static