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/utils/mafToBigMafSummary/tests/makefile src/hg/utils/mafToBigMafSummary/tests/makefile index a0f94792058..0965b769eae 100644 --- src/hg/utils/mafToBigMafSummary/tests/makefile +++ src/hg/utils/mafToBigMafSummary/tests/makefile @@ -1,20 +1,37 @@ kentSrc = ../../../.. include ../../../../inc/common.mk mafToBigMafSummary = ${DESTBINDIR}/mafToBigMafSummary -test: testdot testpipe clean +test: testdot testpipe testnameforms testgenarkref testdottedref clean testdot: init ${mafToBigMafSummary} hg38 input/testDot.maf output/testDot.bed diff expected/testDot.bed output/testDot.bed testpipe: init ${mafToBigMafSummary} hg38 input/testPipe.maf output/testPipe.bed diff expected/testPipe.bed output/testPipe.bed +# every sequence-name form mafSplitSrcGetChrom handles, in one maf +testnameforms: init + ${mafToBigMafSummary} hg38 input/testNameForms.maf output/testNameForms.bed + diff expected/testNameForms.bed output/testNameForms.bed + +# GenArk accession as the reference assembly: chrom must not keep the version dot +testgenarkref: init + ${mafToBigMafSummary} GCF_000001405.40 input/testGenArkRef.maf output/testGenArkRef.bed + diff expected/testGenArkRef.bed output/testGenArkRef.bed + +# dotted reference assembly that is not a GCA_/GCF_ accession, so only the rule that +# matches the given database can split it: without that rule the chrom comes out as +# "1.contig7" instead of "contig7" +testdottedref: init + ${mafToBigMafSummary} AABBCC010000001.1 input/testDottedRef.maf output/testDottedRef.bed + diff expected/testDottedRef.bed output/testDottedRef.bed + init: ${MKDIR} output clean: rm -fr output