Victor
 All Data Structures Functions Variables Friends Pages
SeqDivergenceProfile.h
1 /* This file is part of Victor.
2 
3  Victor is free software: you can redistribute it and/or modify
4  it under the terms of the GNU General Public License as published by
5  the Free Software Foundation, either version 3 of the License, or
6  (at your option) any later version.
7 
8  Victor is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with Victor. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef __SeqDivergenceProfile_H__
18 #define __SeqDivergenceProfile_H__
19 
20 #include <AGPFunction.h>
21 #include <NWAlign.h>
22 #include <Profile.h>
23 #include <ScoringS2S.h>
24 #include <SequenceData.h>
25 #include <SubMatrix.h>
26 #include <math.h>
27 
28 namespace Victor {
29  namespace Align2 {
30 
44  class SeqDivergenceProfile : public Profile {
45  public:
46 
47  // CONSTRUCTORS:
48 
51 
54 
56  virtual ~SeqDivergenceProfile();
57 
58 
59  // OPERATORS:
60 
63 
64 
65  // MODIFIERS:
66 
68  virtual void copy(const SeqDivergenceProfile &orig);
69 
71  virtual SeqDivergenceProfile* newCopy();
72 
73 
74  // HELPERS:
75 
77  virtual void pCalculateWeight(Alignment &ali);
78 
80  virtual void pCalculateRawFrequency(vector<double> &freq, double &gapFreq,
81  Alignment &ali, unsigned int i);
82 
84  virtual void pConstructData(Alignment &ali);
85 
86 
87  protected:
88 
89 
90  private:
91 
92  vector<double> aliWeight;
93 
94  };
95 
96  }
97 } // namespace
98 
99 #endif
Calculate a frequency profile or PSSM.
Definition: Profile.h:35
SeqDivergenceProfile()
Default constructor.
Definition: SeqDivergenceProfile.cc:36
virtual ~SeqDivergenceProfile()
Destructor.
Definition: SeqDivergenceProfile.cc:44
vector< double > gapFreq
Gaps frequencies.
Definition: Profile.h:142
virtual void pCalculateWeight(Alignment &ali)
Calculate alignment weights.
Definition: SeqDivergenceProfile.cc:93
Implement a simple alignment type.
Definition: Alignment.h:32
SeqDivergenceProfile & operator=(const SeqDivergenceProfile &orig)
Assignment operator.
Definition: SeqDivergenceProfile.cc:55
virtual SeqDivergenceProfile * newCopy()
Construct a new "deep copy" of this object.
Definition: SeqDivergenceProfile.cc:81
virtual void copy(const SeqDivergenceProfile &orig)
Copy orig object to this object ("deep copy").
Definition: SeqDivergenceProfile.cc:69
virtual void pCalculateRawFrequency(vector< double > &freq, double &gapFreq, Alignment &ali, unsigned int i)
Calculate the raw (ie. unnormalized) aminoacids frequencies for position i.
Definition: SeqDivergenceProfile.cc:193
virtual void pConstructData(Alignment &ali)
Construct data from alignment.
Definition: SeqDivergenceProfile.cc:211
Calculate a frequency profile or PSSM using SeqDivergence weighting scheme.
Definition: SeqDivergenceProfile.h:44