## primer3-py: simple oligo analysis and primer design
<a href="https://github.com/libnano/primer3-py/actions/" rel="actions"></a>
<a href="http://www.gnu.org/licenses/gpl-2.0.html" rel="license"></a>
<a href="https://pypi.python.org/pypi/primer3-py" rel="pypi"></a>
**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)::
```bash
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](https://htmlpreview.github.io/?https://github.com/primer3-org/primer3/blob/v2.6.1/src/primer3_manual.htm)
For documentation of the bindings, see https://libnano.github.io/primer3-py
Raw data
{
"_id": null,
"home_page": "https://github.com/libnano/primer3-py",
"name": "primer3-py",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Ben Pruitt, Nick Conway",
"author_email": "bpruittvt@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/64/16/f091ff659ca08c4eafae3f1b34e98374d077ab6725a2d17e452f91f8588f/primer3-py-2.0.3.tar.gz",
"platform": null,
"description": "## primer3-py: simple oligo analysis and primer design\n\n<a href=\"https://github.com/libnano/primer3-py/actions/\" rel=\"actions\"></a>\n<a href=\"http://www.gnu.org/licenses/gpl-2.0.html\" rel=\"license\"></a>\n<a href=\"https://pypi.python.org/pypi/primer3-py\" rel=\"pypi\"></a>\n\n\n**Primer3-py** is a Python-abstracted API for the popular Primer3 library. The\nintention is to provide a simple and reliable interface for automated oligo\nanalysis and design.\n\nRoutine oligo analysis is simple::\n\n >>> import primer3\n >>> primer3.calc_tm('GTAAAACGACGGCCAGT')\n 49.16808228911765\n >>> primer3.calc_hairpin('CCCCCATCCGATCAGGGGG')\n ThermoResult(structure_found=True, tm=34.15, dg=337.09, dh=-36300.00, ds=-118.13)\n\n... and `fast` (**~1000X** faster than traditional subprocess wrappers)::\n\n```bash\nIn [1]: import primer3\n\nIn [2]: import tests.wrapper\n\nIn [3]: %timeit primer3.calc_tm('GTAAAACGACGGCCAGT')\n100000 loops, best of 3: 4.74 us per loop\n\nIn [4]: %timeit test.wrappers.calc_tm('GTAAAACGACGGCCAGT')\n100000 loops, best of 3: 5.78 ms per loop\n```\n\n**Primer3-py** also includes bindings for the Primer3 `primer design engine`\nif you'd prefer to use an established pipeline. The IO parameters mirror those\nof the original Primer3.\n\n**Please note that while we provide bindings, we do not provide support for\nthe Primer3 design engine. Please contact the Primer3 dev team with your\nquestions: https://github.com/primer3-org/primer3 **\n\nA copy of the Primer3 2.6.1 design parameters manual can be found at:\n[primer3 v2.6.1 manual](https://htmlpreview.github.io/?https://github.com/primer3-org/primer3/blob/v2.6.1/src/primer3_manual.htm)\n\nFor documentation of the bindings, see https://libnano.github.io/primer3-py\n",
"bugtrack_url": null,
"license": "GPLv2",
"summary": "Python bindings for Primer3",
"version": "2.0.3",
"project_urls": {
"Homepage": "https://github.com/libnano/primer3-py"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1fb65510f22c58dcdc812fa20b7103b09ef542de40bc3e2d07fc84de495c4006",
"md5": "08be486be9eb5da931591a11a39f0f5e",
"sha256": "388c5ab6fcaed112d2374eed7b08ad4f547b1b314e0f9253994674c15e4eee9c"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp310-cp310-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "08be486be9eb5da931591a11a39f0f5e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 859161,
"upload_time": "2024-02-16T03:00:45",
"upload_time_iso_8601": "2024-02-16T03:00:45.332244Z",
"url": "https://files.pythonhosted.org/packages/1f/b6/5510f22c58dcdc812fa20b7103b09ef542de40bc3e2d07fc84de495c4006/primer3_py-2.0.3-cp310-cp310-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d6ccb0d208a46db867783d42e4ea41f94e62d1f3d871a366a6c247224be03369",
"md5": "1c491c84724cbc926f911556b276f84d",
"sha256": "c9e834567abf2e9e39af6531e04de3192ffdf40fbfe99835ccadcd574c33c36c"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1c491c84724cbc926f911556b276f84d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 2608348,
"upload_time": "2024-02-16T03:00:47",
"upload_time_iso_8601": "2024-02-16T03:00:47.166423Z",
"url": "https://files.pythonhosted.org/packages/d6/cc/b0d208a46db867783d42e4ea41f94e62d1f3d871a366a6c247224be03369/primer3_py-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d0a2ba2a7993208dec6bf92f0b3fe05b5316546760fb3da6b66c57cb6c36f259",
"md5": "7f75091643ebb2461db9dcd870568873",
"sha256": "5b7ec07124fe9d7d7018e98e99c0a6510d314e5f1875a14b6cf1030dd95e1790"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "7f75091643ebb2461db9dcd870568873",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 991464,
"upload_time": "2024-02-16T03:00:49",
"upload_time_iso_8601": "2024-02-16T03:00:49.265547Z",
"url": "https://files.pythonhosted.org/packages/d0/a2/ba2a7993208dec6bf92f0b3fe05b5316546760fb3da6b66c57cb6c36f259/primer3_py-2.0.3-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "662f6e7135ef7c48bbe2805c7dff943a3748972e9ecbdee958dc1946fe92bcb0",
"md5": "86a0a3450c9dec34ba7fa23e0a5fe76e",
"sha256": "c9c88f95913d68f1915300eb0c1d1d464e0fe761ea101793f4b577ff8594e80d"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp311-cp311-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "86a0a3450c9dec34ba7fa23e0a5fe76e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 861468,
"upload_time": "2024-02-16T03:00:50",
"upload_time_iso_8601": "2024-02-16T03:00:50.663630Z",
"url": "https://files.pythonhosted.org/packages/66/2f/6e7135ef7c48bbe2805c7dff943a3748972e9ecbdee958dc1946fe92bcb0/primer3_py-2.0.3-cp311-cp311-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f3e87efb9fa3bbbdef74440632ed9e2073ad5bf8f6805ae9f925e423c0663a01",
"md5": "cfafe1675df7bcedf4fb0dbe935ffeda",
"sha256": "da85e4b64418b9501c98d512263a80c5c7f0f3e322d2845aaec05fdd3c42f8d2"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "cfafe1675df7bcedf4fb0dbe935ffeda",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 2713012,
"upload_time": "2024-02-16T03:00:52",
"upload_time_iso_8601": "2024-02-16T03:00:52.596671Z",
"url": "https://files.pythonhosted.org/packages/f3/e8/7efb9fa3bbbdef74440632ed9e2073ad5bf8f6805ae9f925e423c0663a01/primer3_py-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf9bc63e7f181cf767b2996a45d1f2bf206bb58e1eba09fed237cecd139d03b7",
"md5": "62be08a8e976d7b39d0574fe2879c14a",
"sha256": "50529ac5124eb76ca9c4cf7389e3dd4cc3c58f7da7f515e4e454ac34f1be7212"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "62be08a8e976d7b39d0574fe2879c14a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 993177,
"upload_time": "2024-02-16T03:00:54",
"upload_time_iso_8601": "2024-02-16T03:00:54.775709Z",
"url": "https://files.pythonhosted.org/packages/bf/9b/c63e7f181cf767b2996a45d1f2bf206bb58e1eba09fed237cecd139d03b7/primer3_py-2.0.3-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fdffc8c91572e9855cbce88289859042156d72dd61ecdf037a4e71c7fd455a00",
"md5": "492f94d3eeab22929f5dd716cf544259",
"sha256": "7998c9dc66aef1df3191039963d127d0db2ea03d843360e2aa7a417516ac49c9"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp312-cp312-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "492f94d3eeab22929f5dd716cf544259",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 855559,
"upload_time": "2024-02-16T03:00:56",
"upload_time_iso_8601": "2024-02-16T03:00:56.674235Z",
"url": "https://files.pythonhosted.org/packages/fd/ff/c8c91572e9855cbce88289859042156d72dd61ecdf037a4e71c7fd455a00/primer3_py-2.0.3-cp312-cp312-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9703cad44dbecabcf7e4fdb249ea792a80c1aae38acb07aaa07bd2559b6b631f",
"md5": "ff2188a8cded5e4671a97c198dd688d7",
"sha256": "ac6aab27d68e56e73d381d50e5a152a83a0f6d644f62c4eb0ce632bddb7284bb"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ff2188a8cded5e4671a97c198dd688d7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 2732246,
"upload_time": "2024-02-16T03:00:58",
"upload_time_iso_8601": "2024-02-16T03:00:58.054279Z",
"url": "https://files.pythonhosted.org/packages/97/03/cad44dbecabcf7e4fdb249ea792a80c1aae38acb07aaa07bd2559b6b631f/primer3_py-2.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "99536ee7615b7df08c415e3264d9f088c616f0db0d5fc09c4768c3adcd9e3f9c",
"md5": "81d4c577526dc8ef04cd96e98e0c2f93",
"sha256": "9632336197c8b5223f802cb6cbf96ddaa29fd640b3d3bb268bb43fd31a8a3660"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "81d4c577526dc8ef04cd96e98e0c2f93",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 989637,
"upload_time": "2024-02-16T03:01:00",
"upload_time_iso_8601": "2024-02-16T03:01:00.129796Z",
"url": "https://files.pythonhosted.org/packages/99/53/6ee7615b7df08c415e3264d9f088c616f0db0d5fc09c4768c3adcd9e3f9c/primer3_py-2.0.3-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2f0c2bce0052406eeeca54318fc1298768c096510a00c753e0c37e5b2b9b4360",
"md5": "2dfb0c42e3c5b6174205d1c73b216358",
"sha256": "3104de534e5db7fc32bc876e1d9149a9d4a7f2e03dde443cbb90d9b1f79c8f6a"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp38-cp38-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "2dfb0c42e3c5b6174205d1c73b216358",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 858148,
"upload_time": "2024-02-16T03:01:01",
"upload_time_iso_8601": "2024-02-16T03:01:01.452462Z",
"url": "https://files.pythonhosted.org/packages/2f/0c/2bce0052406eeeca54318fc1298768c096510a00c753e0c37e5b2b9b4360/primer3_py-2.0.3-cp38-cp38-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a8cf1c3ab9c5bcb501cc835157379d1106a1d9bd39f73f66d1d9205b784c86eb",
"md5": "b867aa6902aaab2b81da8c1f775ed598",
"sha256": "2e575704c96ec88e1b9e41613493c78caabef29ea4f1e70fa1009d39282d8b6a"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "b867aa6902aaab2b81da8c1f775ed598",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 2636874,
"upload_time": "2024-02-16T03:01:03",
"upload_time_iso_8601": "2024-02-16T03:01:03.063108Z",
"url": "https://files.pythonhosted.org/packages/a8/cf/1c3ab9c5bcb501cc835157379d1106a1d9bd39f73f66d1d9205b784c86eb/primer3_py-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "057d911854856f63b9e8a2f2d5e4b51b86c3154a04924e99bb8ece11cec52e8c",
"md5": "b05d99af68406064d29a38062a50a6b0",
"sha256": "ea2b714ba4cd8855c83ecd04d65eb40b184233fe35f66e2b8790641d6c2410f8"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "b05d99af68406064d29a38062a50a6b0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 994837,
"upload_time": "2024-02-16T03:01:04",
"upload_time_iso_8601": "2024-02-16T03:01:04.774405Z",
"url": "https://files.pythonhosted.org/packages/05/7d/911854856f63b9e8a2f2d5e4b51b86c3154a04924e99bb8ece11cec52e8c/primer3_py-2.0.3-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "56719dffffb914bc76effec662b8fee39baa20b6838c343795b0241c133f76a0",
"md5": "0cd2f7c3bd77afc4b673c2ea454f6903",
"sha256": "9d33c2a4602d111fe2bd94eb696a17f464d856c5ae98bbdc1c45689280f37eeb"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp39-cp39-macosx_10_14_x86_64.whl",
"has_sig": false,
"md5_digest": "0cd2f7c3bd77afc4b673c2ea454f6903",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 859599,
"upload_time": "2024-02-16T03:01:06",
"upload_time_iso_8601": "2024-02-16T03:01:06.195332Z",
"url": "https://files.pythonhosted.org/packages/56/71/9dffffb914bc76effec662b8fee39baa20b6838c343795b0241c133f76a0/primer3_py-2.0.3-cp39-cp39-macosx_10_14_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9f7fbc77c84974361416b873652e1c75bff337d464c04c1621997e8eb8cd93e1",
"md5": "ff381a6a2efc30c22cfed8081ad581b0",
"sha256": "54c374596ff2c4977aedbb5ec1582fdde613f09a65bcc7aa96df08a71facd100"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "ff381a6a2efc30c22cfed8081ad581b0",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 821767,
"upload_time": "2024-02-16T03:01:07",
"upload_time_iso_8601": "2024-02-16T03:01:07.447911Z",
"url": "https://files.pythonhosted.org/packages/9f/7f/bc77c84974361416b873652e1c75bff337d464c04c1621997e8eb8cd93e1/primer3_py-2.0.3-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b1e753c246686e234cea04040e29b2522c09e093d91653b1a11c43917d0c57f1",
"md5": "a0afd2a8fdcaff9cd7b066691d714b8a",
"sha256": "ee7c3b181250b447ffafc8e57cd00758f88ced8a37b90e098f59c25676715723"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "a0afd2a8fdcaff9cd7b066691d714b8a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 2606050,
"upload_time": "2024-02-16T03:01:09",
"upload_time_iso_8601": "2024-02-16T03:01:09.475922Z",
"url": "https://files.pythonhosted.org/packages/b1/e7/53c246686e234cea04040e29b2522c09e093d91653b1a11c43917d0c57f1/primer3_py-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6492875c74c91d2752514c3e3213ca928c3550b37fcc1d155d9c8eb0dbda52a2",
"md5": "bddf0d4b1a656563e9b42b6c7675ec3b",
"sha256": "fa8ff8398bcc48b73bc200a8712f9381af7366a45d97fa7d83a364a4a4220542"
},
"downloads": -1,
"filename": "primer3_py-2.0.3-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "bddf0d4b1a656563e9b42b6c7675ec3b",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 991745,
"upload_time": "2024-02-16T03:01:10",
"upload_time_iso_8601": "2024-02-16T03:01:10.996426Z",
"url": "https://files.pythonhosted.org/packages/64/92/875c74c91d2752514c3e3213ca928c3550b37fcc1d155d9c8eb0dbda52a2/primer3_py-2.0.3-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6416f091ff659ca08c4eafae3f1b34e98374d077ab6725a2d17e452f91f8588f",
"md5": "ccd96aaebd95e46cc2bb3f93ec5cbce8",
"sha256": "1ec6ce99ea149b1c82361c654a0eab824e698ce32d5f9ed2dd8f8f37564b3f5f"
},
"downloads": -1,
"filename": "primer3-py-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "ccd96aaebd95e46cc2bb3f93ec5cbce8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 572056,
"upload_time": "2024-02-16T03:01:12",
"upload_time_iso_8601": "2024-02-16T03:01:12.299531Z",
"url": "https://files.pythonhosted.org/packages/64/16/f091ff659ca08c4eafae3f1b34e98374d077ab6725a2d17e452f91f8588f/primer3-py-2.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-16 03:01:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "libnano",
"github_project": "primer3-py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "primer3-py"
}