Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .changeset/antibody-design-runenv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
"@platforma-open/milaboratories.runenv-python-3.12.10-antibody-design": minor
"@platforma-open/milaboratories.runenv-python-3": minor
---

Add the `3.12.10-antibody-design` Python run environment for the Antibody Variant Designer block: AntiFold
inverse folding (`torch`, `torch_geometric`), Sapiens humanness (`transformers`), SASA exposure (`freesasa`)
and `promb`, with the whole runtime closure pinned flat.

Both of the block's software packages install this set with pip on every run today, about 2 GiB of it. Shipping
it as a run environment moves that cost to build time.

torch is declared per platform. linux-x64 takes `torch==2.2.2+cpu` from `https://download.pytorch.org/whl/cpu`,
because the PyPI wheel pulls twelve `nvidia-*` CUDA packages this block never uses; the other platforms take
the plain pin, whose PyPI wheels are CPU builds already.

`freesasa` is built on the runner for all five platforms — it publishes no cp312 wheel anywhere — following the
base `3.12.10` environment. `biotite` is built on the runner for linux-aarch64 only, which has no wheel for any
version.

`biotite` is pinned at 0.39.0, not the 0.38.\* the block currently asks for: 0.38 publishes no wheel usable
under Python 3.12, so the block's own bound has to move with this.
6 changes: 6 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,12 @@ jobs:
{"os":"macos-15-large", "arch":"amd64", "selector":"./python-3.12.10-hilary"},
{"os":"windows-latest", "arch":"amd64", "selector":"./python-3.12.10-hilary"},

{"os":"ubuntu-large-amd64", "arch":"amd64", "selector":"./python-3.12.10-antibody-design"},
{"os":"ubuntu-large-arm64", "arch":"arm64", "selector":"./python-3.12.10-antibody-design"},
{"os":"macos-15", "arch":"arm64", "selector":"./python-3.12.10-antibody-design"},
{"os":"macos-15-large", "arch":"amd64", "selector":"./python-3.12.10-antibody-design"},
{"os":"windows-latest", "arch":"amd64", "selector":"./python-3.12.10-antibody-design"},

{"os":"ubuntu-large-arm64", "arch":"arm64", "selector":"./python-3.10.21-clustcr"},
{"os":"ubuntu-large-amd64", "arch":"amd64", "selector":"./python-3.10.21-clustcr"},
{"os":"macos-15", "arch":"arm64", "selector":"./python-3.10.21-clustcr"},
Expand Down
6 changes: 5 additions & 1 deletion catalogue/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@
},
"3.12.10-hilary": {
"reference": "@platforma-open/milaboratories.runenv-python-3.12.10-hilary/dist/tengo/software/main.sw.json"
},
"3.12.10-antibody-design": {
"reference": "@platforma-open/milaboratories.runenv-python-3.12.10-antibody-design/dist/tengo/software/main.sw.json"
}
}
},
Expand All @@ -70,7 +73,8 @@
"@platforma-open/milaboratories.runenv-python-3.12.10-clustering": "workspace:*",
"@platforma-open/milaboratories.runenv-python-3.12.10-pgen": "workspace:*",
"@platforma-open/milaboratories.runenv-python-3.10.21-clustcr": "workspace:*",
"@platforma-open/milaboratories.runenv-python-3.12.10-hilary": "workspace:*"
"@platforma-open/milaboratories.runenv-python-3.12.10-hilary": "workspace:*",
"@platforma-open/milaboratories.runenv-python-3.12.10-antibody-design": "workspace:*"
},
"devDependencies": {
"@platforma-sdk/package-builder": "catalog:"
Expand Down
29 changes: 29 additions & 0 deletions checker/whitelists/linux-aarch64.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,34 @@
"torio.lib.libtorio_ffmpeg4": "libavutil.so.56: cannot open shared object file: No such file or directory",
"torio.lib.libtorio_ffmpeg5": "libavutil.so.57: cannot open shared object file: No such file or directory",
"torio.lib.libtorio_ffmpeg6": "libavutil.so.58: cannot open shared object file: No such file or directory"
},
"torch-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl": {
"functorch._C": "initialization failed"
},
"biotite-0.39.0-cp312-cp312-linux_aarch64.whl": {
"biotite.sequence.align.banded": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmeralphabet": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmersimilarity": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmertable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localgapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localungapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.multiple": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.pairwise": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.permutation": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.selector": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.tracetable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.codec": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.nj": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.tree": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.upgma": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.bonds": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.celllist": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.charges": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertarray": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertfile": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.decode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.encode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.pdb.hybrid36": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.sasa": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()"
}
}
29 changes: 29 additions & 0 deletions checker/whitelists/linux-x64.json
Original file line number Diff line number Diff line change
Expand Up @@ -224,5 +224,34 @@
"ucxx._lib.libucxx": "libpython3.12.so.1.0: cannot open shared object file: No such file or directory",
"ucxx.examples.python_future_task_app": "libpython3.12.so.1.0: cannot open shared object file: No such file or directory",
"ucxx.lib64.libucxx_python": "libpython3.12.so.1.0: cannot open shared object file: No such file or directory"
},
"torch-2.2.2+cpu-cp312-cp312-linux_x86_64.whl": {
"functorch._C": "initialization failed"
},
"biotite-0.39.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl": {
"biotite.sequence.align.banded": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmeralphabet": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmersimilarity": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmertable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localgapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localungapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.multiple": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.pairwise": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.permutation": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.selector": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.tracetable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.codec": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.nj": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.tree": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.upgma": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.bonds": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.celllist": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.charges": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertarray": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertfile": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.decode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.encode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.pdb.hybrid36": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.sasa": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()"
}
}
29 changes: 29 additions & 0 deletions checker/whitelists/macosx-aarch64.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,34 @@
"torio.lib.libtorio_ffmpeg4": "Reason: no LC_RPATH's found",
"torio.lib.libtorio_ffmpeg5": "Reason: no LC_RPATH's found",
"torio.lib.libtorio_ffmpeg6": "Reason: no LC_RPATH's found"
},
"torch-2.2.2-cp312-none-macosx_11_0_arm64.whl": {
"functorch._C": "initialization failed"
},
"biotite-0.39.0-cp312-cp312-macosx_11_0_arm64.whl": {
"biotite.sequence.align.banded": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmeralphabet": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmersimilarity": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmertable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localgapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localungapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.multiple": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.pairwise": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.permutation": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.selector": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.tracetable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.codec": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.nj": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.tree": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.upgma": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.bonds": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.celllist": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.charges": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertarray": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertfile": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.decode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.encode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.pdb.hybrid36": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.sasa": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()"
}
}
26 changes: 26 additions & 0 deletions checker/whitelists/macosx-x64.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,31 @@
},
"torch-2.2.2-cp312-none-macosx_10_9_x86_64.whl": {
"functorch._C": "initialization failed"
},
"biotite-0.39.0-cp312-cp312-macosx_10_9_x86_64.whl": {
"biotite.sequence.align.banded": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmeralphabet": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmersimilarity": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.kmertable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localgapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.localungapped": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.multiple": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.pairwise": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.permutation": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.selector": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.align.tracetable": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.codec": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.nj": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.tree": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.sequence.phylo.upgma": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.bonds": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.celllist": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.charges": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertarray": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.convertfile": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.decode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.mmtf.encode": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.io.pdb.hybrid36": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()",
"biotite.structure.sasa": "numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()"
}
}
Loading
Loading