Generate many AlphaFold 3 input JSONs at once. Provide a job template
(the constant part: proteins, ligands, ions, glycosylation sites) and a glycan list
(one row per glycan). JAAG converts each glycan with its own converter — same result as the single-job GUI —
and produces one JSON per glycan (or per protein×glycan pair). Download all as a ZIP.
Fixed protein, many glycans — put the protein in the template, fill the glycan list, leave the protein list empty.
Fixed glycan/ligand, many proteins — put the ligand/glycan in the template, fill the protein list; one glycan (or none) is applied to every protein.
Both varying — fill the protein list and the glycan list → one job per protein × glycan pair.
1. Job template (JSON)
The constant part of every job. Best practice: build it in the main JAAG tool (enzyme + donor ligand + any fixed N-glycan PTM) and paste the generated AF3 JSON here — everything in it (protein, ligands, bonded PTMs, userCCD) is carried into every job unchanged.
The glycan list below is then the varying substrate — each glycan is added as a free (unbonded) acceptor, one job per glycan.
A simple template also works: entities auto-name their chains (protein A,B…; ligand LIGA…; glycan GLYCANA…); count for copies, modifications for PTMs, ligand ccdCodes/smiles.
(AF3 itself has no attachments field — glycosylation is a ligand chain plus a bondedAtomPairs entry, which is exactly what JAAG emits.)
When you use a protein list below, the template's protein (if any) is replaced by each list entry; keep fixed ligands/ions in the base.
2. Glycan list (optional — the SUBSTRATE)
Each glycan here is added as a free acceptor substrate — a separate LIG ligand chain (the free-glycan naming used by the JAAG GUI — e.g. LIGB in this example, after the LIGA donor), internally bonded but not bonded to the protein; it swaps any free glycan already in the base. One job per glycan. Give each glycan as GlycoCT (SugarDrawer or database format — both normalized). To keep a glycan bonded to the protein as a fixed N-glycan PTM, put it in the base template (a GLYCAN chain) — those are never swapped.
3. Protein list (optional)
Each entry replaces the base's protein (chain A) — one job per protein — while the base's ligands, ions, bonded N-glycan PTMs and userCCD are kept. Give each protein as a sequence (FASTA/CSV/JSON). Use this to run the same substrate/donor setup across a panel of enzymes.