@platforma-open/milaboratories.3d-structure-prediction.software 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/work/3d-structure-prediction/3d-structure-prediction/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-open/milaboratories.3d-structure-prediction.software@1.0.5 build /home/runner/work/3d-structure-prediction/3d-structure-prediction/software
3
+ > @platforma-open/milaboratories.3d-structure-prediction.software@1.0.7 build /home/runner/work/3d-structure-prediction/3d-structure-prediction/software
4
4
  > pl-pkg build
5
5
 
6
6
  info: Building docker images...
@@ -8,392 +8,381 @@
8
8
  #0 building with "default" instance using docker driver
9
9
 
10
10
  #1 [internal] load build definition from Dockerfile
11
- #1 transferring dockerfile: 3.16kB done
11
+ #1 transferring dockerfile: 2.53kB done
12
12
  #1 DONE 0.0s
13
13
 
14
- #2 resolve image config for docker-image://docker.io/docker/dockerfile:1
15
- #2 ...
14
+ #2 [auth] docker/dockerfile:pull token for registry-1.docker.io
15
+ #2 DONE 0.0s
16
16
 
17
- #3 [auth] docker/dockerfile:pull token for registry-1.docker.io
18
- #3 DONE 0.0s
17
+ #3 resolve image config for docker-image://docker.io/docker/dockerfile:1
18
+ #3 DONE 1.2s
19
19
 
20
- #2 resolve image config for docker-image://docker.io/docker/dockerfile:1
21
- #2 DONE 0.9s
20
+ #4 docker-image://docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89
21
+ #4 resolve docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 done
22
+ #4 sha256:e82bbc85c3cb06cf2a5a27b058208b43984448acbcd6a832cd1491933d4376dd 1.13kB / 1.13kB done
23
+ #4 sha256:1a998cca4d41cfecafb1989342c5e7378bc992589af7d47510c4b854bebfc7d7 1.33kB / 1.33kB done
24
+ #4 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 0B / 14.36MB 0.1s
25
+ #4 sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 9.08kB / 9.08kB done
26
+ #4 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 14.36MB / 14.36MB 0.5s done
27
+ #4 extracting sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 0.1s
28
+ #4 extracting sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 0.1s done
29
+ #4 DONE 0.6s
22
30
 
23
- #4 docker-image://docker.io/docker/dockerfile:1@sha256:2780b5c3bab67f1f76c781860de469442999ed1a0d7992a5efdf2cffc0e3d769
24
- #4 resolve docker.io/docker/dockerfile:1@sha256:2780b5c3bab67f1f76c781860de469442999ed1a0d7992a5efdf2cffc0e3d769 done
25
- #4 sha256:2780b5c3bab67f1f76c781860de469442999ed1a0d7992a5efdf2cffc0e3d769 8.43kB / 8.43kB done
26
- #4 sha256:369c4e6584693f8e13d7a27755a6b10201798e229cdfad5eae04ea5f15a76412 1.13kB / 1.13kB done
27
- #4 sha256:14cdce40ae0e938cf7d2d7fe6aa3dec2beb66aa066d6a54356c64fd8af6323c2 1.33kB / 1.33kB done
28
- #4 sha256:bcb5d2ab7af67a669c932851c8bb8a26895dda6258900edfd7429d57bfd3592f 0B / 14.11MB 0.1s
29
- #4 sha256:bcb5d2ab7af67a669c932851c8bb8a26895dda6258900edfd7429d57bfd3592f 14.11MB / 14.11MB 0.1s done
30
- #4 extracting sha256:bcb5d2ab7af67a669c932851c8bb8a26895dda6258900edfd7429d57bfd3592f 0.1s
31
- #4 extracting sha256:bcb5d2ab7af67a669c932851c8bb8a26895dda6258900edfd7429d57bfd3592f 0.2s done
32
- #4 DONE 0.3s
31
+ #5 [auth] mambaorg/micromamba:pull token for registry-1.docker.io
32
+ #5 DONE 0.0s
33
33
 
34
- #5 [internal] load metadata for docker.io/mambaorg/micromamba:1.5.10
35
- #5 ...
36
-
37
- #6 [auth] mambaorg/micromamba:pull token for registry-1.docker.io
38
- #6 DONE 0.0s
39
-
40
- #5 [internal] load metadata for docker.io/mambaorg/micromamba:1.5.10
41
- #5 DONE 1.0s
34
+ #6 [internal] load metadata for docker.io/mambaorg/micromamba:1.5.10
35
+ #6 DONE 8.2s
42
36
 
43
37
  #7 [internal] load .dockerignore
44
38
  #7 transferring context: 2B done
45
39
  #7 DONE 0.0s
46
40
 
47
41
  #8 [internal] load build context
48
- #8 transferring context: 36.22kB done
42
+ #8 transferring context: 35.94kB done
49
43
  #8 DONE 0.0s
50
44
 
51
- #9 [1/7] FROM docker.io/mambaorg/micromamba:1.5.10@sha256:e3797091302382ea841498bc93a7b0a50f7c1448333d5e946d2d1608d0c5f43d
45
+ #9 [1/6] FROM docker.io/mambaorg/micromamba:1.5.10@sha256:e3797091302382ea841498bc93a7b0a50f7c1448333d5e946d2d1608d0c5f43d
52
46
  #9 resolve docker.io/mambaorg/micromamba:1.5.10@sha256:e3797091302382ea841498bc93a7b0a50f7c1448333d5e946d2d1608d0c5f43d done
53
- #9 sha256:008e06cd8432eb558faa4738a092f30b38dd8db3137a5dd3fca57374a790825b 2.56kB / 2.56kB done
54
- #9 sha256:c5ef7ca066aec9ae6b5a07ceca914beded0754d74f2006b33ee80cb661688f74 6.28kB / 6.28kB done
55
- #9 sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 0B / 29.13MB 0.1s
56
47
  #9 sha256:e3797091302382ea841498bc93a7b0a50f7c1448333d5e946d2d1608d0c5f43d 2.36kB / 2.36kB done
57
48
  #9 sha256:0d56d98386a9a231fee4dcf145a261d9d12da39f1c5a5d3bbe09a1aa727febf8 0B / 122.68kB 0.1s
49
+ #9 sha256:c5ef7ca066aec9ae6b5a07ceca914beded0754d74f2006b33ee80cb661688f74 6.28kB / 6.28kB done
50
+ #9 sha256:008e06cd8432eb558faa4738a092f30b38dd8db3137a5dd3fca57374a790825b 2.56kB / 2.56kB done
58
51
  #9 sha256:30fe8036db79bfbab0cdf8d102dcfd22ee410944fed17b23851977246235b880 0B / 6.20MB 0.1s
59
- #9 sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 7.34MB / 29.13MB 0.3s
52
+ #9 sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 0B / 29.13MB 0.1s
53
+ #9 sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 29.13MB / 29.13MB 0.2s
54
+ #9 extracting sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b
60
55
  #9 sha256:0d56d98386a9a231fee4dcf145a261d9d12da39f1c5a5d3bbe09a1aa727febf8 122.68kB / 122.68kB 0.2s done
61
- #9 sha256:30fe8036db79bfbab0cdf8d102dcfd22ee410944fed17b23851977246235b880 6.20MB / 6.20MB 0.3s done
62
- #9 sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B 0.3s done
56
+ #9 sha256:30fe8036db79bfbab0cdf8d102dcfd22ee410944fed17b23851977246235b880 4.19MB / 6.20MB 0.3s
57
+ #9 sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 29.13MB / 29.13MB 0.2s done
58
+ #9 sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B 0.2s done
63
59
  #9 sha256:1b19c15ef8e221c4e8f2f5233ce6dcb27342ecf18997a0576cf301345df0b2ed 0B / 521B 0.3s
64
- #9 sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 16.78MB / 29.13MB 0.4s
65
- #9 sha256:1b19c15ef8e221c4e8f2f5233ce6dcb27342ecf18997a0576cf301345df0b2ed 521B / 521B 0.4s done
66
- #9 sha256:9a782d6d1eace15aadfa1d16eb83ad2abdea075c6c9e200247950571a3719e10 0B / 3.77kB 0.4s
67
- #9 sha256:51b5951dad11c47781e0b67c512ab7f1b148983b42cb5b8cbfb3ea6e8d28a602 282B / 282B 0.4s
68
- #9 sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 29.13MB / 29.13MB 0.5s done
69
- #9 sha256:9a782d6d1eace15aadfa1d16eb83ad2abdea075c6c9e200247950571a3719e10 3.77kB / 3.77kB 0.5s done
60
+ #9 sha256:51b5951dad11c47781e0b67c512ab7f1b148983b42cb5b8cbfb3ea6e8d28a602 0B / 282B 0.3s
61
+ #9 sha256:30fe8036db79bfbab0cdf8d102dcfd22ee410944fed17b23851977246235b880 6.20MB / 6.20MB 0.3s done
70
62
  #9 sha256:51b5951dad11c47781e0b67c512ab7f1b148983b42cb5b8cbfb3ea6e8d28a602 282B / 282B 0.4s done
