Skip to content

liulab-mbio

Molecular biology design and analysis tools for DNA sequences, enzymes, primers and cloning.

Install it

The repo uses pixi and nothing else. No pip, no conda, no uv. Clone the repo, then:

pixi install

That reads pyproject.toml and builds the environment from the lock file, so you get the same versions the tests ran on.

Use it

Plan a Golden Gate cloning job from a vector file and an insert file:

pixi run liulab_mbio goldengate plan vector.dna insert.dna --out plan/

Three files land in plan/. product.dna is the assembled plasmid, with its features and primers marked. primers.tsv is the oligos to order. protocol.html is one page you can follow at the bench.

The same thing from Python:

from liulab_mbio.goldengate import plan_assembly

plan = plan_assembly("vector.dna", "insert.dna")
plan.write("plan/")

Sequence files are read into one shared model, whatever their format:

from liulab_mbio.io import read_record

record = read_record("vector.dna")

Put GFP into pUC19 walks through one job from end to end. The API reference has the full list, built from the docstrings in src/.

Check your work

One command runs the linters, the type checker and the tests:

pixi run check

It runs every step, then prints all the failures at once. Read to the bottom before you fix anything.

The docs site is built by a separate command, because it needs a heavier environment:

pixi run docs-build

Where things live

Path What it holds
src/liulab_mbio/ the package
tests/ the tests
docs/ this site
scripts/check.sh the gate every commit has to pass
CONTEXT.md the glossary: the words this repo uses

Some notes are written for coding agents, not for people. Conventions go under docs/agents/, decision records under docs/adr/, and research notes under docs/research/. Nothing in those three directories shows up in the menu or the search box, and a page written there is still reachable by its own URL.