c56be670aa15932c81d5a1b751af166e0e26b2be
markd
  Tue Dec 30 12:49:16 2025 -0800
allow pslMap to remotely access chain psl input file

diff --git src/utils/pslMap/tests/makefile src/utils/pslMap/tests/makefile
index e57e0db0ef5..d5ac3d6f993 100644
--- src/utils/pslMap/tests/makefile
+++ src/utils/pslMap/tests/makefile
@@ -2,31 +2,32 @@
 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 \
 	kgProt negQChain testProtPort_ProtNa testProtPort_ProtProt \
 	testProtNa_NaNa testProtProt_NaNa \
-	testTypeErr testProtTrans
+	testTypeErr testProtTrans \
+	mrnaMapOverHttp mrnaMapOverChainHttp
 
 # 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
 
@@ -129,20 +130,39 @@
 	diff -u expected/$@.psl output/$@.psl
 
 # implied types will not work with prot_na map:
 #    prot_prot   prot_na     cds_na
 testTypeErr: mkdirs
 	if ${pslMap} input/spAnnotIso.psl input/spGencode.psl output/$@.psl  2> output/$@.err ; then  echo "Error: should have failed" >&2; false ; else true ; fi
 	diff expected/$@.err output/$@.err
 
 # bug where swissprot feature to protein is mapped via protein to transcript, genereated
 # an invalid PSL with an overlapping block
 testProtTrans: mkdirs
 	${pslMap} -inType=prot_prot -mapType=prot_na input/annotProt.psl input/protGencode.psl output/$@.psl
 	${pslCheck} -verbose=0 output/$@.psl
 	diff -u expected/$@.psl output/$@.psl
 
+# remote access
+mrnaToMm6_psl_https = https://raw.githubusercontent.com/ucscGenomeBrowser/kent/refs/heads/master/src/utils/pslMap/tests/input/mrnaToMm6.psl
+mm6ToHg17_psl_https = https://raw.githubusercontent.com/ucscGenomeBrowser/kent/refs/heads/master/src/utils/pslMap/tests/input/mm6ToHg17.psl
+mm6ToHg17_chain_https = https://raw.githubusercontent.com/ucscGenomeBrowser/kent/refs/heads/master/src/utils/pslMap/tests/input/mm6ToHg17.chain
+
+mrnaMapOverHttp: mkdirs
+	${pslMap} -mapInfo=output/$@.mapinfo ${mrnaToMm6_psl_https} ${mm6ToHg17_psl_https} output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	diff -u expected/mrnaMapOver.psl output/$@.psl
+	diff -u expected/mrnaMapOver.mapinfo output/$@.mapinfo
+
+mrnaMapOverChainHttp: mkdirs
+	${pslMap} -chainMapFile -mappingPsls=output/$@.mapping.psl ${mrnaToMm6_psl_https} ${mm6ToHg17_chain_https} output/$@.psl
+	${pslCheck} -verbose=0 output/$@.psl
+	${pslCheck} -verbose=0 output/$@.mapping.psl
+	diff -u expected/mrnaMapOver.psl output/$@.psl
+	diff -u expected/mrnaMapOverChain.mapping.psl output/$@.mapping.psl
+
+
 clean::
 	rm -rf output
 
 mkdirs:
 	@${MKDIR} output