int numIdentical;
Sequence seq;
string names;
+ bool active;
seqPNode() {}
- seqPNode(int n, Sequence s, string nm) : numIdentical(n), seq(s), names(nm) {}
+ seqPNode(int n, Sequence s, string nm) : numIdentical(n), seq(s), names(nm), active(1) {}
~seqPNode() {}
};
/************************************************************/
public:
PreClusterCommand(string);
+ PreClusterCommand();
~PreClusterCommand();
+ vector<string> getRequiredParameters();
+ vector<string> getValidParameters();
+ vector<string> getRequiredFiles();
+ map<string, vector<string> > getOutputFiles() { return outputTypes; }
int execute();
void help();
int diffs, length;
bool abort;
string fastafile, namefile, outputDir;
- list<seqPNode> alignSeqs; //maps the number of identical seqs to a sequence
+ vector<seqPNode> alignSeqs; //maps the number of identical seqs to a sequence
map<string, string> names; //represents the names file first column maps to second column
map<string, int> sizes; //this map a seq name to the number of identical seqs in the names file
map<string, int>::iterator itSize;
// map<string, bool> active; //maps sequence name to whether it has already been merged or not.
+ vector<string> outputNames;
+ map<string, vector<string> > outputTypes;
int readFASTA();
void readNameFile();
//int readNamesFASTA();
int calcMisMatches(string, string);
- void printData(ofstream&, ofstream&, seqPNode); //fasta filename, names file name
+ void printData(string, string); //fasta filename, names file name
};
/************************************************************/