*
*/
-using namespace std;
#include "alignment.hpp"
#include "blastalign.hpp"
match(m), // This is the score to award for two nucleotides matching (match >= 0)
mismatch(mm) // This is the penalty to assess for a mismatch (mismatch <= 0)
{
+ globaldata = GlobalData::getInstance();
+ path = globaldata->argv;
+ path = path.substr(0, (path.find_last_of('m')));
+
gapOpen = abs(go); // This is the penalty to assess for opening a gap (gapOpen >= 0)
gapExtend = abs(ge); // This is the penalty to assess for extending a gap (gapExtend >= 0)
// The blastCommand assumes that we have DNA sequences (blastn) and that they are fairly similar (-e 0.001) and
// that we don't want to apply any kind of complexity filtering (-F F)
- string blastCommand = "~/Pipeline/src/cpp/production/blast/bin/bl2seq -p blastn -i " + candidateFileName + " -j " + templateFileName + " -e 0.0001 -F F -o " + blastFileName + " -W 11";
+ string blastCommand = path + "blast/bin/bl2seq -p blastn -i " + candidateFileName + " -j " + templateFileName + " -e 0.0001 -F F -o " + blastFileName + " -W 11";
blastCommand += " -r " + toString(match) + " -q " + toString(mismatch);
blastCommand += " -G " + toString(gapOpen) + " -E " + toString(gapExtend);
// to the pairwise entry in the Sequence class for the
// candidate and template Sequence objects
ifstream blastFile;
- openInputFile(blastFileName, blastFile);
+ m->openInputFile(blastFileName, blastFile);
seqAaln = "";
seqBaln = "";
string candidateName, templateName;
- while(d=blastFile.get() != '='){};
+ while((d=blastFile.get()) != '='){}
blastFile >> candidateName; // Get the candidate sequence name from flatfile
- while(d=blastFile.get() != '('){};
+ while((d=blastFile.get()) != '('){}
blastFile >> candidateLength; // Get the candidate sequence length from flatfile
- while(d=blastFile.get()){
+ while((d=blastFile.get())){
if(d == '>'){
blastFile >> templateName; // Get the template sequence name from flatfile
break;
pairwiseLength = 0;
// string dummy;
-// while(dummy != "query:"){ cout << dummy << endl;blastFile >> dummy; }
+// while(dummy != "query:"){ m->mothurOut(dummy, ""); m->mothurOutEndLine(); blastFile >> dummy; }
// blastFile >> seqBend;
-// cout << seqBend << endl;
+// m->mothurOut(toString(seqBend), ""); m->mothurOutEndLine();
// for(int i=0;i<seqBend;i++){
// seqAaln += 'Z';
// seqBaln += 'X';
}
}
- while(d=blastFile.get() != '='){};
+ while((d=blastFile.get()) != '='){}
blastFile >> templateLength; // Get the template sequence length from flatfile
- while(d=blastFile.get() != 'Q'){}; // Suck up everything else until we get to the start of the alignment
+ while((d=blastFile.get()) != 'Q'){} // Suck up everything else until we get to the start of the alignment
int queryStart, sbjctStart, queryEnd, sbjctEnd;
string queryLabel, sbjctLabel, query, sbjct;
while(queryLabel == "Query:"){
blastFile >> queryStart >> query >> queryEnd;
- while(d=blastFile.get() != 'S'){};
+ while((d=blastFile.get()) != 'S'){};
blastFile >> sbjctLabel >> sbjctStart >> sbjct >> sbjctEnd;
seqAaln += 'Z'; // again need ot pad the sequences so that they extend to the length
seqBaln += 'X'; // of the template sequence
}
+ blastFile.close();
}
//**************************************************************************************************/