Skip to main content

Tools for DNA overhang misannealing data.

Project description

Tatapov

Tatapov is a Python library making accessible and easy to explore the DNA overhang misannealing data from Potapov et al. (2018, ACS Synth. Biol.) and Pryor et al. (2020, PLoS ONE):

Comprehensive Profiling of Four Base Overhang Ligation Fidelity by T4 DNA Ligase and Application to DNA Assembly. Vladimir Potapov, Jennifer L. Ong, Rebecca B. Kucera, Bradley W. Langhorst, Katharina Bilotti, John M. Pryor, Eric J. Cantor, Barry Canton, Thomas F. Knight, Thomas C. Evans Jr., Gregory Lohman. ACS Synth. Biol. (2018) 7, 11, 2665–2674.

Enabling one-pot Golden Gate assemblies of unprecedented complexity using data-optimized assembly design. John M. Pryor, Vladimir Potapov, Rebecca B. Kucera, Katharina Bilotti, Eric J. Cantor, Gregory J. S. Lohman. PLoS ONE (2020) 15(9): e0238592.

The Supplementary Material of these papers provide tables of inter-overhang annealing data in various conditions (01h or 18h incubations at 25C or 37C). Tatapov provides these tables (it will download them automatically upon first use) as pandas dataframes, so that they are easy to manipulate.

It also provides simple methods to build and plot subsets of the data (plotting requires Matplotlib installed).

Usage example

Plotting

import tatapov

# Get a subset of the data at 25C (1h incubation)
data = tatapov.annealing_data["25C"]["01h"]  # a pandas dataframe
overhangs = ["ACGA", "AAAT", "AGAG"]
subset = tatapov.data_subset(data, overhangs, add_reverse=True)

# Plot the data subset
ax, _ = tatapov.plot_data(subset, figwidth=5, plot_color="Blues")
ax.figure.tight_layout()
ax.figure.savefig("example.png")
https://raw.githubusercontent.com/Edinburgh-Genome-Foundry/tatapov/master/images/tatapov_example.png

In the plot above, if you see anything else than the square pairs around the diagonal, it means there is cross-talking between your overhangs (so risk of misannealing). If one of these diagonal square pairs appears lighter than the others, it means that the corresponding overhang has weak self-annealing (risk of having no assembly). A color square in the diagonal means that the overhang can anneal with itself (palindromic). The Matplotlib colormap is specified with the plot_color parameter.

The following datasets are available (see the publications for more details):

# Potapov 2018:
tatapov.annealing_data[temperature][time]
# where temperature is '25C' or '37C', and time is '01h' or '18h'

# Pryor 2020 (all 01h):
tatapov.annealing_data['37C'][enzyme]
# where enzyme is one of:
# '2020_01h_BsaI', '2020_01h_BsmBI', '2020_01h_Esp3I' or '2020_01h_BbsI'

Identifying weak self-annealing overhangs

import tatapov

annealing_data = tatapov.annealing_data['37C']['01h']

# Compute a dictionary {overhang: self-annealing score in 0-1}
relative_self_annealing = tatapov.relative_self_annealings(annealing_data)

weak_self_annealing_overhangs = [
    overhang
    for overhang, self_annealing in relative_self_annealing.items()
    if self_annealing < 0.4
]

Identifying overhang pairs with significant cross-talking

import tatapov

annealing_data = tatapov.annealing_data['37C']['01h']

# Compute a dictionary {overhang_pair: cross-talking score in 0-1}
cross_annealings = tatapov.cross_annealings(annealing_data)

high_cross_annealing_pairs = [
    overhang_pair
    for overhang_pair, cross_annealing in cross_annealings.items()
    if cross_annealing > 0.08
]

Installation

You can install Tatapov through PIP:

pip install tatapov

License = MIT

Tatapov is an open-source software originally written at the Edinburgh Genome Foundry by Zulko and released on Github under the MIT licence (Copyright 2018 Edinburgh Genome Foundry, University of Edinburgh).

More biology software

https://raw.githubusercontent.com/Edinburgh-Genome-Foundry/Edinburgh-Genome-Foundry.github.io/master/static/imgs/logos/egf-codon-horizontal.png

Tatapov is part of the EGF Codons synthetic biology software suite for DNA design, manufacturing and validation.

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

tatapov-0.2.4.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

tatapov-0.2.4-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file tatapov-0.2.4.tar.gz.

File metadata

  • Download URL: tatapov-0.2.4.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tatapov-0.2.4.tar.gz
Algorithm Hash digest
SHA256 cca9f080726cee833542f7505959800beb3415ca127294fdd707c8ad8acb34d4
MD5 aa0abfbc7486bdf6018ac4aef0ef9401
BLAKE2b-256 75b59ec7fd6335613cf4748dd56a90f327d06680c1ba087eccd2d2fbbb29ba4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tatapov-0.2.4.tar.gz:

Publisher: publish.yml on Edinburgh-Genome-Foundry/tatapov

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tatapov-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: tatapov-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tatapov-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 864acd89e6b65476cf6c1f7e7848d9013c7730bdf7eebae99c388f24690318af
MD5 9aeffc0be7813ee74e8dadf30ee64c6a
BLAKE2b-256 5ad7dd8ad4a1b1d2a477d663a138eb6b79b08cfaae6291c8bd4f6f4b770e84f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tatapov-0.2.4-py3-none-any.whl:

Publisher: publish.yml on Edinburgh-Genome-Foundry/tatapov

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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