xuzhougeng/wisp-science/skills/proteinmpnn/SKILL.md
proteinmpnn
Inverse-fold a protein backbone (PDB structure) into amino-acid sequence with ProteinMPNN (Dauparas et al. 2022, github.com/dauparas/ProteinMPNN). Reach for this skill to run sequence design on RFdiffusion backbones, to redesign one chain of a PDB while holding interface residues fixed, or to generate a temperature-swept set of sequences for downstream folding.
- Source repository stars
- 560
- Declared platforms
- 0
- Static risk flags
- 3
- Last source update
- 2026-07-28
- Source checked
- 2026-07-28
Decision brief
What it does—and where it fits
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 i…
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/xuzhougeng/wisp-science --skill "skills/proteinmpnn"Inspect the Agent Skill "proteinmpnn" from https://github.com/xuzhougeng/wisp-science/blob/95d2c13d1665d46a388b5bdc998dcce0d5ec2eee/skills/proteinmpnn/SKILL.md at commit 95d2c13d1665d46a388b5bdc998dcce0d5ec2eee. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Running it
Two flags trip almost everyone the first time. --samplingtemp 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 fl…
Two flags trip almost everyone the first time. --samplingtemp 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.…Designs land in out/seqs/.fa. The first record is the input sequence; each design header carries score= (mean negative log-likelihood — lower is more confident), globalscore=, and seqrecovery=. ProteinMPNN writes sequen… - 02
A flat chain map in --fixedpositionsjsonl silently redesigns every residue
--fixedpositionsjsonl 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 matc…
--fixedpositionsjsonl 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": [...]} direct… - 03
Checkpoints — which one to pick
Review the “Checkpoints — which one to pick” section in the pinned source before continuing.
Review and apply the “Checkpoints — which one to pick” source section. - 04
Wisp execution
Use python only for bounded interactive checks. For a long or GPU-backed workload, require a selected and probed ssh: context and load remote-compute-ssh. Put the documented invocation in a self-contained project script, activate the remote environment explicitly, stage only sma…
Use python only for bounded interactive checks. For a long or GPU-backed workload, require a selected and probed ssh: context and load remote-compute-ssh. Put the documented invocation in a self-contained project script… - 05
Errors worth recognizing
Next: fold the designs in complex with the target via boltz, chai1, or esmfold2 and filter on ipTM.
Next: fold the designs in complex with the target via boltz, chai1, or esmfold2 and filter on ipTM.
Permission review
Static risk signals and limitations
Network access
The documentation includes network, browsing, or remote request actions.
git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnnRuns scripts
The documentation asks the agent to run terminal commands or scripts.
git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnnRuns scripts
The documentation asks the agent to run terminal commands or scripts.
python protein_mpnn_run.py \Writes files
The documentation asks the agent to create, modify, or delete local files.
| `JSONDecodeError` on a `*_jsonl` flag | The flag wants a file path, not inline JSON; write the file first. |Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 78/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 560 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- xuzhougeng/wisp-science
- Skill path
- skills/proteinmpnn/SKILL.md
- Commit
- 95d2c13d1665d46a388b5bdc998dcce0d5ec2eee
- License
- AGPL-3.0
- Collected
- 2026-07-28
- Default branch
- main
View the original 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
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 |
Wisp execution
Use python only for bounded interactive checks. For a long or GPU-backed
workload, require a selected and probed ssh:<alias> context and load
remote-compute-ssh. Put the documented invocation in a self-contained project
script, activate the remote environment explicitly, stage only small files with
input_paths, and make the command write to a known absolute remote result
path. Submit it with run_in_context and register that exact ssh:// path in
output_specs. Call monitor_run once when waiting is needed, get_run once
for a snapshot, or cancel_run to stop. Do not send a scheduler submission
through the SSH-direct runner.
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.
Alternatives
Compare before choosing
coreyhaines31/marketingskills
ab-testing
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
coreyhaines31/marketingskills
churn-prevention
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o
event4u-app/agent-config
design-intelligence
Grounded design brief from the adopted corpus — style, WCAG-checked color tokens, typography, layout pattern, anti-patterns. Use on ui-design-brief or any which-style/palette/font/chart decision.
event4u-app/agent-config
design-system-capture
Write and maintain DESIGN.md + PRODUCT.md — captures visual decisions and interaction patterns so design tasks stay consistent across sessions without re-scanning past work.