openOutputFile(parsFile, out);
sumFile = globaldata->getTreeFile() + ".psummary";
openOutputFile(sumFile, outSum);
- //set users groups to analyze
- setGroups();
}else { //user wants random distribution
savetmap = globaldata->gTreemap;
getUserInput();
openOutputFile(parsFile, out);
}
+ //set users groups to analyze
+ setGroups();
convert(globaldata->getIters(), iters); //how many random trees to generate
pars = new Parsimony(tmap);
/***********************************************************/
int ParsimonyCommand::execute() {
try {
-
+
+ //get pscore for users tree
+ userData.resize(numComp,0); //data = AB, AC, BC, ABC.
+ randomData.resize(numComp,0); //data = AB, AC, BC, ABC.
+ rscoreFreq.resize(numComp);
+ uscoreFreq.resize(numComp);
+ rCumul.resize(numComp);
+ uCumul.resize(numComp);
+ validScores.resize(numComp);
+ userTreeScores.resize(numComp);
+ UScoreSig.resize(numComp);
if (randomtree == "") {
- //get pscore for users tree
- userData.resize(numComp,0); //data = AB, AC, BC, ABC.
- randomData.resize(numComp,0); //data = AB, AC, BC, ABC.
- rscoreFreq.resize(numComp);
- uscoreFreq.resize(numComp);
- rCumul.resize(numComp);
- uCumul.resize(numComp);
- validScores.resize(numComp);
- userTreeScores.resize(numComp);
- UScoreSig.resize(numComp);
-
//get pscores for users trees
for (int i = 0; i < T.size(); i++) {
cout << "Processing tree " << i+1 << endl;
//output scores for each combination
for(int k = 0; k < numComp; k++) {
- cout << "Tree " << i+1 << " Combination " << groupComb[k] << " parsimony score = " << userData[k] << endl;
//update uscoreFreq
it = uscoreFreq[k].find(userData[k]);
if (it == uscoreFreq[k].end()) {//new score
}
printParsimonyFile();
- printUSummaryFile();
+ if (randomtree == "") { printUSummaryFile(); }
//reset globaldata's treemap if you just did random distrib
if (randomtree != "") { globaldata->gTreemap = savetmap; }
for (int i = 0; i< T.size(); i++) {
for(int a = 0; a < numComp; a++) {
outSum << setprecision(6) << i+1 << '\t' << groupComb[a] << '\t' << '\t' << userTreeScores[a][i] << '\t' << UScoreSig[a][i] << endl;
+ cout << setprecision(6) << i+1 << '\t' << groupComb[a] << '\t' << '\t' << userTreeScores[a][i] << '\t' << UScoreSig[a][i] << endl;
}
}
//set tmaps seqsPerGroup
tmap->seqsPerGroup[toString(i)] = num;
+ tmap->namesOfGroups.push_back(toString(i));
//set tmaps namesOfSeqs
for (int j = 0; j < num; j++) {
}
//ABC
- groupComb.push_back(allGroups);
- numComp++;
+ if (numComp != 1) {
+ groupComb.push_back(allGroups);
+ numComp++;
+ }
}
catch(exception& e) {