Skip to content

benpruitt/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

About

Simple oligo analysis and primer design

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 84.7%
  • Python 7.5%
  • Cython 7.1%
  • Other 0.7%