you can also specify an alternative website to load chain files from

April 17, 2026 ยท View on GitHub

liftover

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)