Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Functions | Variables
sasa.cc File Reference

routines which calculate solvent accessible surface area More...

#include <core/chemical/AtomType.hh>
#include <core/chemical/AtomTypeSet.hh>
#include <core/conformation/Residue.hh>
#include <core/id/AtomID.hh>
#include <core/id/AtomID_Map.hh>
#include <basic/database/open.hh>
#include <core/pose/Pose.hh>
#include <core/pose/util.hh>
#include <core/scoring/sasa.hh>
#include <core/types.hh>
#include <basic/Tracer.hh>
#include <ObjexxFCL/ubyte.hh>
#include <ObjexxFCL/FArray2D.hh>
#include <ObjexxFCL/Fmath.hh>
#include <ObjexxFCL/format.hh>
#include <numeric/constants.hh>
#include <numeric/trig.functions.hh>
#include <utility/io/izstream.hh>
#include <cmath>
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <utility/vector1.hh>
#include <core/pose/util.tmpl.hh>

Namespaces

 core
 A class for reading in the atom type properties.
 
 core::scoring
 

Functions

static basic::Tracer TR ("core.scoring.sasa")
 
ObjexxFCL::FArray2D_int core::scoring::angles (num_phi, num_theta)
 
ObjexxFCL::FArray2D_ubyte core::scoring::masks (num_bytes, num_overlaps *num_orientations)
 
void core::scoring::input_sasa_dats ()
 Reads in the SASA database files sampling/SASA-angles.dat and sampling/SASA-masks.dat into FArrays above. More...
 
void core::scoring::get_overlap (Real const radius_a, Real const radius_b, Real const distance_ijxyz, int &degree_of_overlap)
 
void core::scoring::get_orientation (Vector const &a_xyz, Vector const &b_xyz, int &phi_index, int &theta_index, Real distance_ijxyz)
 Gets the orientation of a to b (i to j, see below). Does this by calculating two angles, aphi and theta. (j) More...
 
Real core::scoring::calc_total_sasa (pose::Pose const &pose, Real const probe_radius)
 returns total sasa More...
 
Real core::scoring::calc_per_atom_sasa (pose::Pose const &pose, id::AtomID_Map< Real > &atom_sasa, utility::vector1< Real > &rsd_sasa, Real const probe_radius, bool const use_big_polar_H=false)
 Return total SASA. More...
 
Real core::scoring::calc_per_atom_sasa_sc (pose::Pose const &pose, utility::vector1< Real > &rsd_sasa, bool normalize)
 
Real core::scoring::normalizing_area (char const res)
 Get the area of the sidechain. More...
 
Real core::scoring::normalizing_area_total (char const res)
 Given a one-letter code for a canonical amino acid, return its total surface area. More...
 
Real core::scoring::normalizing_area_total_hydrophobic_atoms_only (char const res)
 Given a one-letter code for a canonical amino acid, return its total surface area, computed only using hydrophobic atoms. More...
 
Real core::scoring::normalizing_area_total_polar_atoms_only (char const res)
 Given a one-letter code for a canonical amino acid, return its total surface area, computed only using polar atoms. More...
 
Real core::scoring::calc_per_atom_sasa (pose::Pose const &pose, id::AtomID_Map< Real > &atom_sasa, utility::vector1< Real > &rsd_sasa, Real const probe_radius, bool const use_big_polar_H, id::AtomID_Map< bool > &atom_subset, bool const use_naccess_sasa_radii=false, bool const expand_polar_radii=false, Real const polar_expansion_radius=1.0, bool const include_probe_radius_in_atom_radii=true, bool const use_lj_radii=false)
 returns total sasa More...
 
void core::scoring::calc_atom_masks (core::conformation::Residue const &irsd, core::conformation::Residue const &jrsd, Real const probe_radius, Real const cutoff_distance, utility::vector1< Real > const &radii, id::AtomID_Map< bool > const &atom_subset, core::id::AtomID_Map< utility::vector1< ObjexxFCL::ubyte > > &atom_masks)
 
int core::scoring::get_num_bytes ()
 Returns the number of bytes the overlap arrays use for tracking SASA. Adding this in so that the values in the SASA database files can be used in SASA-based scores. (ronj) More...
 
ObjexxFCL::FArray2D_int const & core::scoring::get_angles ()
 Returns const access to the angles FArray, which contains the information in the SASA database file sampling/SASA-angles.dat. Adding this in so that the values in the SASA database files can be used in SASA-based scores. (ronj) More...
 
ObjexxFCL::FArray2D_ubyte const & core::scoring::get_masks ()
 Returns const access to the masks FArray, which contains the information in the SASA database file sampling/SASA-masks.dat. Adding this in so that the values in the SASA database files can be used in SASA-based scores. (ronj) More...
 
Real core::scoring::calc_per_res_hydrophobic_sasa (pose::Pose const &pose, utility::vector1< Real > &rsd_sasa, utility::vector1< Real > &rsd_hydrophobic_sasa, Real const probe_radius, bool use_naccess_sasa_radii)
 Uses the method above to calculate total SASA and then only looks at the hydrophobic contribution. Returns the total hydrophobic SASA for the passed in pose. This method is being used for a protein surface score being developed by ronj. Note: Uses an atom id mask that ignores H's in the pose - only sees and computes the SASA for heavy atoms in the pose. This is done to keep things fast. Only computes the amount of hSASA per residue, not per atom. Doesn't make sense to calculate a per-atom hSASA. (ronj) More...
 

Variables

short const core::scoring::bit_count []
 
int const core::scoring::num_bytes = 21
 
int const core::scoring::num_phi = 64
 
int const core::scoring::num_theta = 64
 
int const core::scoring::num_overlaps = 100
 
int const core::scoring::num_orientations = 162
 
int const core::scoring::maskbits = 162
 

Detailed Description

routines which calculate solvent accessible surface area

Author
Jeff Gray
Ron Jacak (hydrophobic sasa method, comments, unit tests)

Function Documentation

static basic::Tracer TR ( "core.scoring.sasa"  )
static