71
- #9 extracting sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 0.1s
72
- #9 sha256:8b456163e45ffc9e8274e77e02d1a5a166f27e760db7314ea9ee89f5578090d6 0B / 215B 0.5s
73
- #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 0B / 645B 0.5s
63
+ #9 sha256:9a782d6d1eace15aadfa1d16eb83ad2abdea075c6c9e200247950571a3719e10 0B / 3.77kB 0.4s
64
+ #9 sha256:8b456163e45ffc9e8274e77e02d1a5a166f27e760db7314ea9ee89f5578090d6 0B / 215B 0.4s
65
+ #9 sha256:8b456163e45ffc9e8274e77e02d1a5a166f27e760db7314ea9ee89f5578090d6 215B / 215B 0.4s done
74
66
  #9 sha256:e9e8562f12ed796758a0790bfccb45f2463190f4ba8696dac09a9f22b20e37e3 0B / 683B 0.5s
75
- #9 sha256:8b456163e45ffc9e8274e77e02d1a5a166f27e760db7314ea9ee89f5578090d6 215B / 215B 0.5s done
76
- #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 645B / 645B 0.7s done
77
- #9 sha256:e9e8562f12ed796758a0790bfccb45f2463190f4ba8696dac09a9f22b20e37e3 683B / 683B 0.6s done
78
- #9 sha256:db3fc724910ed98f15e8511e8024faf769a34901595e617bd4c7ebd8b8b8fd29 345B / 345B 0.6s done
79
- #9 extracting sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 1.4s done
67
+ #9 sha256:1b19c15ef8e221c4e8f2f5233ce6dcb27342ecf18997a0576cf301345df0b2ed 521B / 521B 0.7s done
68
+ #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 0B / 645B 0.8s
69
+ #9 sha256:9a782d6d1eace15aadfa1d16eb83ad2abdea075c6c9e200247950571a3719e10 3.77kB / 3.77kB 0.9s done
70
+ #9 sha256:db3fc724910ed98f15e8511e8024faf769a34901595e617bd4c7ebd8b8b8fd29 345B / 345B 0.9s done
71
+ #9 extracting sha256:a2318d6c47ec9cac5acc500c47c79602bcf953cec711a18bc898911a0984365b 1.1s done
80
72
  #9 extracting sha256:0d56d98386a9a231fee4dcf145a261d9d12da39f1c5a5d3bbe09a1aa727febf8 done
81
73
  #9 extracting sha256:30fe8036db79bfbab0cdf8d102dcfd22ee410944fed17b23851977246235b880
82
74
  #9 extracting sha256:30fe8036db79bfbab0cdf8d102dcfd22ee410944fed17b23851977246235b880 0.1s done
83
- #9 extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
84
75
  #9 extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done
76
+ #9 extracting sha256:1b19c15ef8e221c4e8f2f5233ce6dcb27342ecf18997a0576cf301345df0b2ed
85
77
  #9 extracting sha256:1b19c15ef8e221c4e8f2f5233ce6dcb27342ecf18997a0576cf301345df0b2ed done
86
78
  #9 extracting sha256:51b5951dad11c47781e0b67c512ab7f1b148983b42cb5b8cbfb3ea6e8d28a602 done
87
79
  #9 extracting sha256:9a782d6d1eace15aadfa1d16eb83ad2abdea075c6c9e200247950571a3719e10 done
88
80
  #9 extracting sha256:8b456163e45ffc9e8274e77e02d1a5a166f27e760db7314ea9ee89f5578090d6 done
81
+ #9 sha256:e9e8562f12ed796758a0790bfccb45f2463190f4ba8696dac09a9f22b20e37e3 0B / 683B 5.6s
82
+ #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 0B / 645B 5.8s
83
+ #9 extracting sha256:e9e8562f12ed796758a0790bfccb45f2463190f4ba8696dac09a9f22b20e37e3
84
+ #9 sha256:e9e8562f12ed796758a0790bfccb45f2463190f4ba8696dac09a9f22b20e37e3 683B / 683B 10.1s done
89
85
  #9 extracting sha256:e9e8562f12ed796758a0790bfccb45f2463190f4ba8696dac09a9f22b20e37e3 done
86
+ #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 0B / 645B 10.8s
87
+ #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 0B / 645B 15.9s
88
+ #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 0B / 645B 21.0s
89
+ #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 0B / 645B 26.1s
90
+ #9 extracting sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461
91
+ #9 sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 645B / 645B 35.8s done
90
92
  #9 extracting sha256:c1d339bd3cdc8184904ef6ed4e4685a7551020e738a57e9b8c27edead08b3461 done
91
- #9 extracting sha256:db3fc724910ed98f15e8511e8024faf769a34901595e617bd4c7ebd8b8b8fd29
92
93
  #9 extracting sha256:db3fc724910ed98f15e8511e8024faf769a34901595e617bd4c7ebd8b8b8fd29 done
93
- #9 DONE 2.3s
94
+ #9 DONE 35.8s
94
95
 
