a8b15f82bbcff0d7953bae0da7df49363939f85a lrnassar Wed Aug 5 16:59:54 2026 -0700 Add tests for every maf sequence-name form, and describe the splitting in the usage messages. refs #37928 The existing testDot and testPipe inputs are identical copies of each other and both use pipe-form query names, so the dot path was never exercised in either tool. That is how the break in ae63ce5 shipped even though a test suite existed, and why the suite could not have caught the mafToBigMafSummary divergence either. New inputs in both tests directories cover an ordinary db.chrom, a species name with a dotted chrom, both GenArk accession forms, a GenArk accession with no chrom after the version, a pipe with a dotted chrom, a name with no separator, a reference assembly whose own name contains a dot, and a name where the reference db is a strict prefix of another assembly. Every rule in the splitter is now load-bearing: breaking any one of them fails a target. Also adds mafToBigMafSummary to TEST_DIRS in hg/utils, since nothing above the directory was running its suite, and adds a short note to both usage messages describing how a sequence name is split into assembly and sequence. diff --git src/hg/makeDb/hgLoadMaf/hgLoadMafSummary.c src/hg/makeDb/hgLoadMaf/hgLoadMafSummary.c index 5630e7398a3..8ad8b4b1420 100644 --- src/hg/makeDb/hgLoadMaf/hgLoadMafSummary.c +++ src/hg/makeDb/hgLoadMaf/hgLoadMafSummary.c @@ -28,30 +28,34 @@ boolean test = FALSE; int mergeGap = 500; int minSize = 10000; int maxSize = 50000; int minSeqSize = 1000000; char *database = NULL; long summaryCount = 0; void usage() /* Explain usage and exit. */ { errAbort( "hgLoadMafSummary - Load a summary table of pairs in a maf into a database\n" "usage:\n" " hgLoadMafSummary database table file.maf\n" + "Sequence names are split into assembly and sequence at a pipe if one is present,\n" + "otherwise right after the reference assembly you supply if the name starts with it,\n" + "otherwise at the first dot, except for GCA_/GCF_ accessions where the assembly\n" + "keeps its version (GCF_000001405.40.NC_000001.11 -> GCF_000001405.40).\n" "options:\n" " -mergeGap=N max size of gap to merge regions (default %d)\n" " -minSize=N merge blocks smaller than N (default %d)\n" " -maxSize=N break up blocks larger than N (default %d)\n" " -minSeqSize=N skip alignments when reference sequence is less than N\n" " (default %d -- match with hgTracks min window size for\n" " using summary table)\n" " -test suppress loading the database. Just create .tab file(s)\n" " in current dir.\n", mergeGap, minSize, maxSize, minSeqSize ); } double scorePairwise(struct mafAli *maf) /* generate score from 0.0 to 1.0 for an alignment pair */