Skip to main content
ClaudeWave
Skill2.5k repo starsupdated 1mo ago

proteinmpnn

>

Install in Claude Code
Copy
git clone --depth 1 https://github.com/UnicomAI/wanwu /tmp/proteinmpnn && cp -r /tmp/proteinmpnn/configs/microservice/bff-service/configs/agent-skills/claude-science/proteinmpnn ~/.claude/skills/proteinmpnn
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# ProteinMPNN

ProteinMPNN is the default inverse-folding step in the binder pipeline: a
message-passing network that sees backbone geometry only, so it is the right
choice when the design surface is protein–protein and the wrong one as soon as
a ligand, nucleic acid, or metal is part of the interface — `ligandmpnn` adds
those atoms to the graph with a near-identical CLI, and `solublempnn` swaps in
weights trained on soluble structures for an expression-biased prior. Code and
weights are MIT (github.com/dauparas/ProteinMPNN). The model is small enough
to run on CPU — for a handful of sequences on one backbone that is seconds and
usually faster than dispatching a remote job; a GPU helps for batched
campaigns (hundreds of backbones or large `--num_seq_per_target`). Either way
the repo is cloned in-job — there is no PyPI dist and the checkpoints are
bundled in the repo.

## Running it

```bash
pip install torch numpy   # if not already present
git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnn
cd proteinmpnn
python protein_mpnn_run.py \
  --pdb_path backbone.pdb --pdb_path_chains "A" \
  --out_folder out --num_seq_per_target 16 --sampling_temp "0.1"
```

Two flags trip almost everyone the first time. `--sampling_temp` is parsed as a
space-separated string so one run can sweep several temperatures; a single
value needs no quoting, but a multi-value sweep must be quoted
(`"0.1 0.2 0.3"`), and commas never split — `"0.1,0.2"` fails the float cast. `--pdb_path_chains` is also space-separated inside
one quoted argument (`"A B"`); a comma is kept as part of the chain ID.

Designs land in `out/seqs/<pdb_stem>.fa`. The first record is the input
sequence; each design header carries `score=` (mean negative log-likelihood —
lower is more confident), `global_score=`, and `seq_recovery=`. ProteinMPNN
writes sequences only — it does not thread them back onto the backbone; if you
need designed-sequence PDBs, the `ligandmpnn` runner writes them to
`backbones/` automatically and accepts `--model_type protein_mpnn` for the
same weights.

## A flat chain map in `--fixed_positions_jsonl` silently redesigns every residue

`--fixed_positions_jsonl` expects one JSON object per line keyed by the **PDB
stem** first, then chain, then a list of 1-indexed residue numbers:
`{"backbone": {"A": [10, 11, 12], "B": []}}`. Passing the inner
`{"A": [...]}` directly — the obvious guess — is silently treated as "no PDB
matched," and every position is redesigned. The bundled
`helper_scripts/make_fixed_positions_dict.py` writes the correct shape from a
chain and range string and is worth the extra call; the same outer-stem rule
applies to `--chain_id_jsonl` and `--tied_positions_jsonl`.

## Checkpoints — which one to pick

| `--model_name` | training noise | use |
|---|---|---|
| `v_48_002` | 0.02 Å | highest recovery; close-to-native redesigns |
| `v_48_020` (default) | 0.20 Å | de novo backbones — tolerates RFdiffusion imperfection |
| `v_48_030` | 0.30 Å | very rough backbones; lowest recovery |
| `--use_soluble_model` | — | swaps to the soluble-trained set; see `solublempnn` |

## Errors worth recognizing

| You see | It means / do this |
|---|---|
| `KeyError: 'A'` | Chain letter not in the PDB — `grep '^ATOM' file.pdb \| cut -c22 \| sort -u` to see what is. |
| `JSONDecodeError` on a `*_jsonl` flag | The flag wants a file path, not inline JSON; write the file first. |
| All positions redesigned despite `--fixed_positions_jsonl` | Outer PDB-stem key missing — see the gotcha above. |
| `ModuleNotFoundError` for relative imports | Script run from the wrong cwd — `cd` into the cloned repo first; the imports are repo-relative. |

---

**Next:** fold the designs in complex with the target via `boltz`, `chai1`, or
`esmfold2` and filter on ipTM.
agent-stream-nesting-logicSkill

万悟平台 SSE 子会话递归嵌套与三明治序列渲染架构指南。涵盖 parentId 领养、order 绝对排序、动静 Chunk 分层及 Vue 2 响应式引用协议。

algorithmic-artSkill

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

brand-guidelinesSkill

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

canvas-designSkill

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

claude-apiSkill

Build apps with the Claude API or Anthropic SDK. TRIGGER when: code imports `anthropic`/`@anthropic-ai/sdk`/`claude_agent_sdk`, or user asks to use Claude API, Anthropic SDKs, or Agent SDK. DO NOT TRIGGER when: code imports `openai`/other AI SDK, general programming, or ML/data-science tasks.

doc-coauthoringSkill

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

docxSkill

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.

frontend-designSkill

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.