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