alignLength = referenceSeqs[0].length();
- chimeraReportFile << "queryName\tbestRef\tbestSequenceMismatch\tleftParentChi,rightParentChi\tbreakPointChi\tminMismatchToChimera\t";
- chimeraReportFile << "leftParentChi,middleParentTri,rightParentChi\tbreakPointTriA,breakPointTriB\tminMismatchToTrimera\tdistToBestMera\tnMera" << endl;
+ chimeraReportFile << "queryName\tbestRef\tbestSequenceMismatch\tleftParentChi,rightParentChi\tbreakPointChi\tminMismatchToChimera\tdistToBestMera\tnumParents" << endl;
+// chimeraReportFile << "leftParentTri,middleParentTri,rightParentTri\tbreakPointTriA,breakPointTriB\tminMismatchToTrimera\tdistToBestMera\tnMera" << endl;
}
int leftParentBi, rightParentBi, breakPointBi;
int minMismatchToChimera = getChimera(left, right, leftParentBi, rightParentBi, breakPointBi, singleLeft, bestLeft, singleRight, bestRight);
- int minMismatchToTrimera = MAXINT;
- int leftParentTri, middleParentTri, rightParentTri, breakPointTriA, breakPointTriB;
+// int minMismatchToTrimera = MAXINT;
+// int leftParentTri, middleParentTri, rightParentTri, breakPointTriA, breakPointTriB;
int nMera = 0;
string chimeraRefSeq = "";
chimeraRefSeq = referenceSeqs[bestMatch];
}
else {
-
- minMismatchToTrimera = getTrimera(left, right, leftParentTri, middleParentTri, rightParentTri, breakPointTriA, breakPointTriB, singleLeft, bestLeft, singleRight, bestRight);
- if(minMismatchToChimera - minMismatchToTrimera <= 3){
- nMera = 2;
- chimeraRefSeq = stitchBimera(leftParentBi, rightParentBi, breakPointBi);
- }
- else{
- nMera = 3;
- chimeraRefSeq = stitchTrimera(leftParentTri, middleParentTri, rightParentTri, breakPointTriA, breakPointTriB);
- }
+ nMera = 2;
+ chimeraRefSeq = stitchBimera(leftParentBi, rightParentBi, breakPointBi);
+
+// minMismatchToTrimera = getTrimera(left, right, leftParentTri, middleParentTri, rightParentTri, breakPointTriA, breakPointTriB, singleLeft, bestLeft, singleRight, bestRight);
+//
+// if(minMismatchToChimera - minMismatchToTrimera <= 3){
+// nMera = 2;
+// chimeraRefSeq = stitchBimera(leftParentBi, rightParentBi, breakPointBi);
+// }
+// else{
+// nMera = 3;
+// chimeraRefSeq = stitchTrimera(leftParentTri, middleParentTri, rightParentTri, breakPointTriA, breakPointTriB);
+// }
}
double distToChimera = calcDistToChimera(querySeq, chimeraRefSeq);
chimeraReportFile << referenceNames[leftParentBi] << ',' << referenceNames[rightParentBi] << '\t' << breakPointBi << '\t';
chimeraReportFile << minMismatchToChimera << '\t';
- if(nMera == 1){
- chimeraReportFile << "NA" << '\t' << "NA" << '\t' << "NA";
- }
- else{
- chimeraReportFile << referenceNames[leftParentTri] << ',' << referenceNames[middleParentTri] << ',' << referenceNames[rightParentTri] << '\t' << breakPointTriA << ',' << breakPointTriB << '\t' << minMismatchToTrimera;
- }
+// if(nMera == 1){
+// chimeraReportFile << "NA" << '\t' << "NA" << '\t' << "NA";
+// }
+// else{
+// chimeraReportFile << referenceNames[leftParentTri] << ',' << referenceNames[middleParentTri] << ',' << referenceNames[rightParentTri] << '\t' << breakPointTriA << ',' << breakPointTriB << '\t' << minMismatchToTrimera;
+// }
chimeraReportFile << '\t' << distToChimera << '\t' << nMera << endl;
int lDiffs = 0;
for(int l=0;l<alignLength;l++){
- if(querySeq[l] != '.' && querySeq[l] != referenceSeqs[i][l]){
+// if(querySeq[l] != '.' && querySeq[l] != referenceSeqs[i][l]){
+ if(querySeq[l] != '.' && referenceSeqs[i][l] != '.' && querySeq[l] != referenceSeqs[i][l]){
lDiffs++;
}
left[i][l] = lDiffs;
int rDiffs = 0;
int index = 0;
for(int l=alignLength-1;l>=0;l--){
- if(querySeq[l] != '.' && querySeq[l] != referenceSeqs[i][l]){
+// if(querySeq[l] != '.' && querySeq[l] != referenceSeqs[i][l]){
+ if(querySeq[l] != '.' && referenceSeqs[i][l] != '.' && querySeq[l] != referenceSeqs[i][l]){
rDiffs++;
}
right[i][index++] = rDiffs;
int mismatch = 0;
for(int i=0;i<alignLength;i++){
- if(querySeq[i] != '.' && chimeraRefSeq[i] != '.'){
+// if(querySeq[i] != '.' && chimeraRefSeq[i] != '.'){
+ if(chimeraRefSeq[i] != '.'){
if(querySeq[i] == '-' && chimeraRefSeq[i] == '-'){ /* do nothing */ }
else if(querySeq[i] == chimeraRefSeq[i]){
match++;