Skip to content

About

A universal infrastructure layer for generative biology

Topics

Resources

Contributing

Stars

139 stars

Watchers

0 watching

Forks

Repository files navigation

Proto Tools

Proto Tools

Set up MCP

Checks Unit Tests License: MIT Docs MCP bioRxiv Modal Arc Institute blog

Note

To add a tool, please fork our repo and open a pull request! We will help you integrate it. See CONTRIBUTING.md for layout and conventions.

Contact us and let us know how we can help!

Welcome! This repository contains the open-source implementation of proto-tools, a Python package containing a large suite of computational biology and biological AI tools, all accessible through a single, consistent Python interface. Language models, structure predictors, inverse folding, sequence analysis, gene annotation, conformational dynamics, genomic scoring, and more are all available through a single pip install command.

Every tool runs in its own automatically managed isolated environment, so all dependency wrangling is handled for you. In addition, proto-tools implements extensive infrastructure for features such as device management and GPU fan-out, making it easy to call tools in quick succession. You can use it as a standalone Python library, as part of the broader proto-language optimization system, or from an AI assistant through our hosted MCP server. Tools can run on local compute or on Modal.

Proto-tools is open source under an MIT license. Contributions are welcome!

Setup

Step 1: Install the package

Proto-tools requires Python 3.10+:

pip install git+https://github.com/evo-design/proto-tools.git

Proto-tools requires Pydantic 2.12 or newer. Registered calls revalidate input and configuration models while excluding computed fields, so environments pinned to an older Pydantic release must upgrade before installing this version.

To use these tools from Claude, ChatGPT, or another AI assistant, connect our MCP server. See the MCP installation guide.

Note

A direct PyPI install (pip install proto-tools) will be available soon.

Note

If you are developing or contributing to this project, follow the setup instructions in CONTRIBUTING.md instead.

Step 2: Configure storage (optional)

All persistent data (model weights and tool environments) is cached under the PROTO_HOME directory on first use (defaults to ~/.proto/).

To customize the storage location, you can specify a path via the following environment variable:

# Add to your shell profile:
export PROTO_HOME=/path/to/your/proto_home

For shared filesystems, model weights can be reused to avoid downloading duplicate copies. The PROTO_MODEL_CACHE environment variable lets you point just the weights at that shared location (sharing tool environments is not recommended): export PROTO_MODEL_CACHE=/path/to/shared/weights. See notes/storage.md for all details and options.

Step 3: Gated model access (optional)

A few tools use gated models or software that require accepting a license / terms-of-use first (e.g. ESM3, AlphaGenome, X3DNA). See notes/gated-models.md for the full list and per-model access steps.

Step 4: Remote compute (optional) Modal

proto-tools enables users to scale their tool use beyond their local machine through an integration with Modal, a serverless compute platform that allows users to execute models and tools in remote containers. To learn more about setting up Modal, see proto_tools/modal/README.md for instructions related to account setup, deploying a tool, and costs, or the Cloud Inference guide for a runnable walkthrough.

Tip

You're all set up! Start with the quickstart, then check out the rest of the guides — short notebooks covering tool environments, persistent execution, device management, parallel multi-GPU runs, and remote execution.

Available Tools

