Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PUDU

Welcome to the PUDU (Protocol Unified Design Unit) repository, our Python package for liquid handling robot control on Synthetic Biology workflows.

PUDU logo PUDU night logo

The art of automated liquid handling

As you may have noticed, our logo features a beautiful pudu (Pudu puda); a deer native to the southern forests of Chile and Argentina known for being the smallest deer of the world. This package intends to make the code to program liquid handling robots as small and simple as possible.

No Installation required protocols

Some scripts have "libre" in their name, this means that users can modify these scripts and use them to run protocols whithout the need to install PUDU.

Calibrate your plate reader using PUDU script libre

Human protocol (Excel to set the OT2 deck)

Robot protocol (Python script to run the OT2)

Reference: Original protocol (2022 iGEM InterLab study)

Recommended workflow

  • Install PUDU in your computer
  • Install PUDU in the OT2 that will perform the automation
  • Develop protocols in your computer
  • To simulate your protocols you can open the PUDU folder in your terminal and run opentrons_simulate ./scripts/run_Loop_assembly.py for example [instructions]
  • Transfer the script file (.py) to the computer used to run the protocol on the OT2 (if its the same, omit)
  • Load the script file (.py) on the Opentrons App
  • Follow Oppentrons App instruction
  • Set the OT2 deck with the information provided by the Opentrons App and PUDU human readable dictionaries at the top of the simulation output.
  • Run your protocol and enjoy automation (Now you have more time to design your next experiment! :wink: )

Installation

Computer installation

Installing PUDU is way easier than pronuncing it!

Run:

pip install pudupy

This code can be executed in the terminal and in jupyter notebooks.

For more details please refer to our documentation for installation instructions and developer guides.

OT-2 installation

To install it on an OT2 you first need to SSH into it.

Only the first time you need to set the SSH connection [instructions]

Afterwards you can just SSH into the OT2 [instructions]

then in the OT-2 terminal run:

pip install pudupy

Documentation

Please visit our documentation with full API reference at pudu.readthedocs.io

Tutorials

TODO

Manual Golden Gate protocol generation

PUDU now supports generating a human-readable manual Golden Gate protocol from SBOL-style JSON input using ManualAssembly.

  • The class builds structured per-reaction records (product, backbone, ordered parts, enzyme, and calculated reagent volumes).
  • It renders a Markdown protocol suitable for lab use and future PDF conversion.
  • It does not generate OT-2 commands.

Example script:

PYTHONPATH=src python scripts/generate_manual_assembly_protocol.py

This writes a protocol document to scripts/manual_assembly_protocol.md.

Metadata

Release files for pudupy 1.0.1a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pudupy 1.0.1a1
File Size Uploaded
pudupy-1.0.1a1.tar.gz 71.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pudupy 1.0.1a1
File Interpreter ABI Platform
pudupy-1.0.1a1-py3-none-any.whl Python 3 none any Details

Total release size: 135.7 kB

Release files / pudupy-1.0.1a1.tar.gz

Download URL pudupy-1.0.1a1.tar.gz
Size 71.5 kB
Tags Source
SHA-256 checksum
How to use checksums
abc169524574bc63c7611fc7bea33202e8f2c85b925256e8c8c7b7866c08c11e
BLAKE2b-256 checksum
How to use checksums
2509255b4415d1cc2cf5ce18b3447c7fe6ecc1b32b24689d9e1a054885179eac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.16

Release files / pudupy-1.0.1a1-py3-none-any.whl

Download URL pudupy-1.0.1a1-py3-none-any.whl
Size 64.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
32cec1dfcaea9696574ecfbab04a454e2228e85c5935c906cd32b91a88719b93
BLAKE2b-256 checksum
How to use checksums
e5423e8cd81db9b28fcce1ef13e73364c7a1de187758608c841df0401588250e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.16
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page