From ee7b597dc8b8361b19b888201af434652a250cc3 Mon Sep 17 00:00:00 2001 From: Muhammad Anas Raza Date: Fri, 11 Sep 2026 00:11:05 -0400 Subject: [PATCH] docs: add quick start on colab Signed-off-by: Muhammad Anas Raza --- examples/quickstart/colab_bionemo_ir.ipynb | 1817 ++++++++++++++++++++ 1 file changed, 1817 insertions(+) create mode 100644 examples/quickstart/colab_bionemo_ir.ipynb diff --git a/examples/quickstart/colab_bionemo_ir.ipynb b/examples/quickstart/colab_bionemo_ir.ipynb new file mode 100644 index 00000000..68e3c3db --- /dev/null +++ b/examples/quickstart/colab_bionemo_ir.ipynb @@ -0,0 +1,1817 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "gpuType": "A100", + "runtime_attributes": { + "runtime_version": "2025.10" + } + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU", + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "version_major": 2, + "version_minor": 0, + "state": { + "a60c22bc85944e84b4956f17d16e9fdb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "VBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "VBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "VBoxView", + "box_style": "", + "children": [], + "layout": "IPY_MODEL_c9516bf718b14c8fa5a3ab03d21fc04b" + } + }, + "1bac4d08ed2f4e5ca6179358cb452ad0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f07b0133458e49c3881fad9dbaadaea0", + "placeholder": "​", + "style": "IPY_MODEL_d1c8705010864ec3870b49784eaf6890", + "value": "

