Apnovo Tools#

Configuration File: remote_tools/apnovo_tools.json Tool Type: Remote Tools Count: 5

This page contains all tools defined in the apnovo_tools.json configuration file.

Available Tools#

apnovo_evaluate_designs (Type: RemoteTool)#

Score an AlphaProtein Novo campaign with upstream’s own metrics and return one row per design. RE…

apnovo_evaluate_designs tool specification

Tool Information:

  • Name: apnovo_evaluate_designs

  • Type: RemoteTool

  • Description: Score an AlphaProtein Novo campaign with upstream’s own metrics and return one row per design. REQUIRES A FOLDED CAMPAIGN: upstream’s evaluation reads each design’s folding seeds and refuses an unfolded campaign outright — it does not fall back to the metrics that need no structure prediction. This provider has no folding operation (AlphaFold 3 weights carry terms separate from AP Novo’s), so the structures have to come from elsewhere: fold each design’s states with any structure predictor that has settled its own weights question, send them to apnovo_ingest_folded, then call this. On a campaign with no folded stage this returns a named error saying so.

Parameters:

  • run_dir (string) (required) The server-side campaign directory returned by apnovo_generate_designs.

  • eval_suite (string) (optional) Reaction-specific metric suite. Omit for generic metrics only. A suite whose metrics need folded states cannot produce them here.

Example Usage:

query = {
    "name": "apnovo_evaluate_designs",
    "arguments": {
        "run_dir": "example_value"
    }
}
result = tu.run(query)

apnovo_generate_designs (Type: RemoteTool)#

Generate de novo enzyme designs with AlphaProtein Novo: a joint sequence–structure diffusion mode…

apnovo_generate_designs tool specification

Tool Information:

  • Name: apnovo_generate_designs

  • Type: RemoteTool

  • Description: Generate de novo enzyme designs with AlphaProtein Novo: a joint sequence–structure diffusion model co-generates backbones and sequences conditioned on a fixed catalytic motif and fixed ligand atoms. Returns the designs as mmCIF plus a server-side run directory that apnovo_evaluate_designs reads. This runs the generation stage only — neither LigandMPNN resequencing nor AlphaFold 3 folding is part of this provider, so a manifest’s ‘resequence’ and ‘folding’ sections are recorded but not acted on. Validate the motif first with apnovo_validate_motif.

Parameters:

  • manifest (string) (required) AP Novo design manifest as a JSON string (a JSON object is also accepted). Minimally {“designs”: [{“input_file”: “motif.cif”, “motif_str”: “A1,A2|10-100,{},2-80,{},10-100/B1”, “motif_atoms”: “A1:OE2,OE1,CD,CG A2:OG,CB,CA”, “is_author_naming”: false, “num_designs”: 2}]}. In motif_str, ‘A1’ fixes input chain A residue 1, ‘10-100’ is a generated segment whose length is sampled once per design, ‘/B1’ is a fixed ligand chain, and a leading ‘|’ randomises segment order.

  • files (object) (required) Each filename the manifest names, mapped to that file’s text. The motif CIF is required; a partial-diffusion parent CIF is needed only if the manifest asks for one.

  • num_designs (integer) (optional) Override the manifest’s per-job design count for this request. The published campaigns run hundreds per motif because many samples are needed to find one that passes filters.

  • num_sampling_steps (integer) (optional) Denoising steps. Upstream’s campaigns used 1000; 50 produces fast but poor designs and is for checking a configuration, not for results.

  • seed_start (integer) (optional) First RNG seed.

  • return_designs (boolean) (optional) Return design mmCIF text inline, up to 32. The run directory always holds all of them.

Example Usage:

query = {
    "name": "apnovo_generate_designs",
    "arguments": {
        "manifest": "example_value",
        "files": "example_value"
    }
}
result = tu.run(query)

apnovo_ingest_folded (Type: RemoteTool)#

Lay externally predicted structures into a campaign as upstream’s folded stage, so apnovo_evaluat…

apnovo_ingest_folded tool specification

Tool Information:

  • Name: apnovo_ingest_folded

  • Type: RemoteTool

  • Description: Lay externally predicted structures into a campaign as upstream’s folded stage, so apnovo_evaluate_designs can score it. This provider has no folding operation — AlphaFold 3 weights carry terms separate from AP Novo’s — but upstream’s evaluation does not require THIS provider to have folded anything: it requires a directory shaped like run_alphafold.py output. Fold each design’s states with any structure predictor that has settled its own weights question (openfold3, protenix_v1, esmfold2, chai1 and rosettafold3 are siblings on this standard), then send the mmCIF text here. Whatever confidence fields the predictor reported ride along into the metric rows; only the seed and the designed-structure filename are load-bearing.

