+++ /dev/null
-#ifndef _ALIFOLDMEA_H_
-#define _ALIFOLDMEA_H_
-
-#include <iostream>
-#include <string>
-#include <cassert>
-#include "scarna.hpp"
-#include "nrutil.h"
-#include "Util.hpp"
-#include "Beta.hpp"
-#include "BPPMatrix.hpp"
-#include "MultiSequence.h"
-#include "Sequence.h"
-#include "SafeVector.h"
-
-using namespace std;
-
-namespace MXSCARNA {
-class AlifoldMEA {
- MultiSequence *alignment;
- SafeVector<BPPMatrix*> BPPMatrices;
- float BasePairConst;
- Trimat<float> M;
- Trimat<int> traceI;
- Trimat<int> traceJ;
- Trimat<float> bppMat;
- NRVec<float> Qi;
- NRVec<float> Qj;
- NRVec<char> ssCons;
-
- static const int TURN;
-
- void Initialization();
- void makeProfileBPPMatrix(const MultiSequence *Sequences);
- void DP();
- void TraceBack();
- public:
- AlifoldMEA(MultiSequence *inalignment, SafeVector<BPPMatrix*> &inBPPMatrices, float inBasePairConst = 6) :
- alignment(inalignment), BPPMatrices(inBPPMatrices),
- BasePairConst(inBasePairConst),
- M(inalignment->GetSequence(0)->GetLength()+1),
- traceI(inalignment->GetSequence(0)->GetLength()+1),
- traceJ(inalignment->GetSequence(0)->GetLength()+1),
- bppMat(inalignment->GetSequence(0)->GetLength() + 1),
- Qi(inalignment->GetSequence(0)->GetLength() + 1),
- Qj(inalignment->GetSequence(0)->GetLength() + 1),
- ssCons(inalignment->GetSequence(0)->GetLength() + 1){}
-
- void Run();
-
- string *getSScons() {
- string *sscons = new string();
- sscons->push_back(' ');
- int length = alignment->GetSequence(0)->GetLength();
- for (int i = 1; i <= length; i++) {
- sscons->push_back(ssCons[i]);
- }
-
- return sscons;
- }
-};
-}
-#endif // _ALIFOLDMEA_H_