]> git.donarmstrong.com Git - mothur.git/blobdiff - slayer.cpp
working on search=dist in chimera.slayer
[mothur.git] / slayer.cpp
index 877f2414833eb0f54a761fc6f162a4f52e8b5970..8e17f87b109500f34abb0aa573b263627011c19a 100644 (file)
@@ -18,6 +18,7 @@ string Slayer::getResults(Sequence* query, vector<Sequence*> refSeqs) {
                vector<data_struct> all; all.clear();
                myQuery = *query;
                
+                               
                for (int i = 0; i < refSeqs.size(); i++) {
                
                        for (int j = i+1; j < refSeqs.size(); j++) {
@@ -60,16 +61,16 @@ string Slayer::getResults(Sequence* query, vector<Sequence*> refSeqs) {
                                                
                                                
                                                //are we within 10 points of the bootstrap cutoff?
-                                               if ((divs[k].bsMax >= (minBS-10)) && (iters < 1000)) {
-                                                       bootstrapSNPS(snpsLeft, snpsRight, BS_A, BS_B, 1000);
-                                                               
-                                                       if (m->control_pressed) { delete q; delete leftParent; delete rightParent; return "no"; }
-                                                               
-                                                       divs[k].bsa = BS_A;
-                                                       divs[k].bsb = BS_B;
-                                                       divs[k].bsMax = max(BS_A, BS_B);
-                                                       divs[k].chimeraMax = max(divs[k].qla_qrb, divs[k].qlb_qra);
-                                               }
+//                                             if ((divs[k].bsMax >= (minBS-10)) && (iters < 1000)) {
+//                                                     bootstrapSNPS(snpsLeft, snpsRight, BS_A, BS_B, 1000);
+//                                                             
+//                                                     if (m->control_pressed) { delete q; delete leftParent; delete rightParent; return "no"; }
+//                                                             
+//                                                     divs[k].bsa = BS_A;
+//                                                     divs[k].bsb = BS_B;
+//                                                     divs[k].bsMax = max(BS_A, BS_B);
+//                                                     divs[k].chimeraMax = max(divs[k].qla_qrb, divs[k].qlb_qra);
+//                                             }
                                                
                                                //so results reflect orignal alignment
                                                divs[k].winLStart = spots[divs[k].winLStart];
@@ -153,8 +154,8 @@ vector<data_struct> Slayer::runBellerophon(Sequence* q, Sequence* pA, Sequence*
                        float QRA = computePercentID(query, parentA, breakpoint+1, length);
                
                        float LAB = computePercentID(parentA, parentB, 0, breakpoint);
-                       float RAB = computePercentID(parentA, parentB, breakpoint+1, length);
-                                       
+                       float RAB = computePercentID(parentA, parentB, breakpoint+1, length);   
+                       
                        float AB = ((LAB*leftLength) + (RAB*rightLength)) / (float) length;
                        float QA = ((QLA*leftLength) + (QRA*rightLength)) / (float) length;
                        float QB = ((QLB*leftLength) + (QRB*rightLength)) / (float) length;
@@ -168,6 +169,7 @@ vector<data_struct> Slayer::runBellerophon(Sequence* q, Sequence* pA, Sequence*
                        float divR_QLA_QRB = min((QLA_QRB/QA), (QLA_QRB/QB));
                        float divR_QLB_QRA = min((QLB_QRA/QA), (QLB_QRA/QB));
                        
+                       
                        //cout << q->getName() << '\t';
                        //cout << pA->getName() << '\t';
                        //cout << pB->getName() << '\t';
@@ -216,6 +218,7 @@ vector<data_struct> Slayer::runBellerophon(Sequence* q, Sequence* pA, Sequence*
                        }//if
                }//for
                
+               
                return data;
                
        }