OpenStructure
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
stage
include
ost
mol
alg
filter_clashes.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-2011 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
#ifndef OST_MOL_ALG_FILTER_CLASHES_HH
20
#define OST_MOL_ALG_FILTER_CLASHES_HH
21
22
#include <
ost/mol/entity_view.hh
>
23
#include <
ost/mol/alg/module_config.hh
>
24
25
namespace
ost {
namespace
mol {
namespace
alg {
26
28
class
ClashingDistances
29
{
30
31
public
:
33
ClashingDistances
(): valid_flag_(true) {}
34
38
void
SetClashingDistance
(
const
String
& ele1,
const
String
& ele2,
Real
min_distance,
Real
tolerance);
39
41
std::pair<Real,Real>
GetClashingDistance
(
const
String
& ele1,
const
String
& ele2)
const
;
42
44
Real
GetMaxAdjustedDistance
()
const
;
45
47
bool
IsEmpty
()
const
;
48
50
void
PrintAllDistances
()
const
;
51
52
private
:
53
54
std::map <String,std::pair<float,float> > min_distance_;
55
Real
default_min_distance_;
56
Real
default_min_distance_tolerance_;
57
bool
valid_flag_;
58
59
};
60
64
class
StereoChemicalParams
65
{
66
67
public
:
69
void
SetParam
(
const
String
& param,
const
String
& residue,
Real
value,
Real
st_dev);
70
74
std::pair<Real,Real>
GetParam
(
const
String
& element,
const
String
& residue)
const
;
75
79
bool
ContainsParam
(
const
String
& param,
const
String
& residue)
const
;
80
84
bool
IsEmpty
()
const
;
85
87
void
PrintAllParameters
()
const
;
88
89
private
:
90
91
std::map<std::pair<String,String>,std::pair<float,float> > params_;
92
93
};
94
98
ClashingDistances
DLLEXPORT_OST_MOL_ALG
FillClashingDistances
(std::vector<String>& stereo_chemical_props_file);
99
104
StereoChemicalParams
DLLEXPORT_OST_MOL_ALG
FillStereoChemicalParams
(
const
String
& header, std::vector<String>& stereo_chemical_props_file);
105
113
EntityView
DLLEXPORT_OST_MOL_ALG
FilterClashes
(
const
EntityView
& ent,
114
const
ClashingDistances
& min_distances,
bool
always_remove_bb=
false
);
115
123
EntityView
DLLEXPORT_OST_MOL_ALG
FilterClashes
(
const
EntityHandle
& ent,
124
const
ClashingDistances
& min_distances,
bool
always_remove_bb=
false
);
125
133
EntityView
DLLEXPORT_OST_MOL_ALG
CheckStereoChemistry
(
const
EntityView
& ent,
134
const
StereoChemicalParams
& bond_table,
135
const
StereoChemicalParams
& angle_table,
136
Real
bond_tolerance,
137
Real
angle_tolerance,
138
bool
always_remove_bb=
false
);
139
147
EntityView
DLLEXPORT_OST_MOL_ALG
CheckStereoChemistry
(
const
EntityHandle
& ent,
148
const
StereoChemicalParams
& bond_table,
149
const
StereoChemicalParams
& angle_table,
150
Real
bond_tolerance,
151
Real
angle_tolerance,
152
bool
always_remove_bb=
false
);
153
154
155
}}}
156
157
158
#endif
Generated on Mon Nov 5 2012 13:31:04 for OpenStructure by
1.8.1.1