95
- #10 [2/7] RUN micromamba install -y -n base -c bioconda -c conda-forge python=3.12.10 anarci hmmer biopython=1.85 openmm=8.3.1 pdbfixer=1.12.0 numpy=2.4.3 scipy=1.17.1 && micromamba clean --all --yes
96
- #10 19.93
97
- #10 19.93 Transaction
98
- #10 19.93
99
- #10 19.93 Prefix: /opt/conda
100
- #10 19.93
101
- #10 19.93 Updating specs:
102
- #10 19.93
103
- #10 19.93 - python=3.12.10
104
- #10 19.93 - anarci
105
- #10 19.93 - hmmer
106
- #10 19.93 - biopython=1.85
107
- #10 19.93 - openmm=8.3.1
108
- #10 19.93 - pdbfixer=1.12.0
109
- #10 19.93 - numpy=2.4.3
110
- #10 19.93 - scipy=1.17.1
111
- #10 19.93
112
- #10 19.93
113
- #10 19.94 Package Version Build Channel Size
114
- #10 19.94 ───────────────────────────────────────────────────────────────────────────────
115
- #10 19.94 Install:
116
- #10 19.94 ───────────────────────────────────────────────────────────────────────────────
117
- #10 19.94
118
- #10 19.94 + python_abi 3.12 8_cp312 conda-forge 7kB
119
- #10 19.94 + tzdata 2025c hc9c84f9_1 conda-forge 119kB
120
- #10 19.94 + ca-certificates 2026.4.22 hbd8a1cb_0 conda-forge 131kB
121
- #10 19.94 + cuda-version 12.9 h4f385c5_3 conda-forge 22kB
122
- #10 19.94 + libzlib 1.3.2 h25fd6f3_2 conda-forge 64kB
123
- #10 19.94 + libgomp 15.2.0 he0feb66_19 conda-forge 604kB
124
- #10 19.94 + mpi 1.0 openmpi conda-forge 4kB
125
- #10 19.94 + zlib 1.3.2 h25fd6f3_2 conda-forge 96kB
126
- #10 19.94 + zstd 1.5.7 hb78ec9c_6 conda-forge 601kB
127
- #10 19.94 + _openmp_mutex 4.5 20_gnu conda-forge 29kB
128
- #10 19.94 + ld_impl_linux-64 2.45.1 default_hbd61a6d_102 conda-forge 728kB
129
- #10 19.94 + libgcc 15.2.0 he0feb66_19 conda-forge 1MB
130
- #10 19.94 + tk 8.6.13 noxft_h366c992_103 conda-forge 3MB
131
- #10 19.94 + libsqlite 3.53.1 h0c1763c_0 conda-forge 955kB
132
- #10 19.94 + openssl 3.6.2 h35e630c_0 conda-forge 3MB
133
- #10 19.94 + ncurses 6.6 hdb14827_0 conda-forge 919kB
134
- #10 19.94 + libuuid 2.42 h5347b49_0 conda-forge 40kB
135
- #10 19.94 + libnsl 2.0.1 hb9d3cd8_1 conda-forge 34kB
136
- #10 19.94 + liblzma 5.8.3 hb03c661_0 conda-forge 113kB
137
- #10 19.94 + libffi 3.4.6 h2dba641_1 conda-forge 57kB
138
- #10 19.94 + libexpat 2.8.0 hecca717_0 conda-forge 77kB
139
- #10 19.94 + bzip2 1.0.8 hda65f42_9 conda-forge 260kB
140
- #10 19.94 + libstdcxx 15.2.0 h934c35e_19 conda-forge 6MB
141
- #10 19.94 + libgcc-ng 15.2.0 h69a702a_19 conda-forge 28kB
142
- #10 19.94 + libgfortran5 15.2.0 h68bc16d_19 conda-forge 2MB
143
- #10 19.94 + readline 8.3 h853b02a_0 conda-forge 345kB
144
- #10 19.94 + opencl-headers 2025.06.13 hecca717_0 conda-forge 56kB
145
- #10 19.94 + libstdcxx-ng 15.2.0 hdf11a46_19 conda-forge 28kB
146
- #10 19.94 + libcufft 11.4.1.4 hecca717_1 conda-forge 162MB
147
- #10 19.94 + cuda-nvrtc 12.9.86 hecca717_1 conda-forge 67MB
148
- #10 19.94 + libxcrypt 4.4.36 hd590300_1 conda-forge 100kB
149
- #10 19.94 + libgfortran 15.2.0 h69a702a_19 conda-forge 28kB
150
- #10 19.94 + ocl-icd 2.3.3 hb9d3cd8_0 conda-forge 107kB
151
- #10 19.94 + python 3.12.10 h9e4cc4f_0_cpython conda-forge 31MB
152
- #10 19.94 + libgfortran-ng 15.2.0 h69a702a_19 conda-forge 28kB
153
- #10 19.94 + libopenblas 0.3.33 pthreads_h94d23a6_0 conda-forge 6MB
154
- #10 19.94 + ocl-icd-system 1.0.0 1 conda-forge 4kB
155
- #10 19.94 + openmpi 4.1.6 hc5af2df_101 conda-forge 4MB
156
- #10 19.94 + libblas 3.11.0 7_h4a7cf45_openblas conda-forge 19kB
157
- #10 19.94 + libcblas 3.11.0 7_h0358290_openblas conda-forge 19kB
158
- #10 19.94 + liblapack 3.11.0 7_h47877c9_openblas conda-forge 19kB
159
- #10 19.94 + gsl 2.7 he838d99_0 conda-forge 3MB
160
- #10 19.94 + packaging 26.2 pyhc364b38_0 conda-forge 92kB
161
- #10 19.94 + setuptools 82.0.1 pyh332efcf_0 conda-forge 640kB
162
- #10 19.94 + wheel 0.47.0 pyhd8ed1ab_0 conda-forge 33kB
163
- #10 19.94 + pip 26.1.1 pyh8b19718_0 conda-forge 1MB
164
- #10 19.94 + legacy-cgi 2.6.4 pyhcf101f3_0 conda-forge 20kB
165
- #10 19.94 + hmmer 3.4 hb6cb901_4 bioconda 12MB
166
- #10 19.94 + numpy 2.4.3 py312h33ff503_0 conda-forge 9MB
167
- #10 19.94 + biopython 1.85 py312h4c3975b_2 conda-forge 3MB
168
- #10 19.94 + scipy 1.17.1 py312h54fa4ab_0 conda-forge 17MB
169
- #10 19.94 + openmm 8.3.1 py312h50c43f0_0 conda-forge 13MB
170
- #10 19.94 + anarci 2024.05.21 pyhdfd78af_0 bioconda 1MB
171
- #10 19.94 + pdbfixer 1.12 pyhd8ed1ab_1 conda-forge 546kB
172
- #10 19.94
173
- #10 19.94 Summary:
174
- #10 19.94
175
- #10 19.94 Install: 54 packages
176
- #10 19.94
177
- #10 19.94 Total download: 353MB
178
- #10 19.94
179
- #10 19.94 ───────────────────────────────────────────────────────────────────────────────
180
- #10 19.94
181
- #10 19.94
182
- #10 19.94
183
- #10 19.94 Transaction starting
184
- #10 25.31
185
- #10 25.45
186
- #10 25.45 For Linux 64, Open MPI is built with CUDA awareness but this support is disabled by default.
187
- #10 25.45 To enable it, please set the environment variable OMPI_MCA_opal_cuda_support=true before
188
- #10 25.45 launching your MPI processes. Equivalently, you can set the MCA parameter in the command line:
189
- #10 25.45 mpiexec --mca opal_cuda_support 1 ...
190
- #10 25.45
191
- #10 25.45 In addition, the UCX support is also built but disabled by default.
192
- #10 25.45 To enable it, first install UCX (conda install -c conda-forge ucx). Then, set the environment
193
- #10 25.45 variables OMPI_MCA_pml="ucx" OMPI_MCA_osc="ucx" before launching your MPI processes.
194
- #10 25.45 Equivalently, you can set the MCA parameters in the command line:
195
- #10 25.45 mpiexec --mca pml ucx --mca osc ucx ...
196
- #10 25.45 Note that you might also need to set UCX_MEMTYPE_CACHE=n for CUDA awareness via UCX.
197
- #10 25.45 Please consult UCX's documentation for detail.
198
- #10 25.45
199
- #10 25.45
200
- #10 26.52
201
- #10 26.52 Transaction finished
202
- #10 26.52
203
- #10 26.52 To activate this environment, use:
204
- #10 26.52
205
- #10 26.52 micromamba activate base
206
- #10 26.52
207
- #10 26.52 Or to execute a single command in this environment, use:
208
- #10 26.52
209
- #10 26.52 micromamba run -n base mycommand
210
- #10 26.52
211
- #10 26.56 Collect information..
212
- #10 26.56 Cleaning index cache..
213
- #10 26.61 Cleaning lock files..
214
- #10 26.61 Package file Size
215
- #10 26.61 ───────────────────────────────────────────────────────────────
216
- #10 26.61 /opt/conda/pkgs
217
- #10 26.61 ───────────────────────────────────────────────────────────────
218
- #10 26.61
219
- #10 26.61 _openmp_mutex-4.5-20_gnu.conda 29kB
220
- #10 26.61 anarci-2024.05.21-pyhdfd78af_0.tar.bz2 1MB
221
- #10 26.61 biopython-1.85-py312h4c3975b_2.conda 3MB
222
- #10 26.61 bzip2-1.0.8-hda65f42_9.conda 260kB
223
- #10 26.61 ca-certificates-2026.4.22-hbd8a1cb_0.conda 131kB
224
- #10 26.61 cuda-nvrtc-12.9.86-hecca717_1.conda 67MB
225
- #10 26.61 cuda-version-12.9-h4f385c5_3.conda 22kB
226
- #10 26.61 gsl-2.7-he838d99_0.tar.bz2 3MB
227
- #10 26.61 hmmer-3.4-hb6cb901_4.tar.bz2 12MB
228
- #10 26.61 ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda 728kB
229
- #10 26.61 legacy-cgi-2.6.4-pyhcf101f3_0.conda 20kB
230
- #10 26.61 libblas-3.11.0-7_h4a7cf45_openblas.conda 19kB
231
- #10 26.61 libcblas-3.11.0-7_h0358290_openblas.conda 19kB
232
- #10 26.61 libcufft-11.4.1.4-hecca717_1.conda 162MB
233
- #10 26.61 libexpat-2.8.0-hecca717_0.conda 77kB
234
- #10 26.61 libffi-3.4.6-h2dba641_1.conda 57kB
235
- #10 26.61 libgcc-15.2.0-he0feb66_19.conda 1MB
236
- #10 26.61 libgcc-ng-15.2.0-h69a702a_19.conda 28kB
237
- #10 26.61 libgfortran-15.2.0-h69a702a_19.conda 28kB
238
- #10 26.61 libgfortran-ng-15.2.0-h69a702a_19.conda 28kB
239
- #10 26.61 libgfortran5-15.2.0-h68bc16d_19.conda 2MB
240
- #10 26.61 libgomp-15.2.0-he0feb66_19.conda 604kB
241
- #10 26.61 liblapack-3.11.0-7_h47877c9_openblas.conda 19kB
242
- #10 26.61 liblzma-5.8.3-hb03c661_0.conda 113kB
243
- #10 26.61 libnsl-2.0.1-hb9d3cd8_1.conda 34kB
244
- #10 26.61 libopenblas-0.3.33-pthreads_h94d23a6_0.conda 6MB
245
- #10 26.61 libsqlite-3.53.1-h0c1763c_0.conda 955kB
246
- #10 26.61 libstdcxx-15.2.0-h934c35e_19.conda 6MB
247
- #10 26.61 libstdcxx-ng-15.2.0-hdf11a46_19.conda 28kB
248
- #10 26.61 libuuid-2.42-h5347b49_0.conda 40kB
249
- #10 26.61 libxcrypt-4.4.36-hd590300_1.conda 100kB
250
- #10 26.61 libzlib-1.3.2-h25fd6f3_2.conda 64kB
251
- #10 26.61 mpi-1.0-openmpi.tar.bz2 4kB
252
- #10 26.61 ncurses-6.6-hdb14827_0.conda 919kB
253
- #10 26.61 numpy-2.4.3-py312h33ff503_0.conda 9MB
254
- #10 26.61 ocl-icd-2.3.3-hb9d3cd8_0.conda 107kB
255
- #10 26.61 ocl-icd-system-1.0.0-1.tar.bz2 4kB
256
- #10 26.61 opencl-headers-2025.06.13-hecca717_0.conda 56kB
257
- #10 26.61 openmm-8.3.1-py312h50c43f0_0.conda 13MB
258
- #10 26.61 openmpi-4.1.6-hc5af2df_101.conda 4MB
259
- #10 26.61 openssl-3.6.2-h35e630c_0.conda 3MB
260
- #10 26.61 packaging-26.2-pyhc364b38_0.conda 92kB
261
- #10 26.61 pdbfixer-1.12-pyhd8ed1ab_1.conda 546kB
262
- #10 26.61 pip-26.1.1-pyh8b19718_0.conda 1MB
263
- #10 26.61 python-3.12.10-h9e4cc4f_0_cpython.conda 31MB
264
- #10 26.61 python_abi-3.12-8_cp312.conda 7kB
265
- #10 26.61 readline-8.3-h853b02a_0.conda 345kB
266
- #10 26.61 scipy-1.17.1-py312h54fa4ab_0.conda 17MB
267
- #10 26.61 setuptools-82.0.1-pyh332efcf_0.conda 640kB
268
- #10 26.61 tk-8.6.13-noxft_h366c992_103.conda 3MB
269
- #10 26.61 tzdata-2025c-hc9c84f9_1.conda 119kB
270
- #10 26.61 wheel-0.47.0-pyhd8ed1ab_0.conda 33kB
271
- #10 26.61 zlib-1.3.2-h25fd6f3_2.conda 96kB
272
- #10 26.61 zstd-1.5.7-hb78ec9c_6.conda 601kB
273
- #10 26.61
274
- #10 26.61 /root/.mamba/pkgs
275
- #10 26.61 ───────────────────────────────────────────────────────────────
276
- #10 26.61
277
- #10 26.61
278
- #10 26.61
279
- #10 26.61 ───────────────────────────────────────────────────────────────
280
- #10 26.61
281
- #10 26.61 Total size: 353MB
282
- #10 26.61 Cleaning tarballs..
283
- #10 26.66 Cleaning packages..
284
- #10 DONE 29.3s
96
+ #10 [2/6] RUN micromamba install -y -n base -c bioconda -c conda-forge python=3.12.10 anarci hmmer biopython=1.85 openmm=8.3.1 pdbfixer=1.12.0 numpy=2.4.3 scipy=1.17.1 && micromamba clean --all --yes
97
+ #10 15.95
98
+ #10 15.95 Transaction
99
+ #10 15.95
100
+ #10 15.95 Prefix: /opt/conda
101
+ #10 15.95
102
+ #10 15.95 Updating specs:
103
+ #10 15.95
104
+ #10 15.95 - python=3.12.10
105
+ #10 15.95 - anarci
106
+ #10 15.95 - hmmer
107
+ #10 15.95 - biopython=1.85
108
+ #10 15.95 - openmm=8.3.1
109
+ #10 15.95 - pdbfixer=1.12.0
110
+ #10 15.95 - numpy=2.4.3
111
+ #10 15.95 - scipy=1.17.1
112
+ #10 15.95
113
+ #10 15.95
114
+ #10 15.95 Package Version Build Channel Size
115
+ #10 15.95 ───────────────────────────────────────────────────────────────────────────────
116
+ #10 15.95 Install:
117
+ #10 15.95 ───────────────────────────────────────────────────────────────────────────────
118
+ #10 15.95
119
+ #10 15.95 + python_abi 3.12 8_cp312 conda-forge 7kB
120
+ #10 15.95 + tzdata 2025c hc9c84f9_1 conda-forge 119kB
121
+ #10 15.95 + ca-certificates 2026.5.20 hbd8a1cb_0 conda-forge 130kB
122
+ #10 15.95 + cuda-version 12.9 h4f385c5_3 conda-forge 22kB
123
+ #10 15.95 + libzlib 1.3.2 h25fd6f3_2 conda-forge 64kB
124
+ #10 15.95 + libgomp 15.2.0 he0feb66_19 conda-forge 604kB
125
+ #10 15.95 + mpi 1.0 openmpi conda-forge 4kB
126
+ #10 15.95 + zlib 1.3.2 h25fd6f3_2 conda-forge 96kB
127
+ #10 15.95 + zstd 1.5.7 hb78ec9c_6 conda-forge 601kB
128
+ #10 15.95 + _openmp_mutex 4.5 20_gnu conda-forge 29kB
129
+ #10 15.95 + ld_impl_linux-64 2.45.1 default_hbd61a6d_102 conda-forge 728kB
130
+ #10 15.95 + libgcc 15.2.0 he0feb66_19 conda-forge 1MB
131
+ #10 15.95 + tk 8.6.13 noxft_h366c992_103 conda-forge 3MB
132
+ #10 15.95 + libsqlite 3.53.1 h0c1763c_0 conda-forge 955kB
133
+ #10 15.95 + openssl 3.6.2 h35e630c_0 conda-forge 3MB
134
+ #10 15.95 + ncurses 6.6 hdb14827_0 conda-forge 919kB
135
+ #10 15.95 + libuuid 2.42.1 h5347b49_0 conda-forge 40kB
136
+ #10 15.95 + libnsl 2.0.1 hb9d3cd8_1 conda-forge 34kB
137
+ #10 15.95 + liblzma 5.8.3 hb03c661_0 conda-forge 113kB
138
+ #10 15.95 + libffi 3.4.6 h2dba641_1 conda-forge 57kB
139
+ #10 15.95 + libexpat 2.8.1 hecca717_0 conda-forge 77kB
140
+ #10 15.95 + bzip2 1.0.8 hda65f42_9 conda-forge 260kB
141
+ #10 15.95 + libstdcxx 15.2.0 h934c35e_19 conda-forge 6MB
142
+ #10 15.95 + libgcc-ng 15.2.0 h69a702a_19 conda-forge 28kB
143
+ #10 15.95 + libgfortran5 15.2.0 h68bc16d_19 conda-forge 2MB
144
+ #10 15.95 + readline 8.3 h853b02a_0 conda-forge 345kB
145
+ #10 15.95 + opencl-headers 2025.06.13 hecca717_0 conda-forge 56kB
146
+ #10 15.95 + libstdcxx-ng 15.2.0 hdf11a46_19 conda-forge 28kB
147
+ #10 15.95 + libcufft 11.4.1.4 hecca717_1 conda-forge 162MB
148
+ #10 15.95 + cuda-nvrtc 12.9.86 hecca717_1 conda-forge 67MB
149
+ #10 15.95 + libxcrypt 4.4.36 hd590300_1 conda-forge 100kB
150
+ #10 15.95 + libgfortran 15.2.0 h69a702a_19 conda-forge 28kB
151
+ #10 15.95 + ocl-icd 2.3.4 hb03c661_1 conda-forge 110kB
152
+ #10 15.95 + python 3.12.10 h9e4cc4f_0_cpython conda-forge 31MB
153
+ #10 15.95 + libgfortran-ng 15.2.0 h69a702a_19 conda-forge 28kB
154
+ #10 15.95 + libopenblas 0.3.33 pthreads_h94d23a6_0 conda-forge 6MB
155
+ #10 15.95 + ocl-icd-system 1.0.0 1 conda-forge 4kB
156
+ #10 15.95 + openmpi 4.1.6 hc5af2df_101 conda-forge 4MB
157
+ #10 15.95 + libblas 3.11.0 8_h4a7cf45_openblas conda-forge 19kB
158
+ #10 15.95 + libcblas 3.11.0 8_h0358290_openblas conda-forge 19kB
159
+ #10 15.95 + liblapack 3.11.0 8_h47877c9_openblas conda-forge 19kB
160
+ #10 15.95 + gsl 2.7 he838d99_0 conda-forge 3MB
161
+ #10 15.95 + packaging 26.2 pyhc364b38_0 conda-forge 92kB
162
+ #10 15.95 + setuptools 82.0.1 pyh332efcf_0 conda-forge 640kB
163
+ #10 15.95 + wheel 0.47.0 pyhd8ed1ab_0 conda-forge 33kB
164
+ #10 15.95 + pip 26.1.2 pyh8b19718_0 conda-forge 1MB
165
+ #10 15.95 + legacy-cgi 2.6.4 pyhcf101f3_0 conda-forge 20kB
166
+ #10 15.95 + hmmer 3.4 hb6cb901_4 bioconda 12MB
167
+ #10 15.95 + numpy 2.4.3 py312h33ff503_0 conda-forge 9MB
168
+ #10 15.95 + scipy 1.17.1 py312h54fa4ab_1 conda-forge 17MB
169
+ #10 15.95 + biopython 1.85 py312h4c3975b_2 conda-forge 3MB
170
+ #10 15.95 + openmm 8.3.1 py312h50c43f0_0 conda-forge 13MB
171
+ #10 15.95 + anarci 2024.05.21 pyhdfd78af_0 bioconda 1MB
172
+ #10 15.95 + pdbfixer 1.12 pyhd8ed1ab_1 conda-forge 546kB
173
+ #10 15.95
174
+ #10 15.95 Summary:
175
+ #10 15.95
176
+ #10 15.95 Install: 54 packages
177
+ #10 15.95
178
+ #10 15.95 Total download: 353MB
179
+ #10 15.95
180
+ #10 15.95 ───────────────────────────────────────────────────────────────────────────────
181
+ #10 15.95
182
+ #10 15.95
183
+ #10 15.95
184
+ #10 15.95 Transaction starting
185
+ #10 21.17
186
+ #10 21.31
187
+ #10 21.31 For Linux 64, Open MPI is built with CUDA awareness but this support is disabled by default.
188
+ #10 21.31 To enable it, please set the environment variable OMPI_MCA_opal_cuda_support=true before
189
+ #10 21.31 launching your MPI processes. Equivalently, you can set the MCA parameter in the command line:
190
+ #10 21.31 mpiexec --mca opal_cuda_support 1 ...
191
+ #10 21.31
192
+ #10 21.31 In addition, the UCX support is also built but disabled by default.
193
+ #10 21.31 To enable it, first install UCX (conda install -c conda-forge ucx). Then, set the environment
194
+ #10 21.31 variables OMPI_MCA_pml="ucx" OMPI_MCA_osc="ucx" before launching your MPI processes.
195
+ #10 21.31 Equivalently, you can set the MCA parameters in the command line:
196
+ #10 21.31 mpiexec --mca pml ucx --mca osc ucx ...
197
+ #10 21.31 Note that you might also need to set UCX_MEMTYPE_CACHE=n for CUDA awareness via UCX.
198
+ #10 21.31 Please consult UCX's documentation for detail.
199
+ #10 21.31
200
+ #10 21.31
201
+ #10 22.50
202
+ #10 22.50 Transaction finished
203
+ #10 22.50
204
+ #10 22.50 To activate this environment, use:
205
+ #10 22.50
206
+ #10 22.50 micromamba activate base
207
+ #10 22.50
208
+ #10 22.50 Or to execute a single command in this environment, use:
209
+ #10 22.50
210
+ #10 22.50 micromamba run -n base mycommand
211
+ #10 22.50
212
+ #10 22.53 Collect information..
213
+ #10 22.53 Cleaning index cache..
214
+ #10 22.92 Cleaning lock files..
215
+ #10 22.92 Package file Size
216
+ #10 22.92 ───────────────────────────────────────────────────────────────
217
+ #10 22.92 /opt/conda/pkgs
218
+ #10 22.92 ───────────────────────────────────────────────────────────────
219
+ #10 22.92
220
+ #10 22.92 _openmp_mutex-4.5-20_gnu.conda 29kB
221
+ #10 22.92 anarci-2024.05.21-pyhdfd78af_0.tar.bz2 1MB
222
+ #10 22.92 biopython-1.85-py312h4c3975b_2.conda 3MB
223
+ #10 22.92 bzip2-1.0.8-hda65f42_9.conda 260kB
224
+ #10 22.92 ca-certificates-2026.5.20-hbd8a1cb_0.conda 130kB
225
+ #10 22.92 cuda-nvrtc-12.9.86-hecca717_1.conda 67MB
226
+ #10 22.92 cuda-version-12.9-h4f385c5_3.conda 22kB
227
+ #10 22.92 gsl-2.7-he838d99_0.tar.bz2 3MB
228
+ #10 22.92 hmmer-3.4-hb6cb901_4.tar.bz2 12MB
229
+ #10 22.92 ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda 728kB
230
+ #10 22.92 legacy-cgi-2.6.4-pyhcf101f3_0.conda 20kB
231
+ #10 22.92 libblas-3.11.0-8_h4a7cf45_openblas.conda 19kB
232
+ #10 22.92 libcblas-3.11.0-8_h0358290_openblas.conda 19kB
233
+ #10 22.92 libcufft-11.4.1.4-hecca717_1.conda 162MB
234
+ #10 22.92 libexpat-2.8.1-hecca717_0.conda 77kB
235
+ #10 22.92 libffi-3.4.6-h2dba641_1.conda 57kB
236
+ #10 22.92 libgcc-15.2.0-he0feb66_19.conda 1MB
237
+ #10 22.92 libgcc-ng-15.2.0-h69a702a_19.conda 28kB
238
+ #10 22.92 libgfortran-15.2.0-h69a702a_19.conda 28kB
239
+ #10 22.92 libgfortran-ng-15.2.0-h69a702a_19.conda 28kB
240
+ #10 22.92 libgfortran5-15.2.0-h68bc16d_19.conda 2MB
241
+ #10 22.92 libgomp-15.2.0-he0feb66_19.conda 604kB
242
+ #10 22.92 liblapack-3.11.0-8_h47877c9_openblas.conda 19kB
243
+ #10 22.92 liblzma-5.8.3-hb03c661_0.conda 113kB
244
+ #10 22.92 libnsl-2.0.1-hb9d3cd8_1.conda 34kB
245
+ #10 22.92 libopenblas-0.3.33-pthreads_h94d23a6_0.conda 6MB
246
+ #10 22.92 libsqlite-3.53.1-h0c1763c_0.conda 955kB
247
+ #10 22.92 libstdcxx-15.2.0-h934c35e_19.conda 6MB
248
+ #10 22.92 libstdcxx-ng-15.2.0-hdf11a46_19.conda 28kB
249
+ #10 22.92 libuuid-2.42.1-h5347b49_0.conda 40kB
250
+ #10 22.92 libxcrypt-4.4.36-hd590300_1.conda 100kB
251
+ #10 22.92 libzlib-1.3.2-h25fd6f3_2.conda 64kB
252
+ #10 22.92 mpi-1.0-openmpi.tar.bz2 4kB
253
+ #10 22.92 ncurses-6.6-hdb14827_0.conda 919kB
254
+ #10 22.92 numpy-2.4.3-py312h33ff503_0.conda 9MB
255
+ #10 22.92 ocl-icd-2.3.4-hb03c661_1.conda 110kB
256
+ #10 22.92 ocl-icd-system-1.0.0-1.tar.bz2 4kB
257
+ #10 22.92 opencl-headers-2025.06.13-hecca717_0.conda 56kB
258
+ #10 22.92 openmm-8.3.1-py312h50c43f0_0.conda 13MB
259
+ #10 22.92 openmpi-4.1.6-hc5af2df_101.conda 4MB
260
+ #10 22.92 openssl-3.6.2-h35e630c_0.conda 3MB
261
+ #10 22.92 packaging-26.2-pyhc364b38_0.conda 92kB
262
+ #10 22.92 pdbfixer-1.12-pyhd8ed1ab_1.conda 546kB
263
+ #10 22.92 pip-26.1.2-pyh8b19718_0.conda 1MB
264
+ #10 22.92 python-3.12.10-h9e4cc4f_0_cpython.conda 31MB
265
+ #10 22.92 python_abi-3.12-8_cp312.conda 7kB
266
+ #10 22.92 readline-8.3-h853b02a_0.conda 345kB
267
+ #10 22.92 scipy-1.17.1-py312h54fa4ab_1.conda 17MB
268
+ #10 22.92 setuptools-82.0.1-pyh332efcf_0.conda 640kB
269
+ #10 22.92 tk-8.6.13-noxft_h366c992_103.conda 3MB
270
+ #10 22.92 tzdata-2025c-hc9c84f9_1.conda 119kB
271
+ #10 22.92 wheel-0.47.0-pyhd8ed1ab_0.conda 33kB
272
+ #10 22.92 zlib-1.3.2-h25fd6f3_2.conda 96kB
273
+ #10 22.92 zstd-1.5.7-hb78ec9c_6.conda 601kB
274
+ #10 22.92
275
+ #10 22.92 /root/.mamba/pkgs
276
+ #10 22.92 ───────────────────────────────────────────────────────────────
277
+ #10 22.92
278
+ #10 22.92
279
+ #10 22.92
280
+ #10 22.92 ───────────────────────────────────────────────────────────────
281
+ #10 22.92
282
+ #10 22.92 Total size: 353MB
283
+ #10 22.92 Cleaning tarballs..
284
+ #10 22.97 Cleaning packages..
285
+ #10 DONE 23.9s
285
286
 
