02336754147822f5aa61ba13277123b2cc629001
markd
  Thu May 20 08:38:55 2021 -0700
Moved pslMap, pslMapPostChain, pslRc, pslSwap to src/utils, as they do not have hg/lib dependencies.

diff --git src/utils/pslMap/tests/makefile src/utils/pslMap/tests/makefile
new file mode 100644
index 0000000..55c92a7
--- /dev/null
+++ src/utils/pslMap/tests/makefile
@@ -0,0 +1,107 @@
+kentSrc = ../../..
+include ${kentSrc}/inc/common.mk
+
+#pslMap = valgrind --tool=memcheck --num-callers=25 pslMap
+pslMap = ${DESTBINDIR}/pslMap
+pslSwap = ${DESTBINDIR}/pslSwap
+blastToPsl = ${DESTBINDIR}/blastToPsl
+pslCheck = ${DESTBINDIR}/pslCheck
+chainSwap = ${DESTBINDIR}/chainSwap
+
+all:
+
+test:	gapBoth mrnaMrnaMap mrnaMrnaXMap mrnaMapOver mrnaMapOverSwap \
+	mrnaMapOverChain mrnaMapOverChainSwap testMapFileWithInQName
+
+# things with large files that we want to remove their big history from cvs
+# but soon will replace with short versions and no big history.
+# temporarily moved to /hive/users/galt/largeCvsFiles/kent/...
+# input/kgMRna.psl
+# input/negQ.chain
+testnot: kgProt negQChain
+
+# basic tests of protein -> mrna -> genome mapping
+kgProt: mkdirs
+	${blastToPsl} input/kgProtMRna.blast output/kgProtMRna.psl
+	${pslMap} output/kgProtMRna.psl input/kgMRna.psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+
+# this generated a gap in both query and target
+gapBoth: mkdirs
+	${blastToPsl} input/gapBothProtMRna.blast output/gapBothProtMRna.psl
+	${pslMap} output/gapBothProtMRna.psl input/gapBothMRna.psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+
+# mrna->mrna->genome
+mrnaMrnaMap: mkdirs
+	${pslMap} input/mrnaRefSeq.psl input/refSeqGen.psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+
+# mrna->mrna->genome, using translated mrna/mrna alignments
+mrnaMrnaXMap: mkdirs
+	${pslMap} input/mrnaRefSeqX.psl input/refSeqGen.psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+
+# mrna->mm6->hg17, using untranslated mrna->mm6.  At one point this
+# got the strand wrong.
+# also check mapInfo on unmapped entries
+mrnaMapOver: mkdirs
+	${pslMap} -mapInfo=output/$@.mapinfo input/mrnaToMm6.psl input/mm6ToHg17.psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+	diff -u expected/$@.mapinfo output/$@.mapinfo
+
+# swapped mapping psl, same result as mrnaMapOver
+mrnaMapOverSwap: mkdirs
+	${pslSwap} -noRc input/mm6ToHg17.psl output/hg17ToMm6.psl
+	${pslMap} -swapMap -mappingPsls=output/$@.mapping.psl -mapInfo=output/$@.mapinfo input/mrnaToMm6.psl output/hg17ToMm6.psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	${pslCheck} -verbose=0 output/$@.mapping.psl
+	diff -u expected/mrnaMapOver.psl output/$@.psl
+	diff -u expected/$@.mapinfo output/$@.mapinfo
+	diff -u expected/$@.mapping.psl output/$@.mapping.psl
+
+# use chain, same results as mrnaMapOver
+mrnaMapOverChain: mkdirs
+	${pslMap} -chainMapFile -mappingPsls=output/$@.mapping.psl input/mrnaToMm6.psl input/mm6ToHg17.chain output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	${pslCheck} -verbose=0 output/$@.mapping.psl
+	diff -u expected/mrnaMapOver.psl output/$@.psl
+	diff -u expected/$@.mapping.psl output/$@.mapping.psl
+
+# use chain swapped, same results as mrnaMapOver
+mrnaMapOverChainSwap: mkdirs
+	${chainSwap} input/mm6ToHg17.chain output/hg17ToMm6.chain 
+	${pslMap} -chainMapFile -swapMap input/mrnaToMm6.psl output/hg17ToMm6.chain output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/mrnaMapOver.psl output/$@.psl
+
+# bug created with binKeeper optimization where negative strand query chains
+# would get lost
+negQChain: mkdirs
+	${pslMap} -chainMapFile input/negQ.refSeq.psl input/negQ.chain output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+
+# retro/parent alignment through mRNA, with -simplifyMappingIds
+retroParent: mkdirs
+	${pslMap} -simplifyMappingIds -swapIn -mapInfo=output/$@.mapinfo input/retro.psl input/parent.psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+	diff -u expected/$@.mapinfo output/$@.mapinfo
+
+# -mapFileWithInQName
+testMapFileWithInQName: mkdirs
+	${pslMap} -mapFileWithInQName input/gencode.src.psl input/gencode.blocks.qName-psl output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/$@.psl output/$@.psl
+
+clean::
+	rm -rf output
+
+mkdirs:
+	@${MKDIR} output