OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
accessibility.hh
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // This file is part of the OpenStructure project <www.openstructure.org>
3 //
4 // Copyright (C) 2008-2020 by the OpenStructure authors
5 //
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License as published by the Free
8 // Software Foundation; either version 3.0 of the License, or (at your option)
9 // any later version.
10 // This library is distributed in the hope that it will be useful, but WITHOUT
11 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13 // details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this library; if not, write to the Free Software Foundation, Inc.,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 //------------------------------------------------------------------------------
19 
20 #ifndef OST_ACCESSIBILITY_HH
21 #define OST_ACCESSIBILITY_HH
22 
23 #include <ost/mol/entity_view.hh>
24 #include <ost/mol/entity_handle.hh>
25 
26 namespace ost { namespace mol { namespace alg {
27 
28 typedef enum {
31 
33 
34 public:
35  // Singleton access to one constant instance
37  static NACCESSAccessibilityParam instance;
38  return instance;
39  }
40  // Data access
41  Real GetVdWRadius(const String& rname, const String& aname,
42  const String& ele) const;
43 
44  Real GetResidueAccessibility(const String& rname) const;
45 
46 private:
47 
48  // construction only inside here
50 
51  Real GuessRadius(const String& ele) const;
52 
53 
54  std::map<String, std::map<String, Real> > vdw_radii_;
55  std::map<String, Real> accessibilities_;
56 };
57 
59 
60  public:
61  // Singleton access to one constant instance
63  static DSSPAccessibilityParam instance;
64  return instance;
65  }
66  // Data access
67  Real GetVdWRadius(const String& aname) const;
68 
69  Real GetResidueAccessibility(const String& rname) const;
70 
71  const std::vector<Real>& GetFibonacciX() const { return fibonacci_x_; }
72  const std::vector<Real>& GetFibonacciY() const { return fibonacci_y_; }
73  const std::vector<Real>& GetFibonacciZ() const { return fibonacci_z_; }
74  Real GetPointWeight() const { return point_weight_; }
75 
76  private:
77 
78  // construction only inside here
80 
81  std::map<String, std::map<String, Real> > vdw_radii_;
82  std::map<String, Real> accessibilities_;
83  std::vector<Real> fibonacci_x_;
84  std::vector<Real> fibonacci_y_;
85  std::vector<Real> fibonacci_z_;
86  Real point_weight_;
87  };
88 
90  Real probe_radius = 1.4,
91  bool include_hydrogens = false,
92  bool include_hetatm = false,
93  bool include_water = false,
94  bool oligo_mode = false,
95  const String& selection = "",
96  const String& asa_abs = "asaAbs",
97  const String& asa_rel = "asaRel",
98  const String& asa_atom = "asaAtom",
99  AccessibilityAlgorithm algorithm = NACCESS);
100 
101 
103  Real probe_radius = 1.4,
104  bool include_hydrogens = false,
105  bool include_hetatm = false,
106  bool include_water = false,
107  bool oligo_mode = false,
108  const String& selection = "",
109  const String& asa_abs = "asaAbs",
110  const String& asa_rel = "asaRel",
111  const String& asa_atom = "asaAtom",
112  AccessibilityAlgorithm algorithm = NACCESS);
113 
114 }}} //ns
115 
116 #endif
const std::vector< Real > & GetFibonacciY() const
const std::vector< Real > & GetFibonacciX() const
const std::vector< Real > & GetFibonacciZ() const
Real GetResidueAccessibility(const String &rname) const
std::string String
Definition: base.hh:54
float Real
Definition: base.hh:44
Real GetVdWRadius(const String &aname) const
static const NACCESSAccessibilityParam & GetInstance()
Protein or molecule.
Real GetVdWRadius(const String &rname, const String &aname, const String &ele) const
Real GetResidueAccessibility(const String &rname) const
Real Accessibility(ost::mol::EntityView &ent, Real probe_radius=1.4, bool include_hydrogens=false, bool include_hetatm=false, bool include_water=false, bool oligo_mode=false, const String &selection="", const String &asa_abs="asaAbs", const String &asa_rel="asaRel", const String &asa_atom="asaAtom", AccessibilityAlgorithm algorithm=NACCESS)
definition of EntityView
Definition: entity_view.hh:86
static const DSSPAccessibilityParam & GetInstance()