286
- #11 [3/7] COPY requirements.txt /tmp/requirements.txt
287
+ #11 [3/6] COPY requirements.txt /tmp/requirements.txt
287
288
  #11 DONE 0.0s
288
289
 
289
- #12 [4/7] RUN pip install --no-cache-dir --extra-index-url https://download.pytorch.org/whl/cpu -r /tmp/requirements.txt
290
- #12 0.575 Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cpu
291
- #12 0.931 Collecting ImmuneBuilder==1.2 (from -r /tmp/requirements.txt (line 1))
292
- #12 0.954 Downloading ImmuneBuilder-1.2-py3-none-any.whl.metadata (7.7 kB)
293
- #12 1.303 Collecting torch==2.7.0 (from -r /tmp/requirements.txt (line 2))
294
- #12 1.359 Downloading torch-2.7.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (27 kB)
295
- #12 1.362 Requirement already satisfied: biopython==1.85 in /opt/conda/lib/python3.12/site-packages (from -r /tmp/requirements.txt (line 3)) (1.85)
296
- #12 1.363 Requirement already satisfied: openmm==8.3.1 in /opt/conda/lib/python3.12/site-packages (from -r /tmp/requirements.txt (line 4)) (8.3.1)
297
- #12 1.363 Requirement already satisfied: pdbfixer==1.12.0 in /opt/conda/lib/python3.12/site-packages (from -r /tmp/requirements.txt (line 5)) (1.12.0)
298
- #12 1.364 Requirement already satisfied: numpy in /opt/conda/lib/python3.12/site-packages (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1)) (2.4.3)
299
- #12 1.365 Requirement already satisfied: scipy>=1.6 in /opt/conda/lib/python3.12/site-packages (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1)) (1.17.1)
300
- #12 1.441 Collecting einops>=0.3 (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
301
- #12 1.445 Downloading einops-0.8.2-py3-none-any.whl.metadata (13 kB)
302
- #12 1.677 Collecting requests (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
303
- #12 1.680 Downloading requests-2.34.0-py3-none-any.whl.metadata (4.8 kB)
304
- #12 1.972 Collecting filelock (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
305
- #12 1.974 Downloading filelock-3.29.0-py3-none-any.whl.metadata (2.0 kB)
306
- #12 2.070 Collecting typing-extensions>=4.10.0 (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
307
- #12 2.074 Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
308
- #12 2.077 Requirement already satisfied: setuptools in /opt/conda/lib/python3.12/site-packages (from torch==2.7.0->-r /tmp/requirements.txt (line 2)) (82.0.1)
309
- #12 2.238 Collecting sympy>=1.13.3 (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
310
- #12 2.241 Downloading sympy-1.14.0-py3-none-any.whl.metadata (12 kB)
311
- #12 2.354 Collecting networkx (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
312
- #12 2.356 Downloading networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB)
313
- #12 2.462 Collecting jinja2 (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
314
- #12 2.467 Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
315
- #12 2.636 Collecting fsspec (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
316
- #12 2.639 Downloading fsspec-2026.4.0-py3-none-any.whl.metadata (10 kB)
317
- #12 2.758 Collecting mpmath<1.4,>=1.1.0 (from sympy>=1.13.3->torch==2.7.0->-r /tmp/requirements.txt (line 2))
318
- #12 2.760 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
319
- #12 2.956 Collecting MarkupSafe>=2.0 (from jinja2->torch==2.7.0->-r /tmp/requirements.txt (line 2))
320
- #12 2.960 Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)
321
- #12 3.117 Collecting charset_normalizer<4,>=2 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
322
- #12 3.119 Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)
323
- #12 3.220 Collecting idna<4,>=2.5 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
324
- #12 3.222 Downloading idna-3.14-py3-none-any.whl.metadata (8.0 kB)
325
- #12 3.325 Collecting urllib3<3,>=1.26 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
326
- #12 3.327 Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)
327
- #12 3.424 Collecting certifi>=2023.5.7 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
328
- #12 3.426 Downloading certifi-2026.4.22-py3-none-any.whl.metadata (2.5 kB)
329
- #12 3.497 Downloading ImmuneBuilder-1.2-py3-none-any.whl (32 kB)
330
- #12 3.509 Downloading torch-2.7.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl (175.8 MB)
331
- #12 4.006 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.8/175.8 MB 358.9 MB/s 0:00:00
332
- #12 4.009 Downloading einops-0.8.2-py3-none-any.whl (65 kB)
333
- #12 4.014 Downloading sympy-1.14.0-py3-none-any.whl (6.3 MB)
334
- #12 4.030 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 470.5 MB/s 0:00:00
335
- #12 4.035 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
336
- #12 4.037 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 787.2 MB/s 0:00:00
337
- #12 4.041 Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
338
- #12 4.043 Downloading filelock-3.29.0-py3-none-any.whl (39 kB)
339
- #12 4.046 Downloading fsspec-2026.4.0-py3-none-any.whl (203 kB)
340
- #12 4.050 Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
341
- #12 4.053 Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)
342
- #12 4.056 Downloading networkx-3.6.1-py3-none-any.whl (2.1 MB)
343
- #12 4.063 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 461.0 MB/s 0:00:00
344
- #12 4.066 Downloading requests-2.34.0-py3-none-any.whl (73 kB)
345
- #12 4.069 Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216 kB)
346
- #12 4.072 Downloading idna-3.14-py3-none-any.whl (72 kB)
347
- #12 4.074 Downloading urllib3-2.7.0-py3-none-any.whl (131 kB)
348
- #12 4.077 Downloading certifi-2026.4.22-py3-none-any.whl (135 kB)
349
- #12 4.389 Installing collected packages: mpmath, urllib3, typing-extensions, sympy, networkx, MarkupSafe, idna, fsspec, filelock, einops, charset_normalizer, certifi, requests, jinja2, torch, ImmuneBuilder
350
- #12 19.52
351
- #12 19.53 Successfully installed ImmuneBuilder-1.2 MarkupSafe-3.0.3 certifi-2026.4.22 charset_normalizer-3.4.7 einops-0.8.2 filelock-3.29.0 fsspec-2026.4.0 idna-3.14 jinja2-3.1.6 mpmath-1.3.0 networkx-3.6.1 requests-2.34.0 sympy-1.14.0 torch-2.7.0+cpu typing-extensions-4.15.0 urllib3-2.7.0
352
- #12 19.53 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
353
- #12 DONE 21.1s
290
+ #12 [4/6] RUN pip install --no-cache-dir --extra-index-url https://download.pytorch.org/whl/cpu -r /tmp/requirements.txt
291
+ #12 0.602 Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cpu
292
+ #12 0.841 Collecting ImmuneBuilder==1.2 (from -r /tmp/requirements.txt (line 1))
293
+ #12 0.868 Downloading ImmuneBuilder-1.2-py3-none-any.whl.metadata (7.7 kB)
294
+ #12 1.001 Collecting torch==2.7.0 (from -r /tmp/requirements.txt (line 2))
295
+ #12 1.061 Downloading torch-2.7.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (27 kB)
296
+ #12 1.064 Requirement already satisfied: biopython==1.85 in /opt/conda/lib/python3.12/site-packages (from -r /tmp/requirements.txt (line 3)) (1.85)
297
+ #12 1.065 Requirement already satisfied: openmm==8.3.1 in /opt/conda/lib/python3.12/site-packages (from -r /tmp/requirements.txt (line 4)) (8.3.1)
298
+ #12 1.066 Requirement already satisfied: pdbfixer==1.12.0 in /opt/conda/lib/python3.12/site-packages (from -r /tmp/requirements.txt (line 5)) (1.12.0)
299
+ #12 1.066 Requirement already satisfied: numpy in /opt/conda/lib/python3.12/site-packages (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1)) (2.4.3)
300
+ #12 1.067 Requirement already satisfied: scipy>=1.6 in /opt/conda/lib/python3.12/site-packages (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1)) (1.17.1)
301
+ #12 1.085 Collecting einops>=0.3 (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
302
+ #12 1.089 Downloading einops-0.8.2-py3-none-any.whl.metadata (13 kB)
303
+ #12 1.158 Collecting requests (from ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
304
+ #12 1.162 Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)
305
+ #12 1.216 Collecting filelock (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
306
+ #12 1.220 Downloading filelock-3.29.0-py3-none-any.whl.metadata (2.0 kB)
307
+ #12 1.262 Collecting typing-extensions>=4.10.0 (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
308
+ #12 1.266 Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
309
+ #12 1.268 Requirement already satisfied: setuptools in /opt/conda/lib/python3.12/site-packages (from torch==2.7.0->-r /tmp/requirements.txt (line 2)) (82.0.1)
310
+ #12 1.315 Collecting sympy>=1.13.3 (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
311
+ #12 1.318 Downloading sympy-1.14.0-py3-none-any.whl.metadata (12 kB)
312
+ #12 1.388 Collecting networkx (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
313
+ #12 1.392 Downloading networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB)
314
+ #12 1.450 Collecting jinja2 (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
315
+ #12 1.455 Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
316
+ #12 1.520 Collecting fsspec (from torch==2.7.0->-r /tmp/requirements.txt (line 2))
317
+ #12 1.524 Downloading fsspec-2026.4.0-py3-none-any.whl.metadata (10 kB)
318
+ #12 1.583 Collecting mpmath<1.4,>=1.1.0 (from sympy>=1.13.3->torch==2.7.0->-r /tmp/requirements.txt (line 2))
319
+ #12 1.587 Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
320
+ #12 1.665 Collecting MarkupSafe>=2.0 (from jinja2->torch==2.7.0->-r /tmp/requirements.txt (line 2))
321
+ #12 1.670 Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)
322
+ #12 1.765 Collecting charset_normalizer<4,>=2 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
323
+ #12 1.768 Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)
324
+ #12 1.805 Collecting idna<4,>=2.5 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
325
+ #12 1.808 Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)
326
+ #12 1.872 Collecting urllib3<3,>=1.26 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
327
+ #12 1.875 Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)
328
+ #12 1.915 Collecting certifi>=2023.5.7 (from requests->ImmuneBuilder==1.2->-r /tmp/requirements.txt (line 1))
329
+ #12 1.919 Downloading certifi-2026.5.20-py3-none-any.whl.metadata (2.5 kB)
330
+ #12 1.930 Downloading ImmuneBuilder-1.2-py3-none-any.whl (32 kB)
331
+ #12 1.941 Downloading torch-2.7.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl (175.8 MB)
332
+ #12 2.385 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.8/175.8 MB 402.4 MB/s 0:00:00
333
+ #12 2.388 Downloading einops-0.8.2-py3-none-any.whl (65 kB)
334
+ #12 2.392 Downloading sympy-1.14.0-py3-none-any.whl (6.3 MB)
335
+ #12 2.420 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 259.3 MB/s 0:00:00
336
+ #12 2.424 Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
337
+ #12 2.426 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 697.4 MB/s 0:00:00
338
+ #12 2.430 Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
339
+ #12 2.434 Downloading filelock-3.29.0-py3-none-any.whl (39 kB)
340
+ #12 2.439 Downloading fsspec-2026.4.0-py3-none-any.whl (203 kB)
341
+ #12 2.444 Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
342
+ #12 2.448 Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)
343
+ #12 2.452 Downloading networkx-3.6.1-py3-none-any.whl (2.1 MB)
344
+ #12 2.459 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 394.7 MB/s 0:00:00
345
+ #12 2.462 Downloading requests-2.34.2-py3-none-any.whl (73 kB)
346
+ #12 2.466 Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216 kB)
347
+ #12 2.470 Downloading idna-3.18-py3-none-any.whl (65 kB)
348
+ #12 2.473 Downloading urllib3-2.7.0-py3-none-any.whl (131 kB)
349
+ #12 2.477 Downloading certifi-2026.5.20-py3-none-any.whl (134 kB)
350
+ #12 2.790 Installing collected packages: mpmath, urllib3, typing-extensions, sympy, networkx, MarkupSafe, idna, fsspec, filelock, einops, charset_normalizer, certifi, requests, jinja2, torch, ImmuneBuilder
351
+ #12 17.73
352
+ #12 17.73 Successfully installed ImmuneBuilder-1.2 MarkupSafe-3.0.3 certifi-2026.5.20 charset_normalizer-3.4.7 einops-0.8.2 filelock-3.29.0 fsspec-2026.4.0 idna-3.18 jinja2-3.1.6 mpmath-1.3.0 networkx-3.6.1 requests-2.34.2 sympy-1.14.0 torch-2.7.0+cpu typing-extensions-4.15.0 urllib3-2.7.0
353
+ #12 17.73 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
354
+ #12 DONE 19.2s
354
355
 
