Skip to content

mutalyzer/crossmapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HGVS position crossmapper

https://readthedocs.org/projects/mutalyzer-crossmapper/badge/?version=latest

This library provides an interface to convert (cross map) between different HGVS numbering systems.

Converting between the transcript oriented c. or n. and the genomic oriented g. numbering systems can be difficult, especially when the transcript in question resides on the complement strand.

Features:

  • Support for genomic positions to standard coordinates and vice versa.
  • Support for noncoding positions to standard coordinates and vice versa.
  • Support for coding positions to standard coordinates and vice versa.
  • Support for protein positions to standard coordinates and vice versa.
  • Basic classes for loci that can be used for genomic loci other than genes.

Please see ReadTheDocs for the latest documentation.

Quick start

The Genomic class provides an interface to conversions between genomic positions and coordinates.

>>> from mutalyzer_crossmapper import Genomic
>>> crossmap = Genomic()
>>> crossmap.coordinate_to_genomic(0)
1
>>> crossmap.genomic_to_coordinate(1)
0

On top of the functionality provided by the Genomic class, the NonCoding class provides an interface to conversions between noncoding positions and coordinates.

>>> from mutalyzer_crossmapper import NonCoding
>>> exons = [(5, 8), (14, 20), (30, 35), (40, 44), (50, 52), (70, 72)]
>>> crossmap = NonCoding(exons)
>>> crossmap.coordinate_to_noncoding(35)
(14, 1, 0)
>>> crossmap.noncoding_to_coordinate((14, 1))
35

Add the flag inverted=True to the constructor when the transcript resides on the reverse complement strand.

On top of the functionality provided by the NonCoding class, the Coding class provides an interface to conversions between coding positions and coordinates as well as conversions between protein positions and coordinates.

>>> from mutalyzer_crossmapper import Coding
>>> cds = (32, 43)
>>> crossmap = Coding(exons, cds)
>>> crossmap.coordinate_to_coding(31)
(-1, 0, -1, 0)
>>> crossmap.coding_to_coordinate((-1, 0, -1))
31

Again, the flag inverted=True can be used for transcripts that reside on the reverse complement strand.

Conversions between protein positions and coordinates are done as follows.

>>> crossmap.coordinate_to_protein(41)
(2, 2, 0, 0, 0)
>>> crossmap.protein_to_coordinate((2, 2, 0, 0))
41