#include "command.hpp"
#include "groupmap.h"
+#include "oligos.h"
+#include "trimoligos.h"
/**********************************************************/
private:
string sffFilename, sfftxtFilename, outputDir, accnosName, currentFileName, oligosfile, noMatchFile, groupfile;
vector<string> filenames, outputNames, accnosFileNames, oligosFileNames, groupFileNames;
- bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos, hasOligos, hasGroup;
- int mycount, split, numFPrimers, numLinkers, numSpacers, pdiffs, bdiffs, ldiffs, sdiffs, tdiffs, numNoMatch;
+ bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos, hasOligos, hasGroup, reorient, pairedOligos;
+ int mycount, split, numBarcodes, numFPrimers, numLinkers, numSpacers, numRPrimers, pdiffs, bdiffs, ldiffs, sdiffs, tdiffs, numNoMatch;
set<string> seqNames;
- map<string, int> barcodes;
- map<string, int> primers;
GroupMap* groupMap;
- vector<string> linker, spacer, primerNameVector, barcodeNameVector, revPrimer;
vector<vector<int> > numSplitReads;
vector<vector<string> > filehandles;
vector<vector<string> > filehandlesHeaders;
+ Oligos* oligosObject;
//extract sff file functions
int extractSffInfo(string, string, string);
int readCommonHeader(ifstream&, CommonHeader&);
int readHeader(ifstream&, Header&);
- bool readSeqData(ifstream&, seqRead&, int, Header&);
+ bool readSeqData(ifstream&, seqRead&, int, Header&, TrimOligos*&, TrimOligos*&);
int decodeName(string&, string&, string&, string);
bool readOligos(string oligosFile);
bool readGroup(string oligosFile);
int parseSffTxt();
bool sanityCheck(Header&, seqRead&);
int adjustCommonHeader(CommonHeader);
- int findGroup(Header header, seqRead read, int& barcode, int& primer);
+ int findGroup(Header header, seqRead read, int& barcode, int& primer, TrimOligos*&, TrimOligos*&);
int findGroup(Header header, seqRead read, int& barcode, int& primer, string);
string reverseOligo(string oligo);