binder_design/                  # De novo antibody / binder design pipelines
├── bindcraft/
├── freebindcraft/
└── germinal/
causal_models/                 # Autoregressive sequence models
├── evo1/
├── evo2/
├── progen2/
└── progen3/
database_retrieval/             # Sequence and structure database access
├── alphafold_db/
├── alphamissense_db/
├── ccd_lookup/
├── ensembl/
├── interproscan/
├── ncbi/
├── pdb/
├── pubchem/
├── rfam/
├── sequence_fetch/
└── uniprot/
epitope_prediction/             # MHC binding and T-cell epitope prediction
└── netmhcpan/
gene_annotation/                # Sequence annotation
├── crispr_tracr_rna/
├── meme/
├── minced/
├── miranda/
├── promoter_calculator/
└── pyhmmer/
inverse_folding/                # Sequence design from structures
├── caliby/
├── esm_if1/
├── fampnn/
├── ligandmpnn/
└── proteinmpnn/
masked_models/                  # Masked language models
├── ablang/
├── codonfm/
├── esm2/
├── esm3/
├── esmc/
├── glm2/
└── minerva/
molecular_docking/              # Protein-ligand binding pose prediction
└── vina/
mutagenesis/                    # Random sequence mutagenesis
├── random_nucleotide/
└── random_protein/
orf_prediction/                 # Open reading frame detection
├── orfipy/
└── prodigal/
rna_splicing/                   # RNA splice site prediction
├── pangolin/
├── splice_transformer/
├── spliceai/
└── spliceai2/
sequence_alignment/             # Sequence search and multiple sequence alignment
├── blast/
├── mafft/
└── mmseqs2/
sequence_scoring/               # Genomic and regulatory scoring
├── alphagenome/
├── borzoi/
├── cherimoya/
├── deeppbs_specificity/
├── enformer/
├── genomic_intelligence/
├── malinois/
├── na_mpnn_specificity/
├── parade/
├── primer3/
├── puffin/
└── segmasker/
structure_alignment/            # Structure comparison
├── foldmason/
├── foldseek/
├── pymol_rmsd/
├── tmalign/
└── usalign/
structure_design/               # De novo structure generation
└── rfdiffusion3/
structure_dynamics/             # Conformational dynamics
└── bioemu/
structure_prediction/           # 3D structure prediction
├── alphafold2/
├── alphafold3/
├── boltz2/
├── chai1/
├── esmfold/
├── esmfold2/
├── opendde/
├── protenix/
├── rf3/
├── viennarna/
└── x3dna/
structure_scoring/              # Structure quality scoring
├── dssp/
├── ipsae/
├── metal3d/
├── pdockq2/
├── pyrosetta/
└── structure_metrics/

Guides

Runnable walkthroughs of the core framework features live in guides/ and are also available on our docs page:

  1. Quickstart — installation, the Input + Config → run → Output contract, and running a tool
  2. Tool Environments — how isolated environments are built and cached on first call.
  3. Tool Persistence — keep models warm across calls
  4. Device Management — GPU allocation, LRU eviction, CPU offload
  5. Parallel Execution — fan out work across every GPU with ToolPool
  6. Cloud Inference — deploy tools to a Modal workspace you own, then call them with device="modal"

Each specific tool also ships a minimal examples/example.ipynb under proto_tools/tools/{category}/{tool}/examples/.

Using with an AI assistant

An AI assistant exchanging messages with Proto over MCP

Set up MCP

Our hosted MCP server lets Claude, ChatGPT, and other AI assistants find and run these tools for you. To set up, follow our MCP installation guide here.

Development & Contributing

See CONTRIBUTING.md for full developer setup, storage configuration, PR format, code style, and testing conventions.

Use of AI assistance

Since the beginning of 2026, most of the code in this repository has been written with the assistance of AI tools. The architecture of the code and the overall design of the system are the result of careful human decisions. All non-trivial code has been reviewed by a human developer, and we manually review all external PRs.

Citation

If you use Proto in your research, please cite our preprint:

Merchant AT, Guo D, Viggiano B, Brennan-Almaraz LE, Hur E, Mai T, Yin P, King SH, Ashley E, Hie BL. A high-level programming language for generative biology with Proto. bioRxiv (2026). doi: 10.64898/2026.06.22.733870

@article{Merchant2026.06.22.733870,
  author = {Merchant, Aditi T and Guo, Daniel and Viggiano, Ben and Brennan-Almaraz, Lucas Emmanuel and Hur, Evelyn and Mai, Tina and Yin, Peter and King, Samuel H and Ashley, Euan and Hie, Brian L},
  title = {A high-level programming language for generative biology with Proto},
  elocation-id = {2026.06.22.733870},
  year = {2026},
  doi = {10.64898/2026.06.22.733870},
  publisher = {Cold Spring Harbor Laboratory},
  URL = {https://www.biorxiv.org/content/10.64898/2026.06.22.733870},
  journal = {bioRxiv}
}

Please also cite the underlying tools you use in your work, in addition to our preprint. Every tool's citation is available on its documentation page.

Acknowledgements

Thank you to Modal for sponsoring the compute used to develop and test the remote execution layer, and for making it straightforward to host this catalogue.

Thank you to Stanford University and the Arc Institute for supporting this work's development.

Thank you to everyone who has contributed to proto-tools. Contributions of every size are welcome — see CONTRIBUTING.md to get started.

Contributors

About

A universal infrastructure layer for generative biology

Topics

Resources

Contributing

Stars

139 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages