Victor
 All Data Structures Functions Variables Friends Pages
PSICProfile.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 
18 #ifndef __PSICProfile_H__
19 #define __PSICProfile_H__
20 
21 #include <Profile.h>
22 
23 namespace Victor { namespace Align2{
24 
36  class PSICProfile : public Profile {
37  public:
38 
39  // CONSTRUCTORS:
40 
42  PSICProfile();
43 
45  PSICProfile(const PSICProfile &orig);
46 
48  virtual ~PSICProfile();
49 
50 
51  // OPERATORS:
52 
54  PSICProfile& operator =(const PSICProfile &orig);
55 
56 
57  // MODIFIERS:
58 
60  virtual void copy(const PSICProfile &orig);
61 
63  virtual PSICProfile* newCopy();
64 
65 
66  // HELPERS:
67 
69  virtual void pCalculateWeight(Alignment &ali);
70 
72  virtual void pCalculateRawFrequency(vector<double> &freq, double &gapFreq,
73  Alignment &ali, unsigned int i);
74 
76  virtual void pConstructData(Alignment &ali);
77 
78 
79  protected:
80 
81 
82  private:
83 
84  vector< vector<double> > aliWeight;
85 
86  };
87 
88 }} // namespace
89 
90 #endif
Calculate a frequency profile or PSSM using PSIC weighting scheme.
Definition: PSICProfile.h:36
virtual void copy(const PSICProfile &orig)
Copy orig object to this object ("deep copy").
Definition: PSICProfile.cc:67
virtual ~PSICProfile()
Destructor.
Definition: PSICProfile.cc:42
virtual void pCalculateWeight(Alignment &ali)
Calculate alignment weights.
Definition: PSICProfile.cc:95
Calculate a frequency profile or PSSM.
Definition: Profile.h:35
vector< double > gapFreq
Gaps frequencies.
Definition: Profile.h:142
virtual void pCalculateRawFrequency(vector< double > &freq, double &gapFreq, Alignment &ali, unsigned int i)
Calculate the raw (ie. unnormalized) aminoacids frequencies for position i.
Definition: PSICProfile.cc:274
virtual void pConstructData(Alignment &ali)
Construct data from alignment.
Definition: PSICProfile.cc:292
Implement a simple alignment type.
Definition: Alignment.h:32
PSICProfile()
Default constructor.
Definition: PSICProfile.cc:35
virtual PSICProfile * newCopy()
Construct a new "deep copy" of this object.
Definition: PSICProfile.cc:83
PSICProfile & operator=(const PSICProfile &orig)
Assignment operator.
Definition: PSICProfile.cc:53