]> git.donarmstrong.com Git - mothur.git/blobdiff - aligncommand.h
added forward and reverse barcodes to trim.seqs to process illumina seqs
[mothur.git] / aligncommand.h
index 4a5eb11bf320a500ddfca34f0504130637fda0f0..7eeaa1eb7e7bc3e2dc28d144d646b2190eb34983 100644 (file)
@@ -1,6 +1,5 @@
 #ifndef ALIGNCOMMAND_H
 #define ALIGNCOMMAND_H
-
 /*
  *  aligncommand.h
  *  Mothur
@@ -10,7 +9,6 @@
  *
  */
 
-#include "mothur.h"
 #include "command.hpp"
 #include "database.hpp"
 #include "alignment.hpp"
@@ -25,7 +23,7 @@
 #include "nast.hpp"
 #include "nastreport.hpp"
 
-
+//test
 class AlignCommand : public Command {
        
 public:
@@ -45,9 +43,9 @@ public:
        
 private:
        struct linePair {
-               unsigned long int start;
-               unsigned long int end;
-               linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
+               unsigned long long start;
+               unsigned long long end;
+               linePair(unsigned long long i, unsigned long long j) : start(i), end(j) {}
        };
        vector<int> processIDS;   //processid
        vector<linePair*> lines;
@@ -61,7 +59,7 @@ private:
        void appendReportFiles(string, string);
        
        #ifdef USE_MPI
-       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long int>&);
+       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long long>&);
        #endif
        
        string candidateFileName, templateFileName, distanceFileName, search, align, outputDir;
@@ -78,7 +76,8 @@ private:
 //custom data structure for threads to use.
 // This is passed by void pointer so it can be any data type
 // that can be passed using a single void pointer (LPVOID).
-typedef struct alignData {
+struct alignData {
+       string templateFileName;
        string alignFName; 
        string reportFName; 
        string accnosFName;
@@ -86,15 +85,16 @@ typedef struct alignData {
        string align;
        string search;
        bool flip;
-       unsigned long int start;
-       unsigned long int end;
+       unsigned long long start;
+       unsigned long long end;
        MothurOut* m;
        //AlignmentDB* templateDB;
        float match, misMatch, gapOpen, gapExtend, threshold;
        int count, kmerSize, threadID;
        
        alignData(){}
-       alignData(string a, string r, string ac, string f, string al, string se, int ks, MothurOut* mout, unsigned long int st, unsigned long int en, bool fl, float ma, float misMa, float gapO, float gapE, float thr, int tid) {
+       alignData(string te, string a, string r, string ac, string f, string al, string se, int ks, MothurOut* mout, unsigned long long st, unsigned long long en, bool fl, float ma, float misMa, float gapO, float gapE, float thr, int tid) {
+               templateFileName = te;
                alignFName = a;
                reportFName = r;
                accnosFName = ac;
@@ -118,7 +118,7 @@ typedef struct alignData {
 };
 
 /**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
 #else
 static DWORD WINAPI MyAlignThreadFunction(LPVOID lpParam){ 
        alignData* pDataArray;
@@ -145,7 +145,7 @@ static DWORD WINAPI MyAlignThreadFunction(LPVOID lpParam){
                
                pDataArray->count = pDataArray->end;
                
-               AlignmentDB* templateDB = new AlignmentDB("saved-silent", pDataArray->search, pDataArray->kmerSize, pDataArray->gapOpen, pDataArray->gapExtend, pDataArray->match, pDataArray->misMatch, pDataArray->threadID);
+               AlignmentDB* templateDB = new AlignmentDB(pDataArray->templateFileName, pDataArray->search, pDataArray->kmerSize, pDataArray->gapOpen, pDataArray->gapExtend, pDataArray->match, pDataArray->misMatch, pDataArray->threadID);
                
                //moved this into driver to avoid deep copies in windows paralellized version
                Alignment* alignment;