OpenStructure
sec_structure_segments.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 #ifndef OST_MOL_ALG_SEC_STRUCTURE_SEGMENTS_HH
20 #define OST_MOL_ALG_SEC_STRUCTURE_SEGMENTS_HH
21 
22 /*
23  Author: Marco Biasini
24  */
25 #include <ost/mol/entity_handle.hh>
27 
28 namespace ost { namespace mol { namespace alg {
29 
33  first(f), last(l), ss_type(s)
34  { }
36  first(0), last(0), ss_type(SecStructure::COIL)
37  { }
38  bool operator==(const SecStructureSegment& rhs) const
39  {
40  return first==rhs.first && last==rhs.last && ss_type==rhs.ss_type;
41  }
42  bool operator!=(const SecStructureSegment& rhs) const
43  {
44  return !(*this==rhs);
45  }
46 
48  int first;
50  int last;
53 };
54 
55 typedef std::vector<SecStructureSegment> SecStructureSegments;
56 
62 
65 ExtractHelicalSegments(const ChainHandle& chain);
68 ExtractHelicalSegments(const ChainView& chain);
71 ExtractExtendedSegments(const ChainHandle& chain);
74 ExtractExtendedSegments(const ChainView& chain);
77 ExtractSecStructureSegments(const ChainHandle& chain);
78 
81 ExtractSecStructureSegments(const ChainView& chain);
83 
84 }}}
85 
86 #endif
linear chain of residues
Definition: chain_handle.hh:52
definition of ChainView
Definition: chain_view.hh:37
#define DLLEXPORT_OST_MOL_ALG
std::vector< SecStructureSegment > SecStructureSegments
Definition: base.dox:1
Secondary structure types as defined by DSSP. For convenience, the enum values match the characters u...
a consecutive secondary structure element
bool operator!=(const SecStructureSegment &rhs) const
SecStructureSegment(int f, int l, SecStructure s)
bool operator==(const SecStructureSegment &rhs) const
int first
index of first residue part of the segment
int last
index of last residue part of the segment
SecStructure ss_type
secondandary structure type of the segment