Skip to content

libnano/primer3-py

Repository files navigation

primer3-py: simple oligo analysis and primer design

Actions License PyPi

Primer3-py is a Python-abstracted API for the popular Primer3 library. The intention is to provide a simple and reliable interface for automated oligo analysis and design.

Routine oligo analysis is simple::

>>> import primer3
>>> primer3.calc_tm('GTAAAACGACGGCCAGT')
49.16808228911765
>>> primer3.calc_hairpin('CCCCCATCCGATCAGGGGG')
ThermoResult(structure_found=True, tm=34.15, dg=337.09, dh=-36300.00, ds=-118.13)

... and fast (~1000X faster than traditional subprocess wrappers)::

In [1]: import primer3

In [2]: import tests.wrapper

In [3]: %timeit primer3.calc_tm('GTAAAACGACGGCCAGT')
100000 loops, best of 3: 4.74 us per loop

In [4]: %timeit test.wrappers.calc_tm('GTAAAACGACGGCCAGT')
100000 loops, best of 3: 5.78 ms per loop

Primer3-py also includes bindings for the Primer3 primer design engine if you'd prefer to use an established pipeline. The IO parameters mirror those of the original Primer3.

**Please note that while we provide bindings, we do not provide support for the Primer3 design engine. Please contact the Primer3 dev team with your questions: https://github.com/primer3-org/primer3 **

A copy of the Primer3 2.6.1 design parameters manual can be found at: primer3 v2.6.1 manual

For documentation of the bindings, see https://libnano.github.io/primer3-py