Skip to main content

Mutalyzer HGVS position crossmapper.

Project description

https://img.shields.io/github/last-commit/mutalyzer/crossmapper.svg https://github.com/mutalyzer/crossmapper/actions/workflows/python-package.yml/badge.svg https://readthedocs.org/projects/mutalyzer-crossmapper/badge/?version=latest https://img.shields.io/github/release-date/mutalyzer/crossmapper.svg https://img.shields.io/github/release/mutalyzer/crossmapper.svg https://img.shields.io/pypi/v/mutalyzer-crossmapper.svg https://img.shields.io/github/languages/code-size/mutalyzer/crossmapper.svg https://img.shields.io/github/languages/count/mutalyzer/crossmapper.svg https://img.shields.io/github/languages/top/mutalyzer/crossmapper.svg https://img.shields.io/github/license/mutalyzer/crossmapper.svg

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mutalyzer_crossmapper-2.0.1.tar.gz (6.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page