Victor
 All Data Structures Functions Variables Friends Pages
SecSequenceData.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 __SecSequenceData_H__
19 #define __SecSequenceData_H__
20 
21 #include <AlignmentData.h>
22 
23 namespace Victor { namespace Align2{
24 
31  class SecSequenceData : public AlignmentData {
32  public:
33 
34  // CONSTRUCTORS:
35 
37  SecSequenceData(int n, const string &seq1, const string &seq2,
38  const string &sec1, const string &sec2, const string &name1 = "Seq1",
39  const string &name2 = "Seq2");
40 
42  SecSequenceData(const SecSequenceData &orig);
43 
45  virtual ~SecSequenceData();
46 
47 
48  // OPERATORS:
49 
52 
53 
54  // PREDICATES:
55 
57  virtual string getSequence(int n);
58 
60  virtual void calculateMatch(int i, int tbi, int j, int tbj);
61 
63  virtual void getMatch();
64 
66  virtual void outputMatch(ostream &os, bool fasta = false);
67 
69  virtual Alignment& generateMatch(double score = 0.00);
70 
71 
72  // MODIFIERS:
73 
75  virtual void copy(const SecSequenceData &orig);
76 
78  virtual SecSequenceData* newCopy();
79 
81  virtual void setSequence(string s, int n);
82 
83 
84  protected:
85 
86 
87  private:
88 
89  // ATTRIBUTES:
90 
91  string seq1;
92  string seq2;
93  string sec1;
94  string sec2;
95 
96  };
97 
98 }} // namespace
99 
100 #endif
virtual void calculateMatch(int i, int tbi, int j, int tbj)
Calculate single match positions.
Definition: SecSequenceData.cc:99
virtual void copy(const SecSequenceData &orig)
Copy orig object to this object ("deep copy").
Definition: SecSequenceData.cc:205
virtual void setSequence(string s, int n)
Set the sequence at position n of the vector.
Definition: SecSequenceData.cc:224
SecSequenceData & operator=(const SecSequenceData &orig)
Assignment operator.
Definition: SecSequenceData.cc:64
virtual string getSequence(int n)
Return the sequence at position n of the vector.
Definition: SecSequenceData.cc:79
string name1
Name of target sequence.
Definition: AlignmentData.h:97
Print alignment of two sequences considering also secondary structure.
Definition: SecSequenceData.h:31
Implement a simple alignment type.
Definition: Alignment.h:32
int n
Number of strings in the alignment.
Definition: AlignmentData.h:96
Base class for printing alignments.
Definition: AlignmentData.h:35
virtual void outputMatch(ostream &os, bool fasta=false)
Control if the strings of the vector are similar and print them.
Definition: SecSequenceData.cc:141
virtual SecSequenceData * newCopy()
Construct a new "deep copy" of this object.
Definition: SecSequenceData.cc:214
string name2
Name of template sequence.
Definition: AlignmentData.h:98
SecSequenceData(int n, const string &seq1, const string &seq2, const string &sec1, const string &sec2, const string &name1="Seq1", const string &name2="Seq2")
Default constructor.
Definition: SecSequenceData.cc:39
virtual Alignment & generateMatch(double score=0.00)
Generate and return an ensemble of suboptimal alignments.
Definition: SecSequenceData.cc:188
virtual void getMatch()
Reverse the strings of the vector.
Definition: SecSequenceData.cc:128
virtual ~SecSequenceData()
Destructor.
Definition: SecSequenceData.cc:53