A practical guide for running a common protein design workflow based on RFdiffusion, protienMPNN and AlphaFold 3:

This guide is written for people who already have some basic familiarity with Linux, remote servers, or Docker-based model usage, and want a practical overview of how a modern protein design workflow is usually organized.


1 Contents


2 Quick Commands (Copy & Paste Cheatsheet)

These are general templates, not one-size-fits-all commands.

Replace placeholders like <INPUT_DIR>, <OUTPUT_DIR>, <HOST>, and <USER> with your own paths and settings.

2.1 RFdiffusion

docker run --rm --gpus all -e CUDA_VISIBLE_DEVICES=0 \
  -v <INPUT_DIR>:/inputs \
  -v <OUTPUT_DIR>:/outputs \
  rosettacommons/rfdiffusion:latest \
  inference.input_pdb=/inputs/<input.pdb> \
  inference.output_prefix=/outputs/<run_name>/design \
  inference.num_designs=50 \
  'contigmap.contigs=[A1-350/8-12/A355-555]'

2.2 ProteinMPNN

Parse backbone(s)

docker run --rm --gpus all \
  -v <WORK_DIR>:/inputs \
  --entrypoint python rosettacommons/proteinmpnn:latest \
  /app/proteinmpnn/helper_scripts/parse_multiple_chains.py \
  --input_path /inputs \
  --output_path /inputs/parsed.jsonl

Assign designed chains