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
chain_handle.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_CHAIN_HANDLE_HS
20
#define OST_CHAIN_HANDLE_HS
21
22
#include <vector>
23
24
#include <
ost/mol/module_config.hh
>
25
26
#include <
ost/geom/geom.hh
>
27
28
#include "
chain_base.hh
"
29
30
#include "
query.hh
"
31
#include "
view_type_fw.hh
"
32
#include "
handle_type_fw.hh
"
33
#include "
residue_prop.hh
"
34
#include "
entity_visitor_fw.hh
"
35
#include "
iterator_fw.hh
"
36
#include "
sec_structure.hh
"
37
38
namespace
ost {
namespace
mol {
39
53
class
DLLEXPORT_OST_MOL
ChainHandle
:
public
ChainBase
{
54
55
public
:
56
ChainHandle
();
57
58
ChainHandle
(
const
impl::ChainImplPtr
& impl);
59
60
62
EntityHandle
GetEntity()
const
;
63
67
void
Apply(
EntityVisitor
& visitor);
68
70
75
ResidueHandle
GetPrev(
const
ResidueHandle
& rh);
76
ResidueHandle
GetNext(
const
ResidueHandle
& rh);
77
79
80
81
82
83
84
ResidueHandle
FindResidue(
const
ResNum
& num)
const
;
85
93
AtomHandle
FindAtom(
const
ResNum
& num,
94
const
String
& atom_name)
const
;
98
ResidueHandle
GetResidueByIndex(
int
index)
const
;
100
102
//
103
// To count all atoms of the entity the chain belongs to, use
104
// \c EntityHandle::GetAtomCount(). For count of specific residues, use
105
// \c ResidueHandle::GetResidueCount().
106
int
GetAtomCount()
const
;
107
114
int
GetBondCount()
const
;
115
119
int
GetResidueCount()
const
;
120
126
127
128
AtomHandleList
GetAtomList()
const
;
129
135
ResidueHandleList
GetResidueList()
const
;
136
150
ResidueHandleIter
ResiduesBegin()
const
;
151
154
ResidueHandleIter
ResiduesEnd()
const
;
155
156
AtomHandleIter
AtomsBegin()
const
;
157
AtomHandleIter
AtomsEnd()
const
;
158
160
Real
GetMass()
const
;
161
163
geom::Vec3
GetCenterOfMass()
const
;
164
169
geom::Vec3
GetCenterOfAtoms()
const
;
170
171
geom::AlignedCuboid
GetBounds()
const
;
174
void
AssignSecondaryStructure(
SecStructure
ss,
175
const
ResNum
& start,
176
const
ResNum
&
end
);
177
180
EntityView
Select(
const
Query
& q,
QueryFlags
flags=0)
const
;
181
184
EntityView
Select(
const
String
& query_string,
QueryFlags
flags=0)
const
;
185
189
ChainHandle
GetHandle()
const
;
192
bool
InSequence
()
const
;
193
bool
operator==
(
const
ChainHandle
& ref)
const
;
194
bool
operator!=
(
const
ChainHandle
& ref)
const
;
195
198
void
SetInSequence(
const
int
index);
199
};
200
201
}}
// ns
202
203
#endif // OST_CHAIN_HANDLE_HH
204
Generated on Mon Nov 5 2012 13:31:05 for OpenStructure by
1.8.1.1