About lab
DiffDock: DiffDockLDockingPredictor Lab
This lab runs a single DiffDock-L docking job for one prepared receptor PDB and one ligand. The ligand can be a SMILES string or a path to an RDKit-readable ligand file (.sdf, .mol, .mol2, .pdb, .pdbqt). The lab ships with the bundled 1a0q receptor and a SMILES ligand so a fresh run produces ranked poses, a confidence summary, and a merged top-ranked complex without any extra setup.
The wrapper boots upstream DiffDock-L v1.1.3 in managed runtime mode: it clones the pinned DiffDock repository, creates a venv from model/requirements/runtime-gpu.txt, and runs DiffDock inference from that managed environment. Subsequent runs reuse the cached repo and venv.
This lab is for single-complex docking only. It does not prepare receptors from raw PDBs, run virtual-screening batches, or train DiffDock from scratch. Those belong in adjacent labs.
What You'll See
The lab opens as a small canvas with one DiffDock-L docking node and a run-results panel. With the bundled defaults, the run produces:
- a ranked pose table sorted by DiffDock confidence,
- a structure3d view of the top-ranked pose merged onto the receptor,
- a confidence summary with the top pose score and confidence band,
- run metadata with the executed command, returncode, and truncated stdout/stderr.
The first screenshot shows the canvas, node inputs and outputs, and the structure3d view for the top-ranked docked complex. The second scrolls down to the artifact details and ranked pose table for the same run, where the bundled 1a0q job reports 10 poses and a top confidence of -2.23 in the low band.


