}
//get the possible pairings
- getSets();
+ getSets();
+
+ if (m->control_pressed) { return 0; }
//open file for pairing not included in the tree
notIncluded = filename + ".cons.pairs";
buildConcensusTree(treeSet);
+ if (m->control_pressed) { delete consensusTree; return 0; }
+
consensusTree->assembleTree();
+ if (m->control_pressed) { delete consensusTree; return 0; }
+
//output species in order
out2 << "Species in Order: " << endl << endl;
for (int i = 0; i < treeSet.size(); i++) { out2 << i+1 << ". " << treeSet[i] << endl; }
//output sets included
out2 << endl << "Sets included in the consensus tree:" << endl << endl;
+ if (m->control_pressed) { delete consensusTree; return 0; }
+
vector<string> temp;
for (it2 = nodePairsInTree.begin(); it2 != nodePairsInTree.end(); it2++) {
+
+ if (m->control_pressed) { delete consensusTree; return 0; }
+
//only output pairs not leaves
if (it2->first.size() > 1) {
temp.clear();
//output sets not included
out2 << endl << "Sets NOT included in the consensus tree:" << endl << endl;
for (it2 = nodePairs.begin(); it2 != nodePairs.end(); it2++) {
+
+ if (m->control_pressed) { delete consensusTree; return 0; }
+
temp.clear();
//initialize temp to all "."
temp.resize(treeSet.size(), ".");
vector<string> leftChildSet;
vector<string> rightChildSet;
+ if (m->control_pressed) { return 1; }
+
//if you are at a leaf
if (nodeSet.size() == 1) {
//return the vector index of the leaf you are at
}
//**********************************************************************************************************************
-void ConcensusCommand::getSets() {
+int ConcensusCommand::getSets() {
try {
vector<string> temp;
treeSet.clear();
//for each non-leaf node get descendant info.
for (int j = numLeaves; j < numNodes; j++) {
+
+ if (m->control_pressed) { return 1; }
+
temp.clear();
//go through pcounts and pull out descendants
for (it = t[i]->tree[j].pcount.begin(); it != t[i]->tree[j].pcount.end(); it++) {
//you want the leaves in there but with insignifigant sightings value so it is added last
//for each leaf node get descendant info.
for (int j = 0; j < numLeaves; j++) {
+
+ if (m->control_pressed) { return 1; }
//only need the first one since leaves have no descendants but themselves
it = t[0]->tree[j].pcount.begin();
//set initial rating on pairs to sightings + subgroup sightings
while (nodePairsCopy.size() != 0) {
+ if (m->control_pressed) { return 1; }
vector<string> small = getSmallest(nodePairsCopy);
nodePairsCopy.erase(small);
}
+ return 0;
}
catch(exception& e) {
m->errorOut(e, "ConcensusCommand", "getSets");