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)
         {