you can also specify an alternative website to load chain files from
April 17, 2026 ยท View on GitHub
python liftover utility
Converts point coordinates between genome assemblies. Inspired by pyliftover, this offers a few advantages:
- ~5X faster, and lower memory requirements, as loading the chain file and converting coordinates is implemented in c++.
- dictionary style conversion, as in access converted coordinates via
converter[chrom][pos]
Installation
Install via pip: pip install liftover
Usage
from liftover import get_lifter
converter = get_lifter('hg19', 'hg38', one_based=True)
chrom = '1'
pos = 103786442
converter[chrom][pos]
# other synonyms for the lift call
converter.convert_coordinate(chrom, pos)
converter.query(chrom, pos)
# alternatively create a converter directly from a chainfile
from liftover import ChainFile
converter = ChainFile('/home/user/hg18ToHg38.over.chain.gz', one_based=True)
converter[chrom][pos]
# you can also specify an alternative website to load chain files from
converter = get_lifter('hg19', 'hg38', chain_server='https://www.example.com')
# this also matches the core pyliftover interface
from liftover import LiftOver # synonym for `get_lifter`
lifter = LiftOver('hg19', 'hg38') # or LiftOver(PATH_TO_CHAIN), but not LiftOver(filehandle)
lifter.convert_coordinate(chrom, pos)