e4e4f9d3a53e8bc8b1354be2267031d392d09886
angie
  Fri Sep 13 12:57:40 2024 -0700
Fix the way basesAligned is calculated: insBases were never part of (tEnd - tStart).

diff --git src/hg/hgPhyloPlace/vcfFromFasta.c src/hg/hgPhyloPlace/vcfFromFasta.c
index 4c90605..1ec7599 100644
--- src/hg/hgPhyloPlace/vcfFromFasta.c
+++ src/hg/hgPhyloPlace/vcfFromFasta.c
@@ -943,31 +943,31 @@
     for (t = tEnd;  t < ref->size;  t++)
         {
         if (!maskSites[t])
             {
             addCall(snvsByPos, t, ref->dna[t], 'n', gtIx, gtCount);
             positionsCalled[t] = TRUE;
             }
         }
     parseNextcladeSubstitutions(row[substIx], si, ref, maskSites, gtIx, gtCount, snvsByPos,
                                 positionsCalled);
     parseNextcladeMissing(row[nIx], ref, maskSites, gtIx, gtCount, snvsByPos, positionsCalled);
     parseNextcladeAmbig(row[ambigIx], ref, gtIx, gtCount, snvsByPos, positionsCalled);
     parseNextcladeDeletions(row[delIx], si, ref);
     parseNextcladeInsertions(row[insIx], si, ref);
     addRefCalls(snvsByPos, positionsCalled, ref, gtIx, gtCount);
-    si->basesAligned = tEnd - tStart - si->delBases - si->insBases;
+    si->basesAligned = tEnd - tStart - si->delBases;
     si->tStart = tStart;
     si->tEnd = tEnd;
     }
 lineFileClose(&lf);
 return snvsByPos;
 }
 
 static struct tempName *alignWithNextclade(struct seqInfo *filteredSeqs, char *nextcladeDataset,
                                            struct dnaSeq *ref, struct slName **maskSites,
                                            struct slName **retSampleIds,
                                            struct seqInfo **retSeqInfo,
                                            struct slPair **retFailedSeqs, int *pStartTime)
 /* Use nextclade to align filteredSeqs to ref, extract SNVs from alignment, and
  * save as VCF with sample genotype columns. */
 {