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?