float QLA = computePercentID(query, parentA, 0, breakpoint);
float QLA = computePercentID(query, parentA, 0, breakpoint);
- float QRB = computePercentID(query, parentB, breakpoint+1, length - 1);
+ float QRB = computePercentID(query, parentB, breakpoint+1, length);
float QLB = computePercentID(query, parentB, 0, breakpoint);
float QLB = computePercentID(query, parentB, 0, breakpoint);
- float QRA = computePercentID(query, parentA, breakpoint+1, length - 1);
+ float QRA = computePercentID(query, parentA, breakpoint+1, length);
float LAB = computePercentID(parentA, parentB, 0, breakpoint);
float LAB = computePercentID(parentA, parentB, 0, breakpoint);
- float RAB = computePercentID(parentA, parentB, breakpoint+1, length - 1);
-
+ 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;
float AB = ((LAB*leftLength) + (RAB*rightLength)) / (float) length;
float QA = ((QLA*leftLength) + (QRA*rightLength)) / (float) length;
float QB = ((QLB*leftLength) + (QRB*rightLength)) / (float) length;
float divR_QLA_QRB = min((QLA_QRB/QA), (QLA_QRB/QB));
float divR_QLB_QRA = min((QLB_QRA/QA), (QLB_QRA/QB));
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';
//cout << q->getName() << '\t';
//cout << pA->getName() << '\t';
//cout << pB->getName() << '\t';
member.winLEnd = breakpoint;
member.winRStart = breakpoint+1;
member.winREnd = length-1;
member.winLEnd = breakpoint;
member.winRStart = breakpoint+1;
member.winREnd = length-1;
if (
//did query loose a base here during filter??
( i == 0 || abs (baseSpots[0][i] - baseSpots[0][i-1]) == 1) &&
if (
//did query loose a base here during filter??
( i == 0 || abs (baseSpots[0][i] - baseSpots[0][i-1]) == 1) &&
&&
//did parentA loose a base here during filter??
( i == 0 || abs (baseSpots[1][i] - baseSpots[1][i-1]) == 1) &&
&&
//did parentA loose a base here during filter??
( i == 0 || abs (baseSpots[1][i] - baseSpots[1][i-1]) == 1) &&
&&
//did parentB loose a base here during filter??
( i == 0 || abs (baseSpots[2][i] - baseSpots[2][i-1]) == 1) &&
&&
//did parentB loose a base here during filter??
( i == 0 || abs (baseSpots[2][i] - baseSpots[2][i-1]) == 1) &&
int numLeft = max(1, int(left.size() * percentSNPSample/(float)100 + 0.5));
int numRight = max(1, int(right.size() * percentSNPSample/(float)100 + 0.5));
int numLeft = max(1, int(left.size() * percentSNPSample/(float)100 + 0.5));
int numRight = max(1, int(right.size() * percentSNPSample/(float)100 + 0.5));