#include "ignoregaps.h"
#include "eachgapdist.h"
-
//***************************************************************************************************************
Ccode::Ccode(string filename, string temp, bool f, string mask, int win, int numW, string o) : Chimera() {
+ try {
+
fastafile = filename;
outputDir = o;
- templateFileName = temp; templateSeqs = readSeqs(temp);
+ templateFileName = temp; templateSeqs = readSeqs(temp);
setMask(mask);
filter = f;
window = win;
distCalc = new eachGapDist();
decalc = new DeCalculator();
- mapInfo = outputDir + getRootName(getSimpleName(fastafile)) + "mapinfo";
+ mapInfo = outputDir + m->getRootName(m->getSimpleName(fastafile)) + "mapinfo";
#ifdef USE_MPI
- char* inFileName = new char[mapInfo.length()];\r
- memcpy(inFileName, mapInfo.c_str(), mapInfo.length());
+ //char* inFileName = new char[mapInfo.length()];
+ //memcpy(inFileName, mapInfo.c_str(), mapInfo.length());
+
+ char inFileName[1024];
+ strcpy(inFileName, mapInfo.c_str());
int outMode=MPI_MODE_CREATE|MPI_MODE_WRONLY;
MPI_File_open(MPI_COMM_WORLD, inFileName, outMode, MPI_INFO_NULL, &outMap); //comm, filename, mode, info, filepointer
- delete inFileName;
+ //delete inFileName;
int pid;
MPI_Comm_rank(MPI_COMM_WORLD, &pid); //find out who we are
MPI_Status status;
int length = outString.length();
- char* buf2 = new char[length];\r
+ char* buf2 = new char[length];
memcpy(buf2, outString.c_str(), length);
MPI_File_write_shared(outMap, buf2, length, MPI_CHAR, &status);
#else
ofstream out2;
- openOutputFile(mapInfo, out2);
+ m->openOutputFile(mapInfo, out2);
out2 << "Place in masked, filtered and trimmed sequence\tPlace in original alignment" << endl;
out2.close();
#endif
+ }
+ catch(exception& e) {
+ m->errorOut(e, "Ccode", "Ccode");
+ exit(1);
+ }
}
//***************************************************************************************************************
Ccode::~Ccode() {
#endif
}
//***************************************************************************************************************
-int Ccode::print(ostream& out, ostream& outAcc) {
+Sequence Ccode::print(ostream& out, ostream& outAcc) {
try {
ofstream out2;
- openOutputFileAppend(mapInfo, out2);
+ m->openOutputFileAppend(mapInfo, out2);
out2 << querySeq->getName() << endl;
for (it = spotMap.begin(); it!= spotMap.end(); it++) {
//free memory
for (int i = 0; i < closest.size(); i++) { delete closest[i].seq; }
- return results;
+ return *querySeq;
}
catch(exception& e) {
m->errorOut(e, "Ccode", "print");
}
#ifdef USE_MPI
//***************************************************************************************************************
-int Ccode::print(MPI_File& out, MPI_File& outAcc) {
+Sequence Ccode::print(MPI_File& out, MPI_File& outAcc) {
try {
string outMapString = "";
MPI_Status status;
int length = outString.length();
- char* buf2 = new char[length];\r
+ char* buf2 = new char[length];
memcpy(buf2, outString.c_str(), length);
MPI_File_write_shared(out, buf2, length, MPI_CHAR, &status);
MPI_Status statusAcc;
length = outAccString.length();
- char* buf = new char[length];\r
+ char* buf = new char[length];
memcpy(buf, outAccString.c_str(), length);
MPI_File_write_shared(outAcc, buf, length, MPI_CHAR, &statusAcc);
//free memory
for (int i = 0; i < closest.size(); i++) { delete closest[i].seq; }
- return results;
+ return *querySeq;
}
catch(exception& e) {
m->errorOut(e, "Ccode", "print");
try {
MPI_Status status;
int length = output.length();
- char* buf = new char[length];\r
+ char* buf = new char[length];
memcpy(buf, output.c_str(), length);
MPI_File_write_shared(outMap, buf, length, MPI_CHAR, &status);
delete buf;
+
+ return 0;
}
catch(exception& e) {