PatsPlants is an OpenBio-style framework for plant science, built to help Pat use agentic AI for real work without needing to already know the life-science tooling landscape.
Inspired by OpenMontage, PatsPlants follows the same core idea: give an AI coding assistant the right project context, workflows, and domain-specific skills so it can do real end-to-end work instead of only producing generic answers.
This repo does three things:
- gives Codex a plant-science operating context,
- installs and integrates the full SciAgent-Skills library locally for this project,
- provides runnable baseline workflows for ML and LLM-oriented plant-science projects.
If Pat only reads one section, it should be this one.
From the repo root:
./scripts/setup_local.shThat script will:
- create a local Python virtual environment at
.venv/, - install the PatsPlants package and demo dependencies,
- install a project-local copy of all 197 SciAgent-Skills into
.sciagent-skills/, - run a basic environment check,
- run the test suite.
.venv/bin/python -m patsplants doctor
.venv/bin/python -m patsplants list-pipelines.venv/bin/python -m patsplants run-demo-training --config configs/demo_multimodal_training.json --output-dir artifacts/demo_training.venv/bin/python -m patsplants scaffold-crop-assistant --output-dir artifacts/crop_knowledge_assistantPat can use any of these:
- Codex
- Claude Code
- GitHub Copilot
Ask one of these to start:
- "Use PatsPlants to help me design a transcriptomics workflow for drought stress in maize."
- "Use the crop knowledge assistant pipeline to help me build a literature-grounded RAG assistant for Arabidopsis root development."
- "Use the phenotyping pipeline to propose a computer-vision workflow for leaf lesion segmentation."
If Pat is not sure where to begin, start with one of these.
Use this when Pat has RNA-seq counts or expression tables and wants help turning them into a real workflow.
Good first prompt:
Use PatsPlants to help me build a transcriptomics workflow for maize drought stress. I have count data, sample metadata, and I want differential expression, pathway interpretation, and a shortlist of candidate genes.
What the agent should anchor on:
- pipeline:
plant-omics-discovery - likely SciAgent-Skills:
pydeseq2-differential-expression,gseapy-gene-enrichment,gget-genomic-databases,string-database-ppi - expected outputs:
- analysis plan
- cleaned input contract
- differential expression table
- enrichment summary
- candidate gene shortlist
Helpful command:
.venv/bin/python -m patsplants show-pipeline plant-omics-discoveryConcrete local example:
Helpful commands:
.venv/bin/python -m patsplants inspect-omics-example --dataset-dir data/maize_drought_example
.venv/bin/python -m patsplants scaffold-omics-project --dataset-dir data/maize_drought_example --output-dir artifacts/maize_drought_projectUse this when Pat has greenhouse, microscopy, or field images and wants a baseline modeling or image-analysis workflow.
Good first prompt:
Use PatsPlants to propose a baseline phenotyping workflow for soybean leaf disease images. I want preprocessing, segmentation or feature extraction, a baseline classifier, and a plan for evaluation.
What the agent should anchor on:
- pipeline:
phenotyping-and-field-vision - likely SciAgent-Skills:
opencv-bioimage-analysis,scikit-image-processing,cellpose-cell-segmentation,scikit-learn-machine-learning - expected outputs:
- image preprocessing plan
- annotation strategy
- baseline model recommendation
- evaluation checklist
Helpful command:
.venv/bin/python -m patsplants show-pipeline phenotyping-and-field-visionUse this when Pat wants an LLM or RAG assistant that answers questions from papers, protocols, breeding notes, or agronomy documents.
Good first prompt:
Use PatsPlants to help me scaffold a literature-grounded assistant for Arabidopsis root development. I want a source ingestion plan, a citation-first answer policy, and an evaluation checklist.
What the agent should anchor on:
- pipeline:
crop-knowledge-assistant - likely SciAgent-Skills:
deep-research,pubmed-database,openalex-database,scientific-critical-thinking,transformers-bio-nlp - expected outputs:
- source manifest
- retrieval and grounding plan
- system prompt
- evaluation checklist
Helpful commands:
.venv/bin/python -m patsplants show-pipeline crop-knowledge-assistant
.venv/bin/python -m patsplants scaffold-crop-assistant --output-dir artifacts/crop_knowledge_assistantSee PROMPT_GALLERY.md for copy-paste prompts organized by use case and assistant.
This repo includes agent-specific context files so Pat can get started quickly no matter which assistant he uses:
- Codex: AGENTS.md and CODEX.md
- Claude Code: CLAUDE.md
- GitHub Copilot: COPILOT.md and .github/copilot-instructions.md
- Open Codex in this repo.
- Confirm
.sciagent-skills/registry.yamlexists. - Start with a direct instruction, for example:
Use PatsPlants to help me build a bulk RNA-seq analysis plan for maize drought stress.
- Open the repo in Claude Code.
- Make sure local setup has been run.
- Start with a workflow-oriented prompt, for example:
Use PatsPlants and the installed SciAgent-Skills to propose a phenotype-modeling workflow for soybean disease images.
- Open the repo in VS Code with GitHub Copilot enabled.
- Let Copilot read the repository context files.
- Start from repo chat or inline chat with a prompt like:
Read the PatsPlants README and AGENTS instructions, then help me adapt the multimodal demo to a real plant dataset.
This repo is written for a user who:
- is a plant scientist,
- has some Python experience,
- wants to automate workflows with an AI coding agent,
- does not already know which bioinformatics or scientific-computing tools to pick.
If that matches Pat, start with the setup script below and do not worry about the rest of the file yet.
In this repo, agentic AI means:
- Codex can inspect the codebase,
- read scientific skill files when needed,
- write scripts and configs,
- run commands,
- and help assemble end-to-end workflows instead of only answering questions.
PatsPlants does not replace plant-science judgment. It gives the agent a better scientific toolbox and a safer starting point.
This repo includes AGENTS.md, which tells Codex how to work in this project and where to find the local SciAgent skill registry.
The important project-local integration is:
.sciagent-skills/registry.yaml.sciagent-skills/skills/...- AGENTS.md
If setup completed successfully, open Codex in this repo and it should be able to use the project-local SciAgent knowledge.
The setup script installs the full SciAgent-Skills repository into:
.sciagent-skills/
That is a project-local copy of the 197-skill life-sciences library. It is not committed to git. It exists so Pat can use the project on his machine without depending on whatever happens to be installed globally.
The local virtual environment is created here:
.venv/
It installs:
- PatsPlants itself
numpyscikit-learn
Those are enough to run the validated ML demo in this repo.
PatsPlants/
├── AGENTS.md
├── configs/
├── data/
│ └── cards/
├── docs/
├── examples/
├── pipeline_defs/
├── scripts/
├── skills/
│ └── domain/
├── src/patsplants/
└── tests/
plant-omics-discoveryFocus: candidate gene discovery, transcriptome prioritization, pathway inference, and explainable predictive modeling.phenotyping-and-field-visionFocus: greenhouse, microscopy, and field imagery for segmentation, tracking, trait extraction, and stress classification.multimodal-plant-foundation-modelsFocus: representation learning across omics, phenotype images, environmental context, and scientific text.crop-knowledge-assistantFocus: plant-science LLM systems, domain RAG, and literature-grounded agronomy or breeding copilots.plant-design-loopFocus: design-build-test-learn workflows for proteins, regulatory elements, metabolic engineering, and trait optimization.
This is a runnable baseline workflow, not just a placeholder.
Command:
.venv/bin/python -m patsplants run-demo-training --config configs/demo_multimodal_training.json --output-dir artifacts/demo_trainingWhat it does:
- generates a synthetic plant multimodal dataset,
- trains a baseline model for drought-tolerance classification,
- evaluates accuracy, F1, and ROC AUC,
- saves a model card and feature-importance summary.
Use this when Pat wants to understand the project shape before swapping in real data.
Files involved:
- configs/demo_multimodal_training.json
- data/cards/synthetic_multimodal_drought_demo.md
- examples/train_multimodal_plant_model.py
Command:
.venv/bin/python -m patsplants scaffold-crop-assistant --output-dir artifacts/crop_knowledge_assistantWhat it does:
- creates a starter directory for a plant-science knowledge assistant,
- writes a runbook based on the bundled pipeline,
- writes a starter system prompt,
- writes an evaluation checklist,
- writes a source manifest template.
Use this when Pat wants to build an LLM or RAG assistant for papers, protocols, breeding notes, or agronomy references.
If Pat is unsure what to do first, use this order:
- Run setup:
./scripts/setup_local.sh- Verify the environment:
.venv/bin/python -m patsplants doctor- Look at the available pipelines:
.venv/bin/python -m patsplants list-pipelines- Run the demo ML workflow:
.venv/bin/python -m patsplants run-demo-training --helpor:
.venv/bin/python -m patsplants run-demo-training --config configs/demo_multimodal_training.json --output-dir artifacts/demo_training- Ask Codex for a real next task, for example:
- "Use PatsPlants to help me design a transcriptomics workflow for drought stress in maize."
- "Use the crop knowledge assistant pipeline to help me build a literature-grounded RAG assistant for Arabidopsis root development."
- "Use the phenotyping pipeline to propose a computer-vision workflow for leaf lesion segmentation."
- macOS or Linux
python3available on the command linegit- internet access for cloning SciAgent-Skills and installing Python packages
./scripts/setup_local.shIf the script fails and Pat wants to do it manually:
python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip setuptools wheel
.venv/bin/pip install -e .
./scripts/install_sciagent_skills.sh
.venv/bin/python -m patsplants doctor
.venv/bin/python -m unittest discover -s tests -v.venv/bin/python -m patsplants list-pipelines
.venv/bin/python -m patsplants show-pipeline multimodal-plant-foundation-models.venv/bin/python -m patsplants list-skills
.venv/bin/python -m patsplants list-skills --category modeling.venv/bin/python -m patsplants scaffold-runbook crop-knowledge-assistant --output artifacts/crop_assistant_runbook.md./scripts/run_demo_workflows.shGood prompts in this repo usually include:
- the plant or crop,
- the data type,
- the biological question,
- what output you want,
- any constraints.
Examples:
- "I have RNA-seq counts from maize leaves under drought and control. Help me build a PatsPlants differential expression workflow and explain each step."
- "I have greenhouse images of soybean leaves with disease labels. Use PatsPlants to scaffold a training plan for a baseline vision model."
- "Help me build a plant-science RAG assistant that answers questions from papers and protocols, with citations."
- Use existing SciAgent-Skills instead of inventing overlapping capability.
- Start from a baseline that runs, then escalate to more advanced models.
- Keep ML and LLM work grounded in plant-science questions and evaluation.
- Make the first-run experience easy enough for a scientist who is new to agentic AI.
Try:
.venv/bin/python -m pip install --upgrade pip setuptools wheel
.venv/bin/pip install -e .Run:
./scripts/install_sciagent_skills.shMake sure:
- you opened Codex inside this repo,
.sciagent-skills/registry.yamlexists,- AGENTS.md exists at the repo root.
Start by replacing the demo config and data assumptions rather than rewriting the whole repo. The validated demo is meant to give Pat a working baseline he can adapt safely.