Copy a token from your Hugging Face\ntokens page and paste it below.
Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file.
" + } + }, + "1e878f52fe0f4332a66cbb2b2aac1a88": { + "model_module": "@jupyter-widgets/controls", + "model_name": "PasswordModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "PasswordModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "PasswordView", + "continuous_update": true, + "description": "Token:", + "description_tooltip": null, + "disabled": false, + "layout": "IPY_MODEL_12a315310ae447ccaf1dddc7d80475d4", + "placeholder": "​", + "style": "IPY_MODEL_13a3506e8fc1442bbf6cdfbb4770bba3", + "value": "" + } + }, + "9408b17db17a4dab830cae6e49513df2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "CheckboxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "CheckboxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "CheckboxView", + "description": "Add token as git credential?", + "description_tooltip": null, + "disabled": false, + "indent": true, + "layout": "IPY_MODEL_cf78019348a6420fa9152443738e28ef", + "style": "IPY_MODEL_5741c5ffda3948c392dd2c25c7020cdd", + "value": false + } + }, + "f28cb7b2997244f99afc17d0fed9eb0d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ButtonModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ButtonView", + "button_style": "", + "description": "Login", + "disabled": false, + "icon": "", + "layout": "IPY_MODEL_8c34c25160e742a69bce52d585f5075e", + "style": "IPY_MODEL_8f5e772c2bcc45ba9af7455e8e3921ef", + "tooltip": "" + } + }, + "dc32cb4712c64647a5fad05d932d9d70": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b1f7b84db3a04a069b3094a20c1eea4b", + "placeholder": "​", + "style": "IPY_MODEL_d6d4f7f0188045f099a1cb49880f86d5", + "value": "\nPro Tip: If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks. " + } + }, + "c9516bf718b14c8fa5a3ab03d21fc04b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": "center", + "align_self": null, + "border": null, + "bottom": null, + "display": "flex", + "flex": null, + "flex_flow": "column", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "50%" + } + }, + "f07b0133458e49c3881fad9dbaadaea0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d1c8705010864ec3870b49784eaf6890": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "12a315310ae447ccaf1dddc7d80475d4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "13a3506e8fc1442bbf6cdfbb4770bba3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "cf78019348a6420fa9152443738e28ef": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5741c5ffda3948c392dd2c25c7020cdd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8c34c25160e742a69bce52d585f5075e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8f5e772c2bcc45ba9af7455e8e3921ef": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ButtonStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "button_color": null, + "font_weight": "" + } + }, + "b1f7b84db3a04a069b3094a20c1eea4b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d6d4f7f0188045f099a1cb49880f86d5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "352cbaebfb8b4bc39779f7974dac26ee": { + "model_module": "@jupyter-widgets/controls", + "model_name": "LabelModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "LabelModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "LabelView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8204bfcfc94d4b98882ebe4e33f1b9c3", + "placeholder": "​", + "style": "IPY_MODEL_8cbcb8398dcf4a7d83445d26c9ea0a98", + "value": "Connecting..." + } + }, + "8204bfcfc94d4b98882ebe4e33f1b9c3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8cbcb8398dcf4a7d83445d26c9ea0a98": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } + } + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# BioNeMo Inference Runtime on Colab\n", + "\n", + "\n", + "This has been tested on Colab pro with A100 GPUs." + ], + "metadata": { + "id": "JR-aKkINmXsn" + } + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mMH2E1-9TbNV", + "outputId": "86cc8f6a-ed2a-4adb-a8cc-ee70dbd20c44" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Python 3.12.12\n", + "Requirement already satisfied: pip in /usr/local/lib/python3.12/dist-packages (24.1.2)\n", + "Collecting pip\n", + " Downloading pip-26.2.1-py3-none-any.whl.metadata (4.6 kB)\n", + "Downloading pip-26.2.1-py3-none-any.whl (1.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m18.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pip\n", + " Attempting uninstall: pip\n", + " Found existing installation: pip 24.1.2\n", + " Uninstalling pip-24.1.2:\n", + " Successfully uninstalled pip-24.1.2\n", + "Successfully installed pip-26.2.1\n", + "Collecting bionemo-ir\n", + " Downloading bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl.metadata (12 kB)\n", + "Collecting py3Dmol\n", + " Downloading py3dmol-2.5.5-py2.py3-none-any.whl.metadata (2.1 kB)\n", + "Requirement already satisfied: nest_asyncio in /usr/local/lib/python3.12/dist-packages (1.6.0)\n", + "Collecting cuda-python>=13 (from bionemo-ir)\n", + " Downloading cuda_python-13.4.1-py3-none-any.whl.metadata (6.8 kB)\n", + "Collecting torch>=2.11 (from bionemo-ir)\n", + " Downloading torch-2.14.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (37 kB)\n", + "Collecting cuequivariance==0.11.1 (from bionemo-ir)\n", + " Downloading cuequivariance-0.11.1-py3-none-any.whl.metadata (15 kB)\n", + "Collecting cuequivariance-ops-cu13==0.11.1 (from bionemo-ir)\n", + " Downloading cuequivariance_ops_cu13-0.11.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (19 kB)\n", + "Collecting cuequivariance-ops-torch-cu13==0.11.1 (from bionemo-ir)\n", + " Downloading cuequivariance_ops_torch_cu13-0.11.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB)\n", + "Collecting triton<3.7.1,>=3.6.0 (from bionemo-ir)\n", + " Downloading triton-3.7.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (1.7 kB)\n", + "Collecting biopython>=1.87 (from bionemo-ir)\n", + " Downloading biopython-1.88-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (13 kB)\n", + "Collecting ray==2.56.1 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading ray-2.56.1-cp312-cp312-manylinux2014_x86_64.whl.metadata (22 kB)\n", + "Collecting uvloop==0.21.0 (from bionemo-ir)\n", + " Downloading uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)\n", + "Collecting modelcif==1.6 (from bionemo-ir)\n", + " Downloading modelcif-1.6-py3-none-any.whl.metadata (3.4 kB)\n", + "Collecting rdkit==2025.9.6 (from bionemo-ir)\n", + " Downloading rdkit-2025.9.6-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (3.8 kB)\n", + "Collecting nvidia-cutlass-dsl==4.5.2 (from nvidia-cutlass-dsl[cu13]==4.5.2->bionemo-ir)\n", + " Downloading nvidia_cutlass_dsl-4.5.2-py3-none-any.whl.metadata (2.8 kB)\n", + "Collecting apache-tvm-ffi<0.2,>=0.1.6 (from bionemo-ir)\n", + " Downloading apache_tvm_ffi-0.1.13.post3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)\n", + "Collecting biotite==1.6.0 (from bionemo-ir)\n", + " Downloading biotite-1.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (5.5 kB)\n", + "Collecting datasets==4.8.4 (from bionemo-ir)\n", + " Downloading datasets-4.8.4-py3-none-any.whl.metadata (19 kB)\n", + "Requirement already satisfied: huggingface_hub>=0.25 in /usr/local/lib/python3.12/dist-packages (from bionemo-ir) (0.35.3)\n", + "Collecting lru-dict==1.4.1 (from bionemo-ir)\n", + " Downloading lru_dict-1.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (4.8 kB)\n", + "Collecting kalign-python==3.6.0 (from bionemo-ir)\n", + " Downloading kalign_python-3.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (15 kB)\n", + "Collecting scipy==1.13.1 (from bionemo-ir)\n", + " Downloading scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)\n", + "Collecting gemmi==0.6.5 (from bionemo-ir)\n", + " Downloading gemmi-0.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.3 kB)\n", + "Requirement already satisfied: einops>=0.8 in /usr/local/lib/python3.12/dist-packages (from bionemo-ir) (0.8.1)\n", + "Requirement already satisfied: pydantic<3,>=2 in /usr/local/lib/python3.12/dist-packages (from bionemo-ir) (2.11.10)\n", + "Collecting biotraj<2.0,>=1.0 (from biotite==1.6.0->bionemo-ir)\n", + " Downloading biotraj-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (32 kB)\n", + "Requirement already satisfied: msgpack>=0.5.6 in /usr/local/lib/python3.12/dist-packages (from biotite==1.6.0->bionemo-ir) (1.1.2)\n", + "Requirement already satisfied: networkx>=2.0 in /usr/local/lib/python3.12/dist-packages (from biotite==1.6.0->bionemo-ir) (3.5)\n", + "Requirement already satisfied: numpy>=1.25 in /usr/local/lib/python3.12/dist-packages (from biotite==1.6.0->bionemo-ir) (2.0.2)\n", + "Requirement already satisfied: packaging>=24.0 in /usr/local/lib/python3.12/dist-packages (from biotite==1.6.0->bionemo-ir) (25.0)\n", + "Requirement already satisfied: requests>=2.12 in /usr/local/lib/python3.12/dist-packages (from biotite==1.6.0->bionemo-ir) (2.32.4)\n", + "Requirement already satisfied: opt-einsum in /usr/local/lib/python3.12/dist-packages (from cuequivariance==0.11.1->bionemo-ir) (3.4.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.12/dist-packages (from cuequivariance==0.11.1->bionemo-ir) (1.13.3)\n", + "Collecting nvidia-cublas>=12.5.0 (from cuequivariance-ops-cu13==0.11.1->bionemo-ir)\n", + " Downloading nvidia_cublas-13.7.0.27-py3-none-manylinux_2_27_x86_64.whl.metadata (1.8 kB)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.12/dist-packages (from cuequivariance-ops-cu13==0.11.1->bionemo-ir) (4.67.1)\n", + "Requirement already satisfied: nvidia-ml-py in /usr/local/lib/python3.12/dist-packages (from cuequivariance-ops-cu13==0.11.1->bionemo-ir) (12.575.51)\n", + "Requirement already satisfied: platformdirs in /usr/local/lib/python3.12/dist-packages (from cuequivariance-ops-cu13==0.11.1->bionemo-ir) (4.5.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.12/dist-packages (from datasets==4.8.4->bionemo-ir) (3.20.0)\n", + "Collecting pyarrow>=21.0.0 (from datasets==4.8.4->bionemo-ir)\n", + " Downloading pyarrow-25.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (3.0 kB)\n", + "Requirement already satisfied: dill<0.4.2,>=0.3.0 in /usr/local/lib/python3.12/dist-packages (from datasets==4.8.4->bionemo-ir) (0.3.8)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.12/dist-packages (from datasets==4.8.4->bionemo-ir) (2.2.2)\n", + "Requirement already satisfied: httpx<1.0.0 in /usr/local/lib/python3.12/dist-packages (from datasets==4.8.4->bionemo-ir) (0.28.1)\n", + "Requirement already satisfied: xxhash in /usr/local/lib/python3.12/dist-packages (from datasets==4.8.4->bionemo-ir) (3.6.0)\n", + "Requirement already satisfied: multiprocess<0.70.20 in /usr/local/lib/python3.12/dist-packages (from datasets==4.8.4->bionemo-ir) (0.70.16)\n", + "Requirement already satisfied: fsspec<=2026.2.0,>=2023.1.0 in /usr/local/lib/python3.12/dist-packages (from fsspec[http]<=2026.2.0,>=2023.1.0->datasets==4.8.4->bionemo-ir) (2025.3.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.12/dist-packages (from datasets==4.8.4->bionemo-ir) (6.0.3)\n", + "Collecting ihm>=2.6 (from modelcif==1.6->bionemo-ir)\n", + " Downloading ihm-2.11.tar.gz (414 kB)\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting nvidia-cutlass-dsl-libs-base==4.5.2 (from nvidia-cutlass-dsl==4.5.2->nvidia-cutlass-dsl[cu13]==4.5.2->bionemo-ir)\n", + " Downloading nvidia_cutlass_dsl_libs_base-4.5.2-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (2.7 kB)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.12/dist-packages (from nvidia-cutlass-dsl-libs-base==4.5.2->nvidia-cutlass-dsl==4.5.2->nvidia-cutlass-dsl[cu13]==4.5.2->bionemo-ir) (4.15.0)\n", + "Collecting nvidia-cutlass-dsl-libs-cu13==4.5.2 (from nvidia-cutlass-dsl[cu13]==4.5.2->bionemo-ir)\n", + " Downloading nvidia_cutlass_dsl_libs_cu13-4.5.2-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (2.7 kB)\n", + "Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.12/dist-packages (from ray==2.56.1->ray[data,serve]==2.56.1->bionemo-ir) (8.3.0)\n", + "Requirement already satisfied: jsonschema in /usr/local/lib/python3.12/dist-packages (from ray==2.56.1->ray[data,serve]==2.56.1->bionemo-ir) (4.25.1)\n", + "Requirement already satisfied: protobuf>=3.20.3 in /usr/local/lib/python3.12/dist-packages (from ray==2.56.1->ray[data,serve]==2.56.1->bionemo-ir) (5.29.5)\n", + "Collecting pandas (from datasets==4.8.4->bionemo-ir)\n", + " Downloading pandas-3.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB)\n", + "Requirement already satisfied: opentelemetry-sdk>=1.30.0 in /usr/local/lib/python3.12/dist-packages (from ray[data,serve]==2.56.1->bionemo-ir) (1.37.0)\n", + "Collecting opentelemetry-proto (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_proto-1.44.0-py3-none-any.whl.metadata (2.3 kB)\n", + "Requirement already satisfied: prometheus_client>=0.7.1 in /usr/local/lib/python3.12/dist-packages (from ray[data,serve]==2.56.1->bionemo-ir) (0.23.1)\n", + "Collecting virtualenv!=20.21.1,>=20.0.24 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading virtualenv-21.7.9-py3-none-any.whl.metadata (3.5 kB)\n", + "Collecting colorful (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading colorful-0.5.8-py2.py3-none-any.whl.metadata (17 kB)\n", + "Collecting opencensus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opencensus-0.11.4-py2.py3-none-any.whl.metadata (12 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.65b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting fastapi>=0.133.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading fastapi-0.141.1-py3-none-any.whl.metadata (27 kB)\n", + "Collecting watchfiles (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading watchfiles-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)\n", + "Collecting py-spy>=0.4.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading py_spy-0.4.2-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (510 bytes)\n", + "Requirement already satisfied: uvicorn[standard] in /usr/local/lib/python3.12/dist-packages (from ray[data,serve]==2.56.1->bionemo-ir) (0.37.0)\n", + "Requirement already satisfied: smart_open in /usr/local/lib/python3.12/dist-packages (from ray[data,serve]==2.56.1->bionemo-ir) (7.3.1)\n", + "Collecting aiohttp>=3.13.3 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading aiohttp-3.14.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)\n", + "Requirement already satisfied: grpcio>=1.42.0 in /usr/local/lib/python3.12/dist-packages (from ray[data,serve]==2.56.1->bionemo-ir) (1.75.1)\n", + "Collecting mmh3 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading mmh3-5.3.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (14 kB)\n", + "Collecting aiohttp_cors (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading aiohttp_cors-0.8.1-py3-none-any.whl.metadata (20 kB)\n", + "Collecting starlette>=1.0.1 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading starlette-1.6.0-py3-none-any.whl.metadata (6.4 kB)\n", + "Requirement already satisfied: Pillow in /usr/local/lib/python3.12/dist-packages (from rdkit==2025.9.6->bionemo-ir) (11.3.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.12/dist-packages (from httpx<1.0.0->datasets==4.8.4->bionemo-ir) (4.11.0)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.12/dist-packages (from httpx<1.0.0->datasets==4.8.4->bionemo-ir) (2025.10.5)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/dist-packages (from httpx<1.0.0->datasets==4.8.4->bionemo-ir) (1.0.9)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.12/dist-packages (from httpx<1.0.0->datasets==4.8.4->bionemo-ir) (3.10)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/dist-packages (from httpcore==1.*->httpx<1.0.0->datasets==4.8.4->bionemo-ir) (0.16.0)\n", + "Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /usr/local/lib/python3.12/dist-packages (from huggingface_hub>=0.25->bionemo-ir) (1.1.10)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.12/dist-packages (from pydantic<3,>=2->bionemo-ir) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.12/dist-packages (from pydantic<3,>=2->bionemo-ir) (2.33.2)\n", + "Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.12/dist-packages (from pydantic<3,>=2->bionemo-ir) (0.4.2)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp>=3.13.3->ray[data,serve]==2.56.1->bionemo-ir) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp>=3.13.3->ray[data,serve]==2.56.1->bionemo-ir) (1.4.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp>=3.13.3->ray[data,serve]==2.56.1->bionemo-ir) (25.4.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.12/dist-packages (from aiohttp>=3.13.3->ray[data,serve]==2.56.1->bionemo-ir) (1.8.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.12/dist-packages (from aiohttp>=3.13.3->ray[data,serve]==2.56.1->bionemo-ir) (6.7.0)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp>=3.13.3->ray[data,serve]==2.56.1->bionemo-ir) (0.3.2)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp>=3.13.3->ray[data,serve]==2.56.1->bionemo-ir) (1.22.0)\n", + "Collecting cuda-bindings~=13.4.1 (from cuda-python>=13->bionemo-ir)\n", + " Downloading cuda_bindings-13.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)\n", + "Collecting cuda-core~=1.2.0 (from cuda-python>=13->bionemo-ir)\n", + " Downloading cuda_core-1.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.3 kB)\n", + "Collecting cuda-pathfinder~=1.1 (from cuda-python>=13->bionemo-ir)\n", + " Downloading cuda_pathfinder-1.8.1-py3-none-any.whl.metadata (1.9 kB)\n", + "Collecting annotated-doc>=0.0.2 (from fastapi>=0.133.0->ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading annotated_doc-0.0.5-py3-none-any.whl.metadata (6.5 kB)\n", + "Collecting nvidia-cuda-nvrtc (from nvidia-cublas>=12.5.0->cuequivariance-ops-cu13==0.11.1->bionemo-ir)\n", + " Downloading nvidia_cuda_nvrtc-13.4.59-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.8 kB)\n", + "Requirement already satisfied: opentelemetry-api==1.37.0 in /usr/local/lib/python3.12/dist-packages (from opentelemetry-sdk>=1.30.0->ray[data,serve]==2.56.1->bionemo-ir) (1.37.0)\n", + "Requirement already satisfied: opentelemetry-semantic-conventions==0.58b0 in /usr/local/lib/python3.12/dist-packages (from opentelemetry-sdk>=1.30.0->ray[data,serve]==2.56.1->bionemo-ir) (0.58b0)\n", + "Requirement already satisfied: importlib-metadata<8.8.0,>=6.0 in /usr/local/lib/python3.12/dist-packages (from opentelemetry-api==1.37.0->opentelemetry-sdk>=1.30.0->ray[data,serve]==2.56.1->bionemo-ir) (8.7.0)\n", + "Requirement already satisfied: zipp>=3.20 in /usr/local/lib/python3.12/dist-packages (from importlib-metadata<8.8.0,>=6.0->opentelemetry-api==1.37.0->opentelemetry-sdk>=1.30.0->ray[data,serve]==2.56.1->bionemo-ir) (3.23.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas->datasets==4.8.4->bionemo-ir) (2.9.0.post0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.8.2->pandas->datasets==4.8.4->bionemo-ir) (1.17.0)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests>=2.12->biotite==1.6.0->bionemo-ir) (3.4.3)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests>=2.12->biotite==1.6.0->bionemo-ir) (2.5.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.12/dist-packages (from anyio->httpx<1.0.0->datasets==4.8.4->bionemo-ir) (1.3.1)\n", + "Collecting setuptools>=77.0.3 (from torch>=2.11->bionemo-ir)\n", + " Using cached setuptools-84.0.0-py3-none-any.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.12/dist-packages (from torch>=2.11->bionemo-ir) (3.1.6)\n", + "Collecting cuda-toolkit==13.0.3 (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading cuda_toolkit-13.0.3.0-py2.py3-none-any.whl.metadata (17 kB)\n", + "Collecting nvidia-cudnn-cu13==9.24.0.43 (from torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cudnn_cu13-9.24.0.43-py3-none-manylinux_2_27_x86_64.whl.metadata (1.9 kB)\n", + "Collecting nvidia-cusparselt-cu13==0.8.1 (from torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_x86_64.whl.metadata (12 kB)\n", + "Collecting nvidia-nccl-cu13==2.30.7 (from torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_nccl_cu13-2.30.7-py3-none-manylinux_2_18_x86_64.whl.metadata (2.1 kB)\n", + "Collecting nvidia-nvshmem-cu13==3.4.5 (from torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.1 kB)\n", + "INFO: pip is looking at multiple versions of torch to determine which version is compatible with other requirements. This could take a while.\n", + "Collecting torch>=2.11 (from bionemo-ir)\n", + " Downloading torch-2.13.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (38 kB)\n", + "Collecting nvidia-cudnn-cu13==9.20.0.48 (from torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_x86_64.whl.metadata (1.9 kB)\n", + "Collecting nvidia-nccl-cu13==2.29.7 (from torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_nccl_cu13-2.29.7-py3-none-manylinux_2_18_x86_64.whl.metadata (2.1 kB)\n", + "Collecting torch>=2.11 (from bionemo-ir)\n", + " Downloading torch-2.12.1-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (31 kB)\n", + "Requirement already satisfied: setuptools<82 in /usr/local/lib/python3.12/dist-packages (from torch>=2.11->bionemo-ir) (75.2.0)\n", + "Collecting cuda-toolkit==13.0.2 (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading cuda_toolkit-13.0.2-py2.py3-none-any.whl.metadata (9.4 kB)\n", + "Collecting nvidia-cublas>=12.5.0 (from cuequivariance-ops-cu13==0.11.1->bionemo-ir)\n", + " Downloading nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_x86_64.whl.metadata (1.8 kB)\n", + "Collecting torch>=2.11 (from bionemo-ir)\n", + " Downloading torch-2.12.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (31 kB)\n", + "Collecting nvidia-cuda-runtime==13.0.96.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)\n", + "Collecting nvidia-cufft==12.0.0.61.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cufft-12.0.0.61-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.8 kB)\n", + "Collecting nvidia-cufile==1.15.1.6.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cufile-1.15.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)\n", + "Collecting nvidia-cuda-cupti==13.0.85.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_x86_64.whl.metadata (1.7 kB)\n", + "Collecting nvidia-curand==10.4.0.35.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_x86_64.whl.metadata (1.7 kB)\n", + "Collecting nvidia-cusolver==12.0.4.66.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_x86_64.whl.metadata (1.8 kB)\n", + "Collecting nvidia-cusparse==12.6.3.3.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.8 kB)\n", + "Collecting nvidia-nvjitlink==13.0.88.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_nvjitlink-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n", + "Collecting nvidia-cuda-nvrtc==13.0.88.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n", + "Collecting nvidia-nvtx==13.0.85.* (from cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"->torch>=2.11->bionemo-ir)\n", + " Downloading nvidia_nvtx-13.0.85-py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl.metadata (1.8 kB)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from sympy->cuequivariance==0.11.1->bionemo-ir) (1.3.0)\n", + "Collecting distlib<1,>=0.3.7 (from virtualenv!=20.21.1,>=20.0.24->ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading distlib-0.4.3-py2.py3-none-any.whl.metadata (5.3 kB)\n", + "Collecting filelock (from datasets==4.8.4->bionemo-ir)\n", + " Downloading filelock-3.32.6-py3-none-any.whl.metadata (2.0 kB)\n", + "Collecting python-discovery>=1.6 (from virtualenv!=20.21.1,>=20.0.24->ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading python_discovery-1.6.0-py3-none-any.whl.metadata (5.1 kB)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.12/dist-packages (from jinja2->torch>=2.11->bionemo-ir) (3.0.3)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.12/dist-packages (from jsonschema->ray==2.56.1->ray[data,serve]==2.56.1->bionemo-ir) (2025.9.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.12/dist-packages (from jsonschema->ray==2.56.1->ray[data,serve]==2.56.1->bionemo-ir) (0.36.2)\n", + "Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.12/dist-packages (from jsonschema->ray==2.56.1->ray[data,serve]==2.56.1->bionemo-ir) (0.27.1)\n", + "Collecting opencensus-context>=0.1.3 (from opencensus->ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opencensus_context-0.1.3-py2.py3-none-any.whl.metadata (3.3 kB)\n", + "Requirement already satisfied: google-api-core<3.0.0,>=1.0.0 in /usr/local/lib/python3.12/dist-packages (from opencensus->ray[data,serve]==2.56.1->bionemo-ir) (2.25.2)\n", + "Requirement already satisfied: googleapis-common-protos<2.0.0,>=1.56.2 in /usr/local/lib/python3.12/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[data,serve]==2.56.1->bionemo-ir) (1.70.0)\n", + "Requirement already satisfied: proto-plus<2.0.0,>=1.22.3 in /usr/local/lib/python3.12/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[data,serve]==2.56.1->bionemo-ir) (1.26.1)\n", + "Requirement already satisfied: google-auth<3.0.0,>=2.14.1 in /usr/local/lib/python3.12/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[data,serve]==2.56.1->bionemo-ir) (2.38.0)\n", + "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[data,serve]==2.56.1->bionemo-ir) (5.5.2)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.12/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[data,serve]==2.56.1->bionemo-ir) (0.4.2)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.12/dist-packages (from google-auth<3.0.0,>=2.14.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[data,serve]==2.56.1->bionemo-ir) (4.9.1)\n", + "Requirement already satisfied: pyasn1>=0.1.3 in /usr/local/lib/python3.12/dist-packages (from rsa<5,>=3.1.4->google-auth<3.0.0,>=2.14.1->google-api-core<3.0.0,>=1.0.0->opencensus->ray[data,serve]==2.56.1->bionemo-ir) (0.6.1)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.44.0-py3-none-any.whl.metadata (1.6 kB)\n", + "INFO: pip is looking at multiple versions of opentelemetry-sdk to determine which version is compatible with other requirements. This could take a while.\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.64b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.43.0-py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.63b1-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.42.1-py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.63b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.42.0-py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.62b1-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.41.1-py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.62b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.41.0-py3-none-any.whl.metadata (1.7 kB)\n", + "INFO: pip is still looking at multiple versions of opentelemetry-sdk to determine which version is compatible with other requirements. This could take a while.\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.61b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.40.0-py3-none-any.whl.metadata (1.6 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.60b1-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.39.1-py3-none-any.whl.metadata (1.5 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.60b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.39.0-py3-none-any.whl.metadata (1.5 kB)\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.59b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting opentelemetry-sdk>=1.30.0 (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_sdk-1.38.0-py3-none-any.whl.metadata (1.5 kB)\n", + "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\n", + "Collecting opentelemetry-exporter-prometheus (from ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading opentelemetry_exporter_prometheus-0.58b0-py3-none-any.whl.metadata (2.1 kB)\n", + "Requirement already satisfied: wrapt in /usr/local/lib/python3.12/dist-packages (from smart_open->ray[data,serve]==2.56.1->bionemo-ir) (1.17.3)\n", + "Collecting httptools>=0.6.3 (from uvicorn[standard]; extra == \"serve\"->ray[data,serve]==2.56.1->bionemo-ir)\n", + " Downloading httptools-0.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (3.5 kB)\n", + "Requirement already satisfied: python-dotenv>=0.13 in /usr/local/lib/python3.12/dist-packages (from uvicorn[standard]; extra == \"serve\"->ray[data,serve]==2.56.1->bionemo-ir) (1.1.1)\n", + "Requirement already satisfied: websockets>=10.4 in /usr/local/lib/python3.12/dist-packages (from uvicorn[standard]; extra == \"serve\"->ray[data,serve]==2.56.1->bionemo-ir) (15.0.1)\n", + "Downloading bionemo_ir-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl (11.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.7/11.7 MB\u001b[0m \u001b[31m85.1 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading biotite-1.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (57.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m57.2/57.2 MB\u001b[0m \u001b[31m89.5 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cuequivariance-0.11.1-py3-none-any.whl (250 kB)\n", + "Downloading cuequivariance_ops_cu13-0.11.1-py3-none-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (37.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m37.2/37.2 MB\u001b[0m \u001b[31m86.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cuequivariance_ops_torch_cu13-0.11.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (460 kB)\n", + "Downloading datasets-4.8.4-py3-none-any.whl (526 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m527.0/527.0 kB\u001b[0m \u001b[31m39.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading gemmi-0.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.2/3.2 MB\u001b[0m \u001b[31m59.8 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading kalign_python-3.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (273 kB)\n", + "Downloading lru_dict-1.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (31 kB)\n", + "Downloading modelcif-1.6-py3-none-any.whl (47 kB)\n", + "Downloading nvidia_cutlass_dsl-4.5.2-py3-none-any.whl (10 kB)\n", + "Downloading nvidia_cutlass_dsl_libs_base-4.5.2-cp312-cp312-manylinux_2_28_x86_64.whl (74.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m74.5/74.5 MB\u001b[0m \u001b[31m89.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cutlass_dsl_libs_cu13-4.5.2-cp312-cp312-manylinux_2_28_x86_64.whl (78.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m78.8/78.8 MB\u001b[0m \u001b[31m72.1 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0m\n", + "\u001b[?25hDownloading ray-2.56.1-cp312-cp312-manylinux2014_x86_64.whl (74.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m74.2/74.2 MB\u001b[0m \u001b[31m67.4 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0m\n", + "\u001b[?25hDownloading rdkit-2025.9.6-cp312-cp312-manylinux_2_28_x86_64.whl (36.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m36.7/36.7 MB\u001b[0m \u001b[31m73.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m38.2/38.2 MB\u001b[0m \u001b[31m73.9 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.7/4.7 MB\u001b[0m \u001b[31m68.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading apache_tvm_ffi-0.1.13.post3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m67.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading biotraj-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m59.8 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading triton-3.7.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (201.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m201.5/201.5 MB\u001b[0m \u001b[31m65.7 MB/s\u001b[0m \u001b[33m0:00:03\u001b[0m\n", + "\u001b[?25hDownloading py3dmol-2.5.5-py2.py3-none-any.whl (7.2 kB)\n", + "Downloading aiohttp-3.14.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m57.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading biopython-1.88-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.2/3.2 MB\u001b[0m \u001b[31m73.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cuda_python-13.4.1-py3-none-any.whl (7.6 kB)\n", + "Downloading cuda_bindings-13.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.2/7.2 MB\u001b[0m \u001b[31m77.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cuda_core-1.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.6/6.6 MB\u001b[0m \u001b[31m75.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cuda_pathfinder-1.8.1-py3-none-any.whl (62 kB)\n", + "Downloading fastapi-0.141.1-py3-none-any.whl (131 kB)\n", + "Downloading annotated_doc-0.0.5-py3-none-any.whl (5.3 kB)\n", + "Downloading pandas-3.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (11.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.0/11.0 MB\u001b[0m \u001b[31m81.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading py_spy-0.4.2-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m69.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pyarrow-25.0.1-cp312-cp312-manylinux_2_28_x86_64.whl (50.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.1/50.1 MB\u001b[0m \u001b[31m77.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading starlette-1.6.0-py3-none-any.whl (75 kB)\n", + "Downloading torch-2.12.0-cp312-cp312-manylinux_2_28_x86_64.whl (532.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m532.3/532.3 MB\u001b[0m \u001b[31m56.1 MB/s\u001b[0m \u001b[33m0:00:07\u001b[0m\n", + "\u001b[?25hDownloading cuda_toolkit-13.0.2-py2.py3-none-any.whl (2.4 kB)\n", + "Downloading nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_x86_64.whl (366.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m366.2/366.2 MB\u001b[0m \u001b[31m62.7 MB/s\u001b[0m \u001b[33m0:00:05\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_x86_64.whl (170.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m170.1/170.1 MB\u001b[0m \u001b[31m85.2 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nccl_cu13-2.29.7-py3-none-manylinux_2_18_x86_64.whl (206.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m206.0/206.0 MB\u001b[0m \u001b[31m69.4 MB/s\u001b[0m \u001b[33m0:00:02\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (60.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.4/60.4 MB\u001b[0m \u001b[31m89.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_x86_64.whl (423.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m423.1/423.1 MB\u001b[0m \u001b[31m54.9 MB/s\u001b[0m \u001b[33m0:00:06\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_x86_64.whl (10.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.7/10.7 MB\u001b[0m \u001b[31m22.9 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (90.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m90.2/90.2 MB\u001b[0m \u001b[31m87.7 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m73.5 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cufft-12.0.0.61-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (214.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m214.1/214.1 MB\u001b[0m \u001b[31m74.9 MB/s\u001b[0m \u001b[33m0:00:02\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cufile-1.15.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m63.8 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_x86_64.whl (59.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m59.5/59.5 MB\u001b[0m \u001b[31m80.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_x86_64.whl (200.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m200.9/200.9 MB\u001b[0m \u001b[31m62.0 MB/s\u001b[0m \u001b[33m0:00:03\u001b[0m\n", + "\u001b[?25hDownloading nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (145.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m145.9/145.9 MB\u001b[0m \u001b[31m58.8 MB/s\u001b[0m \u001b[33m0:00:02\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nvjitlink-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (40.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m40.7/40.7 MB\u001b[0m \u001b[31m73.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading nvidia_nvtx-13.0.85-py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl (148 kB)\n", + "Downloading virtualenv-21.7.9-py3-none-any.whl (5.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.3/5.3 MB\u001b[0m \u001b[31m69.6 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading distlib-0.4.3-py2.py3-none-any.whl (470 kB)\n", + "Downloading filelock-3.32.6-py3-none-any.whl (100 kB)\n", + "Downloading python_discovery-1.6.0-py3-none-any.whl (38 kB)\n", + "Downloading aiohttp_cors-0.8.1-py3-none-any.whl (25 kB)\n", + "Downloading colorful-0.5.8-py2.py3-none-any.whl (201 kB)\n", + "Downloading mmh3-5.3.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (103 kB)\n", + "Downloading opencensus-0.11.4-py2.py3-none-any.whl (128 kB)\n", + "Downloading opencensus_context-0.1.3-py2.py3-none-any.whl (5.1 kB)\n", + "Downloading opentelemetry_exporter_prometheus-0.58b0-py3-none-any.whl (13 kB)\n", + "Downloading opentelemetry_proto-1.44.0-py3-none-any.whl (72 kB)\n", + "Downloading httptools-0.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (523 kB)\n", + "Downloading watchfiles-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (456 kB)\n", + "Building wheels for collected packages: ihm\n", + " Building wheel for ihm (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for ihm: filename=ihm-2.11-cp312-cp312-linux_x86_64.whl size=402441 sha256=779c5075f9a99985fcbb0e77bf48fe4d5657ef8b82feebc68122fe87f442ceee\n", + " Stored in directory: /root/.cache/pip/wheels/8c/2c/85/f05a97a371c54bdbc19230192bda832eebeb274e0d2c51f976\n", + "Successfully built ihm\n", + "Installing collected packages: py3Dmol, py-spy, opencensus-context, nvidia-cusparselt-cu13, distlib, cuda-toolkit, colorful, uvloop, triton, scipy, rdkit, pyarrow, opentelemetry-proto, nvidia-nvtx, nvidia-nvshmem-cu13, nvidia-nvjitlink, nvidia-nccl-cu13, nvidia-curand, nvidia-cufile, nvidia-cuda-runtime, nvidia-cuda-nvrtc, nvidia-cuda-cupti, mmh3, lru-dict, kalign-python, ihm, httptools, gemmi, filelock, cuda-pathfinder, biopython, apache-tvm-ffi, annotated-doc, watchfiles, starlette, python-discovery, pandas, nvidia-cusparse, nvidia-cufft, nvidia-cublas, modelcif, cuequivariance, cuda-core, cuda-bindings, biotraj, aiohttp, virtualenv, nvidia-cusolver, nvidia-cudnn-cu13, fastapi, cuequivariance-ops-cu13, cuda-python, biotite, aiohttp_cors, ray, opencensus, nvidia-cutlass-dsl-libs-base, datasets, torch, opentelemetry-exporter-prometheus, nvidia-cutlass-dsl-libs-cu13, nvidia-cutlass-dsl, cuequivariance-ops-torch-cu13, bionemo-ir\n", + "\u001b[2K Attempting uninstall: triton\n", + "\u001b[2K Found existing installation: triton 3.4.0\n", + "\u001b[2K Uninstalling triton-3.4.0:\n", + "\u001b[2K Successfully uninstalled triton-3.4.0\n", + "\u001b[2K Attempting uninstall: scipy\n", + "\u001b[2K Found existing installation: scipy 1.16.2\n", + "\u001b[2K Uninstalling scipy-1.16.2:\n", + "\u001b[2K Successfully uninstalled scipy-1.16.2\n", + "\u001b[2K Attempting uninstall: pyarrow\n", + "\u001b[2K Found existing installation: pyarrow 18.1.0\n", + "\u001b[2K Uninstalling pyarrow-18.1.0:\n", + "\u001b[2K Successfully uninstalled pyarrow-18.1.0\n", + "\u001b[2K Attempting uninstall: filelock\n", + "\u001b[2K Found existing installation: filelock 3.20.0\n", + "\u001b[2K Uninstalling filelock-3.20.0:\n", + "\u001b[2K Successfully uninstalled filelock-3.20.0\n", + "\u001b[2K Attempting uninstall: starlette\n", + "\u001b[2K Found existing installation: starlette 0.48.0\n", + "\u001b[2K Uninstalling starlette-0.48.0:\n", + "\u001b[2K Successfully uninstalled starlette-0.48.0\n", + "\u001b[2K Attempting uninstall: pandas\n", + "\u001b[2K Found existing installation: pandas 2.2.2\n", + "\u001b[2K Uninstalling pandas-2.2.2:\n", + "\u001b[2K Successfully uninstalled pandas-2.2.2\n", + "\u001b[2K Attempting uninstall: aiohttp\n", + "\u001b[2K Found existing installation: aiohttp 3.13.0\n", + "\u001b[2K Uninstalling aiohttp-3.13.0:\n", + "\u001b[2K Successfully uninstalled aiohttp-3.13.0\n", + "\u001b[2K Attempting uninstall: fastapi\n", + "\u001b[2K Found existing installation: fastapi 0.118.2\n", + "\u001b[2K Uninstalling fastapi-0.118.2:\n", + "\u001b[2K Successfully uninstalled fastapi-0.118.2\n", + "\u001b[2K Attempting uninstall: cuda-python\n", + "\u001b[2K Found existing installation: cuda-python 12.6.2.post1\n", + "\u001b[2K Uninstalling cuda-python-12.6.2.post1:\n", + "\u001b[2K Successfully uninstalled cuda-python-12.6.2.post1\n", + "\u001b[2K Attempting uninstall: datasets\n", + "\u001b[2K Found existing installation: datasets 4.0.0\n", + "\u001b[2K Uninstalling datasets-4.0.0:\n", + "\u001b[2K Successfully uninstalled datasets-4.0.0\n", + "\u001b[2K Attempting uninstall: torch\n", + "\u001b[2K Found existing installation: torch 2.8.0+cu126\n", + "\u001b[2K Uninstalling torch-2.8.0+cu126:\n", + "\u001b[2K Successfully uninstalled torch-2.8.0+cu126\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m64/64\u001b[0m [bionemo-ir]\n", + "\u001b[1A\u001b[2K\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "google-colab 1.0.0 requires pandas==2.2.2, but you have pandas 3.0.5 which is incompatible.\n", + "bqplot 0.12.45 requires pandas<3.0.0,>=1.0.0, but you have pandas 3.0.5 which is incompatible.\n", + "cudf-cu12 25.6.0 requires cuda-python<13.0a0,>=12.6.2, but you have cuda-python 13.4.1 which is incompatible.\n", + "cudf-cu12 25.6.0 requires pandas<2.2.4dev0,>=2.0, but you have pandas 3.0.5 which is incompatible.\n", + "cudf-cu12 25.6.0 requires pyarrow<20.0.0a0,>=14.0.0; platform_machine == \"x86_64\", but you have pyarrow 25.0.1 which is incompatible.\n", + "cuml-cu12 25.6.0 requires cuda-python<13.0a0,>=12.6.2, but you have cuda-python 13.4.1 which is incompatible.\n", + "cuvs-cu12 25.6.1 requires cuda-python<13.0a0,>=12.6.2, but you have cuda-python 13.4.1 which is incompatible.\n", + "dask-cudf-cu12 25.6.0 requires pandas<2.2.4dev0,>=2.0, but you have pandas 3.0.5 which is incompatible.\n", + "fastai 2.8.4 requires torch<2.9,>=1.10, but you have torch 2.12.0 which is incompatible.\n", + "google-adk 1.14.1 requires starlette<1.0.0,>=0.46.2, but you have starlette 1.6.0 which is incompatible.\n", + "gradio 5.49.0 requires pandas<3.0,>=1.0, but you have pandas 3.0.5 which is incompatible.\n", + "gradio 5.49.0 requires starlette<1.0,>=0.40.0, but you have starlette 1.6.0 which is incompatible.\n", + "pylibcudf-cu12 25.6.0 requires cuda-python<13.0a0,>=12.6.2, but you have cuda-python 13.4.1 which is incompatible.\n", + "pylibcudf-cu12 25.6.0 requires pyarrow<20.0.0a0,>=14.0.0; platform_machine == \"x86_64\", but you have pyarrow 25.0.1 which is incompatible.\n", + "pylibraft-cu12 25.6.0 requires cuda-python<13.0a0,>=12.6.2, but you have cuda-python 13.4.1 which is incompatible.\n", + "rmm-cu12 25.6.0 requires cuda-python<13.0a0,>=12.6.2, but you have cuda-python 13.4.1 which is incompatible.\n", + "torchaudio 2.8.0+cu126 requires torch==2.8.0, but you have torch 2.12.0 which is incompatible.\n", + "torchvision 0.23.0+cu126 requires torch==2.8.0, but you have torch 2.12.0 which is incompatible.\n", + "tsfresh 0.21.1 requires scipy>=1.14.0; python_version >= \"3.10\", but you have scipy 1.13.1 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed aiohttp-3.14.3 aiohttp_cors-0.8.1 annotated-doc-0.0.5 apache-tvm-ffi-0.1.13.post3 bionemo-ir-0.1.0 biopython-1.88 biotite-1.6.0 biotraj-1.2.2 colorful-0.5.8 cuda-bindings-13.4.1 cuda-core-1.2.0 cuda-pathfinder-1.8.1 cuda-python-13.4.1 cuda-toolkit-13.0.2 cuequivariance-0.11.1 cuequivariance-ops-cu13-0.11.1 cuequivariance-ops-torch-cu13-0.11.1 datasets-4.8.4 distlib-0.4.3 fastapi-0.141.1 filelock-3.32.6 gemmi-0.6.5 httptools-0.8.0 ihm-2.11 kalign-python-3.6.0 lru-dict-1.4.1 mmh3-5.3.0 modelcif-1.6 nvidia-cublas-13.1.1.3 nvidia-cuda-cupti-13.0.85 nvidia-cuda-nvrtc-13.0.88 nvidia-cuda-runtime-13.0.96 nvidia-cudnn-cu13-9.20.0.48 nvidia-cufft-12.0.0.61 nvidia-cufile-1.15.1.6 nvidia-curand-10.4.0.35 nvidia-cusolver-12.0.4.66 nvidia-cusparse-12.6.3.3 nvidia-cusparselt-cu13-0.8.1 nvidia-cutlass-dsl-4.5.2 nvidia-cutlass-dsl-libs-base-4.5.2 nvidia-cutlass-dsl-libs-cu13-4.5.2 nvidia-nccl-cu13-2.29.7 nvidia-nvjitlink-13.0.88 nvidia-nvshmem-cu13-3.4.5 nvidia-nvtx-13.0.85 opencensus-0.11.4 opencensus-context-0.1.3 opentelemetry-exporter-prometheus-0.58b0 opentelemetry-proto-1.44.0 pandas-3.0.5 py-spy-0.4.2 py3Dmol-2.5.5 pyarrow-25.0.1 python-discovery-1.6.0 ray-2.56.1 rdkit-2025.9.6 scipy-1.13.1 starlette-1.6.0 torch-2.12.0 triton-3.7.0 uvloop-0.21.0 virtualenv-21.7.9 watchfiles-1.2.0\n" + ] + } + ], + "source": [ + "!python --version\n", + "!python -m pip install --upgrade pip\n", + "!python -m pip install bionemo-ir py3Dmol" + ] + }, + { + "cell_type": "code", + "source": [ + "!pip install --force-reinstall --no-cache-dir --no-deps cuda-bindings==13.4.1\n", + "!git clone https://github.com/NVIDIA-BioNeMo/BioNeMo-Inference-Runtime.git\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "slZkzEs3Wu6E", + "outputId": "4635633c-d199-4ec2-f403-7d0afc04cf13" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting cuda-bindings==13.4.1\n", + " Downloading cuda_bindings-13.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)\n", + "Downloading cuda_bindings-13.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.2/7.2 MB\u001b[0m \u001b[31m145.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: cuda-bindings\n", + " Attempting uninstall: cuda-bindings\n", + " Found existing installation: cuda-bindings 13.4.1\n", + " Uninstalling cuda-bindings-13.4.1:\n", + " Successfully uninstalled cuda-bindings-13.4.1\n", + "Successfully installed cuda-bindings-13.4.1\n", + "Cloning into 'BioNeMo-Inference-Runtime'...\n", + "remote: Enumerating objects: 972, done.\u001b[K\n", + "remote: Counting objects: 100% (648/648), done.\u001b[K\n", + "remote: Compressing objects: 100% (599/599), done.\u001b[K\n", + "remote: Total 972 (delta 125), reused 238 (delta 45), pack-reused 324 (from 1)\u001b[K\n", + "Receiving objects: 100% (972/972), 2.52 MiB | 13.57 MiB/s, done.\n", + "Resolving deltas: 100% (160/160), done.\n", + "Filtering content: 100% (104/104), 84.39 MiB | 30.19 MiB/s, done.\n", + "/content/BioNeMo-Inference-Runtime\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "!cp -r BioNeMo-Inference-Runtime/examples ." + ], + "metadata": { + "id": "FQPPpVJolLi0" + }, + "execution_count": 3, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import bionemo_ir\n", + "from huggingface_hub import login\n", + "\n", + "\n", + "login() # paste your HF token when prompted\n", + "print(bionemo_ir.__version__)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 17, + "referenced_widgets": [ + "a60c22bc85944e84b4956f17d16e9fdb", + "1bac4d08ed2f4e5ca6179358cb452ad0", + "1e878f52fe0f4332a66cbb2b2aac1a88", + "9408b17db17a4dab830cae6e49513df2", + "f28cb7b2997244f99afc17d0fed9eb0d", + "dc32cb4712c64647a5fad05d932d9d70", + "c9516bf718b14c8fa5a3ab03d21fc04b", + "f07b0133458e49c3881fad9dbaadaea0", + "d1c8705010864ec3870b49784eaf6890", + "12a315310ae447ccaf1dddc7d80475d4", + "13a3506e8fc1442bbf6cdfbb4770bba3", + "cf78019348a6420fa9152443738e28ef", + "5741c5ffda3948c392dd2c25c7020cdd", + "8c34c25160e742a69bce52d585f5075e", + "8f5e772c2bcc45ba9af7455e8e3921ef", + "b1f7b84db3a04a069b3094a20c1eea4b", + "d6d4f7f0188045f099a1cb49880f86d5", + "352cbaebfb8b4bc39779f7974dac26ee", + "8204bfcfc94d4b98882ebe4e33f1b9c3", + "8cbcb8398dcf4a7d83445d26c9ea0a98" + ] + }, + "id": "DdDOYXL3ilOe", + "outputId": "db65c6ba-25f1-4db2-e745-4f749e6621a6" + }, + "execution_count": 4, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "VBox(children=(HTML(value='
" + ], + "image/png": "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ERERERHR85SZebpflfT0dNja2iI8XM4x3URERERERFQiqanp8PW1hVwuh41N4blluRrTTURERERERFSeMOkmIiIiIiIiMhAm3UREREREREQGwqSbiIiIiIiIyECYdBMREREREREZCJNuIiIiIiIiIgNh0k1ERERERERkIEy6iYiIiIiIiAyESTcRERERERGRgTDpJiIiIiIiIjIQJt1EREREREREBsKkm4iIiIiIiMhAmHQTERERERERGYiJsQMwFoVKjVyl2thhEBERERERUTmkUBUtn3xjk+6EzDhkItPYYRAREREREVE5lJWZUaT13tik29VFAjs7qbHDICIiIiIionIoLU1SpPXe2KRbJpXATPrGnj4RERERERG9BJm0aEk3C6kRERERERERGQiTbiIiIiIiIiIDYdJNREREREREZCBMuomIiIiIiIgMhEk3ERERERERkYEw6SYiIiIiIiIyECbdRERERERERAbCpJuIiIiIiIjIQJh0ExERERERERkIk24iIiIiIiIiA2HSTURERERERGQgTLqJiIiIiIiIDIRJNxEREREREZGBGD3pXrBgASpXrgwzMzM0atQIZ8+efe76c+fORfXq1WFubg4vLy+MHTsWubm5ryhaIiIiIiIioqIzatK9fv16jBs3DlOmTMHFixcRGBiIdu3aITExscD1165di/Hjx2PKlCm4desWfv/9d6xfvx5ff/31K46ciIiIiIiI6MWMmnTPmTMHgwcPRkhICAICArB48WJYWFjgjz/+KHD9kydPomnTpujTpw8qV66Mtm3bonfv3i9sHSciIiIiIiIyBqMl3UqlEhcuXEBQUNB/wYjFCAoKwqlTpwrcpkmTJrhw4YI+yY6MjMSePXvQsWPHQo+jUCiQnp6e50FERERERET0KpgY68DJycnQaDRwdXXNs9zV1RW3b98ucJs+ffogOTkZzZo1gyAIUKvV+PTTT5/bvXzGjBn49ttvSzV2IiIiIiIioqIweiG14jh69CimT5+OhQsX4uLFi9iyZQt2796N77//vtBtJkyYALlcrn/ExMS8woiJiIiIiIgMR60VIAiCscOg5zBaS7eTkxMkEgkSEhLyLE9ISICbm1uB20yaNAn9+vXDoEGDAAC1atVCVlYWhgwZgokTJ0Iszn8PQSaTQSaTlf4JEBERERERGVFMSi6G/XULjpam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duvWrUPv3r3x/vvvY9u2bcU+LhEREREREZEhFSvpPnLkSL5lgiAAAEQiUYkCWL9+PcaNG4fFixejUaNGmDt3Ltq1a4ewsDC4uLgUul1UVBQ+//xzNG/evETHJSIiIiIiIjK0Eo/p/v3331GzZk2YmZnBzMwMNWvWxPLly4u9nzlz5mDw4MEICQlBQEAAFi9eDAsLC/zxxx+FbqPRaNC3b198++238PHxKekpEBERERERERlUiZLuyZMnY/To0ejcuTM2btyIjRs3onPnzhg7diwmT55c5P0olUpcuHABQUFB/wUkFiMoKAinTp0qdLvvvvsOLi4uGDhwYEnCJyIiIiIiInolitW9/IlFixZh2bJl6N27t35Zly5dULt2bYwaNQrfffddkfaTnJwMjUYDV1fXPMtdXV1x+/btArc5fvw4fv/9d1y+fLlIx1AoFFAoFPqf09PTi7QdERERERER0csqUUu3SqVCgwYN8i2vX78+1Gr1SwdVmIyMDPTr1w/Lli2Dk5NTkbaZMWMGbG1t9Q8vLy+DxUdERERERET0tBIl3f369cOiRYvyLV+6dCn69u1b5P04OTlBIpEgISEhz/KEhAS4ubnlWz8iIgJRUVHo3LkzTExMYGJiglWrVmHHjh0wMTFBREREvm0mTJgAuVyuf8TExBQ5PiIiIiIiIqKXUaLu5YCukNqBAwfw9ttvAwDOnDmD6Oho9O/fP8983nPmzCl0H1KpFPXr10doaCi6du0KANBqtQgNDcXIkSPzre/n54dr167lWfbNN98gIyMDv/76a4Gt2DKZDDKZrCSnSERERERERPRSSpR0X79+HfXq1QMAfeuyk5MTnJyccP36df16RZlGbNy4cQgODkaDBg3QsGFDzJ07F1lZWQgJCQEA9O/fH56enpgxY4a+SvrT7OzsACDfciIiIiIiIiJjK1HSXdB83SXVs2dPJCUlYfLkyYiPj0edOnWwb98+fXG16OhoiMUlntmMiIiIiIiIyGhEgiAIxg7iVUpPT4etrS3k4eGwsbc3djhERERERERUDqWnpsLW1xdyuRw2NjaFrscmZCIiIiIiIiIDYdJNREREREREZCBMuomIiIiIiIgMhEk3ERERERERkYEw6SYiIiIiIiIyECbdRERERERERAbCpJuIiIiIiIjIQJh0ExERERERERkIk24iIiIiIiIiA2HSTURERERERGQgTLqJiIiIiIiIDIRJNxEREREREZGBMOkmIiIiIiIiMhAm3UREREREREQGwqSbiIiIiIiIyECYdBMREREREREZCJNuIiIiIiIiIgNh0k1ERERERERkIEy6iYiIiIiIiAyESTcRERERERGRgTDpJiIiIiIiIjIQJt1EREREREREBsKkm4iIiIiIiMhAmHQTERERERERGQiTbiIiIiIiIiIDYdJNREREREREZCBMuomIiIiIiIgMhEk3ERERERERkYEw6SYiIiIiIiIyECbdRERERERERAZSJpLuBQsWoHLlyjAzM0OjRo1w9uzZQtddtmwZmjdvDnt7e9jb2yMoKOi56xMREREREREZi9GT7vXr12PcuHGYMmUKLl68iMDAQLRr1w6JiYkFrn/06FH07t0bR44cwalTp+Dl5YW2bdsiNjb2FUdORERERERE9HwiQRAEYwbQqFEjvPXWW5g/fz4AQKvVwsvLC6NGjcL48eNfuL1Go4G9vT3mz5+P/v37v3D99PR02NraQh4eDht7+5eOn4iIiIiIiN486ampsPX1hVwuh42NTaHrGbWlW6lU4sKFCwgKCtIvE4vFCAoKwqlTp4q0j+zsbKhUKjg4OBgqTCIiIiIiIqISMTHmwZOTk6HRaODq6ppnuaurK27fvl2kfXz11Vfw8PDIk7g/TaFQQKFQ6H9OT08vecBERERERERExWD0Md0vY+bMmVi3bh22bt0KMzOzAteZMWMGbG1t9Q8vL69XHCURERERERG9qYyadDs5OUEikSAhISHP8oSEBLi5uT13259++gkzZ87EgQMHULt27ULXmzBhAuRyuf4RExNTKrETERERERERvYhRk26pVIr69esjNDRUv0yr1SI0NBSNGzcudLtZs2bh+++/x759+9CgQYPnHkMmk8HGxibPg4iIiIiIiOhVMOqYbgAYN24cgoOD0aBBAzRs2BBz585FVlYWQkJCAAD9+/eHp6cnZsyYAQD48ccfMXnyZKxduxaVK1dGfHw8AMDKygpWVlZGOw8iIiIiIiKiZxk96e7ZsyeSkpIwefJkxMfHo06dOti3b5++uFp0dDTE4v8a5BctWgSlUomPPvooz36mTJmCqVOnvsrQiYiIiIiIiJ7L6PN0v2qcp5uIiIiIiIheVrmYp5uIiIiIiIjodcakm4iIiIiIiMhAmHQT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Jvj5+QlLly7N87xWqxUmTZokuLq6CjKZTGjTpo0QFhZmpGiJ8ktPTxdGjx4tVKxYUTAzMxN8fHyEiRMnCgqFQr8Or2N6XYkEQRCMmfQTERERERERva44ppuIiIiIiIjIQJh0ExERERERERkIk24iIiIiIiIiA2HSTURERERERGQgTLqJiIiIiIiIDIRJNxEREREREZGBMOkmIiIiIiIiMhAm3UREREREREQGwqSbiIionIqKioJIJMLly5cLXefo0aMQiURIS0szaCwtW7bEmDFjXmofRTkfIiKi8oZJNxERkYF88sknEIlEEIlEMDU1hbe3N7788kvk5uaWyv69vLwQFxeHmjVrlsr+XsaWLVvw/fffGzsMIiKiMsfE2AEQERG9ztq3b48VK1ZApVLhwoULCA4Ohkgkwo8//vjS+5ZIJHBzcyuFKF+eg4ODsUMgIiIqk9jSTUREZEAymQxubm7w8vJC165dERQUhIMHD+qf12q1mDFjBry9vWFubo7AwEBs2rRJ/3xqair69u0LZ2dnmJubo1q1alixYgWAgrtj79mzB76+vjA3N0erVq0QFRWVJ56pU6eiTp06eZbNnTsXlStXzrNs+fLl8Pf3h5mZGfz8/LBw4cLnnuez3csrV66M6dOnY8CAAbC2tkbFihWxdOnSPNucPXsWdevWhZmZGRo0aIBLly7l2+/169fRoUMHWFlZwdXVFf369UNycjIAXdd5qVSKf//9V7/+rFmz4OLigoSEhOfGS0RE9Kow6SYiInpFrl+/jpMnT0IqleqXzZgxA6tWrcLixYtx48YNjB07Fh9//DGOHTsGAJg0aRJu3ryJvXv34tatW1i0aBGcnJwK3H9MTAy6deuGzp074/Llyxg0aBDGjx9f7DjXrFmDyZMn44cffsCtW7cwffp0TJo0CX/++Wex9vPzzz/rk+nhw4dj2LBhCAsLAwBkZmbivffeQ0BAAC5cuICpU6fi888/z7N9WloaWrdujbp16+L8+fPYt28fEhIS0KNHDwD/Jfr9+vWDXC7HpUuXMGnSJCxfvhyurq7FPm8iIiJDYPdyIiIiA9q1axesrKygVquhUCggFosxf/58AIBCocD06dNx6NAhNG7cGADg4+OD48ePY8mSJWjRogWio6NRt25dNGjQAADytUg/bdGiRahSpQp+/vlnAED16tVx7dq1YndlnzJlCn7++Wd069YNAODt7Y2bN29iyZIlCA4OLvJ+OnbsiOHDhwMAvvrqK/zyyy84cuQIqlevjrVr10Kr1eL333+HmZkZatSogQcPHmDYsGH67efPn4+6deti+vTp+mV//PEHvLy8EB4eDl9fX0ybNg0HDx7EkCFDcP36dQQHB6NLly7FOl8iIiJDYtJNRERkQK1atcKiRYuQlZWFX375BSYmJvjwww8BAHfv3kV2djbefffdPNsolUrUrVsXADBs2DB8+OGHuHjxItq2bYuuXbuiSZMmBR7r1q1baNSoUZ5lT5L5osrKykJERAQGDhyIwYMH65er1WrY2toWa1+1a9fW/18kEsHNzQ2JiYn6WGvXrg0zM7NCY71y5QqOHDkCKyurfPuOiIiAr68vpFIp1qxZg9q1a6NSpUr45ZdfihUjERGRoTHpJiIiMiBLS0tUrVoVgK6VNjAwEL///jsGDhyIzMxMAMDu3bvh6emZZzuZTAYA6NChA+7fv489e/bg4MGDaNOmDUaMGIGffvqpRPGIxWIIgpBnmUql0v//SUzLli3Ll8BLJJJiHcvU1DTPzyKRCFqttsjbZ2ZmonPnzgW21Lu7u+v/f/LkSQBASkoKUlJSYGlpWaw4iYiIDIljuomIiF4RsViMr7/+Gt988w1ycnIQEBAAmUyG6OhoVK1aNc/Dy8tLv52zszOCg4OxevVqzJ07N19Bsif8/f1x9uzZPMtOnz6d52dnZ2fEx8fnSbyfLsTm6uoKDw8PREZG5ovJ29u7FF6F/2K9evVqnunTno21Xr16uHHjBipXrpwvlieJdUREBMaOHau/SRAcHFysxJ6IiMjQmHQTERG9Qt27d4dEIsGCBQtgbW2Nzz//HGPHjsWff/6JiIgIXLx4EfPmzdMXLZs8eTK2b9+Ou3fv4saNG9i1axf8/f0L3Penn36KO3fu4IsvvkBYWBjWrl2LlStX5lmnZcuWSEpKwqxZsxAREYEFCxZg7969edb59ttvMWPGDPz2228IDw/HtWvXsGLFCsyZM6fUXoc+ffpAJBJh8ODBuHnzJvbs2ZOv9X7EiBFISUlB7969ce7cOURERGD//v0ICQmBRqOBRqPBxx9/jHbt2iEkJAQrVqzA1atX9WPaiYiIygIm3URERK+QiYkJRo4ciVmzZiErKwvff/89Jk2ahBkzZsDf3x/t27fH7t279a3KUqkUEyZMQO3atfHOO+9AIpFg3bp1Be67YsWK2Lx5M7Zt24bAwEAsXrw4TxEyQNfCvHDhQixYsACBgYE4e/ZsvqrhgwYNwvLly7FixQrUqlULLVq0wMqVK0u1pdvKygo7d+7EtWvXULduXUycODFfN3IPDw+cOHECGo0Gbdu2Ra1atTBmzBjY2dlBLBbjhx9+wP3797FkyRIAui7nS5cuxTfffIMrV66UWqxEREQvQyQ8O7CLiIiIiIiIiEoFW7qJiIiIiIiIDIRJNxEREREREZGBMOkmIiIiIiIiMhAm3UREREREREQGwqSbiIiIiIiIyECYdBMREREREREZCJNuIiIiIiIiIgNh0k1ERERERERkIEy6iYiIiIiIiAyESTcRERERERGRgTDpJiIiIiIiIjIQJt1EREREREREBvJ/N3G3R7go3nsAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "fig, ax = plt.subplots(figsize=(6, 5))\n", + "im = ax.imshow(pae, cmap=\"Greens_r\", vmin=0, vmax=max_pae)\n", + "ax.set_xlabel(\"Scored residue\")\n", + "ax.set_ylabel(\"Aligned residue\")\n", + "ax.set_title(f\"Predicted Aligned Error (pTM {ptm:.3f}, ipTM {iptm:.3f})\")\n", + "fig.colorbar(im, label=\"Expected position error (Å)\")\n", + "plt.tight_layout()\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 520 + }, + "id": "oIN_5_QPdIE4", + "outputId": "652062f8-d8ee-4853-d974-5f4218e0f34b" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAH3CAYAAABaVkAcAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA0ehJREFUeJzsnXecVNX5xp/pbRu9KAKiiaKgBnuMFcWuAWPBxN472I1dIooNY8FYYov9Z0liFAvR2LGBii2ohKIsfcvs9Jn7+2PZkfOcl53ZYReWnffrZz9y75x77rmn3Dlzz3Of1+U4jgNFURRFUZQyxr2uC6AoiqIoirKu0QmRoiiKoihlj06IFEVRFEUpe3RCpCiKoihK2aMTIkVRFEVRyh6dECmKoiiKUvbohEhRFEVRlLJHJ0SKoiiKopQ9OiFSFEVRFKXs0QlRJ2PQoEE47rjj8ttvvvkmXC4X3nzzzXVWJobL2B4cd9xxGDRokLHP5XLh6quvbtfztDedsX06gv333x8nn3zyui6GIrA+jJOuxI477oiLLrpoXRdD6QB0QrQKDz30EFwuV/4vGAziF7/4Bc466ywsWrRoXRevTbz00kud5iZZV1eHYDAIl8uFr7/+el0XZ53AfYv/Pvjgg3VdxNXy7rvv4tVXX8XFF1/cpuMKXXPLX8tE+Oqrr4bL5YLb7cb8+fOt/BoaGhAKheByuXDWWWcVVYb33nsPu+yyC8LhMPr27YtzzjkH0Wi0qGNXV94bbrjBSvvjjz/i8MMPR01NDaqqqnDIIYfghx9+sNLV19fjoosuwqabbopQKISBAwfixBNPxLx584oqU3vRUteF/nbffXcAzT9YXC4XqqqqEI/Hrfxmz56dP+bmm28uqgz/+Mc/8Ktf/QrBYBAbbbQRrrrqKmQymaKOzeVymDRpEgYPHoxgMIjhw4fjiSeeENN+/fXX2HfffVFRUYHu3bvjD3/4A5YsWVJynhdffDHuuusu1NbWFlVWZf3Bu64L0Bm59tprMXjwYCQSCbzzzjuYMmUKXnrpJcyaNQvhcHitlmXXXXdFPB6H3+9v03EvvfQS7rrrrk4xKXrmmWfgcrnQt29fPPbYY5gwYUJRx8XjcXi9XauLtvQtZpNNNlkHpSmOm266CXvttVeby7jrrrvi0UcfNfaddNJJ2H777XHKKafk91VUVBhpAoEAnnjiCetX+HPPPdem88+cORN77bUXNt98c9x6661YsGABbr75ZsyePRsvv/xyUXnsvffeOOaYY4x922yzjbEdjUaxxx57oL6+Hpdddhl8Ph9uu+027Lbbbpg5cyZ69OgBoPkLd++998ZXX32FM844A7/4xS/w3Xff4e6778Yrr7yCr7/+GpWVlW26RqC0cTJ69GijPaPRKE4//XT89re/xejRo/P7+/Tpk/+31+tFLBbDP//5Txx++OFGfo899hiCwSASiURR53/55Zdx6KGHYvfdd8cdd9yBL774AhMmTMDixYsxZcqUgsf/8Y9/xA033ICTTz4Z2223Hf7+979j7NixcLlcOPLII/PpFixYgF133RXV1dW4/vrrEY1GcfPNN+OLL77Ahx9+aNxXi83zkEMOQVVVFe6++25ce+21RV2vsp7gKHkefPBBB4Dz0UcfGfvHjx/vAHAef/zx1R4bjUbbpQwDBw50jj322DXO58wzz3Q6qnnbWsZdd93VGT16tDNu3Dhn8ODBYppjjz3WGThwYPsUcC3yxhtvOACcN954o9V0q+tbxZBOp51kMil+tqb9LpfLObFYbLWfL1q0yPF6vc7999+/RudpIRKJrLbvXHXVVQ4AZ/To0c7WW29tfb733ns7Y8aMcQA4Z555ZsFz7bfffk6/fv2c+vr6/L777rvPAeC88sorBY8v9jw33nijA8D58MMP8/u+/vprx+PxOJdeeml+37vvvusAcO68807j+L/+9a8OAOe5554reK6OYsmSJQ4A56qrrhI/P/bYY51IJOLss88+zqGHHmp9vummm+bb5qabbip4vqFDhzpbbbWVk06n8/v++Mc/Oi6Xy/n6669bPXbBggWOz+cz2iaXyzm/+c1vnA033NDJZDL5/aeffroTCoWcuXPn5ve99tprDgDnL3/5S0l5Oo7jnHXWWc7AgQOdXC5X8FqV9QddMiuCPffcEwAwZ84cAM2PjysqKvD9999j//33R2VlJY4++mgAzb8CJ0+ejC222ALBYBB9+vTBqaeeihUrVhh5Oo6DCRMmYMMNN0Q4HMYee+yBL7/80jr36jQq06dPx/77749u3bohEolg+PDhuP322/Plu+uuuwCYj/1baO8ytsa8efPw9ttv48gjj8SRRx6JOXPm4L333ivqWEkb8eabb2LbbbdFMBjEkCFD8Je//CX/+J+PPeuss/DCCy9gyy23RCAQwBZbbIGpU6da5/nxxx9xwgknoE+fPvl0f/3rX610CxYswKGHHopIJILevXtj3LhxSCaTxVdGEfzvf//LLztMnjwZQ4YMQSAQwFdffZW/zq+++gpjx45Ft27dsMsuuwAAMpkMrrvuunz6QYMG4bLLLrPKN2jQIBx44IF45ZVXsO222yIUCuEvf/nLasvzr3/9C5lMBiNHjjT2tyyHvfXWWzj11FPRo0cPVFVV4ZhjjrH6UVsZO3YsZs6ciW+++Sa/r7a2Fv/+978xduzYovJoaGjAa6+9ht///veoqqrK7z/mmGNQUVGBp59+uujyxOPxVp98/N///R+22247bLfddvl9m222Gfbaay/jPA0NDQDMpy4A0K9fPwBAKBQqukyrwuOkpZ988803OPzww1FVVYUePXrg3HPPLfoJzuoYO3YsXn75ZdTV1eX3ffTRR5g9e3bRbfPVV1/hq6++wimnnGI82TrjjDPgOA7+7//+r9Xj//73vyOdTuOMM87I73O5XDj99NOxYMECvP/++/n9zz77LA488EBstNFG+X0jR47EL37xC6Nt2pIn0PzkcO7cuZg5c2ZR16ysH3St9YgO4vvvvweA/KNvoPkLaNSoUdhll11w880355fSTj31VDz00EM4/vjjcc4552DOnDm48847MWPGDLz77rvw+XwAgCuvvBITJkzA/vvvj/333x+ffvop9tlnH6RSqYLlee2113DggQeiX79+OPfcc9G3b198/fXXePHFF3Huuefi1FNPxU8//YTXXnvNWrJYW2Vs4YknnkAkEsGBBx6IUCiEIUOG4LHHHsPOO+9cdB4tzJgxA/vuuy/69euHa665BtlsFtdeey169eolpn/nnXfw3HPP4YwzzkBlZSX+/Oc/Y8yYMZg3b16+LRctWoQdd9wxP4Hq1asXXn75ZZx44oloaGjAeeedB6D5S3GvvfbCvHnzcM4556B///549NFH8e9//7tN11BfX4+lS5ca+1wul9G3AODBBx9EIpHAKaecgkAggO7du+c/+93vfodNN90U119/PRzHAdC8FPXwww/jsMMOw/nnn4/p06dj4sSJ+Prrr/H8888beX/77bc46qijcOqpp+Lkk0/GL3/5y9WW97333kOPHj0wcOBA8fOzzjoLNTU1uPrqq/Htt99iypQpmDt3bn4iXwq77rorNtxwQzz++OP5JYmnnnoKFRUVOOCAA4rK44svvkAmk8G2225r7Pf7/dh6660xY8aMovJ56KGHcPfdd8NxHGy++ea4/PLLjS/+XC6Hzz//HCeccIJ17Pbbb49XX30VjY2NqKysxLbbbotIJIIrrrgC3bt3xy9/+Ut89913uOiii7DddttZk8415fDDD8egQYMwceJEfPDBB/jzn/+MFStW4JFHHik5z9GjR+O0007Dc889l7/mxx9/HJttthl+9atfFZVHS91z2/Tv3x8bbrhhwbaZMWMGIpEINt98c2P/9ttvn/98l112wY8//ojFixdb52lJ+9JLL7U5zxZGjBgBoFlfx0uoynrMOn0+1cloWdZ4/fXXnSVLljjz5893nnzySadHjx5OKBRyFixY4DhO8+NjAM4ll1xiHP/22287AJzHHnvM2D916lRj/+LFix2/3+8ccMABxiPXyy67zAFgLCnwkkwmk3EGDx7sDBw40FmxYoVxnlXzWt2SWUeUsTWGDRvmHH300cbxPXv2NB6VO468ZAZ6hH/QQQc54XDY+fHHH/P7Zs+e7Xi9XutaATh+v9/57rvv8vs+++wzB4Bzxx135PedeOKJTr9+/ZylS5caxx955JFOdXV1fjlp8uTJDgDn6aefzqdpampyNtlkkzYtmUl/gUAgn27OnDkOAKeqqspZvHixkUfLktJRRx1l7J85c6YDwDnppJOM/RdccIEDwPn3v/+d3zdw4EAHgDN16tRWy9vCLrvs4owYMWK11zNixAgnlUrl90+aNMkB4Pz9738X8ytmyWzJkiXOBRdc4GyyySb5z7bbbjvn+OOPdxynuKWsZ555xgHgvPXWW9Znv/vd75y+ffu2erzjOM7OO+/sTJ482fn73//uTJkyxdlyyy0dAM7dd9+dT9Oy1HTttddax991110OAOebb77J73vxxRedfv36Ge0/atQop7GxsWB5VgePk5Z6PPjgg410Z5xxhgPA+eyzz6w8il0ycxzHOeyww5y99trLcRzHyWazTt++fZ1rrrkm33cLLZnddNNNDgBn3rx51mfbbbeds+OOO7Z6/AEHHOBsvPHG1v6mpibjvvzRRx85AJxHHnnESnvhhRc6AJxEItGmPFfF7/c7p59+eqtlVdYvdMlMYOTIkejVqxcGDBiAI488EhUVFXj++eexwQYbGOlOP/10Y/uZZ55BdXU19t57byxdujT/N2LECFRUVOCNN94AALz++utIpVI4++yzjV/RLU8jWmPGjBmYM2cOzjvvPNTU1BifFfOLfG2UsYXPP/8cX3zxBY466qj8vqOOOgpLly7FK6+8UnQ+AJDNZvH666/j0EMPRf/+/fP7N9lkE+y3337iMSNHjsSQIUPy28OHD0dVVVX+7R/HcfDss8/ioIMOguM4Rn2MGjUK9fX1+PTTTwE0i9T79euHww47LJ9fOBw2xMHFcNddd+G1114z/iSB75gxY1b75Ou0004ztlt+6Y4fP97Yf/755wNoXvZalcGDB2PUqFFFlXfZsmXo1q3baj8/5ZRT8k8UgeYx4fV6jV/fpTB27Fh89913+Oijj/L/L3ZJBkD+TahAIGB9FgwGxTelmHfffRfnnnsuDj74YJx22mn45JNPsOWWW+Kyyy7LH1/oPKumAYBevXphm222wZ/+9Ce88MILuPrqq/H222/j+OOPL/raiuXMM880ts8++2wAaJe2efPNN/PLmLW1tWu1beLxeFH13Za2KTbPVenWrZv1tFdZv9ElM4G77roLv/jFL+D1etGnTx/88pe/hNttzh29Xi823HBDY9/s2bNRX1+P3r17i/kuXrwYADB37lwAwKabbmp83qtXr1a/fICfl++23HLL4i9oLZexhb/97W+IRCLYeOON8d133wFovsEMGjQIjz32WNHLHy3lisfj4ptOq3v7aVXdQAvdunXLa1yWLFmCuro63Hvvvbj33ntXe16guT422WQTa9LZ2nKTxPbbby8+wmekN9FW99ncuXPhdruteujbty9qamrybVlM3hLOymU5Ce4fFRUV6NevH/73v/+16RzMNttsg8022wyPP/44ampq0Ldv37yWrxha9DiSxiuRSJSk1/H7/TjrrLPyk6Nddtml4HlWLcsPP/yAPfbYA4888gjGjBkDoPmNpRZfr5dffnm1k/tS4LYZMmQI3G73GrdNi27yqaeewsyZM7Hddtthk002KTrfNW2bUChUVH23pW2KzXNVHMcpeVlY6ZzohEigmC+tQCBgTZJyuRx69+6Nxx57TDxmdb/41yZrq4yO4+CJJ55AU1MThg4dan2+ePFiRKNR65Xr9sTj8ay2bEBzXQDA73//exx77LFi2uHDh3dM4QrQ2pfC6j4r9ubclslAjx491lgkXSpjx47FlClTUFlZiSOOOMIab63RIlReuHCh9dnChQuNp4xtYcCAAQCA5cuXAwC6d++OQCCw2vMAyJ/roYceQiKRwIEHHmikO/jggwE0P5FqzwkR015f3oFAAKNHj8bDDz+MH374oc3WHqu2TUt9trBw4cK8bqe149944w1rQsL1XagPtLRdW/Jclbq6OvTs2bP1i1XWK3RC1I4MGTIEr7/+On7961+3+qXTIlCdPXs2Nt544/z+JUuWFPzyaVkCmjVrVqsizNXd/NZGGQHgP//5DxYsWIBrr73WEiquWLECp5xyCl544QX8/ve/L5gXAPTu3RvBYDD/pGlVpH3F0KtXL1RWViKbzRYUtA4cOBCzZs2ybpjffvttSeduTwYOHIhcLofZs2cbdb1o0SLU1dWtVhBdDJttthmeffbZ1X4+e/Zs7LHHHvntaDSKhQsXYv/99y/5nC2MHTsWV155JRYuXCi+HNAaW265JbxeLz7++GPDMyeVSmHmzJmWj06xtCy3tvxwcLvdGDZsGD7++GMr7fTp07HxxhvnvYUWLVoEx3GQzWaNdOl0GgCKNiUsltmzZxtPA7/77jvkcjnLEb4Uxo4di7/+9a9wu92GR08xbL311gCAjz/+2Jj8/PTTT1iwYEHBZeitt94a999/P77++mvjx9b06dON/DfYYAP06tVLbJsPP/wwn64tebbw448/IpVKWfc2Zf1GNUTtyOGHH45sNovrrrvO+iyTyeRfVR05ciR8Ph/uuOMOYzli8uTJBc/xq1/9CoMHD8bkyZONV18Bc2kjEokAgJVmbZQR+Hm57MILL8Rhhx1m/J188snYdNNNV/uUSsLj8WDkyJF44YUX8NNPP+X3f/fdd0Wb7El5jhkzBs8++yxmzZplfb6qm+3++++Pn376yXglOBaLrXapbW3SMvngtrn11lsBoE1Lk8xOO+2EFStWiK7LAHDvvffmv9ABYMqUKchkMu3ypGPIkCGYPHkyJk6cWPCpAVNdXY2RI0fib3/7GxobG/P7H330UUSjUfzud7/L74vFYvjmm28MPYjkZNzY2IjJkyejZ8+e+beMAOCwww7DRx99ZHzxfvvtt/j3v/9tnOcXv/gFHMexXvlvcUNu77eVWqw3WrjjjjsAoF3aZo899sB1112HO++8E3379m3TsVtssQU222wz3HvvvcbkcMqUKXC5XIZOr76+Ht988w3q6+vz+w455BD4fD7cfffd+X2O4+Cee+7BBhtsYLzBOmbMGLz44ouG8/m0adPw3//+12ibtuQJAJ988gkAlPS2rNJ50SdE7chuu+2GU089FRMnTsTMmTOxzz77wOfzYfbs2XjmmWdw++2347DDDkOvXr1wwQUXYOLEiTjwwAOx//77Y8aMGXj55ZcLPoJ1u92YMmUKDjroIGy99dY4/vjj0a9fP3zzzTf48ssv82Lllhv2Oeecg1GjRsHj8eDII49cK2VMJpN49tlnsffee+dFiczBBx+M22+/HYsXL16tnom5+uqr8eqrr+LXv/41Tj/9dGSzWdx5553YcsstS/YDueGGG/DGG29ghx12wMknn4yhQ4di+fLl+PTTT/H666/nl0ZOPvlk3HnnnTjmmGPwySefoF+/fnj00Ufb7Fz+8ssvG/46Ley8887Gk7i2sNVWW+HYY4/Fvffei7q6Ouy222748MMP8fDDD+PQQw81nuC0lQMOOABerxevv/66+Ms9lUphr732wuGHH45vv/0Wd999N3bZZZf8MtCacu6555Z87J/+9CfsvPPO2G233XDKKadgwYIFuOWWW7DPPvtg3333zaf78MMPsccee+Cqq67KL//cddddeOGFF3DQQQdho402wsKFC/HXv/4V8+bNw6OPPmo4HJ9xxhm47777cMABB+CCCy6Az+fDrbfeij59+uSF7UCzP9jNN9+MU089FTNmzMAWW2yBTz/9FPfffz+22GIL/Pa3v82nffPNN60ytZU5c+bg4IMPxr777ov3338ff/vb3zB27FhstdVWJeW3Km63G5dffnnJx9900004+OCDsc8+++DII4/ErFmzcOedd+Kkk04ynro8//zzOP744/Hggw/m4yduuOGGOO+883DTTTchnU5ju+22wwsvvIC3334bjz32mLFUftlll+GZZ57BHnvsgXPPPRfRaBQ33XQThg0bZgjZ25In0Gx9stFGG+kr912Ntf9iW+elWDfhVV9Blbj33nudESNGOKFQyKmsrHSGDRvmXHTRRc5PP/2UT5PNZp1rrrnG6devnxMKhZzdd9/dmTVrluUCvTon5HfeecfZe++9ncrKSicSiTjDhw83XifPZDLO2Wef7fTq1ctxuVzWa+ntWUbm2WefdQA4DzzwwGrTvPnmmw4A5/bbb8/XaaHX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JR3fqkjjgu/JXDbAvu/43YWDvQa9Zr5SvQToXs+GlJJ+kO+TkkbLt7J8Wffa/ZrtqhqiVbnxxhsxaNAgHHHEEQCA3/3ud3j22WfRr18/vPTSS9hqq61KylefECmKoihKF6EcQnfcc889GDBgAADgtddew+uvv46pU6div/32w4UXXlhyvkVNXbt161Z0ZNnly5eXXBhFURRFUZTWqK2tzU+IXnzxRRx++OHYZ599MGjQIOywww4l51vUhGjy5Mn5fy9btgwTJkzAqFGjsNNOOwEA3n//fbzyyiu44oorSi6IoiiKoihrRlf2IWqhW7dumD9/PgYMGICpU6diwoQJAJqX+NbEHLqoCdGxxx6b//eYMWNw7bXX4qyzzsrvO+ecc3DnnXfi9ddfx7hx40oujKIoiqIoSmuMHj0aY8eOxaabboply5Zhv/32AwDMmDEDm2yyScn5tlnt9corr+DGG2+09u+777645JJLSi5IRxPw+PKiQUkwzXiLENIl06a4lQ3eACCeMYWUkkgtHqgwtv0eUzyYydhizFSWIkhnbaEtCwgT2dYNFQGgiSM/C8JVS+RJnxcTTV6qB0tMTOeRxJp8jJQvC1XZRI2N5CQkYSWfyycYMdr5uFrdBoAAi76TZAznFerXR9edE8TETQXyKeZNViEqvdUB2OBRFFWzKaSQb47S5FrvH837KFuhj3O7NabM8cXGfNI+SZybpHPFKLo9G0ICQJwiv0t9nF9a4F/tbPYJ2FHepRc+LPNGEo77PLbSPUp1FRdeqGBzTK7vYoxbJRop2r3XHaVte1zwMVK0+yRdA9/n/cK45jZhwTcApFeK0tOCOL1DaUdRteV820m47bbbMGjQIMyfPx+TJk1CRUXzd+jChQtxxhlnlJxvmydEPXr0wN///necf/75xv6///3v6NGjR8kFURRFURRlzcihuN82xebVGfH5fLjgggus/Wu6QtXmCdE111yDk046CW+++WZevDR9+nRMnToV99133xoVRlEURVEUpRDff/89Jk+ejK+//hoAMHToUJx33nnYeOONS86zza/dH3fccXj33XdRVVWF5557Ds899xyqqqrwzjvv4Ljjjiu5IIqiKIqirBktPkTt9dcZeeWVVzB06FB8+OGHGD58OIYPH47p06dj6NCheO2110rOtyTHqB122AGPPfZYySddF8QzKSDT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yJEj8/uqq6uxww474P333xfzTCaTaGhoMP4URVEURekaJJNJccksnU4jHi99ArpOJ0Q//PADpkyZgk033RSvvPIKTj/9dJxzzjl4+OGHATQbQQJAnz59jOP69OmT/4yZOHEiqqur838DBgzo2ItQFEVRlE5COSyZbb/99rj33nut/ffccw9GjBhRcr7tsmRWKrlcDttuuy2uv/56AMA222yDWbNm4Z577sGxxx5bUp6XXnpp3qsAABoaGnRSpCiKoihdhAkTJmDkyJH47LPPsNdeewEApk2bho8++givvvpqyfmu0wlRv379rJAfm2++OZ599lkAQN++fQEAixYtMgK2LVq0aLXmS4FAAIGA7RmTdXL5gJeprL2GzToS1oMAQCJrrlGzJiOesY/xuk3dAHtcSMelsuwfZOsK2OtDgv2N2L8kIZSXkdbGM7SmnqI0SeFRZpTqioO9ArY2hssn/VphLZWkr+E0rK/h+gaAlMesc8lvhQOocjuxf1Dzubit7bZl3Rnrg8Ty0r6EoCljvQeXLy3ky20gBY0NkrcWa1ykQL7sdyW5zlrnIY+eQMDuQznq43URwYeohjRDdTQOMsKv4gZqJ/YlkvZRf82m7bpLUgBYn6AhitO++iLqLuRbZmxXCkGP+f7FvmQNaVtukKbxJenSYmmz7zWlzDSNKfu+EyU9UGOjnW84bN7Xw+RDxZ5DgK0h4kDEgB001rpHC+sorDGVNHstY126f3ckjtOOEqLO+YAIv/71r/H+++9j0qRJePrppxEKhTB8+HA88MADa2QcvU4nRL/+9a/x7bffGvv++9//YuDAgQCaBdZ9+/bFtGnT8hOghoYGTJ8+HaeffvraLq6iKIqidGq6sjHjqmy99dZ4/PHH2zXPdaohGjduHD744ANcf/31+O677/D444/j3nvvxZlnngmg+ZfPeeedhwkTJuAf//gHvvjiCxxzzDHo379/m99oUxRFURSla/D999/j8ssvx9ixY7F48WIAzSHGvvzyy5LzXKcTou222w7PP/88nnjiCWy55Za47rrrMHnyZBx99NH5NBdddBHOPvtsnHLKKdhuu+0QjUYxderUNQrgpiiKoihdkXIQVf/nP//BsGHDMH36dDz77LOIrgxv89lnn+Gqq64qOd91umQGAAceeCAOPPDA1X7ucrlw7bXX4tprr12LpVIURVEU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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "fmt = \"cif\" if STRUCTURE_PATH.lower().endswith(\".cif\") else \"pdb\"\n", + "\n", + "view = py3Dmol.view(width=800, height=600)\n", + "view.addModel(structure_data, fmt)\n", + "view.setStyle({\n", + " \"cartoon\": {\n", + " \"colorscheme\": {\"prop\": \"b\", \"gradient\": \"roygb\", \"min\": 0.5, \"max\": 0.9}\n", + " }\n", + "})\n", + "view.zoomTo()\n", + "view.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 637 + }, + "id": "wyxvVttAdKfc", + "outputId": "caeaa547-6f9a-4727-be2b-367055b0e73e" + }, + "execution_count": 11, + "outputs": [ + { + "output_type": "display_data", + "data": { + "application/3dmoljs_load.v0": "
\n

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n
\n", + "text/html": [ + "
\n", + "

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n", + "
\n", + "" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "# RUNNING FOLDING MODEL\n", + "# you need to fill out the form here to get the checkpoints: https://huggingface.co/OpenFold/OpenFold3" + ], + "metadata": { + "id": "B1TJESmldAIb" + }, + "execution_count": 12, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!python examples/folding/run_demo.py \\\n", + " --model-source openfold3 \\\n", + " --input examples/data/samples/monomers/T1031.json \\\n", + " --output-dir output \\\n", + " --sampling-steps 50" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "X--0qK5MajZm", + "outputId": "a96fef7f-da35-41c6-ae2d-8b13baf648f2" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2026-09-11 03:52:07,655 - numexpr.utils - INFO - NumExpr defaulting to 12 threads.\n", + "2026-09-11 03:52:20,977 - bionemo_ir.hubs.local - INFO - Not found local checkpoint for openfold3, using default repo id OPENFOLD3_CKPT\n", + "checkpoints/of3-p2-155k.pt: 100% 2.29G/2.29G [00:08<00:00, 262MB/s]\n", + "Wrote 1 prediction(s) to output\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import json, time, gc\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import py3Dmol\n", + "import torch\n", + "\n", + "from bionemo_ir.data.schemas import InputRequest, MSARecord, Polymer\n", + "from bionemo_ir.pipeline.processor.engine_proc import EngineProcessorConfig, build_processor\n", + "from bionemo_ir.pipeline.stages.configs import FeatureGeneratorStageConfig, WriterStageConfig\n", + "\n", + "SEQUENCE = \"ACKIENIKYKGKEVESKLGSQLIDIFNDLDRAKEEYDKLSSPEFIAKFGDWINDEVERNVNEDGEPLLIQDVRQDSSKHYFFILKNGERFDLLTR\"\n", + "\n", + "def run_bioir_model(model_source, sequence=SEQUENCE, sampling_steps=50, output_dir=None):\n", + " \"\"\"Run one BioIR model_source on a single sequence, timed.\"\"\"\n", + " request = InputRequest(\n", + " input_id=\"target\",\n", + " polymers=[Polymer(\n", + " chain_id=[\"A1\"],\n", + " sequence=sequence,\n", + " msas=[MSARecord(content=f\">target\\n{sequence}\\n\")],\n", + " )],\n", + " )\n", + " rows = [{\"record\": request, \"__record_id\": request[\"input_id\"]}]\n", + "\n", + " runtime_args = {\"num_sampling_steps\": sampling_steps} if model_source in {\"boltz-1\", \"boltz-2\", \"openfold3\"} else {}\n", + "\n", + " config = EngineProcessorConfig(\n", + " model_source=model_source,\n", + " runtime_args=runtime_args,\n", + " feature_generator_stage=FeatureGeneratorStageConfig(init_context={\"random_seed\": 42}),\n", + " writer_stage=WriterStageConfig(output_path=output_dir, format=\"cif\"),\n", + " engine_kwargs={\"profile_inference\": True},\n", + " )\n", + " row = build_processor(config)(rows)[0]\n", + " scores = json.loads(row[\"scores\"])\n", + " return row, scores\n", + "\n", + "def plot_plddt(scores, title=\"\"):\n", + " plddt = scores[\"plddt\"]\n", + " plt.figure(figsize=(9, 2.5))\n", + " plt.plot(range(1, len(plddt) + 1), plddt, color=\"#1f77b4\")\n", + " plt.ylim(0, 1)\n", + " plt.xlabel(\"Residue index\"); plt.ylabel(\"pLDDT\")\n", + " plt.title(f\"Per-residue pLDDT {title}\")\n", + " plt.tight_layout(); plt.show()\n", + "\n", + "def plot_pae(scores, title=\"\"):\n", + " pae = np.array(scores[\"pae\"])\n", + " fig, ax = plt.subplots(figsize=(5, 4.5))\n", + " im = ax.imshow(pae, cmap=\"Greens_r\", vmin=0, vmax=scores.get(\"max_pae\", pae.max()))\n", + " ax.set_title(f\"PAE {title} (pTM {scores['ptm']:.2f})\")\n", + " fig.colorbar(im, label=\"Å\")\n", + " plt.tight_layout(); plt.show()\n", + "\n", + "def show_structure(cif_text, plddt_range=(0.5, 0.9)):\n", + " view = py3Dmol.view(width=800, height=600)\n", + " view.addModel(cif_text, \"cif\")\n", + " view.setStyle({\"cartoon\": {\"colorscheme\": {\"prop\": \"b\", \"gradient\": \"roygb\",\n", + " \"min\": plddt_range[0], \"max\": plddt_range[1]}}})\n", + " view.zoomTo()\n", + " view.show()\n", + "\n", + "def free_gpu():\n", + " gc.collect()\n", + " torch.cuda.empty_cache()" + ], + "metadata": { + "id": "ZaDNJOD0anXn" + }, + "execution_count": 20, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "row, scores = run_bioir_model(\"boltz-2\", output_dir=\"output/demo\")\n", + "print(f\"pTM: {scores['ptm']:.3f} | ipTM: {scores['iptm']:.3f} | mean pLDDT: {np.mean(scores['plddt']):.3f}\")\n", + "\n", + "plot_plddt(scores, \"(Boltz-2)\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 249 + }, + "id": "KZVsz5GPfm48", + "outputId": "cf08f3f2-d26c-4128-87cb-1d6b2a3c4a54" + }, + "execution_count": 21, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "pTM: 0.508 | ipTM: 0.000 | mean pLDDT: 0.651\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3kAAADwCAYAAAC9p61YAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAY4pJREFUeJzt3XdYU9cbB/BvEiBskD0EQUUREFQQVKyj4q7WWveizroHXVqr1tbR2tb6q3trW63aVmudFa17oSAqCjhRRPbegeT+/qCkpgxBQSB+P8+TB3PvOfeehCu5b8457xEJgiCAiIiIiIiI1IK4phtAREREREREVYdBHhERERERkRphkEdERERERKRGGOQRERERERGpEQZ5REREREREaoRBHhERERERkRphkEdERERERKRGGOQRERERERGpEQZ5REREREREaoRBHhERvVLbtm2DSCRCVFTUc8s6ODjgvffeq/Y20b/27NkDExMTZGVlVet5KnMdvArJycnQ09PD4cOHa7opREQvjUEeEVEtUnzjW/zQ1tZGkyZNMHXqVMTHx9d086gUnTp1gpubW7llPv/8c5Xfq66uLuzt7dGnTx9s3boV+fn5Jeq89957KnX09fXRsGFDDBgwAL///jsUCoWy7H+vm7IeDg4O5bZTLpdjwYIFmDZtGvT19ZXbHRwcSlyXTk5O+Oijj5CSklK5N6wca9aswbZt26rseACwd+9eDB48GA0bNoSuri6aNm2KDz74AGlpaSrlTE1NMW7cOMybN69Kz09EVBM0aroBRERU0hdffAFHR0fk5eXh3LlzWLt2LQ4fPoywsDDo6urWdPNeysiRIzFkyBBIpdKabsort3btWujr6yM/Px8xMTH466+/MGbMGKxYsQIHDx6EnZ2dSnmpVIpNmzYBAHJzc/Ho0SMcOHAAAwYMQKdOnbB//34YGhqiQ4cO+Omnn1Tqjhs3Dt7e3pgwYYJy27OBW2kOHDiAyMhIlTrFWrRogQ8++AAAkJeXh+DgYKxYsQKnT59GUFDQC70f/7VmzRqYmZlVae/thAkTYGNjgxEjRsDe3h43b97EqlWrcPjwYYSEhEBHR0dZduLEifjhhx/w999/480336yyNhARvWoM8oiIaqGePXvCy8sLQNHNuqmpKZYvX479+/dj6NChL3XsnJycCgeKCoUCMpkM2traL3XOZ0kk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RERERGqkRoO8M2fOoE+fPrCxsYFIJMIff/zx3DqnTp1Cq1atIJVK0bhxY2zbtq3a20lERK+X9957D4IgvFbz8YiISH3UaJCXnZ0NDw8PrF69ukLlHz58iN69e6Nz584IDQ3FzJkzMW7cOPz111/V3FIiIiIiIqK6odZk1xSJRNi3bx/69etXZplPPvkEhw4dUlmMd8iQIUhLS8PRo0dfQSuJiIiIiIhqtzqVeOXixYvw8/NT2da9e3fMnDmzzDr5+fnIz89XPlcoFEhJSYGpqSmzZxERERERUZ0hCAIyMzNhY2MDsbjsQZl1KsiLi4uDpaWlyjZLS0tkZGQgNzcXOjo6JeosXboUCxcufFVNJCIiIiIiqlbR0dGoX79+mfvrVJD3IubMmYOAgADl8/T0dNjb2yM6OhqGhoY12DIiIiIiIqKKy8jIgJ2dHQwMDMotV6eCPCsrK8THx6tsi4+Ph6GhYam9eAAglUohlUpLbDc0NGSQR0REREREdc7zpp3VqXXy2rZtixMnTqhsCwwMRNu2bWuoRURERERERLVLjQZ5WVlZCA0NRWhoKICiJRJCQ0Px+PFjAEVDLUeNGqUsP3HiRDx48AAff/wxIiIisGbNGuzZswezZs2qieYTERERERHVOjUa5F29ehUtW7ZEy5YtAQABAQFo2bIl5s+fDwCIjY1VBnwA4OjoiEOHDiEwMBAeHh747rvvsGnTJnTv3r1G2k9ERERERFTb1Jp18l6VjIwMGBkZIT09nXPyiIiIiIiozqhoLFOn5uQRERERERFR+RjkERERERERqREGeURERERERGqEQR4REREREZEaYZBHRERERESkRhjkERERERERqREGeURERERERGqEQR4REREREZEaYZBHRERERESkRhjkERERERERqREGeURERERERGqEQR4REREREZEaYZBHRERERESkRhjkERERERERqREGeURERERERGqEQR4REREREZEaYZBHRERERESkRhjkERERERERqREGeURERERERGqEQR4REREREZEaqfEgb/Xq1XBwcIC2tjZ8fHwQFBRUbvkVK1agadOm0NHRgZ2dHWbNmoW8vLxX1FoiIiIiIqLarUaDvN27dyMgIAALFixASEgIPDw80L17dyQkJJRafufOnZg9ezYWLFiA8PBwbN68Gbt378ann376iltORERERERU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dmHfvn3Q1tYutczSpUthZGSkfNjZ2b3iVhIREREREb06NRrkmZmZQSKRID4+XmV7fHw8rKysyq377bff4quvvsKxY8fg7u5eZrk5c+YgPT1d+YiOjq6SthMREREREdVGNRrkaWlpwdPTEydOnFBuUygUOHHiBNq2bVtmvWXLluHLL7/E0aNH4eXlVe45pFIpDA0NVR5ERERERETqqkbn5AFAQEAA/P394eXlBW9vb6xYsQLZ2dkYPXo0AGDUqFGwtbXF0qVLAQBff/015s+fj507d8LBwQFxcXEAAH19fejr69fY6yAiIiIiIqoNajzIGzx4MBITEzF//nzExcWhRYsWOHr0qDIZy+PHjyEW/9vhuHbtWshkMgwYMEDlOAsWLMDnn3/+KptORERERERU69T4OnmvGtfJIyIiIiKiuqhOrJNHREREREREVYtBHhERERERkRphkEdERERERKRGGOQRERERERGpEQZ5REREREREaoRBHhERERERkRphkEdERERERKRGGOQRERERERGpEQZ5REREREREaoRBHhERERERkRphkEdERERERKRGGOQRERERERGpEQZ5REREREREaoRBHhERERERkRphkEdERERERKRGGOQRERERERGpEQZ5REREREREaoRBHhERERERkRphkEdERERERKRGGOQRERERERGpkVoR5K1evRoODg7Q1taGj48PgoKCyi3/66+/wtnZGdra2mjevDkOHz78ilpKRERERERUu9V4kLd7924EBARgwYIFCAkJgYeHB7p3746EhIRSy1+4cAFDhw7F2LFjce3aNfTr1w/9+vVDWFjYK245ERERERFR7SMSBEGoyQb4+PigdevWWLVqFQBAoVDAzs4O06ZNw+zZs0uUHzx4MLKzs3Hw4EHltjZt2qBFixZYt27dc8+XkZEBIyMjpKenw9DQsOpeCBERERERUTWqaCxToz15MpkMwcHB8PPzU24Ti8Xw8/PDxYsXS61z8eJFlfIA0L179zLLExERERERvU40avLkSUlJkMvlsLS0VNluaWmJiIiIUuvExcWVWj4uLq7U8vn5+cjPz1c+T09PB1AUBRMREREREdUVxTHM8wZj1miQ9yosXboUCxcuLLHdzs6uBlpDRERERET0cjIzM2FkZFTm/hoN8szMzCCRSBAfH6+yPT4+HlZWVqXWsbKyqlT5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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "plot_pae(scores, \"(Boltz-2)\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 452 + }, + "id": "aXnkN1y2f8b0", + "outputId": "cc35fbfd-cb0c-4034-860f-f8fbb4d09156" + }, + "execution_count": 22, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeUAAAGzCAYAAAAR5w+IAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnr5JREFUeJzt/XmcHHW1/4+fXqqr15nJTJKZBJIQlH0RCBJDUFAjgR+XRUCEC15APtf71QQM8YqgsohAXD4iDzSA2wWUVbwqoly4gAKigBCEjxEJi4GEZSZrT/f0Vr3U749Jus55Vbp6OulhaibnmUcej6mp6qp3vetdXVPn9X6dE7Bt2yZFURRFUcac4Fg3QFEURVGUYfShrCiKoig+QR/KiqIoiuIT9KGsKIqiKD5BH8qKoiiK4hP0oawoiqIoPkEfyoqiKIriE8Jj3QBFURRlYlIsFsmyrLbuMxKJUDQabes+/YQ+lBVFUZS2UywWafbs3ai/f6Ct++3r66PVq1dP2AezPpQVRVGUtmNZFvX3D9Arr79MHR2ptuwzk8nSHrvtSZZl6UNZURRFUVol1ZGkVJseyjZN/KzQOtFLURRFUXyCPpQVRVEUxSdo+FpRFEUZNWzbpnYVI9wZihrqQ1lRFEUZRewt/9u1r4mNhq8VRVEUxSfoQ1kZFX7+859Td3c3DQ0NjepxbrnlFgoEAvT666+P6nFGysaNGymRSND999/f0uferf6a6Jx++ul02mmnjXUzFIbd5v8THX0oj3O2PpS2/o9Go7TnnnvS4sWLaWDAbdq///77KRAI0PTp06lWq21zn7vttpvYJ/9/zDHHNG1TtVqlyy+/nM4//3xKJpMN9xuNRmmPPfagL37xi7Rp06bt7wTghhtuoFtuuaVt+yMi+uUvf0mf/OQnaffdd6d4PE577bUXfeELX6B0Oi226+npof/zf/4PXXrppSPed6P+GgmNrhP+f/TRR+n111+vL1911VXb3N+ZZ55JgUBgxO1Ip9P0mc98hqZMmUKJRII+/OEP03PPPTeiz55zzjnbbOvee+/t2vbqq6+mE044gXp7eykQCNAVV1yxzX1+6Utfov/+7/+mF154YURtUBS/oZryBOHKK6+k2bNnU7FYpCeeeIJuvPFGuv/++2nlypUUj8fr291+++2022670euvv06///3vacGCBdvc30EHHURf+MIXXL+fPn1607bcd999tGrVKvrMZz7jud9isUgrVqyg6667jh577DH6y1/+MtLT9eSGG26gyZMn0znnnNOW/RERfeYzn6Hp06fTWWedRTNnzqS//e1v9P3vf5/uv/9+eu655ygWi9W3/f/+v/+Prr/+evr9739PH/nIR5ru26u/mvGzn/1MLP/0pz+lhx56yPX7ffbZhwqFAhERRaNRuvPOO+mrX/2q2CaXy9G999474qQMtVqNjjvuOHrhhRfoi1/8Ik2ePJluuOEGOuqoo2jFihW0xx57NN2HaZr04x//WPyus7PTtd1Xv/pV6uvro4MPPpgefPDBhvs7+OCD6dBDD6XvfOc79NOf/nRE56GMNqopt4StjGtuvvlmm4jsZ555Rvx+6dKlNhHZd9xxR/13Q0NDdiKRsK+//nr74IMPts8555xt7nPWrFn2cccdt91tOuGEE+wjjjhixPv9z//8T5uI7JdffrnlY209/9WrV9d/t99++9lHHnlky/vy4g9/+IPrd7feeqtNRPaPfvQj17r999/f/tSnPjWifTfqr+1h0aJFdqPbevXq1TYR2SeffLJNRPbzzz8v1t9+++22YRj28ccfbycSiabHuvvuu20isu+5557679atW2d3dXXZZ5xxRtPPn3322SM6zta227Ztr1+/3iYi+/LLL2+47f/9v//XTiQSdjabHdG+ldFhcHDQJiL7rQ1r7KyVbsv/tzassYnIHhwcHOvTGzU0fD1B2fqGtnr16vrvfvWrX1GhUKBPfOITdPrpp9Mvf/lLKhaLbT1usVikBx54oOEb+Lbo6+sjIqJwWAZufv/739MHP/hBSiQS1NXVRSeeeCL94x//8NzXbrvtRn//+9/pscceq4dDjzrqKCLyDvU206S37oPz8Y9/nIhom2362Mc+Rvfdd19TC4dXfwUCAVq8eDHdfvvttNdee1E0GqU5c+bQ448/7rnPZsybN49mz55Nd9xxh/j97bffTscccwx1d3ePaD+/+MUvqLe3l04++eT676ZMmUKnnXYa3XvvvVQqlUa0n2q1SplMxnOb3XbbbUT7Ihru+1wuRw899NCIP6MofkEfyhOU1157jYiGNc6t3H777fThD3+Y+vr66PTTT6dsNkv33XffNj9fLpdpw4YNrv9bQ6CNWLFiBVmWRYccckjT/b755pt033330bXXXksf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vkjFYpEOP/zw7d6H0j5srRLVEvpQnuA8/fTT9Oqrr9LixYu3uX6XXXahQw45hG6//XbxUH7rrbfotttuc22fTCbppJNOani8aDRKRx99ND388MN05ZVXutbz/VqWRS+88AL94Ac/oMmTJ9P5559f3+7b3/42HXvssTRv3jw677zzqFAo0Pe+9z3q7OxsmGJxK3PmzKEbb7yRrrrqKnrve99LU6dOpQMPPJA+97nP0b777kumabrO7eMf/7jn2/cxxxxD//znP+miiy6iJ554gp544on6ut7eXvrYxz4mtn/ooYfo+OOPb6prNuuv/fffnxYuXEgXXHABmaZJN9xwAxERfe1rX/Pc70g58sgj6cgjj9yuz5566qn0gQ98gM4991x68cUX6xm9qtWqq31bJYqtdrb+/n46+OCD6YwzzqhHCx588EG6//776ZhjjqETTzxRfP5nP/sZvfHGG5TP54loWOrYOmHwU5/6VD26QjTc9/F43HVNFGVcMHYTv5V20Cij11bOP/98m4js1157reE+rrjiCpuI7BdeeMG2bW9L1KxZs5q26Ze//KUdCATsNWvWiN/jfoPBoD116lT7jDPOsF999VXXfh5++GF7/vz5diwWszs6Ouzjjz/efvHFF7d5/twS1d/fbx933HF2KpWyicg+8sgj63agRv/557eF12fRfvWPf/yjblMbCY36i4jsRYsW2bfddpu9xx572KZp2gcffPA2s4ttZaSWKC9aybS1adMm+7zzzrN7enrseDxuH3nkkdsci7NmzRJjZ/PmzfZZZ51lv/e977Xj8bhtmqa933772ddcc41tWZbr80ceeWTD/sf+mDt3rn3WWWeNqP3K6LHVErVm/Wo7XdrQlv9r1q+e8JaogG3vBPEA5V2lWq3SvvvuS6eddhp9/etfH+vmvOssWbKEHn/8cVqxYsWIZgA36q9AIECLFi2i73//+6PZ3AnF888/T4cccgg999xzdNBBB411c3ZqMpkMdXZ20hvrV1NHR6r5B0a0zyzNmjKbBgcHqaOjoy379Bs6+1ppO6FQiK688kpavnz5TleKcOPGjfTjH/+YrrrqqhFbcnbm/mo33/jGN+jUU0/VB7IybtE3ZUXxKfqmrIxnnDflf7b5TXl3fVNWFEVRFGX00dnXiuJTNIilTARstUS1xKi9KS9fvpx22203ikajNHfu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b76Z9tlnH3rqqafoAx/4QPtariiKoigTjB1KHjI4OFzAvLu7m4iIVqxYQeVymRYsWFDfZu+996aZM2fSk08+uc19lEolymQy4r+iKIoyMdia+7pd/yc62x3LqNVqtGTJEpo/fz7tv//+RETU399PkUiEurq6xLa9vb3U39+/zf0sW7aMvva1r7l+X6xUqbYlhMNDa0moNIQVU/hFC4EFBy+oYTSu9IRgCMwrzSYeNyLSbEKoDMcY/2gJVobhszwMjfvBEDU3XWAbarhsN9zWhspUNlSYsnjlLaiUhH3IrwdeG7wePAyK4VP0k/BwJIZPMYyY90h/6Rov7LoWXdtCkyDkyG1PzY7Dl12RVTyQR+jVywKIKTkxVOwFbsuXKx7HJPIOZ2NoEsdLgF33IFgLDbjn+HEwdSZWz+IShqviGJyrlLwaryOS9wL2C/ahx93qOtdm94rYDxyX9xPvF+yjdlLb8q9d+5robPeb8qJFi2jlypV011137VADLrnkEhocHKz/X7t27Q7tT1EURVHGK9v1prx48WL67W9/S48//jjtuuuu9d/39fWRZVmUTqfF2/LAwAD19fVtc1+maZIJkx4URVGUiYGWbmyNlt6UbdumxYsX069+9Sv6/e9/T7Nnzxbr58yZQ4Zh0COPPFL/3apVq2jNmjU0b9689rRYURRFGTfYbf430WnpTXnRokV0xx130L333kupVKquE3d2dlIsFqPOzk4677zzaOnSpdTd3U0dHR10/vnn07x581qeec3TbPKUhjnQkFEz4Xou/lGFy9yKghqgy3YDFhievq5a8dahhJ6EjTDg7yKuH7k0ZLkorp5LQwa41colQcFxyrVt/0xEFIMPF9BO5ejIhZK0GKE9IxJx+hB1eOxvrtfl8dp46HUWWk08ygPiMXFslcON7TAI6oB8fGE/IF4vA5iSk2+LumAE9PMya7MdAc0bSyzy8pchafXB4/A+Ldea3Ase/TYE48VVppJdywqkH80H5XXmpSfR/oXdy9Nsoj0N073yMYHber3FYSnYTAksgK4+bWwD9SqP6bZjynas35yt/zy9p6vhPpWxo6WH8o033khEREcddZT4/c0330znnHMOERF997vfpWAwSKeccgqVSiVauHAh3XDDDW1prKIoijK+0PB1a7T0UB5Jh0SjUVq+fDktX758uxulKIqiTAw0eUhr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fTTMW2+9RWeddRb19PRQLBajAw44gJ599tn6etu26bLLLqNp06ZRLBajBQsW0CuvvDKGLX53qVardOmll9Ls2bMpFovRe97zHvr6178uijXs7H3UErbd3v8THF8+lO+++25aunQpXX755fTcc8/R+973Plq4cCGtW7durJs2Jjz22GO0aNEieuqpp+ihhx6icrlMRx99NOVyTvHzCy+8kO677z6655576LHHHqO3336bTj755DFs9djxzDPP0A9+8AM68MADxe+1j4g2b95M8+fPJ8Mw6H/+53/oxRdfpO985zs0adKk+jbf+ta36Prrr6ebbrqJnn76aUokErRw4UJXdaiJyje/+U268cYb6fvf/z794x//oG9+85v0rW99i773ve/Vt9nZ+0gZRWwfcthhh9mLFi2qL1erVXv69On2smXLxrBV/mHdunU2EdmPPfaYbdu2nU6nbcMw7Hvuuae+zT/+8Q+biOwnn3xyrJo5JmSzWXuPPfawH3roIfvII4+0P//5z9u2rX20lS996Uv2EUcc0XB9rVaz+/r67G9/+9v136XTads0TfvOO+98N5o45hx33HH2pz/9afG7k08+2T7zzDNt29Y+GimDg4PDavJxM206abf2/D9upk1E9uDg4Fif3qjhuzdly7JoxYoVtGDBgvrvgsEgLViwgJ588skxbJl/GBwcLhrX3d1NREQrVqygcrks+mzvvfemmTNn7nR9tmjRIjruuONEXxBpH23lN7/5DR166KH0iU98gqZOnUoHH3ww/ehHP6qvX716NfX394t+6uzspLlz5+40/XT44YfTI488Qi+//DIREb3wwgv0xBNP0LHHHktE2kcts3X2dbv+T3B8N/t6w4YNVK1Wqbe3V/y+t7eXXnrppTFqlX+o1Wq0ZMkSmj9/Pu2///5ERNTf30+RSIS6urrEtr29vdTf3z8GrRwb7rrrLnruuefomWeeca3TPhrmn//8J9144420dOlS+vKXv0zPPPMMXXDBBRSJROjss8+u98W27r+dpZ8uvvhiymQytPfee1MoFKJqtUpXX301nXnmmURE2kfKqOK7h7LizaJFi2jlypX0xBNPjHVTfMXatWvp85//PD300EMUjUbHujm+pVar0aGHHkrXXHMNEREdfPDBtHLlSrrpppvo7LPPHuPW+YOf//zndPvtt9Mdd9xB++23Hz3//PO0ZMkSmj59uvbR9qCWqJbwXfh68uTJFAqFXLNiBwYGqK+vb4xa5Q8WL15Mv/3tb+kPf/gD7brrrvXf9/X1kWVZlE6nxfY7U5+tWLGC1q1bR4cccgiFw2EKh8P02GOP0fXXX0/hcJh6e3t3+j4iIpo2bRrtu+++4nf77LMPrVmzhoio3hc78/33xS9+kS6++GI6/fTT6YADDqBPfepTdOGFF9KyZcuISPuoZXT2dUv47qEciURozpw59Mgjj9R/V6vV6JFHHqF58+aNYcvGDtu2afHixfSrX/2Kfv/739Ps2bPF+jlz5pBhGKLPVq1aRWvWrNlp+uyjH/0o/e1vf6Pnn3++/v/QQw+lM888s/7zzt5HRETz58932elefvllmjVrFhERzZ49m/r6+kQ/ZTIZevrpp3eafsrn8xQMyq/GUChEtVqNiLSPlNHFl+HrpUuX0tlnn02HHnooHXbYYXTddddRLpejc889d6ybNiYsWrSI7rjjDrr33nsplUrVdavOzk6KxWLU2dlJ5513Hi1dupS6u7upo6ODzj//fJo3bx594AMfGOPWvzukUqm6xr6VRCJBPT099d/v7H1ENGwLO/zww+maa66h0047jf7yl7/QD3/4Q/rhD39IRFT3dl911VW0xx570OzZs+nSSy+l6dOn00knnTS2jX+XOP744+nqq6+mmTNn0n777Ud//etf6dprr6VPf/rTRKR91DK1Lf/bta+JzlhP/27E9773PXvmzJl2JBKxDzvsMPupp54a6yaNGeSoMuL/zTffXN+mUCjYn/vc5+xJkybZ8Xjc/vjHP26/8847Y9doH8AtUbatfbSV++67z95///1t0zTtvffe2/7hD38o1tdqNfvSSy+1e3t7bdM07Y9+9KP2qlWrxqi17z6ZTMb+/Oc/b8+cOdOORqP27rvvbn/lK1+xS6VSfZudvY9GQt0S9bFdbfr/zWzP/4/tOuEtUVpPWVEURWk79XrKC3Zpbz3lh9/SesqKoiiKst3oq9+I8d1EL0VRFEXZWdE3ZUVRFGX0aKeVaSdQW/VNWVEURRk9am3+3yLjreKgPpQVRVGUCcl4rDioD2VFURRl9BjDjF7XXnst/fu//zude+65tO+++9JNN91E8Xic/uu//muUTnbHUU1ZURRFGT0qNrUt60dl+KGcyWTEr03TJNM0xe+2Vhy85JJL6r8bDxUH9aGsKIqitJ1IJEJ9fX3U/0R7K2clk0maMWOG+N3ll19OV1xxhfjdeK04qA9lRVEUpe1Eo1FavXo1WZbV1v3atk2BQED8Dt+SxzP6UFYURVFGhWg0OmalVMdrxUGd6KUoiqJMOMZrxUF9U1YURVEmJOOx4qA+lBVFUZQJySc/+Ulav349XXbZZdTf308HHXQQPfDAA67JX35Cq0QpiqIoik9QTVlRFEVRfII+lBVFURTFJ+hDWVEURVF8gj6UFUVRFMUn6ENZURRFUXyCPpQVRVEUxSfoQ1lRFEVRfII+lBVFURTFJ+hDWVEURVF8gj6UFUVRFMUn6ENZURRFUXzC/x83U4PK7+006gAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "show_structure(row[\"output_raw\"])" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 637 + }, + "id": "i3qhLExlf-e7", + "outputId": "f8c5a0bc-fee7-4ff5-fc02-306611ecd844" + }, + "execution_count": 23, + "outputs": [ + { + "output_type": "display_data", + "data": { + "application/3dmoljs_load.v0": "
\n

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n
\n", + "text/html": [ + "
\n", + "

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n", + "
\n", + "" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "free_gpu()" + ], + "metadata": { + "id": "3XvN24Q9f_t3" + }, + "execution_count": 24, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "BIOIR_MODELS = [\"boltz-1\", \"boltz-2\", \"openfold3\", \"openfold2_ptm_1\"]\n", + "\n", + "def normalize_plddt(plddt_list):\n", + " \"\"\"Some models report pLDDT on 0-1, others on 0-100. Normalize to 0-1.\"\"\"\n", + " arr = np.array(plddt_list, dtype=float)\n", + " return (arr / 100.0) if arr.mean() > 1.0 else arr\n", + "\n", + "results = []\n", + "for model_source in BIOIR_MODELS:\n", + " print(f\"\\n=== {model_source} ===\")\n", + " try:\n", + " t0 = time.time()\n", + " row, scores = run_bioir_model(model_source, output_dir=f\"output/bench/{model_source}\")\n", + " wall_time = time.time() - t0\n", + " plddt_norm = normalize_plddt(scores[\"plddt\"])\n", + " results.append({\n", + " \"model\": model_source,\n", + " \"wall_time_s\": round(wall_time, 2),\n", + " \"reported_inference_time_s\": round(row.get(\"model_inference_time\", float(\"nan\")), 2),\n", + " \"ptm\": round(scores.get(\"ptm\", float(\"nan\")), 3),\n", + " \"mean_plddt\": round(float(plddt_norm.mean()), 3), # now consistently 0-1\n", + " })\n", + " except Exception as e:\n", + " print(f\" FAILED: {e}\")\n", + " results.append({\"model\": model_source, \"wall_time_s\": None, \"error\": str(e)})\n", + " finally:\n", + " free_gpu()\n", + "\n", + "bioir_df = pd.DataFrame(results)\n", + "print(bioir_df)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1XZOeJ7YfwIR", + "outputId": "d052b963-4f9a-4378-b857-5e6c11422208" + }, + "execution_count": 25, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "=== boltz-1 ===\n", + "\n", + "=== boltz-2 ===\n", + "\n", + "=== openfold3 ===\n", + "\n", + "=== openfold2_ptm_1 ===\n", + " model wall_time_s reported_inference_time_s ptm mean_plddt\n", + "0 boltz-1 16.14 4.18 0.326 0.564\n", + "1 boltz-2 25.08 4.16 0.508 0.651\n", + "2 openfold3 7.29 4.30 0.241 0.533\n", + "3 openfold2_ptm_1 3.26 1.66 0.393 0.624\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "KEGxt3Nsmz-6" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file