355
- #13 [5/7] RUN python -c "from ImmuneBuilder import ABodyBuilder2, NanoBodyBuilder2; ABodyBuilder2(); NanoBodyBuilder2()" && chmod -R a+rX /opt/conda/lib/python3.12/site-packages/ImmuneBuilder/trained_model
356
- #13 1.741 Downloading weights for antibody_model_1...
357
- #13 12.95 Downloading weights for antibody_model_2...
358
- #13 29.78 Downloading weights for antibody_model_3...
359
- #13 54.06 Downloading weights for antibody_model_4...
360
- #13 67.82 Downloading weights for nanobody_model_1...
361
- #13 152.5 Downloading weights for nanobody_model_2...
362
- #13 169.8 Downloading weights for nanobody_model_3...
363
- #13 470.3 Downloading weights for nanobody_model_4...
364
- #13 DONE 491.9s
356
+ #13 [5/6] WORKDIR /app
357
+ #13 DONE 0.0s
365
358
 
366
- #14 [6/7] WORKDIR /app
359
+ #14 [6/6] COPY . /app/
367
360
  #14 DONE 0.0s
368
361
 
369
- #15 [7/7] COPY . /app/
370
- #15 DONE 0.0s
371
-
372
- #16 exporting to image
373
- #16 exporting layers
374
- #16 exporting layers 7.1s done
375
- #16 writing image sha256:7dca6668fe43b6f6c7c51cba07313f53f493aad839e1b10c668044ab5ff8019e done
376
- #16 naming to containers.pl-open.science/milaboratories/pl-containers:local-image.642e9e110544 done
377
- #16 DONE 7.1s
362
+ #15 exporting to image
363
+ #15 exporting layers
364
+ #15 exporting layers 5.9s done
365
+ #15 writing image sha256:fbb456fbfcccf8fbc2b45a07c823f3859de0de612ff635010b5904307e93d53e done
366
+ #15 naming to containers.pl-open.science/milaboratories/pl-containers:local-image.be0687a6bdf3 done
367
+ #15 DONE 5.9s
378
368
  info: Docker image is built:
