unsigned short clipAdapterLeft;
unsigned short clipAdapterRight;
string name; //length depends on nameLength
+ string timestamp;
+ string region;
+ string xy;
Header() { headerLength=0; nameLength=0; numBases=0; clipQualLeft=0; clipQualRight=0; clipAdapterLeft=0; clipAdapterRight=0; }
~Header() { }
public:
SffInfoCommand(string);
+ SffInfoCommand();
~SffInfoCommand();
+ vector<string> getRequiredParameters();
+ vector<string> getValidParameters();
+ vector<string> getRequiredFiles();
+ map<string, vector<string> > getOutputFiles() { return outputTypes; }
int execute();
void help();
private:
- string sffFilename, outputDir;
- vector<string> filenames, outputNames;
- bool abort;
+ string sffFilename, sfftxtFilename, outputDir, accnosName;
+ vector<string> filenames, outputNames, accnosFileNames;
+ bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos;
+ set<string> seqNames;
+ map<string, vector<string> > outputTypes;
+ //extract sff file functions
int extractSffInfo(string, string);
int readCommonHeader(ifstream&, CommonHeader&);
int readHeader(ifstream&, Header&);
int readSeqData(ifstream&, seqRead&, int, int);
+ int decodeName(string&, string&, string&, string);
int printCommonHeader(ofstream&, CommonHeader&);
int printHeader(ofstream&, Header&);
- int printSeqData(ofstream&, seqRead&);
-
+ int printSffTxtSeqData(ofstream&, seqRead&, Header&);
+ int printFlowSeqData(ofstream&, seqRead&, Header&);
+ int printFastaSeqData(ofstream&, seqRead&, Header&);
+ int printQualSeqData(ofstream&, seqRead&, Header&);
+ int readAccnosFile(string);
+ int parseSffTxt();
+
+ //parsesfftxt file functions
+ int parseHeaderLineToInt(ifstream&);
+ vector<unsigned short> parseHeaderLineToFloatVector(ifstream&, int);
+ vector<unsigned int> parseHeaderLineToIntVector(ifstream&, int);
+ string parseHeaderLineToString(ifstream&);
};
/**********************************************************/