//bool wroteSomething = false;
bool taxonsHasConfidence = false;
- vector< map<string, int> > searchTaxons;
+ vector< map<string, float> > searchTaxons;
string noConfidenceTaxons = taxons;
int hasConPos = taxons.find_first_of('(');
if (hasConPos != string::npos) {
if (pos != string::npos) { //if yes, then are the confidences okay
bool good = true;
- vector< map<string, int> > usersTaxon = getTaxons(newtax);
+ vector< map<string, float> > usersTaxon = getTaxons(newtax);
//the usersTaxon is most likely longer than the searchTaxons, and searchTaxon[0] may relate to userTaxon[4]
//we want to "line them up", so we will find the the index where the searchstring starts
}
}
/**************************************************************************************************/
-vector< map<string, int> > GetLineageCommand::getTaxons(string tax) {
+vector< map<string, float> > GetLineageCommand::getTaxons(string tax) {
try {
- vector< map<string, int> > t;
+ vector< map<string, float> > t;
string taxon = "";
int taxLength = tax.length();
for(int i=0;i<taxLength;i++){
newtaxon = taxon;
confidence = "0";
}
- int con = 0;
+ float con = 0;
convert(confidence, con);
- map<string, int> temp;
+ map<string, float> temp;
temp[newtaxon] = con;
t.push_back(temp);
#include "needlemanoverlap.hpp"
#include "blastalign.hpp"
#include "noalign.hpp"
-#include "nast.hpp"
#include "ignoregaps.h"
#include "eachgapdist.h"
alignment->resize(alignDB.get(j).getUnaligned().length()+1);
}
- Sequence* seqI = new Sequence(alignDB.get(i).getName(), alignDB.get(i).getAligned());
- Sequence* seqJ = new Sequence(alignDB.get(j).getName(), alignDB.get(j).getAligned());
+ Sequence seqI(alignDB.get(i).getName(), alignDB.get(i).getAligned());
+ Sequence seqJ(alignDB.get(j).getName(), alignDB.get(j).getAligned());
- Nast(alignment, seqI, seqJ);
+ alignment->align(seqI.getUnaligned(), seqJ.getUnaligned());
+ seqI.setAligned(alignment->getSeqAAln());
+ seqJ.setAligned(alignment->getSeqBAln());
- distCalculator->calcDist(*seqI, *seqJ);
+ distCalculator->calcDist(seqI, seqJ);
double dist = distCalculator->getDist();
- delete seqI; delete seqJ;
-
if(dist <= cutoff){
if (output == "column") { outFile << alignDB.get(i).getName() << ' ' << alignDB.get(j).getName() << ' ' << dist << endl; }
}
alignment->resize(alignDB.get(j).getUnaligned().length()+1);
}
- Sequence* seqI = new Sequence(alignDB.get(i).getName(), alignDB.get(i).getAligned());
- Sequence* seqJ = new Sequence(alignDB.get(j).getName(), alignDB.get(j).getAligned());
+ Sequence seqI(alignDB.get(i).getName(), alignDB.get(i).getAligned());
+ Sequence seqJ(alignDB.get(j).getName(), alignDB.get(j).getAligned());
- Nast(alignment, seqI, seqJ);
+ alignment->align(seqI.getUnaligned(), seqJ.getUnaligned());
+ seqI.setAligned(alignment->getSeqAAln());
+ seqJ.setAligned(alignment->getSeqBAln());
- distCalculator->calcDist(*seqI, *seqJ);
+ distCalculator->calcDist(seqI, seqJ);
double dist = distCalculator->getDist();
-
- delete seqI; delete seqJ;
outFile << dist << '\t';
}
alignment->resize(alignDB.get(j).getUnaligned().length()+1);
}
- Sequence* seqI = new Sequence(alignDB.get(i).getName(), alignDB.get(i).getAligned());
- Sequence* seqJ = new Sequence(alignDB.get(j).getName(), alignDB.get(j).getAligned());
+ Sequence seqI(alignDB.get(i).getName(), alignDB.get(i).getAligned());
+ Sequence seqJ(alignDB.get(j).getName(), alignDB.get(j).getAligned());
- Nast(alignment, seqI, seqJ);
+ alignment->align(seqI.getUnaligned(), seqJ.getUnaligned());
+ seqI.setAligned(alignment->getSeqAAln());
+ seqJ.setAligned(alignment->getSeqBAln());
- distCalculator->calcDist(*seqI, *seqJ);
+ distCalculator->calcDist(seqI, seqJ);
double dist = distCalculator->getDist();
- delete seqI; delete seqJ;
-
if(dist <= cutoff){
outputString += (alignDB.get(i).getName() + ' ' + alignDB.get(j).getName() + ' ' + toString(dist) + '\n');
}
alignment->resize(alignDB.get(j).getUnaligned().length()+1);
}
- Sequence* seqI = new Sequence(alignDB.get(i).getName(), alignDB.get(i).getAligned());
- Sequence* seqJ = new Sequence(alignDB.get(j).getName(), alignDB.get(j).getAligned());
+ Sequence seqI(alignDB.get(i).getName(), alignDB.get(i).getAligned());
+ Sequence seqJ(alignDB.get(j).getName(), alignDB.get(j).getAligned());
- Nast(alignment, seqI, seqJ);
+ alignment->align(seqI.getUnaligned(), seqJ.getUnaligned());
+ seqI.setAligned(alignment->getSeqAAln());
+ seqJ.setAligned(alignment->getSeqBAln());
- distCalculator->calcDist(*seqI, *seqJ);
+ distCalculator->calcDist(seqI, seqJ);
double dist = distCalculator->getDist();
- delete seqI; delete seqJ;
-
outputString += toString(dist) + "\t";
}
alignment->resize(alignDB.get(j).getUnaligned().length()+1);
}
- Sequence* seqI = new Sequence(alignDB.get(i).getName(), alignDB.get(i).getAligned());
- Sequence* seqJ = new Sequence(alignDB.get(j).getName(), alignDB.get(j).getAligned());
+ Sequence seqI(alignDB.get(i).getName(), alignDB.get(i).getAligned());
+ Sequence seqJ(alignDB.get(j).getName(), alignDB.get(j).getAligned());
- Nast(alignment, seqI, seqJ);
+ alignment->align(seqI.getUnaligned(), seqJ.getUnaligned());
+ seqI.setAligned(alignment->getSeqAAln());
+ seqJ.setAligned(alignment->getSeqBAln());
- distCalculator->calcDist(*seqI, *seqJ);
+ distCalculator->calcDist(seqI, seqJ);
double dist = distCalculator->getDist();
- delete seqI; delete seqJ;
-
outputString += toString(dist) + "\t";
}
bool wroteSomething = false;
bool taxonsHasConfidence = false;
- vector< map<string, int> > searchTaxons;
+ vector< map<string, float> > searchTaxons;
string noConfidenceTaxons = taxons;
int hasConPos = taxons.find_first_of('(');
if (hasConPos != string::npos) {
if (pos != string::npos) { //if yes, then are the confidences okay
bool remove = false;
- vector< map<string, int> > usersTaxon = getTaxons(newtax);
+ vector< map<string, float> > usersTaxon = getTaxons(newtax);
//the usersTaxon is most likely longer than the searchTaxons, and searchTaxon[0] may relate to userTaxon[4]
//we want to "line them up", so we will find the the index where the searchstring starts
}
}
/**************************************************************************************************/
-vector< map<string, int> > RemoveLineageCommand::getTaxons(string tax) {
+vector< map<string, float> > RemoveLineageCommand::getTaxons(string tax) {
try {
- vector< map<string, int> > t;
+ vector< map<string, float> > t;
string taxon = "";
int taxLength = tax.length();
for(int i=0;i<taxLength;i++){
newtaxon = taxon;
confidence = "0";
}
- int con = 0;
+ float con = 0;
convert(confidence, con);
- map<string, int> temp;
+ map<string, float> temp;
temp[newtaxon] = con;
t.push_back(temp);