OpenDDE / docs /tutorial.md
aurekaresearch's picture
Upload 8 files
373e2bb verified
|
Raw
History Blame Contribute Delete
3.85 kB

OpenDDE Tutorial

A short walkthrough using files in examples/. For install and runtime data setup, see inference_instructions.md or docker_installation.md.

1. Check the environment

Run commands from the repository root:

opendde doctor
export OPENDDE_ROOT_DIR=/path/to/opendde_data

Prediction needs:

$OPENDDE_ROOT_DIR/checkpoint/opendde.pt
$OPENDDE_ROOT_DIR/common/

The released general-purpose checkpoint is opendde.pt. For antibody-antigen (ABAG) complexes, use the ABAG-optimized opendde_abag.pt. Place them under $OPENDDE_ROOT_DIR/checkpoint/, preserving the filenames. Pass opendde_abag.pt directly with --load_checkpoint_path for ABAG runs.

mkdir -p "$OPENDDE_ROOT_DIR/checkpoint"
curl -L \
  -o "$OPENDDE_ROOT_DIR/checkpoint/opendde.pt" \
  https://huggingface.co/aurekaresearch/OpenDDE/resolve/main/opendde.pt

Template/RNA-MSA preprocessing also needs hmmer; template inference may need kalign.

2. Compatibility prediction

This disables external features and keeps the standard step/cycle counts. Inference defaults to fp32 and auto triangle kernels (PyTorch on CPU), so no extra dtype or kernel flags are needed:

opendde pred \
  -i examples/input.json \
  -o ./output \
  -n opendde_v1 \
  --use_msa false \
  --use_template false \
  --use_rna_msa false \
  --sample 1 \
  --step 200 \
  --cycle 10

Outputs go to:

output/<job_name>/seed_<seed>/predictions/

3. Input JSON basics

OpenDDE input is a list of jobs:

[
  {
    "name": "tiny",
    "sequences": [
      {
        "proteinChain": {
          "sequence": "ACDEFGHIK",
          "count": 1
        }
      }
    ]
  }
]

covalent_bonds is optional here and can be left out; it is only needed to declare explicit covalent links between entities.

Entity keys include proteinChain, dnaSequence, rnaSequence, ligand, and ion. Full schema: infer_json_format.md.

Convert a PDB/CIF instead of writing JSON by hand:

opendde json -i examples/7pzb.pdb -o ./output --altloc first

4. Use precomputed MSA/template features

examples/examples_with_template/example_9fm7.json already contains pairedMsaPath, unpairedMsaPath, and templatesPath:

opendde pred \
  -i examples/examples_with_template/example_9fm7.json \
  -o ./output \
  -n opendde_v1 \
  --use_msa true \
  --use_template true \
  --use_rna_msa false

5. Generate MSA/template features

For an input without MSA/template paths:

opendde prep -i examples/example_without_msa.json -o ./output

This writes an updated JSON next to the input. Predict from that updated JSON:

opendde pred \
  -i examples/example_without_msa-final-updated.json \
  -o ./output \
  -n opendde_v1 \
  --use_msa true \
  --use_template true \
  --use_rna_msa false

For protein MSA only, use opendde msa. For protein MSA + template only, use opendde mt.

6. RNA MSA example

examples/examples_with_rna_msa/example_9gmw_2.json contains a precomputed RNA MSA:

opendde pred \
  -i examples/examples_with_rna_msa/example_9gmw_2.json \
  -o ./output \
  -n opendde_v1 \
  --use_rna_msa true

To generate RNA MSA for your own RNA input, run opendde prep first.

More details