Commercial platforms wrap open-source tools behind paywalls and call it a revolution.
BY gives you direct access through Claude Code. No platform fees. Your tools, your compute, your designs.
Source: trust us bro
You don't need to be a developer. If you can open a terminal and paste commands, you can run BY.
| Tool | Install | Check |
|---|---|---|
| Node.js 18+ | nodejs.org | node --version |
| Python 3.11+ | python.org | python3 --version |
| uv | curl -LsSf https://astral.sh/uv/install.sh | sh |
uv --version |
| Claude Code | npm install -g @anthropic-ai/claude-code |
claude --version |
mkdir my-campaign && cd my-campaign
npx blatant-why initThis scaffolds everything: 11 MCP servers, 21 agents, 19 skills, 13 slash commands, and a CLAUDE.md orchestration file. Takes about 30 seconds.
BY defaults to local GPU if one is available. Otherwise the first-run questionnaire will help you pick between local, HPC (RunPod / Modal / SLURM), or Tamarind cloud. See Compute Options below.
cp .env.example .env
# Add keys for whichever compute provider you'll useclaudeThen just tell it what you want:
> "Design VHH nanobodies against PD-L1"
Or use the guided workflow:
> /by:plan-campaign
Or if it's your first time:
> /by:welcome
That's it. Claude Code handles the rest -- research, design, screening, and ranking.
Give it a target protein. It researches across PDB, UniProt, and SAbDab. It plans a design campaign with statistical-strategy debate when the target is novel. It runs compute jobs on your local GPU (default), on your HPC (RunPod / Modal / SLURM via the by-deploy-compute skill), or on Tamarind Bio cloud. It screens every design for structural quality, sequence liabilities, and developability. It ranks candidates by composite score. When you submit them to the lab and the results come back, it ingests the CSVs, diagnoses which in-silico features predicted reality, and feeds the calibration back into the next round.
The whole pipeline runs inside Claude Code. No platform. No dashboard. No vendor lock-in.
| Component | Count | Description |
|---|---|---|
| MCP Servers | 11 | Biological databases, compute (local + HPC + cloud), screening, campaign state, knowledge store |
| Agents | 21 | Research, design, screening, evaluation, lab integration, prior-art, sequence/structure/epitope researchers |
| Skills | 19 | BoltzGen, Protenix, PXDesign, scoring, screening, campaign management, HPC deployment, wet-lab feedback, mechanistic reasoning |
| Slash Commands | 13 | Campaign control from the Claude Code prompt |
MCP Servers (11)
| Server | Role |
|---|---|
pdb |
Protein Data Bank queries |
uniprot |
UniProt protein annotation |
sabdab |
Structural Antibody Database |
screening |
Screening battery orchestration |
tamarind |
Tamarind Bio cloud compute |
cloud |
Cloud compute abstraction |
adaptyv |
Adaptyv Bio lab submission (gated) |
campaign |
Campaign state management |
research |
Literature and target research |
local_compute |
Local GPU compute dispatch |
knowledge |
JSON-backed campaign knowledge store |
Agents (21)
| Agent | Role |
|---|---|
by-research |
Target analysis, literature review, prior art (8-phase research pipeline) |
by-prior-art-researcher |
Prior-art deep dive for novel targets |
by-sequence-researcher |
Sequence-level analysis (orthologs, conservation, motifs) |
by-structure-researcher |
Structural analysis (PDB, AlphaFold, conformations) |
by-epitope-researcher |
Epitope-focused literature and structural research |
by-research-synthesizer |
Synthesize outputs from the research sub-agents |
by-design |
Generate designs via local, HPC, or cloud pipelines |
by-screening |
Score, filter, rank candidates |
by-evaluator |
Structural evaluation and quality assessment |
by-visualization |
Structure and results visualization |
by-diversity |
Sequence and structural diversity selection |
by-campaign |
Campaign lifecycle orchestration |
by-knowledge |
Learning system and campaign memory |
by-verifier |
Output verification and sanity checks |
by-plan-checker |
Campaign plan validation |
by-environment |
Environment setup and dependency checks |
by-lab |
Adaptyv Bio lab submission (triple-gated) |
by-epitope |
Epitope analysis and mapping |
by-humanization |
Antibody humanization engineering |
by-liability-engineer |
Sequence liability detection and fixes |
by-formatter |
Output formatting and reporting |
Skills (19)
| Skill | Category | Description |
|---|---|---|
boltzgen |
tool | BoltzGen antibody/nanobody generation |
protenix |
tool | Protenix structure prediction (AF3-class) |
pxdesign |
tool | PXDesign de novo binder design |
by-design-workflow |
orchestration | Tool routing + intent → preset matrix |
by-campaign-manager |
orchestration | Campaign state, checkpoints, cost model |
by-research |
research | 8-phase research pipeline with confidence tiers |
by-database |
research | PDB / UniProt / SAbDab lookups |
by-epitope-analysis |
research | Hotspot scoring + interface classification |
by-hypothesis-debate |
strategy | 3+1 agent topology for novel-target strategy selection |
by-scoring |
scoring | ipSAE algorithm + composite scoring |
by-screening |
filtering | Full screening battery, liability + developability rules |
by-failure-diagnosis |
analysis | Mann-Whitney U statistical failure analysis |
by-experiment-results |
analysis | NEW. Ingest lab CSV/Excel, diagnose in-silico vs lab divergence, close design → screen → lab → learn loop |
by-causal-reasoning |
analysis | NEW. Evidence-anchored mechanistic hypotheses from knowledge graph |
by-campaign-optimizer |
optimization | Active learning + RF feature importance |
by-knowledge |
persistence | Campaign knowledge graph (entities + relationships) |
by-session |
session | Session init, config questionnaire, resume protocol |
by-display |
display | Canonical output formats (banners, score bars, status tables) |
by-deploy-compute |
deployment | NEW. Deploy Protenix / BoltzGen / PXDesign on local GPU, RunPod, Modal, or SLURM |
See templates/.claude/skills/README.md for the canonical terminology table and full skill-linkage map.
Slash Commands (11)
| Command | Action |
|---|---|
/by:load |
Load a campaign from file |
/by:screen |
Run screening battery on designs |
/by:results |
Display campaign results table |
/by:watch |
Live-watch running compute jobs |
/by:status |
Campaign status dashboard |
/by:approve-lab |
Approve Adaptyv Bio submission (gated) |
/by:set-profile |
Switch compute profile |
/by:setup |
Initialize environment and dependencies |
/by:plan-campaign |
Generate a detailed campaign plan |
/by:welcome |
Show welcome message and quick-start guide |
/by:resume |
Resume an interrupted or paused campaign |
| Key | Required? | Where to get it | What it enables |
|---|---|---|---|
RUNPOD_API_KEY |
Optional | runpod.io | On-demand HPC GPU pods (~$0.40–$2.50/hr depending on GPU). Used by the by-deploy-compute skill. |
TAMARIND_API_KEY |
Optional | tamarind.bio (free account) | Cloud compute fallback — BoltzGen, Protenix, 200+ models. Free tier: 10 jobs/month |
ADAPTYV_API_TOKEN |
Optional | adaptyvbio.com | Lab testing submission (triple-gated) |
Claude Code handles its own authentication. No separate Anthropic API key needed.
No keys needed for local-GPU mode — if you have an NVIDIA card with enough VRAM, BY can run the whole pipeline without any cloud service.
After npx blatant-why init:
- Copy
.env.exampleto.env. - For local GPU (default) — set the tool paths:
PROTEUS_FOLD_DIR=/path/to/Protenix PROTEUS_PROT_DIR=/path/to/PXDesign PROTEUS_AB_DIR=/path/to/boltzgen - For HPC (RunPod, Modal, SLURM) — add your provider key and let the
by-deploy-computeskill handle deployment:RUNPOD_API_KEY=your_key_here # or modal token, etc. - For Tamarind cloud fallback — add the API key:
TAMARIND_API_KEY=your_key_here - For SSH remotes — add host configs to
.by/config.json(compute.ssh_hosts).
The first-run questionnaire (run by the by-session skill on session open) walks through this interactively. Default compute.default_provider is "local"; priority order is ["local", "hpc", "tamarind"].
BY defaults to local GPU. The by-deploy-compute skill knows how to deploy Protenix / BoltzGen / PXDesign (and supplementary tools like AlphaFold, RFAntibody, ImmuneBuilder, ThermoMPNN, Boltz-2) on any of the targets below.
| Provider | Cost | Setup | Best for |
|---|---|---|---|
| Local GPU (default) | Your hardware | Install tools + set env vars | Power users with GPUs |
| RunPod | ~$0.40–$2.50/hr GPU pods | RUNPOD_API_KEY + by-deploy-compute |
On-demand HPC bursts |
| Modal | Serverless, free tier | Modal token + by-deploy-compute |
Cold-start-tolerant batch jobs |
| SSH Remote | Your infrastructure | Configure in .by/config.json |
HPC clusters, in-house GPUs |
| Tamarind Bio | Free tier: 10 jobs/month | TAMARIND_API_KEY |
Cloud fallback when no local GPU |
Setting up Tamarind Bio (recommended -- no GPU needed)
- Create a free account at tamarind.bio
- Go to Settings → API Keys → Generate new key
- Copy the key and add to
.env:TAMARIND_API_KEY=your-key-here - That's it. BY will use Tamarind for all compute jobs.
Free tier: 10 jobs/month. Enough for a preview campaign (~5-10 designs). Paid tiers: Contact Tamarind for production pricing.
Tamarind provides access to 200+ structural biology tools including:
- BoltzGen -- antibody/nanobody design (Boltzmann generator diffusion)
- Protenix v1 -- AlphaFold3-class structure prediction (368M params)
- PXDesign -- de novo protein binder design (17-82% hit rates)
- TAP/TNP -- developability profiling
- AbLang2 -- humanness scoring
Setting up local GPU compute
Requires an NVIDIA GPU with CUDA support. Install the tools you need:
Protenix (structure prediction):
git clone https://github.com/bytedance/protenix
cd protenix && pip install -e .Add to .env:
PROTEUS_FOLD_DIR=/path/to/protenix
PXDesign (de novo binder design):
# Follow PXDesign installation guideAdd to .env:
PROTEUS_PROT_DIR=/path/to/pxdesign
BoltzGen (antibody/nanobody design):
git clone https://github.com/jostorge/boltzgen
cd boltzgen && pip install -e .Add to .env:
PROTEUS_AB_DIR=/path/to/boltzgen
BY will detect these automatically and offer local compute as an option.
Setting up SSH remote compute (Lambda.ai, RunPod, HPC)
For cloud GPU instances or HPC clusters:
- Ensure SSH key-based authentication is set up
- Add host configuration to
.by/config.json:{ "compute": { "ssh_hosts": [ { "name": "lambda-gpu", "host": "your-instance.cloud.lambdalabs.com", "user": "ubuntu", "key": "~/.ssh/lambda_key", "gpu": "A100", "tools": ["protenix", "boltzgen"] } ] } } - BY will detect SSH hosts and offer them as compute options.
After setup, here's what to expect when you run your first design campaign.
Start Claude Code:
claudeTell it what you want:
> "Design VHH nanobodies against PD-L1"
What happens next:
- Research (~1-2 min) -- BY searches PDB, UniProt, and SAbDab for your target. It pulls crystal structures, known binders, epitope data, and literature context.
- Campaign plan (~30 sec) -- You get a plan showing how many designs will be generated, which models will be used, and estimated compute cost. You approve before anything runs.
- Design generation (~5-15 min) -- Compute jobs run on Tamarind Bio (or your local GPU). BY monitors progress and reports back.
- Screening (~2-5 min) -- Every design is scored for structural quality (ipSAE), binding confidence (ipTM), and sequence liabilities. Problem candidates are flagged.
- Ranking -- You get a ranked table of candidates with composite scores, ready for lab ordering.
Typical first campaign: 5-10 nanobody designs, ~20 minutes end-to-end, zero GPU required (Tamarind free tier).
You can also use slash commands for more control:
| Command | What it does |
|---|---|
/by:welcome |
Guided walkthrough for first-time users |
/by:plan-campaign |
Generate and review a campaign plan before running |
/by:status |
Check progress on a running campaign |
/by:results |
View ranked results table |
flowchart TB
User([User]) -->|prompt| Claude[Claude Code + CLAUDE.md]
Claude -->|delegates| Agents[21 Agents]
Claude -->|invokes| Skills[19 Skills]
Claude -->|slash cmds| Commands[13 Commands]
Agents --> MCP[11 MCP Servers]
Skills --> MCP
subgraph Data["Biological Databases"]
PDB[(PDB)]
UniProt[(UniProt)]
SAbDab[(SAbDab)]
end
subgraph Compute["Compute (local-first)"]
LocalGPU["Local GPU -- Default"]
HPC["HPC: RunPod / Modal / SLURM"]
Tamarind["Tamarind Bio -- Cloud Fallback"]
end
subgraph Models["Models"]
BoltzGen["BoltzGen -- Ab/Nb Design"]
Protenix["Protenix v1 -- Structure Prediction"]
PXDesign["PXDesign -- Binder Design"]
end
subgraph Screening["Screening"]
ipSAE["ipSAE Scoring"]
Liabilities["Liability Scan"]
Developability["Developability"]
Diversity["Diversity Selection"]
end
subgraph Lab["Lab Integration"]
Adaptyv["Adaptyv Bio -- Triple-Gated"]
end
MCP --> Data
MCP --> Compute
Compute --> Models
MCP --> Screening
MCP --> Lab
Knowledge[("Knowledge Store")] <--> MCP
Model Profiles
| Model | Type | What It Does |
|---|---|---|
| Protenix v1 | Structure prediction (368M params) | AlphaFold3-class folding -- protein, nucleic acid, ligand |
| PXDesign | De novo binder design | 17-82% hit rates on published benchmarks |
| BoltzGen | Antibody/nanobody design | Boltzmann generator + Protenix confidence scoring |
Learning System
Every campaign writes results to a JSON knowledge store. The by-knowledge skill provides structured queries (entity types, relationships) over past campaigns, so the system learns which design strategies work for which target classes.
Stored per campaign:
- Target metadata and research context (with HIGH / MEDIUM / SPECULATIVE confidence tiers)
- Design parameters and compute profiles
- Screening results and composite scores
- Lab outcomes (via
by-experiment-results— see below) - Validated / contradicted / inconclusive findings
Over time, the agent develops institutional memory about what works.
Design → Screen → Lab → Learn loop
BY closes the loop between in-silico predictions and wet-lab reality:
by-screeningflags candidates as PASS in silico.- You submit them to the lab (Adaptyv Bio or your own).
- Lab results arrive as CSV/Excel.
by-experiment-resultsingests the readouts, joins with the original in-silico features, and runs Mann-Whitney U stratified by REAL lab outcome — identifying which in-silico features actually predicted reality and which didn't.- The calibration report goes to
by-campaign-optimizer(which retrains the active-learning model) and toby-knowledge(storing validated/contradicted findings with confidence tiers). by-causal-reasoningproduces evidence-anchored mechanistic hypotheses for any persistent failure pattern, ranked with HIGH / MEDIUM / SPECULATIVE confidence and falsifiable predictions. Confidence is assigned mechanically by an evidence-precedence table — the LLM only fills the claim and prediction slots, not the confidence scoring.
This is what separates a designer from a scientist.
Repository Structure
blatant-why/
├── assets/ # Banner and diagrams
├── src/
│ ├── init-cli/ # npx blatant-why init CLI
│ └── proteus_cli/ # Python CLI (scoring, screening, campaign)
├── templates/ # Deployed by init CLI
│ └── .claude/
│ ├── agents/ # 21 specialized agents
│ ├── commands/by/ # 13 slash commands
│ ├── skills/ # 19 skills (see skills/README.md for catalog)
│ └── mcp_servers/ # 11 MCP server implementations
├── tests/ # Test suite
├── CLAUDE.md # Agent orchestration rules
├── package.json # npm package
├── pyproject.toml # Python package (uv)
└── README.md
Built by Tristan Farmer
- Hannes Stark and the MIT team for BoltzGen
- Deniz Kavi and Sherry Liu at Tamarind Bio
- Julian Englert at Adaptyv Bio
- The Claude Code team