379
- tag: 'containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.7dca6668fe43'
369
+ tag: 'containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.fbb456fbfccc'
380
370
  location file: '/home/runner/work/3d-structure-prediction/3d-structure-prediction/software/dist/artifacts/py-docker/docker_x64.json'
381
371
  info: Building package archives...
382
372
  info: Building software package 'py-archive' for platform 'linux-x64'...
383
373
  info: software archive is built:
384
- archive: '/home/runner/work/3d-structure-prediction/3d-structure-prediction/software/pkg-platforma-open-milaboratories.3d-structure-prediction.software-py-archive-1.0.5.tgz'
374
+ archive: '/home/runner/work/3d-structure-prediction/3d-structure-prediction/software/pkg-platforma-open-milaboratories.3d-structure-prediction.software-py-archive-1.0.7.tgz'
385
375
  location file: '/home/runner/work/3d-structure-prediction/3d-structure-prediction/software/dist/artifacts/py-archive/archive.json'
386
376
  info: Rendering entrypoint descriptors...
387
377
  info: Writing entrypoint descriptor to '/home/runner/work/3d-structure-prediction/3d-structure-prediction/software/dist/tengo/software/immunebuilder-predict.sw.json'
388
378
  info: Publishing docker images...
389
- info: Publishing docker image 'containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.7dca6668fe43' using alternative tag 'quay.io/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.7dca6668fe43'
379
+ info: Publishing docker image 'containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.fbb456fbfccc' using alternative tag 'quay.io/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.fbb456fbfccc'
390
380
  The push refers to repository [quay.io/milaboratories/pl-containers]
