70e4f023e0cd98a096dfe959142bbada59c4e7a9 braney Mon May 20 17:28:31 2024 -0700 ongoing work on pair browser diff --git src/hg/utils/buildPairAssembly/buildPairAssembly.c src/hg/utils/buildPairAssembly/buildPairAssembly.c index 8667fc3..7b42bce 100644 --- src/hg/utils/buildPairAssembly/buildPairAssembly.c +++ src/hg/utils/buildPairAssembly/buildPairAssembly.c @@ -201,32 +201,32 @@ if ((cBlock->data != NULL) && (cBlock->score == 1)) { struct linearBlock *qInsert = (struct linearBlock *)cBlock->data; slAddHead(&linearBlockList, qInsert); } prevBase = cBlock->tEnd; prevCBlock = cBlock; } slReverse(&linearBlockList); #define BOTH_COLOR "20,40,140" #define INVERT_COLOR "140,20,140" -#define REFONLY_COLOR "255,255,0" -#define QUERYONLY_COLOR "170,255,60" +#define REFONLY_COLOR "125,125,250" +#define QUERYONLY_COLOR "180,125,60" unsigned startAddress = 0, size; boolean firstBlockFlipped = linearBlockList->isFlipped; char strand; char *color; for(linearBlock = linearBlockList; linearBlock; linearBlock = linearBlock->next) { if (linearBlock->qStart == linearBlock->qEnd) { size = linearBlock->tEnd - linearBlock->tStart; struct dnaSeq *dna = twoBitReadSeqFrag(t2bit, tSequenceName, linearBlock->tStart, linearBlock->tEnd); writeSeqWithBreaks(outFa, dna->dna, size, 50 ); fprintf(outMap,"buildPair %d %d refOnly 0 + %d %d %s %d %d 0 0\n", startAddress, startAddress + size, startAddress, startAddress + size, REFONLY_COLOR, linearBlock->tStart, linearBlock->tEnd); } else if (linearBlock->tStart == linearBlock->tEnd) @@ -247,37 +247,38 @@ writeSeqWithBreaks(outFa, dna->dna, size, 50 ); struct dnaSeq *dna2 = twoBitReadSeqFrag(q2bit, qSequenceName, linearBlock->qStart, linearBlock->qEnd); if (linearBlock->isFlipped) reverseComplement(dna2->dna, size); int ii; for(ii = 0; ii < size; ii++) { if (toupper(dna->dna[ii]) != toupper(dna2->dna[ii])) fprintf(outMiss, "buildPair %d %d %c->%c\n", startAddress + ii, startAddress + ii + 1, toupper(dna->dna[ii]), toupper(dna2->dna[ii])); } if (linearBlock->isFlipped == firstBlockFlipped) { strand = '+'; color = BOTH_COLOR; + //fprintf(outMap,"buildPair %d %d both 0 %c %d %d %s %d %d %d %d\n", startAddress, startAddress + size, strand, startAddress, startAddress + size, color, linearBlock->tStart, linearBlock->tEnd, linearBlock->qStart, linearBlock->qEnd); } else { strand = '-'; color = INVERT_COLOR; + fprintf(outMap,"buildPair %d %d invert 0 %c %d %d %s %d %d %d %d\n", startAddress, startAddress + size, strand, startAddress, startAddress + size, color, linearBlock->tStart, linearBlock->tEnd, linearBlock->qStart, linearBlock->qEnd); } - fprintf(outMap,"buildPair %d %d both 0 %c %d %d %s %d %d %d %d\n", startAddress, startAddress + size, strand, startAddress, startAddress + size, color, linearBlock->tStart, linearBlock->tEnd, linearBlock->qStart, linearBlock->qEnd); } startAddress += size; } unsigned sumSize = startAddress; unsigned tSize = twoBitSeqSize(t2bit, tSequenceName); unsigned qSize = twoBitSeqSize(q2bit, qSequenceName); printf("qSize %d\n", qSize); FILE *outQuery = mustOpen(outQueryPsl, "w"); FILE *outTarget = mustOpen(outTargetPsl, "w"); startAddress = 0; for(linearBlock = linearBlockList; linearBlock; linearBlock = linearBlock->next) { if (linearBlock->qStart == linearBlock->qEnd) {