Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sasa.hh
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file core/scoring/sasa.hh
11 /// @brief routines which calculate solvent accessible surface area
12 /// @author Jeff Gray
13 
14 #ifndef INCLUDED_core_scoring_sasa_hh
15 #define INCLUDED_core_scoring_sasa_hh
16 
17 #include <core/types.hh>
18 #include <core/pose/Pose.fwd.hh>
21 
22 // Utility headers
23 
24 // ObjexxFCL header
25 // AUTO-REMOVED #include <ObjexxFCL/FArray2D.hh>
26 
27 #include <utility/vector1.hh>
28 #include <ObjexxFCL/FArray2D.fwd.hh>
29 
30 // C++
31 
32 namespace core {
33 namespace scoring {
34 
35 void input_sasa_dats();
36 
37 void get_overlap( Real const radius_a, Real const radius_b, Real const distance_ijxyz, int & degree_of_overlap );
38 void get_orientation( Vector const & a_xyz, Vector const & b_xyz, int & phi_index, int & theta_index, Real distance_ijxyz );
39 void get_2way_orientation( Vector const & a_xyz, Vector const & b_xyz,
40  int & phi_a2b_index, int & theta_a2b_index, int & phi_b2a_index, int & theta_b2a_index, Real distance_ijxyz );
41 
42 /// returns total sasa
43 Real calc_per_atom_sasa( pose::Pose const & pose, id::AtomID_Map< Real > & atom_sasa, utility::vector1< Real > & rsd_sasa,
44  Real const probe_radius, bool const use_big_polar_H = false );
45 
46 /// returns total sasa
47 //Real
48 //calc_per_atom_sasa( pose::Pose const & pose, id::AtomID_Map< Real > & atom_sasa, utility::vector1< Real > & rsd_sasa,
49 // Real const probe_radius, bool const use_big_polar_H, id::AtomID_Map< bool > & atom_subset );
50 
51 Real
53  pose::Pose const & pose,
54  id::AtomID_Map< Real > & atom_sasa,
55  utility::vector1< Real > & rsd_sasa,
56  Real const probe_radius,
57  bool const use_big_polar_H,
58  id::AtomID_Map< bool > & atom_subset,
59  bool const use_naccess_sasa_radii = false,
60  bool const expand_polar_radii = false,
61  Real const polar_expansion_radius = 1.0,
62  bool const include_probe_radius_in_atom_radii = true,
63  bool const use_lj_radii = false
64 );
65 
66  void
68  core::conformation::Residue const & irsd,
69  core::conformation::Residue const & jrsd,
70  Real const probe_radius,
71  Real const cutoff_distance,
72  utility::vector1< Real > const & radii,
73  id::AtomID_Map< bool > const & atom_subset,
75 );
76 
77 
78 /// returns total sasa
79 Real calc_total_sasa( pose::Pose const & pose, Real const probe_radius );
80 
81 int get_num_bytes();
82 ObjexxFCL::FArray2D_int const & get_angles();
83 ObjexxFCL::FArray2D_ubyte const & get_masks();
84 
86  utility::vector1< Real > & rsd_sasa, utility::vector1< Real > & rsd_hydrophobic_sasa, Real const probe_radius, bool use_naccess_sasa_radii = false );
87 
88 // Undefined, commenting out to fix PyRosetta build void print_dot_bit_string( utility::vector1< ObjexxFCL::ubyte > & values );
89 
90 } // namespace scoring
91 } // namespace core
92 
93 
94 #endif //