NCBI C++ ToolKit
AlignInfo.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /*
2 * $Id: AlignInfo.hpp 38771 2008-07-30 15:28:34Z chetvern $
3 *
4 * =========================================================================
5 *
6 * PUBLIC DOMAIN NOTICE
7 * National Center for Biotechnology Information
8 *
9 * This software/database is a "United States Government Work" under the
10 * terms of the United States Copyright Act. It was written as part of
11 * the author's official duties as a United States Government employee and
12 * thus cannot be copyrighted. This software/database is freely available
13 * to the public for use. The National Library of Medicine and the U.S.
14 * Government have not placed any restriction on its use or reproduction.
15 *
16 * Although all reasonable efforts have been taken to ensure the accuracy
17 * and reliability of the software and data, the NLM and the U.S.
18 * Government do not and cannt warrant the performance or results that
19 * may be obtained by using this software or data. The NLM and the U.S.
20 * Government disclaim all warranties, express or implied, including
21 * warranties of performance, merchantability or fitness for any particular
22 * purpose.
23 *
24 * Please cite the author in any work or product based on this material.
25 *
26 * =========================================================================
27 *
28 * Author: Boris Kiryutin
29 *
30 * =========================================================================
31 */
32 
33 
34 #ifndef ALIGNINFO_H
35 #define ALIGNINFO_H
36 
37 
38 #include <corelib/ncbistl.hpp>
39 #include <vector>
40 #include "IntronChain.hpp"
41 
43 BEGIN_SCOPE(prosplign)
44 
46 {
47 public:
48  CAlignInfo(int length, CIgapIntronPool& pool);
49  ~CAlignInfo();
50  size_t size() const { return m_length; }
51  void ClearIIC(void);
52 public:
53  vector<int> w, h, v, fh, fv;
54  CIgapIntronChain *wis, *his, *vis, *fhis, *fvis;
55 private:
56  CAlignInfo(const CAlignInfo& ori);
58 
59  size_t m_length;
60 };
61 
63 {
64 public:
65  inline CFrAlignRow(int length) {
66  w.resize(length);
67  v.resize(length);
68  }
69  vector<int> w, v;
70 };
71 
73 
74 class CAlignRow
75 {
76 public:
77  CAlignRow(int length, const CProSplignScaledScoring& scoring);
78  vector<int> m_w, m_v, m_h1, m_h2, m_h3;
79  int *w, *v, *h1, *h2, *h3;
80 private:
81  CAlignRow(const CAlignRow& ori);
83 };
84 
86 {
87 public:
88  CFindGapIntronRow(int length, const CProSplignScaledScoring& scoring, CIgapIntronPool& pool);
90  size_t size() const { return m_length; }
91  void ClearIIC(void);
92 public:
94 private:
97 
98  size_t m_length;
99 };
100 
101 END_SCOPE(prosplign)
103 
104 #endif//ALIGNINFO_H
CAlignInfo & operator=(const CAlignInfo &ori)
CIgapIntronChain * wis
Definition: AlignInfo.hpp:54
size_t size() const
Definition: AlignInfo.hpp:50
vector< int > w
Definition: AlignInfo.hpp:53
CAlignInfo(const CAlignInfo &ori)
size_t m_length
Definition: AlignInfo.hpp:59
int * v
Definition: AlignInfo.hpp:79
int * h2
Definition: AlignInfo.hpp:79
CAlignRow(const CAlignRow &ori)
vector< int > m_h2
Definition: AlignInfo.hpp:78
vector< int > m_w
Definition: AlignInfo.hpp:78
vector< int > m_v
Definition: AlignInfo.hpp:78
int * h1
Definition: AlignInfo.hpp:79
int * h3
Definition: AlignInfo.hpp:79
CAlignRow(int length, const CProSplignScaledScoring &scoring)
Definition: AlignInfo.cpp:132
CAlignRow & operator=(const CAlignRow &ori)
vector< int > m_h3
Definition: AlignInfo.hpp:78
int * w
Definition: AlignInfo.hpp:79
vector< int > m_h1
Definition: AlignInfo.hpp:78
CIgapIntronChain * wis
Definition: AlignInfo.hpp:93
void ClearIIC(void)
Definition: AlignInfo.cpp:115
size_t size() const
Definition: AlignInfo.hpp:90
CIgapIntronChain * h3is
Definition: AlignInfo.hpp:93
CFindGapIntronRow & operator=(const CFindGapIntronRow &ori)
CIgapIntronChain * h2is
Definition: AlignInfo.hpp:93
CIgapIntronChain * vis
Definition: AlignInfo.hpp:93
CFindGapIntronRow(const CFindGapIntronRow &ori)
CFindGapIntronRow(int length, const CProSplignScaledScoring &scoring, CIgapIntronPool &pool)
Definition: AlignInfo.cpp:90
CIgapIntronChain * h1is
Definition: AlignInfo.hpp:93
vector< int > v
Definition: AlignInfo.hpp:69
CFrAlignRow(int length)
Definition: AlignInfo.hpp:65
vector< int > w
Definition: AlignInfo.hpp:69
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
The NCBI C++/STL use hints.
Modified on Sat May 18 11:40:52 2024 by modify_doxy.py rev. 669887