I've writing test cases for my liftover code and I appear to be failing since the UCSC chain files are not symmetrical:
hg19 chr1 148000001 +
uniquely lifts over to hg38 chr1 120845139 -
, but when I lift that back over to hg19 it goes to hg19 chr1 148761230 -
.
If I lift that back over to hg38, that position goes to hg38 chr1 149559293 -
.
Going back to hg38 again takes me to hg19 chr1 148761230 -
so at least that cycle is stable.
My question is this: if there are two coordinate that map to a single liftover position, why doesn't the liftover in the opposite direction multimap back to both these coordinates?