Inference JSON Format
OpenDDE input is a JSON file whose top-level value is a non-empty list of jobs.
It uses AlphaFold Server-style entity keys (proteinChain, dnaSequence,
rnaSequence, ligand, ion), not the single-job alphafold3 dialect.
Minimal job:
[
{
"name": "example_job",
"modelSeeds": [101],
"sequences": [
{
"proteinChain": {
"sequence": "ACDEFGHIKLMNPQRSTVWY",
"count": 1
}
}
]
}
]
covalent_bonds is optional and is omitted here; see the section below for when
to add it.
Job fields:
| Field | Required | Meaning |
|---|---|---|
name |
Yes | Job name used in output paths. |
sequences |
Yes | List of entities. Each item has exactly one entity key. |
modelSeeds |
No | Default seeds for the job. Overridden by --seeds; if neither is set, a random seed is sampled. |
covalent_bonds |
No | Explicit covalent links between entities. |
Every entity has count. Optional id is a list of chain IDs; its length must
match count.
proteinChain
{
"proteinChain": {
"sequence": "ACDEFGHIKLMNPQRSTVWY",
"count": 1,
"id": ["A"],
"modifications": [
{"ptmType": "CCD_MSE", "ptmPosition": 1}
],
"pairedMsaPath": "/absolute/path/to/pairing.a3m",
"unpairedMsaPath": "/absolute/path/to/non_pairing.a3m",
"templatesPath": "/absolute/path/to/hmmsearch.a3m"
}
}
sequence: 20 standard amino-acid letters plusX.ptmType: CCD code prefixed withCCD_;ptmPositionis 1-based.pairedMsaPath,unpairedMsaPath: optional protein A3M files.templatesPath: optional template hits file (.a3mor.hhr), used only with--use_template true.
dnaSequence
{
"dnaSequence": {
"sequence": "GATTACA",
"count": 1,
"id": ["D"],
"modifications": [
{"modificationType": "CCD_6MA", "basePosition": 2}
]
}
}
- Supported documented letters:
A,T,G,C,N,X. - DNA is single-stranded; add another
dnaSequencefor the other strand. basePositionis 1-based.
rnaSequence
{
"rnaSequence": {
"sequence": "GUAC",
"count": 1,
"id": ["R"],
"modifications": [
{"modificationType": "CCD_5MC", "basePosition": 4}
],
"unpairedMsaPath": "/absolute/path/to/rna_msa.a3m"
}
}
- Supported documented letters:
A,U,G,C,N,X. unpairedMsaPathis optional and used only with--use_rna_msa true.
ligand
{
"ligand": {
"ligand": "CCD_ATP",
"count": 1,
"id": ["L"]
}
}
ligand can be:
- A CCD code prefixed with
CCD_, e.g.CCD_ATP. - Multiple CCD codes joined by underscores, e.g.
CCD_NAG_BMA_BGC. - A 3D ligand file prefixed with
FILE_(.pdb,.sdf,.mol,.mol2). - A SMILES string.
ion
{
"ion": {
"ion": "MG",
"count": 2,
"id": ["M", "N"]
}
}
Ion codes are CCD component names without the CCD_ prefix.
covalent_bonds
"covalent_bonds": [
{
"entity1": "1",
"copy1": 1,
"position1": "2",
"atom1": "SG",
"entity2": "2",
"copy2": 1,
"position2": "1",
"atom2": "C1"
}
]
Fields:
entity1,entity2: 1-based indices insequences.copy1,copy2: optional 1-based copy indices.position1,position2: 1-based residue/ligand-part positions.atom1,atom2: atom names. Integer references are also accepted for mapped SMILES or file ligands.
Use entity1/entity2 for new inputs. The old left_entity/right_entity
style is accepted for compatibility.
Unsupported constraint
The inference-only build ignores legacy constraint fields. Use
covalent_bonds for supported covalent links.
Output layout
opendde pred writes:
<out_dir>/<job_name>/seed_<seed>/predictions/
βββ <job_name>_sample_<rank>.cif
βββ <job_name>_summary_confidence_sample_<rank>.json
βββ <job_name>_full_data_sample_<rank>.json # only when --need_atom_confidence true
The summary JSON includes confidence metrics such as plddt, gpde, ptm,
iptm, clash flags, and ranking_score when available.