Skip to main content

A Python3 package for melting temperature calculation of oligonucleotides hybridization and secondary structures.

Project description

oligo-melting v2.0.1.post1

A Python3 package for melting temperature calculation of oligonucleotides hybridization and secondary structures.

Features

  • Handles DNA:DNA, RNA:RNA and DNA/RNA hybridizations.
  • Corrects for both salt and chemicals.
  • Compatible with UNAfold (OligoArrayAux) output for direct salt and chemicals (denaturants) correction.
  • Produces melting curves for the provided sequence.
  • Input either as single sequence or FASTA file.
  • Slightly faster than BioPython.SeqUtils.MeltingTemp.
  • Provides dG, dS and dH alongside melting temperature.

Limitations

  • Does not handle mismatches or dangling ends
  • Does not handle ambiguous bases

Installation

To install, run the following:

git clone http://github.com/ggirelli/gpseq-img-py
cd gpseq-img-py
sudo -H pip3 install .

To uninstall run the following from within the repository folder:

sudo -H pip3 uninstall oligo_melting

To update, first uninstall, and then run the following from within the repository folder.

git pull
sudo -H pip3 uninstall oligo_melting
sudo -H pip3 install .

Usage

From command line

Duplexes

The melt_duplex command allows to calculate the melting temperature of a nucleic acid duplex, provided the sequence of one of the two strands.

The hybridization delta free energy calculation is based on the N-N thermodynamic values in literature and is available for DNA:DNA[3], RNA:RNA[1] and DNA:RNA[2] duplexes. The melting temperature calculation is based on Santalucia, 1998[4]. Sodium and cagnesium concentration correction is based on the work of Owczarzy et al[5][6]. Formamide correction can be performed based on two different published models[7][8].

  • Use the -t option to specify the type of nucleic acid duplex.
  • Use --fa-mode to switch between linear melting temperature formamide-based correction[7] and linear ΔG formamide-based correction[8].
  • Use --fa-mvalue together with --fa-mode wright to specify the m-value for the formamide-based correction.
  • Provide the path to a fasta file instead of a single sequence to calculate the melting temperature of every sequence in the file.
  • Use the -v option to trigger the verbose mode, which provides more details for every single sequence.
  • Use -C for the temperature in degree Celsius instead of Kelvin.
  • Use --out-curve to specify a file where to save estimated single-sequence melting curves with temperature range and step around the melting temperature as defined with --t-curve.

Secondary structure

The melt_second script allows to correct the melting temperature of a nucleic acid secondary structure, previously calculated with OligoArrayAux, and to produce the corresponding melting curves.

As a library

Import the package and use the corresponding functions.

import oligo_melting as OligoMelt

seq = "CAGTCAGTCGATC"

# Calculate melting temperature for 25uM oligos
(name, g, h, s, tm, seq) = OligoMelt.Duplex.calc_tm(seq, oligo_conc = 25e-6)
print(tm)

# Adjust for 300 mM [Na+]
tm = OligoMelt.Duplex.adj_ions(tm, 0.3, 0, seq)
print(tm)

The Duplex module contains functions for duplex hybridization and melting temperature calculation, while the SecStr module contains similar methods for evaluating secundary structure melting temperatures.

References

  • [1]: Freier et al, PNAS(83), 1986;
  • [2]: Sugimoto et al, Biochemistry(34), 1995.
  • [3]: Allawi & Santalucia, Biochemistry(36), 1997;
  • [4]: SantaLucia, PNAS(95), 1998;
  • [5]: Owczarzy et al, Biochemistry(43), 2004;
  • [6]: Owczarzy et al, Biochemistry(47), 2008;
  • [7]: McConaughy et al, Biochemistry(8), 1969;
  • [8]: Wright et al, Appl. env. microbiol.(80), 2014.

License

MIT License
Copyright (c) 2017 Gabriele Girelli

This project comes from the potpourri sandbox. \( ゚ヮ゚)/

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

oligo_melting-2.0.1.post1.tar.gz (14.6 kB view details)

Uploaded Source

File details

Details for the file oligo_melting-2.0.1.post1.tar.gz.

File metadata

File hashes

Hashes for oligo_melting-2.0.1.post1.tar.gz
Algorithm Hash digest
SHA256 8d34d0a018fd53f0175f15b24c716c1d21b9ee5fdb189aa695c7ac03ddc1c3d9
MD5 49f80641256c4a7569dc305d57c2c8c7
BLAKE2b-256 6086804b3a4e91c653cf9a779dfe308ee43e7f5789c789cc5a26607c7e9ef8c2

See more details on using hashes here.

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