Skip to main content

Open-Source Drug Design Engine

Project description

OpenDDE-Preview

OpenDDE banner

Status Python License

OpenDDE is an open-source, all-atom biomolecular foundation model that turns co-folding into a scalable engine for structure prediction, design, and optimization in drug discovery.

[!IMPORTANT] OpenDDE is a preview release. CLI flags, input/output JSON fields, and released checkpoints may change between versions, and predictions are not guaranteed to be reproducible across releases. It is not yet intended for production pipelines. Please open an issue for bugs, regressions, or feature requests.

OpenDDE banner results

News

  • 2026-07-03: We release OpenDDE-preview (co-folding)! Read the technical report and visit the website.
    • Model weights can be downloaded from Hugging Face: opendde.pt | opendde_abag.pt
    • The Docker image can be pulled with docker pull aurekaresearch/opendde:v1
    • The 2026ARK-AB Benchmark is now available

Installation

OpenDDE requires Python >=3.11. The package pins PyTorch, so install with uv and choose the matching PyTorch backend explicitly.

GPU/CUDA install, for Linux CUDA environments:

uv venv --python 3.11
source .venv/bin/activate
uv pip install --torch-backend cu126 'opendde[gpu]'
opendde doctor

CPU-only install:

uv venv --python 3.11
source .venv/bin/activate
uv pip install --torch-backend cpu 'opendde[cpu]'
opendde doctor

From a source checkout, install editable mode instead:

uv venv --python 3.11
source .venv/bin/activate
uv pip install --torch-backend cpu -e '.[cpu]'
uv pip install --group dev
opendde doctor

For full source and Docker setup notes, see docs/inference_instructions.md and docs/docker_installation.md. Pull the prebuilt Docker image with:

docker pull aurekaresearch/opendde:v1

Model and Runtime Data

OpenDDE reads checkpoints and runtime assets from OPENDDE_ROOT_DIR, defaulting to ~/.cache/opendde when the environment variable is unset:

$OPENDDE_ROOT_DIR/
├── checkpoint/opendde.pt
├── common/
└── search_database/        # needed for local template/RNA-MSA preprocessing

From a source checkout, use the repository helper script to prepare the runtime layout:

export OPENDDE_ROOT_DIR=/path/to/opendde_data
bash scripts/download_opendde_data.sh

The helper script lives in the source tree and is not installed with the opendde Python package. If you installed OpenDDE from a wheel or package index, either run the script from a cloned checkout, or let opendde pred download the default checkpoint and common runtime files when they are missing. You can also place checkpoint files manually under $OPENDDE_ROOT_DIR/checkpoint/.

For a prediction that disables protein MSA, template search, and RNA MSA, the large search_database/ files are not needed. From a source checkout, use:

bash scripts/download_opendde_data.sh --skip-search-database

Released checkpoints:

Checkpoint Use case Download
opendde.pt General-purpose checkpoint. opendde.pt
opendde_abag.pt Checkpoint tuned on antibody-antigen. opendde_abag.pt

Use opendde.pt with -n opendde_v1 for the default model. For ABAG runs, keep the filename as opendde_abag.pt and pass it explicitly:

opendde pred \
  -i input.json \
  -o ./output \
  --load_checkpoint_path "$OPENDDE_ROOT_DIR/checkpoint/opendde_abag.pt"

Detailed asset setup, mirrors, and Docker data mounts are documented in docs/inference_instructions.md.

Running Your First Prediction

Save this minimal OpenDDE input as tiny.json:

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

Run a small compatibility-oriented prediction. This disables external feature searches, so only the checkpoint and common runtime files are required:

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

Defaults are applied automatically: inference runs in fp32, triangle kernels use auto dispatch, and seeds come from the job's modelSeeds unless --seeds is provided. On CPU this example may be slow, but it avoids GPU-only kernels and large search databases.

Outputs are written under:

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

For production runs, enable the preprocessing features you need, for example --use_msa true, --use_template true, or --use_rna_msa true. Those paths may require network access, HMMER/Kalign binaries, and large local search databases; see the inference guide for details.

4-GPU Fold-CP Inference

OpenDDE supports a four-GPU Fold-CP inference mode for larger inputs. Launch it with torchrun so that one process runs on each GPU:

CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --standalone --nproc_per_node 4 \
  -m runner.batch_inference pred \
  -i examples/protein_200.json \
  -o ./output_cp4 \
  -n opendde_v1 \
  --use_msa false \
  --use_template false \
  --use_rna_msa false \
  --sample 1 \
  --step 200 \
  --cycle 10 \
  --foldcp_mode distributed \
  --foldcp_size_dp 1 \
  --foldcp_size_cp 4

--foldcp_size_cp 4 uses a 2 x 2 context-parallel mesh. For normal single-GPU or CPU inference, omit the Fold-CP flags or use --foldcp_mode single.

Input JSON

OpenDDE input is a top-level list of jobs. Each job contains sequences entries such as proteinChain, dnaSequence, rnaSequence, ligand, or ion. covalent_bonds is optional and should be added only when explicit covalent links are needed.

See docs/infer_json_format.md for the full schema, including covalent bonds, ligands, modifications, MSA paths, and template paths.

CLI Overview

opendde pred    # run inference
opendde doctor  # inspect Python/CUDA/kernel setup
opendde json    # convert PDB/CIF structures to OpenDDE JSON
opendde msa     # protein MSA preprocessing
opendde mt      # protein MSA + template preprocessing
opendde prep    # protein MSA + template + RNA MSA preprocessing

Use opendde <command> --help for command-specific options. Public model names currently include opendde_v1; use --load_checkpoint_path for alternate checkpoint files such as opendde_abag.pt.

Documentation

Citation and Acknowledgements

If you use OpenDDE in your work, please cite this software and the related work. OpenDDE builds on ideas and components from the AlphaFold 3 ecosystem, including AlphaFold 3, Protenix, OpenFold, and ColabFold.

License

OpenDDE is released under the Apache-2.0 license. See LICENSE.

Hiring

Hiring

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opendde-1.0.0.tar.gz (385.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opendde-1.0.0-py3-none-any.whl (407.5 kB view details)

Uploaded Python 3

File details

Details for the file opendde-1.0.0.tar.gz.

File metadata

  • Download URL: opendde-1.0.0.tar.gz
  • Upload date:
  • Size: 385.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for opendde-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d6ffbc108fc1379c70e0f38a02733e0aa941b8caef5adaa9b9267a03d271a193
MD5 35196ddfedeb95a1fb06cd47f7574835
BLAKE2b-256 3c8b52323dca980d16fd53870128fe721d394a9d3b73e20ac94169822d17d3bc

See more details on using hashes here.

File details

Details for the file opendde-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: opendde-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 407.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for opendde-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1382b52223ae895cefc5d3d09fd981441cbc9f9f1fd26ff0361b1dac69947d54
MD5 934ce514e2054cdc36ae44b17ea610be
BLAKE2b-256 28767add8839c57f5851ac694aecfa6204bd2bc816a5b61bf8d6f2c8ab75a4b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page