f86cc1e3f913432f81ad47733aae8e78ab9500c6 markd Mon May 27 12:06:58 2019 -0700 output total number of aligned bases in pslStats -overallStats diff --git src/hg/pslStats/pslStats.c src/hg/pslStats/pslStats.c index b8f4162..4a1cfb4 100644 --- src/hg/pslStats/pslStats.c +++ src/hg/pslStats/pslStats.c @@ -384,46 +384,47 @@ lineFileClose(&pslLf); return queryStatsTbl; } static void pslQueryStats(char *pslFile, char *statsFile, char *querySizeFile) /* collect and output per-query stats */ { struct hash *queryStatsTbl = collectQueryStats(pslFile, querySizeFile); outputQueryStats(queryStatsTbl, statsFile); } /* header for overall statistics */ static char *overallStatsHdr = "#queryCnt\t" "minQSize\t" "maxQSize\t" "meanQSize\t" "alnCnt\t" "minIdent\t" "maxIndent\t" "meanIdent\t" "minQCover\t" "maxQCover\t" "meanQCover\t" "minRepMatch\t" "maxRepMatch\t" "meanRepMatch\t" -"minTCover\t" "maxTCover\t" "aligned\t" "aligned1\t" "alignedN\n"; +"minTCover\t" "maxTCover\t" "aligned\t" "aligned1\t" "alignedN\t" "totalAlignedSize\n"; static void outputOverallStats(char *statsFile, struct sumStats *os, int aligned1, int alignedN) /* output overall statistic */ { FILE *fh = mustOpen(statsFile, "w"); fputs(overallStatsHdr, fh); fprintf(fh, "%d\t%d\t%d\t%d\t%d\t" "%0.4f\t%0.4f\t%0.4f\t" "%0.4f\t%0.4f\t%0.4f\t" "%0.4f\t%0.4f\t%0.4f\t" "%0.4f\t%0.4f\t" - "%d\t%d\t%d\n", + "%d\t%d\t%d\t%lld\n", os->queryCnt, os->minQSize, os->maxQSize, calcMeanQSize(os), os->alnCnt, os->minIdent, os->maxIndent, calcMeanIdent(os), os->minQCover, os->maxQCover, calcMeanQCover(os), os->minRepMatch, os->maxRepMatch, calcMeanRepMatch(os), - os->minTCover, os->maxTCover, aligned1+alignedN, aligned1, alignedN); + os->minTCover, os->maxTCover, aligned1+alignedN, aligned1, alignedN, + os->totalAlign); carefulClose(&fh); } static struct sumStats sumOverAllStats(struct hash *queryStatsTbl, int *aligned1, int *alignedN) /* sum statistics over all queries */ { struct sumStats os; ZeroVar(&os); struct hashEl *hel; struct hashCookie cookie = hashFirst(queryStatsTbl); while ((hel = hashNext(&cookie)) != NULL) { struct sumStats *ss = hel->val; sumStatsSum(&os, ss); if (ss->alnCnt == 1)