Back translation

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

This library provides functions for back translation of amino acid changes to nucleotide changes.

Features:

  • Support for all known codon tables.

  • Back translation of amino acid changes using codon reference information.

  • Back translation of amino acid changes using amino acid reference information.

  • Function to determine all amino acid substitutions of which the back translation can be improved by adding codon information.

Please see ReadTheDocs for the latest documentation.

Quick start

The BackTranslate class provides functionality for back translation.

>>> from mutalyzer_backtranslate import BackTranslate
>>> bt = BackTranslate()

An amino acid change from a Leucine to a Phenylalanine can be explained by five substitutions.

>>> bt.without_dna('L', 'F')
{2: {('A', 'T'), ('A', 'C'), ('G', 'C'), ('G', 'T')}, 0: {('C', 'T')}}

If codon information is present, the same substitution can only be explained by one substitution.

>>> bt.with_dna('CTT', 'F')
{0: {('C', 'T')}}