How to Read the Visualizations
The pose ranking table lists each DiffDock pose with its rank, confidence score, confidence band, and the underlying SDF filename. DiffDock-L confidences are unitless log-likelihood-style scores: positive values are mapped to the high band, scores between 0 and -1.5 to moderate, and scores below -1.5 to low. Use the band as a quick read on whether the top pose is worth following up.
The structure3d view shows the receptor with the top-ranked ligand pose merged in as top_rank_complex.pdb. Use it to sanity-check that the ligand sits inside a plausible binding pocket. If the ligand sits outside the receptor surface, treat the run as low-confidence regardless of the score.
The confidence summary captures the top pose rank, its confidence, the confidence band, the total pose count, and every per-pose confidence so you can spot bimodal pose distributions. In the shown default run, all 10 poses are in the low band, so the result is best read as a structural smoke test and not as a high-confidence binding prediction. The run metadata reports which runtime mode executed, where the managed runtime cached the DiffDock checkout and venv, the resolved inference command, the returncode, the truncated stdout/stderr from DiffDock, and status: completed or status: error so a failed run is still inspectable.
What This Lab Contains
lab.yamldescribes the lab, exposes its inputs and outputs, and pins the bundled defaults.wiring-layout.jsonplaces the model on the canvas.model/model.yamldescribes the model package, parameters, and ports.model/src/diffdockl_docking_predictor.pycontains the wrapper, managed runtime bootstrap, pose post-processing, and visualization shaping.model/requirements/runtime-gpu.txtpins the torch and PyG stack installed into the managed venv.model/data/1a0q/ships the receptor PDB and reference ligand SDF used by the bundled defaults.model/tests/checks the wrapper, runtime bootstrap, output parsing, and visualization contract.
Inputs
The model accepts three input signals. Each one falls back to the matching default_* parameter in lab.yaml when the signal is not wired, which is what makes the lab runnable out of the box.
protein_path(path): receptor PDB file. Defaults todata/1a0q/1a0q_protein_processed.pdb.ligand_description(str or path): SMILES string or path to an RDKit-readable ligand file. Defaults to the SMILESCOc(cc1)ccc1C#N.run_options(record): DiffDock run options merged onto the bundled defaults.complex_name(str): output subdirectory name for the run.samples_per_complex(int): number of DiffDock samples to draw.inference_steps(int): denoising steps per sample.batch_size(int): inference batch size.save_visualisation(bool): whether to ask DiffDock to write per-step reverse-process PDBs.
Outputs
pose_summary(record): ranked poses with rank, confidence, confidence band, and per-pose SDF file path.confidence_summary(record): aggregate confidence stats includingtop_pose_confidence,confidence_band,pose_count, and the fullall_confidenceslist.structure_artifacts(record): file-backed artifacts including the mergedtop_rank_complex.pdbconsumed by the structure3d renderer, the top pose SDF, the confidence and pose summary JSON files, and per-rank SDF and reverseprocess PDB paths.run_metadata(record): runtime metadata, runtime mode, runtime/cache directories, the executed command, returncode, truncated stdout/stderr, andstatus: completedorstatus: error.
Running in Biosimulant Desktop
Import the lab once with the Biosim CLI, then open it from the desktop app. The bundled 1a0q defaults mean the first run requires no parameter editing.
biosimulant labs import labs/diffdock-diffdockl-docking-predictor
To dock a different complex, override the inputs in the lab's run sidebar (or wire them to a source module that produces a receptor PDB path and a ligand SMILES or file). The model treats wired input signals as overrides on top of the defaults, so partial overrides work too.
Notes
- The first real run needs internet access (to clone the upstream DiffDock repo and download model checkpoints) and a working
gitexecutable. Subsequent runs are offline. - DiffDock-L is GPU-friendly. CPU inference works for short smoke tests but is slow for production sample counts.
- Managed runtime mode is required for remote execution. External mode (using a pre-installed DiffDock environment) is supported for local debugging via
runtime_mode: externalplusruntime_python. - The lab sets
runtime.settle_steps: 1so the downstream visualization module can consume the final structure artifacts without extending simulated time. model/data/1a0q/is shipped as part of the model package so the defaults resolve in remote runs too.
Multi-model lab with an embedded visualisation sibling for DiffDock-L 1.1.3 single-complex docking. Ships with the bundled 1a0q receptor and a SMILES ligand so the lab runs out of the box.
Runtime
Runs
Metadata
Manifest
{
"io": {
"inputs": [
{
"name": "protein_path",
"maps_to": "diffdock_diffdockl_docking_predictor.protein_path"
},
{
"name": "ligand_description",
"maps_to": "diffdock_diffdockl_docking_predictor.ligand_description"
},
{
"name": "run_options",
"maps_to": "diffdock_diffdockl_docking_predictor.run_options"
}
],
"outputs": [
{
"name": "pose_summary",
"maps_to": "diffdock_diffdockl_docking_predictor.pose_summary"
},
{
"name": "confidence_summary",
"maps_to": "diffdock_diffdockl_docking_predictor.confidence_summary"
},
{
"name": "structure_artifacts",
"maps_to": "diffdock_diffdockl_docking_predictor.structure_artifacts"
},
{
"name": "run_metadata",
"maps_to": "diffdock_diffdockl_docking_predictor.run_metadata"
}
]
},
"tags": [
"docking",
"diffdock",
"structural-biology",
"protein-ligand",
"gpu",
"cuda"
],
"title": "DiffDock: DiffDockLDockingPredictor Lab",
"models": [
{
"path": "models/core",
"alias": "diffdock_diffdockl_docking_predictor",
"parameters": {
"runtime_mode": "managed",
"default_run_options": {
"batch_size": 2,
"complex_name": "1a0q_custom",
"inference_steps": 4,
"save_visualisation": false,
"samples_per_complex": 2
},
"default_protein_path": "data/1a0q/1a0q_protein_processed.pdb",
"default_ligand_description": "COc(cc1)ccc1C#N"
}
},
{
"path": "models/visualisation",
"alias": "visualisation",
"parameters": {
"integration_step": 0.01
}
}
],
"wiring": [
{
"to": [
"visualisation.diffdock_diffdockl_docking_predictor_pose_summary"
],
"from": "diffdock_diffdockl_docking_predictor.pose_summary"
},
{
"to": [
"visualisation.diffdock_diffdockl_docking_predictor_confidence_summary"
],
"from": "diffdock_diffdockl_docking_predictor.confidence_summary"
},
{
"to": [
"visualisation.diffdock_diffdockl_docking_predictor_structure_artifacts"
],
"from": "diffdock_diffdockl_docking_predictor.structure_artifacts"
},
{
"to": [
"visualisation.diffdock_diffdockl_docking_predictor_run_metadata"
],
"from": "diffdock_diffdockl_docking_predictor.run_metadata"
}
],
"package": "diffdock-diffdockl-docking-predictor",
"runtime": {
"duration": 0.01,
"settle_steps": 1,
"initial_inputs": {},
"communication_step": 0.01
},
"version": "1.0.0",
"description": "Multi-model lab with an embedded visualisation sibling for DiffDock-L 1.1.3 single-complex docking. Ships with the bundled 1a0q receptor and a SMILES ligand so the lab runs out of the box.",
"schema_version": "2.0"
}Sign in to start your own run. Public-lab history stays visible here.
Preparing remote execution...
Staging package artifacts for remote execution...
Submitting remote job...
Running simulation remotely...
BSIM_PROGRESS:{"message": "Validating DiffDock inputs", "phase": "inputs"}BSIM_PROGRESS:{"message": "Preparing DiffDock runtime", "phase": "runtime"}BSIM_PROGRESS:{"message": "Cloning DiffDock repository at v1.1.3", "phase": "runtime"}[runtime] Cloning into '/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo'...
[runtime] Note: switching to '9a22cbcbc7612c7565c80e8399d9be298971f156'.
[runtime] You are in 'detached HEAD' state. You can look around, make experimental
[runtime] changes and commit them, and you can discard any commits you make in this
[runtime] state without impacting any branches by switching back to a branch.
[runtime] If you want to create a new branch to retain commits you create, you may
[runtime] do so (now or later) by using -c with the switch command. Example:
[runtime] git switch -c <new-branch-name>
[runtime] Or undo this operation with:
[runtime] git switch -
[runtime] Turn off this advice by setting config variable advice.detachedHead to false
BSIM_PROGRESS:{"message": "DiffDock repository checkout is ready", "phase": "runtime"}BSIM_PROGRESS:{"message": "Creating managed DiffDock runtime environment", "phase": "runtime"}Validating DiffDock inputs
Preparing DiffDock runtime
Cloning DiffDock repository at v1.1.3
DiffDock repository checkout is ready
Creating managed DiffDock runtime environment
BSIM_PROGRESS:{"message": "Managed DiffDock runtime environment is ready", "phase": "runtime"}BSIM_PROGRESS:{"message": "Upgrading pip inside the managed DiffDock runtime", "phase": "runtime"}[runtime] Requirement already satisfied: pip in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (24.0)
[runtime] Collecting pip
[runtime] Downloading pip-26.1-py3-none-any.whl.metadata (4.6 kB)
[runtime] Downloading pip-26.1-py3-none-any.whl (1.8 MB)
[runtime] 1.8/1.8 MB 83.3 MB/s eta 0:00:00
[runtime] Installing collected packages: pip
[runtime] Attempting uninstall: pip
[runtime] Found existing installation: pip 24.0
[runtime] Uninstalling pip-24.0:
[runtime] Successfully uninstalled pip-24.0
[runtime] Successfully installed pip-26.1
BSIM_PROGRESS:{"message": "Managed runtime pip is up to date", "phase": "runtime"}BSIM_PROGRESS:{"message": "Installing DiffDock runtime dependencies (phase 1 of 2)", "phase": "runtime"}[runtime] Looking in links: https://data.pyg.org/whl/torch-2.0.1+cu117.html
[runtime] Collecting setuptools==69.5.1
[runtime] Downloading setuptools-69.5.1-py3-none-any.whl.metadata (6.2 kB)
[runtime] Collecting torch==2.0.1
[runtime] Downloading torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl.metadata (24 kB)
[runtime] Collecting filelock (from torch==2.0.1)
[runtime] Downloading filelock-3.29.0-py3-none-any.whl.metadata (2.0 kB)
[runtime] Collecting typing-extensions (from torch==2.0.1)
[runtime] Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
[runtime] Collecting sympy (from torch==2.0.1)
JSON
{
"outputs": {
"diffdock_diffdockl_docking_predictor": {
"pose_summary": {
"type": "record",
"source": "diffdock",
"name": "pose_summary",
"emitted_at": 0.01,
"spec": {
"signal_type": "record",
"kind": "state",
"dtype": null,
"shape": null,
"emitted_unit": null,
"accepted_profiles": null,
"interpolation": "zoh",
"max_age": null,
"stale_policy": "warn",
"schema": {
"payload": "json"
},
"description": null
},
"value": {
"payload": [
{
"rank": 1,
"confidence": -2.23,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank1_confidence-2.23.sdf"
},
{
"rank": 2,
"confidence": -2.28,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank2_confidence-2.28.sdf"
},
{
"rank": 3,
"confidence": -2.46,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank3_confidence-2.46.sdf"
},
{
"rank": 4,
"confidence": -2.57,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank4_confidence-2.57.sdf"
},
{
"rank": 5,
"confidence": -2.6,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank5_confidence-2.60.sdf"
},
{
"rank": 6,
"confidence": -2.63,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank6_confidence-2.63.sdf"
},
{
"rank": 7,
"confidence": -2.73,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank7_confidence-2.73.sdf"
},
{
"rank": 8,
"confidence": -2.94,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank8_confidence-2.94.sdf"
},
{
"rank": 9,
"confidence": -3.06,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank9_confidence-3.06.sdf"
},
{
"rank": 10,
"confidence": -4.1,
"confidence_band": "low",
"file_path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank10_confidence-4.10.sdf"
}
]
}
},
"confidence_summary": {
"type": "record",
"source": "diffdock",
"name": "confidence_summary",
"emitted_at": 0.01,
"spec": {
"signal_type": "record",
"kind": "state",
"dtype": null,
"shape": null,
"emitted_unit": null,
"accepted_profiles": null,
"interpolation": "zoh",
"max_age": null,
"stale_policy": "warn",
"schema": {
"payload": "json"
},
"description": null
},
"value": {
"payload": {
"top_pose_rank": 1,
"top_pose_confidence": -2.23,
"confidence_band": "low",
"pose_count": 10,
"all_confidences": [
-2.23,
-2.28,
-2.46,
-2.57,
-2.6,
-2.63,
-2.73,
-2.94,
-3.06,
-4.1
]
}
}
},
"structure_artifacts": {
"type": "record",
"source": "diffdock",
"name": "structure_artifacts",
"emitted_at": 0.01,
"spec": {
"signal_type": "record",
"kind": "state",
"dtype": null,
"shape": null,
"emitted_unit": null,
"accepted_profiles": null,
"interpolation": "zoh",
"max_age": null,
"stale_policy": "warn",
"schema": {
"payload": "json"
},
"description": null
},
"value": {
"payload": {
"prediction_dir": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom",
"top_pose_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank1.sdf",
"top_complex_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/top_rank_complex.pdb",
"confidence_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/confidence_summary.json",
"pose_summary_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/pose_summary.json",
"rank_1_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank1_confidence-2.23.sdf",
"rank_2_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank2_confidence-2.28.sdf",
"rank_3_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank3_confidence-2.46.sdf",
"rank_4_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank4_confidence-2.57.sdf",
"rank_5_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank5_confidence-2.60.sdf",
"rank_6_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank6_confidence-2.63.sdf",
"rank_7_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank7_confidence-2.73.sdf",
"rank_8_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank8_confidence-2.94.sdf",
"rank_9_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank9_confidence-3.06.sdf",
"rank_10_file": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/rank10_confidence-4.10.sdf"
}
}
},
"run_metadata": {
"type": "record",
"source": "diffdock",
"name": "run_metadata",
"emitted_at": 0.01,
"spec": {
"signal_type": "record",
"kind": "state",
"dtype": null,
"shape": null,
"emitted_unit": null,
"accepted_profiles": null,
"interpolation": "zoh",
"max_age": null,
"stale_policy": "warn",
"schema": {
"payload": "json"
},
"description": null
},
"value": {
"payload": {
"status": "completed",
"runtime_mode": "managed",
"runtime_dir": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock",
"cache_dir": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/cache",
"requirements_file": "/tmp/biosim-models/diffdock_diffdockl_docking_predictor/requirements/runtime-gpu.txt",
"repo_bootstrapped": true,
"runtime_bootstrapped": true,
"runtime_setup_commands": [
{
"command": [
"git",
"clone",
"--branch",
"v1.1.3",
"--depth",
"1",
"https://github.com/gcorso/DiffDock.git",
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo"
],
"cwd": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd",
"returncode": 0,
"stdout": "",
"stderr": "Cloning into '/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo'...\nNote: switching to '9a22cbcbc7612c7565c80e8399d9be298971f156'.\n\nYou are in 'detached HEAD' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\n"
},
{
"command": [
"/usr/local/bin/python",
"-m",
"venv",
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv"
],
"cwd": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd",
"returncode": 0,
"stdout": "",
"stderr": ""
},
{
"command": [
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/bin/python",
"-m",
"pip",
"install",
"--upgrade",
"pip"
],
"cwd": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd",
"returncode": 0,
"stdout": "Requirement already satisfied: pip in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (24.0)\nCollecting pip\n Downloading pip-26.1-py3-none-any.whl.metadata (4.6 kB)\nDownloading pip-26.1-py3-none-any.whl (1.8 MB)\n 1.8/1.8 MB 83.3 MB/s eta 0:00:00\nInstalling collected packages: pip\n Attempting uninstall: pip\n Found existing installation: pip 24.0\n Uninstalling pip-24.0:\n Successfully uninstalled pip-24.0\nSuccessfully installed pip-26.1\n",
"stderr": ""
},
{
"command": [
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/bin/python",
"-m",
"pip",
"install",
"--disable-pip-version-check",
"--no-input",
"--find-links",
"https://data.pyg.org/whl/torch-2.0.1+cu117.html",
"setuptools==69.5.1",
"torch==2.0.1"
],
"cwd": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd",
"returncode": 0,
"stdout": "Looking in links: https://data.pyg.org/whl/torch-2.0.1+cu117.html\nCollecting setuptools==69.5.1\n Downloading setuptools-69.5.1-py3-none-any.whl.metadata (6.2 kB)\nCollecting torch==2.0.1\n Downloading torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl.metadata (24 kB)\nCollecting filelock (from torch==2.0.1)\n Downloading filelock-3.29.0-py3-none-any.whl.metadata (2.0 kB)\nCollecting typing-extensions (from torch==2.0.1)\n Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)\nCollecting sympy (from torch==2.0.1)\n Downloading sympy-1.14.0-py3-none-any.whl.metadata (12 kB)\nCollecting networkx (from torch==2.0.1)\n Downloading networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB)\nCollecting jinja2 (from torch==2.0.1)\n Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\nCollecting nvidia-cuda-nvrtc-cu11==11.7.99 (from torch==2.0.1)\n Downloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\nCollecting nvidia-cuda-runtime-cu11==11.7.99 (from torch==2.0.1)\n Downloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\nCollecting nvidia-cuda-cupti-cu11==11.7.101 (from torch==2.0.1)\n Downloading nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\nCollecting nvidia-cudnn-cu11==8.5.0.96 (from torch==2.0.1)\n Downloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\nCollecting nvidia-cublas-cu11==11.10.3.66 (from torch==2.0.1)\n Downloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\nCollecting nvidia-cufft-cu11==10.9.0.58 (from torch==2.0.1)\n Downloading nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\nCollecting nvidia-curand-cu11==10.2.10.91 (from torch==2.0.1)\n Downloading nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\nCollecting nvidia-cusolver-cu11==11.4.0.1 (from torch==2.0.1)\n Downloading nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\nCollecting nvidia-cusparse-cu11==11.7.4.91 (from torch==2.0.1)\n Downloading nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\nCollecting nvidia-nccl-cu11==2.14.3 (from torch==2.0.1)\n Downloading nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl.metadata (1.8 kB)\nCollecting nvidia-nvtx-cu11==11.7.91 (from torch==2.0.1)\n Downloading nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\nCollecting triton==2.0.0 (from torch==2.0.1)\n Downloading triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.0 kB)\nCollecting wheel (from nvidia-cublas-cu11==11.10.3.66->torch==2.0.1)\n Downloading wheel-0.47.0-py3-none-any.whl.metadata (2.3 kB)\nCollecting cmake (from triton==2.0.0->torch==2.0.1)\n Downloading cmake-4.3.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (6.5 kB)\nCollecting lit (from triton==2.0.0->torch==2.0.1)\n Downloading lit-18.1.8-py3-none-any.whl.metadata (2.5 kB)\nCollecting MarkupSafe>=2.0 (from jinja2->torch==2.0.1)\n Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)\nCollecting mpmath<1.4,>=1.1.0 (from sympy->torch==2.0.1)\n Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\nCollecting packaging>=24.0 (from wheel->nvidia-cublas-cu11==11.10.3.66->torch==2.0.1)\n Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)\nDownloading setuptools-69.5.1-py3-none-any.whl (894 kB)\n 894.6/894.6 kB 3.0 MB/s 0:00:00\nDownloading torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl (619.9 MB)\n 619.9/619.9 MB 176.8 MB/s 0:00:03\nDownloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl (317.1 MB)\n 317.1/317.1 MB 162.5 MB/s 0:00:01\nDownloading nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl (11.8 MB)\n 11.8/11.8 MB 161.1 MB/s 0:00:00\nDownloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl (21.0 MB)\n 21.0/21.0 MB 146.8 MB/s 0:00:00\nDownloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl (849 kB)\n 849.3/849.3 kB 193.2 MB/s 0:00:00\nDownloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl (557.1 MB)\n 557.1/557.1 MB 162.4 MB/s 0:00:03\nDownloading nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl (168.4 MB)\n 168.4/168.4 MB 175.5 MB/s 0:00:00\nDownloading nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl (54.6 MB)\n 54.6/54.6 MB 179.9 MB/s 0:00:00\nDownloading nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl (102.6 MB)\n 102.6/102.6 MB 166.1 MB/s 0:00:00\nDownloading nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl (173.2 MB)\n 173.2/173.2 MB 184.5 MB/s 0:00:00\nDownloading nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl (177.1 MB)\n 177.1/177.1 MB 198.1 MB/s 0:00:00\nDownloading nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl (98 kB)\nDownloading triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (63.3 MB)\n 63.3/63.3 MB 218.5 MB/s 0:00:00\nDownloading cmake-4.3.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (29.5 MB)\n 29.5/29.5 MB 207.6 MB/s 0:00:00\nDownloading filelock-3.29.0-py3-none-any.whl (39 kB)\nDownloading jinja2-3.1.6-py3-none-any.whl (134 kB)\nDownloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)\nDownloading lit-18.1.8-py3-none-any.whl (96 kB)\nDownloading networkx-3.6.1-py3-none-any.whl (2.1 MB)\n 2.1/2.1 MB 230.0 MB/s 0:00:00\nDownloading sympy-1.14.0-py3-none-any.whl (6.3 MB)\n 6.3/6.3 MB 223.9 MB/s 0:00:00\nDownloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n 536.2/536.2 kB 215.7 MB/s 0:00:00\nDownloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)\nDownloading wheel-0.47.0-py3-none-any.whl (32 kB)\nDownloading packaging-26.2-py3-none-any.whl (100 kB)\nInstalling collected packages: mpmath, lit, typing-extensions, sympy, setuptools, packaging, nvidia-nccl-cu11, nvidia-cufft-cu11, nvidia-cuda-nvrtc-cu11, networkx, MarkupSafe, filelock, cmake, wheel, jinja2, nvidia-nvtx-cu11, nvidia-cusparse-cu11, nvidia-curand-cu11, nvidia-cuda-runtime-cu11, nvidia-cuda-cupti-cu11, nvidia-cublas-cu11, nvidia-cusolver-cu11, nvidia-cudnn-cu11, triton, torch\n Attempting uninstall: setuptools\n Found existing installation: setuptools 79.0.1\n Uninstalling setuptools-79.0.1:\n Successfully uninstalled setuptools-79.0.1\n\nSuccessfully installed MarkupSafe-3.0.3 cmake-4.3.2 filelock-3.29.0 jinja2-3.1.6 lit-18.1.8 mpmath-1.3.0 networkx-3.6.1 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 nvidia-cufft-cu11-10.9.0.58 nvidia-curand-cu11-10.2.10.91 nvidia-cusolver-cu11-11.4.0.1 nvidia-cusparse-cu11-11.7.4.91 nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 packaging-26.2 setuptools-69.5.1 sympy-1.14.0 torch-2.0.1 triton-2.0.0 typing-extensions-4.15.0 wheel-0.47.0\n",
"stderr": ""
},
{
"command": [
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/bin/python",
"-m",
"pip",
"install",
"--disable-pip-version-check",
"--no-input",
"--find-links",
"https://data.pyg.org/whl/torch-2.0.1+cu117.html",
"torch-cluster==1.6.3+pt20cu117",
"torch-geometric==2.2.0",
"torch-scatter==2.1.2+pt20cu117",
"torch-sparse==0.6.18+pt20cu117",
"torch-spline-conv==1.2.2+pt20cu117",
"biopython==1.83",
"e3nn==0.5.1",
"fair-esm==2.0.0",
"networkx==2.8.4",
"numpy==1.26.4",
"pandas==1.5.3",
"prody==2.6.1",
"pyyaml==6.0.2",
"rdkit==2022.9.5",
"requests==2.32.3",
"scikit-learn==1.1.3",
"scipy==1.12.0",
"tqdm==4.66.5"
],
"cwd": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd",
"returncode": 0,
"stdout": "m torch>=1.8.0->e3nn==0.5.1) (4.15.0)\nRequirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (11.7.99)\nRequirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (11.7.99)\nRequirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (11.7.101)\nRequirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (8.5.0.96)\nRequirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (11.10.3.66)\nRequirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (10.9.0.58)\nRequirement already satisfied: nvidia-curand-cu11==10.2.10.91 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (10.2.10.91)\nRequirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (11.4.0.1)\nRequirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (11.7.4.91)\nRequirement already satisfied: nvidia-nccl-cu11==2.14.3 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (2.14.3)\nRequirement already satisfied: nvidia-nvtx-cu11==11.7.91 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (11.7.91)\nRequirement already satisfied: triton==2.0.0 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from torch>=1.8.0->e3nn==0.5.1) (2.0.0)\nRequirement already satisfied: setuptools in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=1.8.0->e3nn==0.5.1) (69.5.1)\nRequirement already satisfied: wheel in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=1.8.0->e3nn==0.5.1) (0.47.0)\nRequirement already satisfied: cmake in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from triton==2.0.0->torch>=1.8.0->e3nn==0.5.1) (4.3.2)\nRequirement already satisfied: lit in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from triton==2.0.0->torch>=1.8.0->e3nn==0.5.1) (18.1.8)\nRequirement already satisfied: MarkupSafe>=2.0 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from jinja2->torch-geometric==2.2.0) (3.0.3)\nRequirement already satisfied: mpmath<1.4,>=1.1.0 in /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/lib/python3.11/site-packages (from sympy->e3nn==0.5.1) (1.3.0)\nDownloading biopython-1.83-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)\n 3.1/3.1 MB 165.6 MB/s 0:00:00\nDownloading e3nn-0.5.1-py3-none-any.whl (118 kB)\nDownloading fair_esm-2.0.0-py3-none-any.whl (93 kB)\nDownloading networkx-2.8.4-py3-none-any.whl (2.0 MB)\n 2.0/2.0 MB 171.0 MB/s 0:00:00\nDownloading numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.3 MB)\n 18.3/18.3 MB 177.9 MB/s 0:00:00\nDownloading pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB)\n 12.0/12.0 MB 160.7 MB/s 0:00:00\nDownloading PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)\n 763.0/763.0 kB 219.4 MB/s 0:00:00\nDownloading rdkit-2022.9.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.4 MB)\n 29.4/29.4 MB 157.3 MB/s 0:00:00\nDownloading requests-2.32.3-py3-none-any.whl (64 kB)\nDownloading scikit_learn-1.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.0 MB)\n 32.0/32.0 MB 190.8 MB/s 0:00:00\nDownloading scipy-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.4 MB)\n 38.4/38.4 MB 189.0 MB/s 0:00:00\nDownloading tqdm-4.66.5-py3-none-any.whl (78 kB)\nDownloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (214 kB)\nDownloading idna-3.13-py3-none-any.whl (68 kB)\nDownloading pyparsing-3.1.1-py3-none-any.whl (103 kB)\nDownloading urllib3-2.6.3-py3-none-any.whl (131 kB)\nDownloading certifi-2026.4.22-py3-none-any.whl (135 kB)\nDownloading joblib-1.5.3-py3-none-any.whl (309 kB)\nDownloading opt_einsum_fx-0.1.4-py3-none-any.whl (13 kB)\nDownloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB)\nDownloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\nDownloading pytz-2026.1.post1-py2.py3-none-any.whl (510 kB)\nDownloading six-1.17.0-py2.py3-none-any.whl (11 kB)\nDownloading threadpoolctl-3.6.0-py3-none-any.whl (18 kB)\nDownloading opt_einsum-3.4.0-py3-none-any.whl (71 kB)\nDownloading pillow-12.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.1 MB)\n 7.1/7.1 MB 188.4 MB/s 0:00:00\nBuilding wheels for collected packages: torch-geometric, prody\n Building wheel for torch-geometric (pyproject.toml): started\n Building wheel for torch-geometric (pyproject.toml): finished with status 'done'\n Created wheel for torch-geometric: filename=torch_geometric-2.2.0-py3-none-any.whl size=773348 sha256=304a2d10bf7d112db60449e7cda81be6f235c41163be5ee844b0b38f4397763a\n Stored in directory: /tmp/pip-ephem-wheel-cache-av26z7zt/wheels/2a/4d/ee/0887392fb0c94e5398c1e0b306106e8b2645702c8f16ef9cad\n Building wheel for prody (pyproject.toml): started\n Building wheel for prody (pyproject.toml): finished with status 'done'\n Created wheel for prody: filename=prody-2.6.1-cp311-cp311-linux_x86_64.whl size=36389326 sha256=550495b5ed26705bfbb72c117c6ca59c91c6ec6268830d851d80102291144811\n Stored in directory: /tmp/pip-ephem-wheel-cache-av26z7zt/wheels/c1/f0/d2/42b08ebde1b316d1b7477373fe926adb297d9635b14ae7e711\nSuccessfully built torch-geometric prody\nInstalling collected packages: pytz, fair-esm, urllib3, tqdm, torch-spline-conv, torch-scatter, threadpoolctl, six, pyyaml, pyparsing, psutil, Pillow, opt-einsum, numpy, networkx, joblib, idna, charset-normalizer, certifi, scipy, requests, rdkit, python-dateutil, biopython, torch-sparse, torch-cluster, scikit-learn, prody, pandas, torch-geometric, opt-einsum-fx, e3nn\n Attempting uninstall: networkx\n Found existing installation: networkx 3.6.1\n Uninstalling networkx-3.6.1:\n Successfully uninstalled networkx-3.6.1\n\nSuccessfully installed Pillow-12.2.0 biopython-1.83 certifi-2026.4.22 charset-normalizer-3.4.7 e3nn-0.5.1 fair-esm-2.0.0 idna-3.13 joblib-1.5.3 networkx-2.8.4 numpy-1.26.4 opt-einsum-3.4.0 opt-einsum-fx-0.1.4 pandas-1.5.3 prody-2.6.1 psutil-7.2.2 pyparsing-3.1.1 python-dateutil-2.9.0.post0 pytz-2026.1.post1 pyyaml-6.0.2 rdkit-2022.9.5 requests-2.32.3 scikit-learn-1.1.3 scipy-1.12.0 six-1.17.0 threadpoolctl-3.6.0 torch-cluster-1.6.3+pt20cu117 torch-geometric-2.2.0 torch-scatter-2.1.2+pt20cu117 torch-sparse-0.6.18+pt20cu117 torch-spline-conv-1.2.2+pt20cu117 tqdm-4.66.5 urllib3-2.6.3\n",
"stderr": ""
}
],
"stdout": "Generating ESM language model embeddings\nProcessing 1 of 1 batches (2 sequences)\n",
"stderr": "s]\r 78%| | 157/201 [00:53<00:14, 2.98it/s]\r 79%| | 158/201 [00:53<00:14, 2.99it/s]\r 79%| | 159/201 [00:53<00:14, 3.00it/s]\r 80%| | 160/201 [00:54<00:13, 2.99it/s]\r 80%| | 161/201 [00:54<00:13, 2.98it/s]\r 81%| | 162/201 [00:54<00:13, 2.99it/s]\r 81%| | 163/201 [00:55<00:12, 3.00it/s]\r 82%| | 164/201 [00:55<00:12, 3.01it/s]\r 82%| | 165/201 [00:55<00:12, 3.00it/s]\r 83%| | 166/201 [00:56<00:11, 2.97it/s]\r 83%| | 167/201 [00:56<00:11, 2.95it/s]\r 84%| | 168/201 [00:56<00:11, 2.97it/s]\r 84%| | 169/201 [00:57<00:10, 2.99it/s]\r 85%| | 170/201 [00:57<00:10, 3.02it/s]\r 85%| | 171/201 [00:57<00:09, 3.03it/s]\r 86%| | 172/201 [00:58<00:09, 3.04it/s]\r 86%| | 173/201 [00:58<00:09, 3.05it/s]\r 87%| | 174/201 [00:58<00:08, 3.06it/s]\r 87%| | 175/201 [00:59<00:08, 3.05it/s]\r 88%| | 176/201 [00:59<00:08, 3.06it/s]\r 88%| | 177/201 [00:59<00:07, 3.06it/s]\r 89%| | 178/201 [01:00<00:07, 3.06it/s]\r 89%| | 179/201 [01:00<00:07, 3.06it/s]\r 90%| | 180/201 [01:00<00:06, 3.06it/s]\r 90%| | 181/201 [01:01<00:06, 3.06it/s]\r 91%| | 182/201 [01:01<00:06, 3.05it/s]\r 91%| | 183/201 [01:01<00:05, 3.07it/s]\r 92%|| 184/201 [01:02<00:05, 2.99it/s]\r 92%|| 185/201 [01:02<00:05, 2.94it/s]\r 93%|| 186/201 [01:02<00:05, 2.93it/s]\r 93%|| 187/201 [01:03<00:04, 2.98it/s]\r 94%|| 188/201 [01:03<00:04, 2.99it/s]\r 94%|| 189/201 [01:03<00:04, 2.98it/s]\r 95%|| 190/201 [01:04<00:03, 2.99it/s]\r 95%|| 191/201 [01:04<00:03, 3.01it/s]\r 96%|| 192/201 [01:04<00:02, 3.04it/s]\r 96%|| 193/201 [01:05<00:02, 3.02it/s]\r 97%|| 194/201 [01:05<00:02, 3.03it/s]\r 97%|| 195/201 [01:05<00:01, 3.05it/s]\r 98%|| 196/201 [01:06<00:01, 3.07it/s]\r 98%|| 197/201 [01:06<00:01, 3.07it/s]\r 99%|| 198/201 [01:06<00:00, 3.09it/s]\r 99%|| 199/201 [01:06<00:00, 3.09it/s]\r100%|| 200/201 [01:07<00:00, 3.07it/s]\r100%|| 201/201 [01:07<00:00, 3.05it/s]\r100%|| 201/201 [01:07<00:00, 2.97it/s]\n\r 0%| | 0/201 [00:00<?, ?it/s]\r 0%| | 1/201 [00:00<01:25, 2.35it/s]\r 1%| | 2/201 [00:00<01:27, 2.27it/s]\r 1%| | 3/201 [00:01<01:27, 2.26it/s]\r 2%| | 4/201 [00:01<01:27, 2.25it/s]\r 2%| | 5/201 [00:02<01:27, 2.23it/s]\r 3%| | 6/201 [00:02<01:27, 2.23it/s]\r 3%| | 7/201 [00:03<01:26, 2.23it/s]\r 4%| | 8/201 [00:03<01:26, 2.23it/s]\r 4%| | 9/201 [00:04<01:26, 2.23it/s]\r 5%| | 10/201 [00:04<01:25, 2.22it/s]\r 5%| | 11/201 [00:04<01:25, 2.22it/s]\r 6%| | 12/201 [00:05<01:25, 2.21it/s]\r 6%| | 13/201 [00:05<01:24, 2.23it/s]\r 7%| | 14/201 [00:06<01:23, 2.23it/s]\r 7%| | 15/201 [00:06<01:23, 2.23it/s]\r 8%| | 16/201 [00:07<01:22, 2.24it/s]\r 8%| | 17/201 [00:07<01:22, 2.24it/s]\r 9%| | 18/201 [00:08<01:21, 2.24it/s]\r 9%| | 19/201 [00:08<01:21, 2.24it/s]\r 10%| | 20/201 [00:08<01:20, 2.24it/s]\r 10%| | 21/201 [00:09<01:20, 2.23it/s]\r 11%| | 22/201 [00:09<01:19, 2.24it/s]\r 11%| | 23/201 [00:10<01:19, 2.24it/s]\r 12%| | 24/201 [00:10<01:18, 2.24it/s]\r 12%| | 25/201 [00:11<01:18, 2.24it/s]\r 13%| | 26/201 [00:11<01:18, 2.24it/s]\r 13%| | 27/201 [00:12<01:17, 2.24it/s]\r 14%| | 28/201 [00:12<01:17, 2.22it/s]\r 14%| | 29/201 [00:12<01:17, 2.22it/s]\r 15%| | 30/201 [00:13<01:17, 2.21it/s]\r 15%| | 31/201 [00:13<01:17, 2.20it/s]\r 16%| | 32/201 [00:14<01:17, 2.18it/s]\r 16%| | 33/201 [00:14<01:18, 2.15it/s]\r 17%| | 34/201 [00:15<01:18, 2.14it/s]\r 17%| | 35/201 [00:15<01:18, 2.13it/s]\r 18%| | 36/201 [00:16<01:17, 2.12it/s]\r 18%| | 37/201 [00:16<01:17, 2.12it/s]\r 19%| | 38/201 [00:17<01:17, 2.11it/s]\r 19%| | 39/201 [00:17<01:16, 2.11it/s]\r 20%| | 40/201 [00:18<01:16, 2.10it/s]\r 20%| | 41/201 [00:18<01:16, 2.10it/s]\r 21%| | 42/201 [00:19<01:15, 2.09it/s]\r 21%| | 43/201 [00:19<01:15, 2.09it/s]\r 22%| | 44/201 [00:20<01:15, 2.09it/s]\r 22%| | 45/201 [00:20<01:14, 2.09it/s]\r 23%| | 46/201 [00:21<01:13, 2.10it/s]\r 23%| | 47/201 [00:21<01:12, 2.11it/s]\r 24%| | 48/201 [00:21<01:12, 2.12it/s]\r 24%| | 49/201 [00:22<01:11, 2.13it/s]\r 25%| | 50/201 [00:22<01:10, 2.13it/s]\r 25%| | 51/201 [00:23<01:10, 2.12it/s]\r 26%| | 52/201 [00:23<01:10, 2.12it/s]\r 26%| | 53/201 [00:24<01:09, 2.13it/s]\r 27%| | 54/201 [00:24<01:08, 2.13it/s]\r 27%| | 55/201 [00:25<01:07, 2.15it/s]\r 28%| | 56/201 [00:25<01:07, 2.14it/s]\r 28%| | 57/201 [00:26<01:06, 2.15it/s]\r 29%| | 58/201 [00:26<01:06, 2.14it/s]\r 29%| | 59/201 [00:27<01:06, 2.14it/s]\r 30%| | 60/201 [00:27<01:06, 2.12it/s]\r 30%| | 61/201 [00:28<01:06, 2.10it/s]\r 31%| | 62/201 [00:28<01:05, 2.11it/s]\r 31%| | 63/201 [00:29<01:05, 2.09it/s]\r 32%| | 64/201 [00:29<01:05, 2.08it/s]\r 32%| | 65/201 [00:30<01:05, 2.08it/s]\r 33%| | 66/201 [00:30<01:04, 2.08it/s]\r 33%| | 67/201 [00:30<01:04, 2.09it/s]\r 34%| | 68/201 [00:31<01:03, 2.09it/s]\r 34%| | 69/201 [00:31<01:03, 2.09it/s]\r 35%| | 70/201 [00:32<01:02, 2.10it/s]\r 35%| | 71/201 [00:32<01:02, 2.10it/s]\r 36%| | 72/201 [00:33<01:01, 2.10it/s]\r 36%| | 73/201 [00:33<01:00, 2.10it/s]\r 37%| | 74/201 [00:34<01:00, 2.10it/s]\r 37%| | 75/201 [00:34<00:59, 2.11it/s]\r 38%| | 76/201 [00:35<00:59, 2.11it/s]\r 38%| | 77/201 [00:35<00:58, 2.11it/s]\r 39%| | 78/201 [00:36<00:58, 2.09it/s]\r 39%| | 79/201 [00:36<01:00, 2.03it/s]\r 40%| | 80/201 [00:37<01:00, 2.01it/s]\r 40%| | 81/201 [00:37<00:58, 2.04it/s]\r 41%| | 82/201 [00:38<00:58, 2.04it/s]\r 41%| | 83/201 [00:38<00:58, 2.03it/s]\r 42%| | 84/201 [00:39<00:59, 1.98it/s]\r 42%| | 85/201 [00:39<01:01, 1.89it/s]\r 43%| | 86/201 [00:40<01:00, 1.91it/s]\r 43%| | 87/201 [00:40<00:59, 1.92it/s]\r 44%| | 88/201 [00:41<00:58, 1.92it/s]\r 44%| | 89/201 [00:41<00:57, 1.96it/s]\r 45%| | 90/201 [00:42<00:55, 1.99it/s]\r 45%| | 91/201 [00:42<00:54, 2.01it/s]\r 46%| | 92/201 [00:43<00:53, 2.03it/s]\r 46%| | 93/201 [00:43<00:52, 2.05it/s]\r 47%| | 94/201 [00:44<00:51, 2.09it/s]\r 47%| | 95/201 [00:44<00:50, 2.11it/s]\r 48%| | 96/201 [00:45<00:49, 2.11it/s]\r 48%| | 97/201 [00:45<00:48, 2.13it/s]\r 49%| | 98/201 [00:46<00:48, 2.14it/s]\r 49%| | 99/201 [00:46<00:47, 2.16it/s]\r 50%| | 100/201 [00:47<00:46, 2.19it/s]\r 50%| | 101/201 [00:47<00:43, 2.32it/s]\r 51%| | 102/201 [00:47<00:42, 2.30it/s]\r 51%| | 103/201 [00:48<00:43, 2.27it/s]\r 52%| | 104/201 [00:48<00:43, 2.24it/s]\r 52%| | 105/201 [00:49<00:42, 2.24it/s]\r 53%| | 106/201 [00:49<00:42, 2.22it/s]\r 53%| | 107/201 [00:50<00:43, 2.18it/s]\r 54%| | 108/201 [00:50<00:43, 2.16it/s]\r 54%| | 109/201 [00:51<00:42, 2.14it/s]\r 55%| | 110/201 [00:51<00:42, 2.13it/s]\r 55%| | 111/201 [00:52<00:42, 2.13it/s]\r 56%| | 112/201 [00:52<00:41, 2.12it/s]\r 56%| | 113/201 [00:52<00:41, 2.12it/s]\r 57%| | 114/201 [00:53<00:41, 2.11it/s]\r 57%| | 115/201 [00:53<00:40, 2.10it/s]\r 58%| | 116/201 [00:54<00:40, 2.09it/s]\r 58%| | 117/201 [00:54<00:40, 2.09it/s]\r 59%| | 118/201 [00:55<00:39, 2.09it/s]\r 59%| | 119/201 [00:55<00:39, 2.08it/s]\r 60%| | 120/201 [00:56<00:39, 2.07it/s]\r 60%| | 121/201 [00:56<00:38, 2.07it/s]\r 61%| | 122/201 [00:57<00:38, 2.07it/s]\r 61%| | 123/201 [00:57<00:37, 2.06it/s]\r 62%| | 124/201 [00:58<00:38, 2.00it/s]\r 62%| | 125/201 [00:58<00:37, 2.00it/s]\r 63%| | 126/201 [00:59<00:37, 2.00it/s]\r 63%| | 127/201 [00:59<00:37, 1.99it/s]\r 64%| | 128/201 [01:00<00:36, 1.98it/s]\r 64%| | 129/201 [01:00<00:36, 1.98it/s]\r 65%| | 130/201 [01:01<00:36, 1.93it/s]\r 65%| | 131/201 [01:01<00:36, 1.94it/s]\r 66%| | 132/201 [01:02<00:36, 1.89it/s]\r 66%| | 133/201 [01:02<00:35, 1.89it/s]\r 67%| | 134/201 [01:03<00:35, 1.88it/s]\r 67%| | 135/201 [01:04<00:35, 1.84it/s]\r 68%| | 136/201 [01:04<00:34, 1.87it/s]\r 68%| | 137/201 [01:05<00:34, 1.88it/s]\r 69%| | 138/201 [01:05<00:32, 1.91it/s]\r 69%| | 139/201 [01:06<00:31, 1.94it/s]\r 70%| | 140/201 [01:06<00:30, 1.97it/s]\r 70%| | 141/201 [01:07<00:30, 2.00it/s]\r 71%| | 142/201 [01:07<00:29, 2.02it/s]\r 71%| | 143/201 [01:08<00:28, 2.04it/s]\r 72%| | 144/201 [01:08<00:27, 2.05it/s]\r 72%| | 145/201 [01:09<00:27, 2.05it/s]\r 73%| | 146/201 [01:09<00:26, 2.05it/s]\r 73%| | 147/201 [01:10<00:26, 2.06it/s]\r 74%| | 148/201 [01:10<00:25, 2.06it/s]\r 74%| | 149/201 [01:10<00:25, 2.07it/s]\r 75%| | 150/201 [01:11<00:24, 2.08it/s]\r 75%| | 151/201 [01:11<00:24, 2.08it/s]\r 76%| | 152/201 [01:12<00:23, 2.09it/s]\r 76%| | 153/201 [01:12<00:22, 2.10it/s]\r 77%| | 154/201 [01:13<00:22, 2.10it/s]\r 77%| | 155/201 [01:13<00:21, 2.10it/s]\r 78%| | 156/201 [01:14<00:21, 2.11it/s]\r 78%| | 157/201 [01:14<00:20, 2.12it/s]\r 79%| | 158/201 [01:15<00:20, 2.12it/s]\r 79%| | 159/201 [01:15<00:19, 2.13it/s]\r 80%| | 160/201 [01:16<00:19, 2.15it/s]\r 80%| | 161/201 [01:16<00:18, 2.16it/s]\r 81%| | 162/201 [01:17<00:18, 2.14it/s]\r 81%| | 163/201 [01:17<00:17, 2.12it/s]\r 82%| | 164/201 [01:18<00:17, 2.12it/s]\r 82%| | 165/201 [01:18<00:16, 2.14it/s]\r 83%| | 166/201 [01:18<00:16, 2.14it/s]\r 83%| | 167/201 [01:19<00:15, 2.13it/s]\r 84%| | 168/201 [01:19<00:15, 2.13it/s]\r 84%| | 169/201 [01:20<00:15, 2.12it/s]\r 85%| | 170/201 [01:20<00:14, 2.13it/s]\r 85%| | 171/201 [01:21<00:14, 2.13it/s]\r 86%| | 172/201 [01:21<00:13, 2.14it/s]\r 86%| | 173/201 [01:22<00:13, 2.14it/s]\r 87%| | 174/201 [01:22<00:12, 2.14it/s]\r 87%| | 175/201 [01:23<00:12, 2.15it/s]\r 88%| | 176/201 [01:23<00:11, 2.15it/s]\r 88%| | 177/201 [01:24<00:11, 2.17it/s]\r 89%| | 178/201 [01:24<00:10, 2.17it/s]\r 89%| | 179/201 [01:25<00:10, 2.17it/s]\r 90%| | 180/201 [01:25<00:09, 2.19it/s]\r 90%| | 181/201 [01:25<00:09, 2.19it/s]\r 91%| | 182/201 [01:26<00:08, 2.19it/s]\r 91%| | 183/201 [01:26<00:08, 2.18it/s]\r 92%|| 184/201 [01:27<00:07, 2.16it/s]\r 92%|| 185/201 [01:27<00:07, 2.14it/s]\r 93%|| 186/201 [01:28<00:07, 2.13it/s]\r 93%|| 187/201 [01:28<00:06, 2.12it/s]\r 94%|| 188/201 [01:29<00:06, 2.12it/s]\r 94%|| 189/201 [01:29<00:05, 2.11it/s]\r 95%|| 190/201 [01:30<00:05, 2.11it/s]\r 95%|| 191/201 [01:30<00:04, 2.11it/s]\r 96%|| 192/201 [01:31<00:04, 2.11it/s]\r 96%|| 193/201 [01:31<00:03, 2.11it/s]\r 97%|| 194/201 [01:32<00:03, 2.11it/s]\r 97%|| 195/201 [01:32<00:02, 2.11it/s]\r 98%|| 196/201 [01:33<00:02, 2.11it/s]\r 98%|| 197/201 [01:33<00:01, 2.11it/s]\r 99%|| 198/201 [01:33<00:01, 2.10it/s]\r 99%|| 199/201 [01:34<00:00, 2.10it/s]\r100%|| 200/201 [01:34<00:00, 2.10it/s]\r100%|| 201/201 [01:35<00:00, 2.10it/s]\r100%|| 201/201 [01:35<00:00, 2.11it/s]\nDownloading: \"https://dl.fbaipublicfiles.com/fair-esm/models/esm2_t33_650M_UR50D.pt\" to /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/cache/torch/hub/checkpoints/esm2_t33_650M_UR50D.pt\nDownloading: \"https://dl.fbaipublicfiles.com/fair-esm/regression/esm2_t33_650M_UR50D-contact-regression.pt\" to /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/cache/torch/hub/checkpoints/esm2_t33_650M_UR50D-contact-regression.pt\n\r0it [00:00, ?it/s]/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo/datasets/parse_chi.py:91: RuntimeWarning: invalid value encountered in cast\n Y = indices.astype(int)\n/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo/utils/geometry.py:272: UserWarning: Specified kernel cache directory could not be created! This disables kernel caching. Specified directory is /__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/cache/xdg/torch/kernels. This warning will appear only once per process. (Triggered internally at ../aten/src/ATen/native/cuda/jit_utils.cpp:1442.)\n R = torch.where(torch.linalg.det(R)[:, None, None] < 0, Rm, R)\n\r1it [00:55, 55.42s/it]\r1it [00:55, 55.42s/it]\n",
"run_root": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd",
"output_dir": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd/output",
"protein_path": "/tmp/biosim-models/diffdock_diffdockl_docking_predictor/data/1a0q/1a0q_protein_processed.pdb",
"ligand_description": "COc(cc1)ccc1C#N",
"resolved_python_executable": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/bin/python",
"repo_dir": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo",
"model_dir": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo/workdir/v1.1/score_model",
"confidence_model_dir": "/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo/workdir/v1.1/confidence_model",
"command": [
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/venv/bin/python",
"-m",
"inference",
"--config",
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo/default_inference_args.yaml",
"--out_dir",
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-work/diffdock/diffdock-run-mw5iv8kd/output",
"--complex_name",
"1a0q_custom",
"--protein_path",
"/tmp/biosim-models/diffdock_diffdockl_docking_predictor/data/1a0q/1a0q_protein_processed.pdb",
"--ligand_description",
"COc(cc1)ccc1C#N",
"--model_dir",
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo/workdir/v1.1/score_model",
"--confidence_model_dir",
"/__modal/volumes/vo-lOatSzb030HkyBZo62wvuJ/runtime-cache/diffdock/repo/workdir/v1.1/confidence_model",
"--ckpt",
"best_ema_inference_epoch_model.pt",
"--confidence_ckpt",
"best_model_epoch75.pt",
"--samples_per_complex",
"2",
"--inference_steps",
"4",
"--batch_size",
"2"
],
"returncode": 0,
"prediction_dir": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom"
}
}
}
}
},
"state": {
"diffdock_diffdockl_docking_predictor": {}
},
"visuals": [
{
"module": "diffdock_diffdockl_docking_predictor",
"module_class": "DiffDockLDockingPredictor",
"visuals": [
{
"render": "structure3d",
"data": {
"title": "Top-Ranked Docked Complex",
"source": {
"kind": "artifact",
"artifact_id": "structure-77553fae57730940",
"path": "/tmp/bsim-clones/remote-artifacts/c51e64c9-0e80-4d98-b451-0623c9a6bb15/diffdock_diffdockl_docking_predictor/1a0q_custom/top_rank_complex.pdb"
},
"format": "pdb",
"annotations": [
{
"label": "Top Pose Confidence",
"value": -2.23
},
{
"label": "Confidence Band",
"value": "low"
},
{
"label": "Pose Count",
"value": 10
}
],
"initial_view": {
"reset_camera": true
}
},
"description": "Top-ranked DiffDock-L complex for the latest docking run."
},
{
"render": "table",
"data": {
"title": "DiffDock Pose Summary",
"columns": [
"Rank",
"Confidence",
"Band",
"Pose File"
],
"rows": [
[
"1",
"-2.23",
"low",
"rank1_confidence-2.23.sdf"
],
[
"2",
"-2.28",
"low",
"rank2_confidence-2.28.sdf"
],
[
"3",
"-2.46",
"low",
"rank3_confidence-2.46.sdf"
],
[
"4",
"-2.57",
"low",
"rank4_confidence-2.57.sdf"
],
[
"5",
"-2.6",
"low",
"rank5_confidence-2.60.sdf"
],
[
"6",
"-2.63",
"low",
"rank6_confidence-2.63.sdf"
],
[
"7",
"-2.73",
"low",
"rank7_confidence-2.73.sdf"
],
[
"8",
"-2.94",
"low",
"rank8_confidence-2.94.sdf"
],
[
"9",
"-3.06",
"low",
"rank9_confidence-3.06.sdf"
],
[
"10",
"-4.1",
"low",
"rank10_confidence-4.10.sdf"
]
]
},
"description": "Ranked pose summary from the latest DiffDock-L run."
}
]
}
],
"duration": 0.01,
"communication_step": 0.01,
"modules": [
"diffdock_diffdockl_docking_predictor"
],
"lab_commit": "638d9da99a40f68ef0eefc467abb0138192a92b108471ddc778bd3f95a603364",
"model_resolutions": [
{
"alias": "diffdock_diffdockl_docking_predictor",
"model_id": "embedded:owned/models/diffdock_diffdockl_docking_predictor",
"repo_full_name": null,
"commit_sha": null
}
],
"module_ports": {
"diffdock_diffdockl_docking_predictor": {
"inputs": [
"ligand_description",
"protein_path",
"run_options"
],
"outputs": [
"confidence_summary",
"pose_summary",
"run_metadata",
"structure_artifacts"
]
}
},
"dependency_installs": [],
"dependency_policy_enabled": true
}