Metadata-Version: 2.5
Name: py-idt-order
Version: 0.1.2
Summary: A python interface for creating IDT bulk oligo order forms in Excel.
Project-URL: Homepage, https://github.com/conorcamplisson/py_idt
Project-URL: Documentation, https://conorcamplisson.github.io/py_idt/
Project-URL: Issues, https://github.com/conorcamplisson/py_idt/issues
Project-URL: Changelog, https://github.com/conorcamplisson/py_idt/blob/master/CHANGELOG.md
Author-email: Conor Camplisson <conor.camplisson@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: bulk order,dna,excel,idt,oligo,oligonucleotide
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Requires-Dist: pandas
Requires-Dist: xlsxwriter
Description-Content-Type: text/markdown

# py_idt_order

A python interface for creating [IDT](https://www.idtdna.com/site/order/oligoentry) bulk oligo order forms in Excel.

[![PyPI](https://img.shields.io/pypi/v/py-idt-order.svg)](https://pypi.org/project/py-idt-order/)
[![Python versions](https://img.shields.io/pypi/pyversions/py-idt-order.svg)](https://pypi.org/project/py-idt-order/)
[![CI](https://github.com/conorcamplisson/py_idt/actions/workflows/ci.yml/badge.svg)](https://github.com/conorcamplisson/py_idt/actions/workflows/ci.yml)
[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://conorcamplisson.github.io/py_idt/)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/conorcamplisson/py_idt/blob/master/LICENSE)

You might find this module useful if you design DNA oligos in python and then order them from IDT.

## Install

```bash
pip install py-idt-order
```

## Quickstart

```python
from py_idt_order import IDTOrder

# where the .xlsx will be written
IDTOrder.settings['output_dir'] = 'example_order'

# an order carries defaults that each oligo can override
order = IDTOrder()

order.add_oligo('Test_oligo_1', 'ACGTACGTACGTACGTACGT')
order.add_oligo('Test_oligo_2', 'TGCATGCATGCATGCATGCATGCATGCATGCATGCATGCA',
                scale='250nm', purification='PAGE')
order.add_oligo('Test_oligo_3', '/5Phos/AAAAACCCCCGGGGGTTTTT',
                scale='100nm', purification='HPLC')

# write the IDT bulk order form
order.save()
```

That writes an Excel file suitable for upload to IDT's custom DNA oligo bulk input form:

`example_order/<timestamp>_idt_order.xlsx`

[![Example IDT Order](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_example_order.PNG)](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_example_order.PNG)

A runnable version of this is in [examples/basic_order.py](https://github.com/conorcamplisson/py_idt/blob/master/examples/basic_order.py).

## Ordering from the generated file

1. Upload the Excel file to IDT's Bulk Input page: https://www.idtdna.com/site/order/oligoentry

   [![IDT bulk input](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_bulk_input.PNG)](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_bulk_input.PNG)

2. Click "Update" to generate the oligos.

   [![IDT oligo input](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_oligo_input.PNG)](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_oligo_input.PNG)

3. Add the oligos to your cart and check out.

   [![IDT checkout](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_checkout.PNG)](https://raw.githubusercontent.com/conorcamplisson/py_idt/master/images/idt_checkout.PNG)

## Documentation

Full documentation, including the API reference, is at
<https://conorcamplisson.github.io/py_idt/>.

## License

MIT. See [LICENSE](https://github.com/conorcamplisson/py_idt/blob/master/LICENSE).