Parameters:

  • run_dir (string) (required) The server-side campaign directory returned by apnovo_generate_designs.

  • states (array) (required) One entry per (design, state, seed) that was folded. Seeds must start at 0 and be contiguous: upstream counts up from 0 and stops at the first gap, so a missing seed silently truncates the rest.

Example Usage:

query = {
    "name": "apnovo_ingest_folded",
    "arguments": {
        "run_dir": "example_value",
        "states": ["item1", "item2"]
    }
}
result = tu.run(query)

apnovo_resequence_designs (Type: RemoteTool)#

Redesign the sequences of an AlphaProtein Novo campaign’s backbones with LigandMPNN, keeping the …

apnovo_resequence_designs tool specification

Tool Information:

  • Name: apnovo_resequence_designs

  • Type: RemoteTool

  • Description: Redesign the sequences of an AlphaProtein Novo campaign’s backbones with LigandMPNN, keeping the backbone and the ligand context fixed. Takes the run_dir that apnovo_generate_designs returned and writes a 02_resequence stage beside the generated one. Runs on the CPU in its own interpreter, so it does not compete with the generator for the GPU. Beyond producing an alternative sequence, this is the input to the strongest filter in the AP Novo paper: generate N sequences for one backbone and score the BACKBONE by how many of them pass your filter set (multi-resequence scoring, worth 2.5x to 5.4x hit-rate enrichment at 50% recall). Set num_sequences to 7-10 for that; the default pipeline uses 1.

Parameters:

  • run_dir (string) (required) The server-side campaign directory returned by apnovo_generate_designs.

  • num_sequences (integer) (optional) Sequences per backbone. 1 is the published default pipeline; 7-10 is what multi-resequence backbone scoring needs (the paper used 7 for Kemp eliminase, pass >= 6/7 then 7/7, and 10 for serine esterase, pass 10/10).

  • temperature (number) (optional) Sampling temperature. The published campaigns used 0.1.

  • model_type (string) (optional) LigandMPNN conditions on the ligand; ProteinMPNN does not. For enzyme design the ligand is the point.

  • use_side_chain_context (boolean) (optional) Condition on the fixed residues’ side chains as well as their backbones.

Example Usage:

query = {
    "name": "apnovo_resequence_designs",
    "arguments": {
        "run_dir": "example_value"
    }
}
result = tu.run(query)

apnovo_validate_motif (Type: RemoteTool)#

Validate an AlphaProtein Novo design manifest and parse its catalytic motif specification, withou…

apnovo_validate_motif tool specification

Tool Information:

  • Name: apnovo_validate_motif

  • Type: RemoteTool

  • Description: Validate an AlphaProtein Novo design manifest and parse its catalytic motif specification, without running the model. Reports which atoms and ligand chains are fixed, whether motif conditioning is indexed or unindexed, whether partial diffusion is configured, and the folding states and evaluation suite the manifest declares. Run this before generating: a malformed motif_str is otherwise only visible after the generation stage has spent GPU-hours. Needs no weights and no GPU.

Parameters:

  • manifest (string) (required) AP Novo design manifest as a JSON string (a JSON object is also accepted). Minimally {“designs”: [{“input_file”: “motif.cif”, “motif_str”: “A1,A2|10-100,{},2-80,{},10-100/B1”, “motif_atoms”: “A1:OE2,OE1,CD,CG A2:OG,CB,CA”, “is_author_naming”: false, “num_designs”: 2}]}. In motif_str, ‘A1’ fixes input chain A residue 1, ‘10-100’ is a generated segment whose length is sampled once per design, ‘/B1’ is a fixed ligand chain, and a leading ‘|’ randomises segment order.

  • files (object) (required) Each filename the manifest names, mapped to that file’s text. The motif CIF is required; a partial-diffusion parent CIF is needed only if the manifest asks for one.

Example Usage:

query = {
    "name": "apnovo_validate_motif",
    "arguments": {
        "manifest": "example_value",
        "files": "example_value"
    }
}
result = tu.run(query)