391
- 1d8bceb8fbfe: Preparing
392
- 06948691c35f: Preparing
393
- 5883446e31bd: Preparing
394
- 83eef4ba5f2f: Preparing
395
- 227169a6ac10: Preparing
396
- 2c940d4e6f50: Preparing
381
+ 9d0549817ad0: Preparing
382
+ 38e6dff5657b: Preparing
383
+ 0a0fef3ce751: Preparing
384
+ 410bf684c445: Preparing
385
+ 524dbc5f4e93: Preparing
397
386
  cc176b242a57: Preparing
398
387
  0f6514ac2db1: Preparing
399
388
  271be3d5c5cf: Preparing
@@ -406,8 +395,6 @@ f8663d674596: Preparing
406
395
  c018a1aad765: Preparing
407
396
  438ed031efcc: Preparing
408
397
  8e2ab394fabf: Preparing
409
- 2c940d4e6f50: Waiting
410
- cc176b242a57: Waiting
411
398
  0f6514ac2db1: Waiting
412
399
  271be3d5c5cf: Waiting
413
400
  f9926f359887: Waiting
@@ -416,23 +403,23 @@ e3b1db6d44c6: Waiting
416
403
  a818d59f8c76: Waiting
417
404
  f8663d674596: Waiting
418
405
  c018a1aad765: Waiting
419
- 8e2ab394fabf: Waiting
420
406
  438ed031efcc: Waiting
421
- 06948691c35f: Pushed
422
- 1d8bceb8fbfe: Pushed
423
- 227169a6ac10: Pushed
424
- 0f6514ac2db1: Layer already exists
407
+ 8e2ab394fabf: Waiting
408
+ cc176b242a57: Waiting
409
+ 38e6dff5657b: Pushed
410
+ 9d0549817ad0: Pushed
425
411
  cc176b242a57: Layer already exists
426
412
  271be3d5c5cf: Layer already exists
413
+ 0f6514ac2db1: Layer already exists
414
+ 410bf684c445: Pushed
427
415
  f9926f359887: Layer already exists
428
416
  5f70bf18a086: Layer already exists
429
417
  e3b1db6d44c6: Layer already exists
430
418
  a818d59f8c76: Layer already exists
431
- f8663d674596: Layer already exists
432
419
  c018a1aad765: Layer already exists
433
- 438ed031efcc: Layer already exists
420
+ f8663d674596: Layer already exists
434
421
  8e2ab394fabf: Layer already exists
435
- 83eef4ba5f2f: Pushed
436
- 2c940d4e6f50: Pushed
437
- 5883446e31bd: Pushed
438
- platforma-open.milaboratories.3d-structure-prediction.software.py-docker.7dca6668fe43: digest: sha256:4f2d5b7ba3a999e4d5fecccbc7f5e4aea1fb632f780b61ae50275645a1c63280 size: 4073
422
+ 438ed031efcc: Layer already exists
423
+ 0a0fef3ce751: Pushed
424
+ 524dbc5f4e93: Pushed
425
+ platforma-open.milaboratories.3d-structure-prediction.software.py-docker.fbb456fbfccc: digest: sha256:98396c40c2a63bad68708457c032a5d7474686a8ebd79a23f3162ef5f6fa3cd6 size: 3860
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @platforma-open/milaboratories.3d-structure-prediction.software
2
2
 
3
+ ## 1.0.7
4
+
5
+ ### Patch Changes
6
+
7
+ - 8aeaff0: Load ImmuneBuilder model weights from a published Platforma asset (`immunebuilder-weights-assets`) instead of downloading them from Zenodo at runtime. The matching per-mode asset is mounted into each batch workdir and passed to ImmuneBuilder via `--weights-dir`. Removes the pre-warmup step, the per-batch warmup sentinel wiring, and the Docker image weight bake.
8
+
9
+ ## 1.0.6
10
+
11
+ ### Patch Changes
12
+
13
+ - 49b6d30: Update workflow version
14
+
3
15
  ## 1.0.5
4
16
 
5
17
  ### Patch Changes
package/Dockerfile CHANGED
@@ -55,15 +55,6 @@ RUN pip install --no-cache-dir \
55
55
  --extra-index-url https://download.pytorch.org/whl/cpu \
56
56
  -r /tmp/requirements.txt
57
57
 
58
- # Pre-download model weights into the image. ImmuneBuilder otherwise writes
59
- # them into its own site-packages dir (/opt/conda/.../ImmuneBuilder/trained_model/)
60
- # on first use. That works locally because we're root, but cloud runtimes
61
- # run as a non-root user and hit PermissionError. Doing the download at
62
- # build time bakes ~400 MB of weights into the image and the runtime is
63
- # read-only there, which is what we want.
64
- RUN python -c "from ImmuneBuilder import ABodyBuilder2, NanoBodyBuilder2; ABodyBuilder2(); NanoBodyBuilder2()" \
65
- && chmod -R a+rX /opt/conda/lib/python3.12/site-packages/ImmuneBuilder/trained_model
66
-
67
58
  # Block sources (everything in src_python/).
68
59
  WORKDIR /app
69
60
  COPY . /app/
@@ -1 +1 @@
1
- {"type":"python","platform":"linux-x64","registryURL":"https://bin.pl-open.science/","registryName":"platforma-open","remoteArtifactLocation":"software/platforma-open/milaboratories.3d-structure-prediction.software/py-archive/1.0.5.tgz","uploadPath":"software/platforma-open/milaboratories.3d-structure-prediction.software/py-archive/1.0.5.tgz"}
1
+ {"type":"python","platform":"linux-x64","registryURL":"https://bin.pl-open.science/","registryName":"platforma-open","remoteArtifactLocation":"software/platforma-open/milaboratories.3d-structure-prediction.software/py-archive/1.0.7.tgz","uploadPath":"software/platforma-open/milaboratories.3d-structure-prediction.software/py-archive/1.0.7.tgz"}
@@ -1 +1 @@
1
- {"type":"docker","platform":"linux-x64","remoteArtifactLocation":"containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.7dca6668fe43","entrypoint":["/usr/local/bin/_entrypoint.sh"]}
1
+ {"type":"docker","platform":"linux-x64","remoteArtifactLocation":"containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.fbb456fbfccc","entrypoint":["/usr/local/bin/_entrypoint.sh"]}
@@ -1 +1 @@
1
- {"name":"@platforma-open/milaboratories.3d-structure-prediction.software:immunebuilder-predict","docker":{"tag":"containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.7dca6668fe43","entrypoint":["/usr/local/bin/_entrypoint.sh"],"cmd":["python","/app/run_immunebuilder.py"],"pkg":"/app"},"binary":{"type":"python","registry":"platforma-open","package":"software/platforma-open/milaboratories.3d-structure-prediction.software/py-archive/1.0.5.tgz","cmd":["python","{pkg}/run_immunebuilder.py"],"envVars":[],"runEnv":{"name":"@platforma-open/milaboratories.runenv-python-3:3.12.10-atls","type":"python","registry":"platforma-open","package":"software/platforma-open/milaboratories.runenv-python-3.12.10-atls/main/1.2.7-{os}-{arch}.tgz","python-version":"3.12.10","envVars":[],"binDir":"bin"},"toolset":"pip","dependencies":{"requirements":"requirements.txt"}}}
1
+ {"name":"@platforma-open/milaboratories.3d-structure-prediction.software:immunebuilder-predict","docker":{"tag":"containers.pl-open.science/milaboratories/pl-containers:platforma-open.milaboratories.3d-structure-prediction.software.py-docker.fbb456fbfccc","entrypoint":["/usr/local/bin/_entrypoint.sh"],"cmd":["python","/app/run_immunebuilder.py"],"pkg":"/app"},"binary":{"type":"python","registry":"platforma-open","package":"software/platforma-open/milaboratories.3d-structure-prediction.software/py-archive/1.0.7.tgz","cmd":["python","{pkg}/run_immunebuilder.py"],"envVars":[],"runEnv":{"name":"@platforma-open/milaboratories.runenv-python-3:3.12.10-atls","type":"python","registry":"platforma-open","package":"software/platforma-open/milaboratories.runenv-python-3.12.10-atls/main/1.2.7-{os}-{arch}.tgz","python-version":"3.12.10","envVars":[],"binDir":"bin"},"toolset":"pip","dependencies":{"requirements":"requirements.txt"}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-open/milaboratories.3d-structure-prediction.software",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "type": "module",
5
5
  "description": "Block Software",
6
6
  "block-software": {
@@ -228,13 +228,18 @@ def _region_errors(per_residue, chain: str, cdr_name: str) -> list[float]:
228
228
  ]
229
229
 
230
230
 
231
- def _load_predictor(mode: str):
231
+ def _load_predictor(mode: str, weights_dir: str | None = None):
232
+ # weights_dir points at the asset mounted into the workdir (see
233
+ # predict-batch.tpl.tengo). ImmuneBuilder loads `<weights_dir>/<model_file>`
234
+ # and only downloads from Zenodo when the file is missing — which, with the
235
+ # asset present, never happens. weights_dir=None preserves upstream
236
+ # download-to-site-packages behaviour for local/manual runs.
232
237
  if mode == "ABodyBuilder2":
233
238
  from ImmuneBuilder import ABodyBuilder2
234
- return ABodyBuilder2()
239
+ return ABodyBuilder2(weights_dir=weights_dir)
235
240
  if mode == "NanoBodyBuilder2":
236
241
  from ImmuneBuilder import NanoBodyBuilder2
237
- return NanoBodyBuilder2()
242
+ return NanoBodyBuilder2(weights_dir=weights_dir)
238
243
  raise ValueError(f"unknown mode: {mode}")
239
244
 
240
245
 
@@ -381,6 +386,7 @@ def process_batch(
381
386
  seed: int,
382
387
  metric: str,
383
388
  threshold: float,
389
+ weights_dir: str | None = None,
384
390
  ) -> None:
385
391
  pdb_dir.mkdir(parents=True, exist_ok=True)
386
392
  manifest_tsv.parent.mkdir(parents=True, exist_ok=True)
@@ -406,7 +412,7 @@ def process_batch(
406
412
  _set_seed(seed)
407
413
  if rows:
408
414
  _log(f"loading {mode} ensemble (4 models)")
409
- predictor = _load_predictor(mode)
415
+ predictor = _load_predictor(mode, weights_dir)
410
416
  _log("predictor ready")
411
417
  else:
412
418
  predictor = None
@@ -575,29 +581,13 @@ def process_batch(
575
581
  _log(f" warning: {n_warn} × {warning}")
576
582
 
577
583
 
578
- def warmup(mode: str, sentinel: Path | None) -> None:
579
- """Force the ImmuneBuilder weight download into a known cache location.
580
-
581
- Run as a single pre-step before the parallel batch fan-out. Avoids the
582
- race where multiple batch containers download the same weight files into
583
- a shared cache dir simultaneously, producing partial / corrupt files.
584
- """
585
- _log(f"warmup mode={mode} loading predictor (this may download weights)")
586
- _load_predictor(mode)
587
- if sentinel is not None:
588
- sentinel.write_text(
589
- f"mode={mode}\nimmunebuilder_version={get_immunebuilder_version()}\n"
590
- )
591
- _log("warmup OK")
592
-
593
-
594
584
  def main() -> None:
595
585
  parser = argparse.ArgumentParser()
596
586
  parser.add_argument("--mode", choices=["ABodyBuilder2", "NanoBodyBuilder2"], required=True)
597
- parser.add_argument("--warmup", action="store_true",
598
- help="Pre-download model weights and exit. --input/--output-dir/--manifest/--confidence are not used.")
599
- parser.add_argument("--sentinel", default=None,
600
- help="In --warmup mode, path to a sentinel file written on success.")
587
+ parser.add_argument("--weights-dir", default=None,
588
+ help="Directory holding the ImmuneBuilder model weights "
589
+ "(mounted from the weights asset). When omitted, "
590
+ "ImmuneBuilder downloads them on first use.")
601
591
  parser.add_argument("--input", help="Batch TSV with clonotypeKey, heavyChain[, lightChain]")
602
592
  parser.add_argument("--output-dir", help="Directory for per-clonotype PDB files")
603
593
  parser.add_argument("--manifest", help="Path to manifest.tsv")
@@ -609,10 +599,6 @@ def main() -> None:
609
599
  help="Confidence threshold (Å) used to derive confidentCount in summary.json")
610
600
  args = parser.parse_args()
611
601
 
612
- if args.warmup:
613
- warmup(args.mode, Path(args.sentinel) if args.sentinel else None)
614
- return
615
-
616
602
  missing = [
617
603
  name for name, value in [
618
604
  ("--input", args.input),
@@ -622,7 +608,7 @@ def main() -> None:
622
608
  ] if not value
623
609
  ]
624
610
  if missing:
625
- parser.error(f"the following arguments are required when not in --warmup mode: {', '.join(missing)}")
611
+ parser.error(f"the following arguments are required: {', '.join(missing)}")
626
612
 
627
613
  process_batch(
628
614
  input_tsv=Path(args.input),
@@ -634,6 +620,7 @@ def main() -> None:
634
620
  seed=args.seed,
635
621
  metric=args.metric,
636
622
  threshold=args.threshold,
623
+ weights_dir=args.weights_dir,
637
624
  )
638
625
 
639
626