rc-foundry 0.1.2__py3-none-any.whl → 0.1.3__py3-none-any.whl
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.
- foundry/version.py +2 -2
- foundry_cli/download_checkpoints.py +5 -4
- mpnn/utils/inference.py +4 -4
- {rc_foundry-0.1.2.dist-info → rc_foundry-0.1.3.dist-info}/METADATA +7 -4
- {rc_foundry-0.1.2.dist-info → rc_foundry-0.1.3.dist-info}/RECORD +10 -10
- rfd3/testing/debug.py +0 -1
- rfd3/utils/vizualize.py +0 -1
- {rc_foundry-0.1.2.dist-info → rc_foundry-0.1.3.dist-info}/WHEEL +0 -0
- {rc_foundry-0.1.2.dist-info → rc_foundry-0.1.3.dist-info}/entry_points.txt +0 -0
- {rc_foundry-0.1.2.dist-info → rc_foundry-0.1.3.dist-info}/licenses/LICENSE.md +0 -0
foundry/version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.3'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 3)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -5,6 +5,7 @@ from pathlib import Path
|
|
|
5
5
|
from typing import Optional
|
|
6
6
|
from urllib.request import urlopen
|
|
7
7
|
|
|
8
|
+
import rootutils
|
|
8
9
|
import typer
|
|
9
10
|
from dotenv import find_dotenv, load_dotenv, set_key
|
|
10
11
|
from rich.console import Console
|
|
@@ -96,7 +97,7 @@ def install_model(
|
|
|
96
97
|
raise typer.Exit(1)
|
|
97
98
|
|
|
98
99
|
checkpoint_info = REGISTERED_CHECKPOINTS[model_name]
|
|
99
|
-
dest_path = checkpoint_dir / checkpoint_info
|
|
100
|
+
dest_path = checkpoint_dir / checkpoint_info.filename
|
|
100
101
|
|
|
101
102
|
# Check if already exists
|
|
102
103
|
if dest_path.exists() and not force:
|
|
@@ -107,12 +108,12 @@ def install_model(
|
|
|
107
108
|
return
|
|
108
109
|
|
|
109
110
|
console.print(
|
|
110
|
-
f"[cyan]Installing {model_name}:[/cyan] {checkpoint_info
|
|
111
|
+
f"[cyan]Installing {model_name}:[/cyan] {checkpoint_info.description}"
|
|
111
112
|
)
|
|
112
113
|
|
|
113
114
|
try:
|
|
114
115
|
download_file(
|
|
115
|
-
checkpoint_info
|
|
116
|
+
checkpoint_info.url, dest_path, checkpoint_info.sha256
|
|
116
117
|
)
|
|
117
118
|
console.print(
|
|
118
119
|
f"[green]✓[/green] Successfully installed {model_name} to {dest_path}"
|
|
@@ -184,7 +185,7 @@ def list_models():
|
|
|
184
185
|
"""List available model checkpoints."""
|
|
185
186
|
console.print("[bold]Available models:[/bold]\n")
|
|
186
187
|
for name, info in REGISTERED_CHECKPOINTS.items():
|
|
187
|
-
console.print(f" [cyan]{name:8}[/cyan] - {info
|
|
188
|
+
console.print(f" [cyan]{name:8}[/cyan] - {info.description}")
|
|
188
189
|
|
|
189
190
|
|
|
190
191
|
@app.command()
|
mpnn/utils/inference.py
CHANGED
|
@@ -362,7 +362,7 @@ def build_arg_parser() -> argparse.ArgumentParser:
|
|
|
362
362
|
"--fixed_residues",
|
|
363
363
|
type=str,
|
|
364
364
|
help=(
|
|
365
|
-
'List of residue IDs to fix: e.g. \'["A35","B40","C52"]\' or "A35,B40,C52"'
|
|
365
|
+
'List of residue IDs to fix: e.g. \'["A35","B40","C52"]\' or "A35,B40,C52"'
|
|
366
366
|
),
|
|
367
367
|
default=MPNN_PER_INPUT_INFERENCE_DEFAULTS["fixed_residues"],
|
|
368
368
|
)
|
|
@@ -371,20 +371,20 @@ def build_arg_parser() -> argparse.ArgumentParser:
|
|
|
371
371
|
type=str,
|
|
372
372
|
help=(
|
|
373
373
|
"List of residue IDs to design: "
|
|
374
|
-
'e.g. \'["A35","B40","C52"]\' or "A35,B40,C52"'
|
|
374
|
+
'e.g. \'["A35","B40","C52"]\' or "A35,B40,C52"'
|
|
375
375
|
),
|
|
376
376
|
default=MPNN_PER_INPUT_INFERENCE_DEFAULTS["designed_residues"],
|
|
377
377
|
)
|
|
378
378
|
design_group.add_argument(
|
|
379
379
|
"--fixed_chains",
|
|
380
380
|
type=str,
|
|
381
|
-
help=('List of chain IDs to fix: e.g. \'["A","B"]\' or "A,B"'
|
|
381
|
+
help=('List of chain IDs to fix: e.g. \'["A","B"]\' or "A,B"'),
|
|
382
382
|
default=MPNN_PER_INPUT_INFERENCE_DEFAULTS["fixed_chains"],
|
|
383
383
|
)
|
|
384
384
|
design_group.add_argument(
|
|
385
385
|
"--designed_chains",
|
|
386
386
|
type=str,
|
|
387
|
-
help=('List of chain IDs to design: e.g. \'["A","B"]\' or "A,B"'
|
|
387
|
+
help=('List of chain IDs to design: e.g. \'["A","B"]\' or "A,B"'),
|
|
388
388
|
default=MPNN_PER_INPUT_INFERENCE_DEFAULTS["designed_chains"],
|
|
389
389
|
)
|
|
390
390
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rc-foundry
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Shared utilities and training infrastructure for biomolecular structure prediction models.
|
|
5
5
|
Author-email: Institute for Protein Design <contact@ipd.uw.edu>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -95,6 +95,8 @@ Description-Content-Type: text/markdown
|
|
|
95
95
|
|
|
96
96
|
Foundry provides tooling and infrastructure for using and training all classes of models for protein design, including design (RFD3), inverse folding (ProteinMPNN) and protein folding (RF3).
|
|
97
97
|
|
|
98
|
+
All models within Foundry rely on [AtomWorks](https://github.com/RosettaCommons/atomworks) - a unified framework for manipulating and processing biomolecular structures - for both training and inference.
|
|
99
|
+
|
|
98
100
|
## Getting Started
|
|
99
101
|
### Quickstart guide
|
|
100
102
|
**Installation**
|
|
@@ -107,14 +109,14 @@ pip install rc-foundry[all]
|
|
|
107
109
|
```
|
|
108
110
|
foundry install all --checkpoint_dir <path/to/ckpt/dir>
|
|
109
111
|
```
|
|
110
|
-
This will download all the models supported (including multiple checkpoints of
|
|
112
|
+
This will download all the models supported (including multiple checkpoints of RF3) but as a beginner you can start with:
|
|
111
113
|
```
|
|
112
114
|
foundry install rfd3 ligandmpnn rf3 --checkpoint_dir <path/to/ckpt/dir>
|
|
113
115
|
```
|
|
114
116
|
|
|
115
117
|
>*See `examples/all.ipynb` for how to run each model in a notebook.*
|
|
116
118
|
|
|
117
|
-
### RFdiffusion3
|
|
119
|
+
### RFdiffusion3 (RFD3)
|
|
118
120
|
|
|
119
121
|
[RFdiffusion3](https://www.biorxiv.org/content/10.1101/2025.09.18.676967v2) is an all-atom generative model capable of designing protein structures under complex constraints.
|
|
120
122
|
|
|
@@ -129,7 +131,8 @@ foundry install rfd3 ligandmpnn rf3 --checkpoint_dir <path/to/ckpt/dir>
|
|
|
129
131
|
|
|
130
132
|
> *See [models/mpnn/README.md](models/mpnn/README.md) for complete documentation.*
|
|
131
133
|
|
|
132
|
-
|
|
134
|
+
|
|
135
|
+
### RosettaFold3 (RF3)
|
|
133
136
|
|
|
134
137
|
[RF3](https://doi.org/10.1101/2025.08.14.670328) is a structure prediction neural network that narrows the gap between closed-source AF-3 and open-source alternatives.
|
|
135
138
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
foundry/__init__.py,sha256=H8S1nl5v6YeW8ggn1jKy4GdtH7c-FGS-j7CqUCAEnAU,1926
|
|
2
2
|
foundry/common.py,sha256=Aur8mH-CNmcUqSsw7VgaCQSW5sH1Bqf8Da91jzxPV1Y,3035
|
|
3
3
|
foundry/constants.py,sha256=0n1wBKCvNuw3QaQehSbmsHYkIdaGn3tLeRFItBrdeHY,913
|
|
4
|
-
foundry/version.py,sha256=
|
|
4
|
+
foundry/version.py,sha256=q5nF98G8SoVeJqaknL0xdyxtv0egsqb0fK06_84Izu8,704
|
|
5
5
|
foundry/callbacks/__init__.py,sha256=VsRT1e4sqlJHPcTCsfupMEx82Iz-LoOAGPpwvf_OJeE,126
|
|
6
6
|
foundry/callbacks/callback.py,sha256=xZBo_suP4bLrP6gl5uJPbaXm00DXigePa6dMeDxucgg,3890
|
|
7
7
|
foundry/callbacks/health_logging.py,sha256=tEtkByOlaAA7nnelxb7PbM9_dcIgOsdbxCdQY3K5pMc,16664
|
|
@@ -34,7 +34,7 @@ foundry/utils/squashfs.py,sha256=QlcwuJyVe-QVfIOS7o1QfLhaCQPNzzox7ln4n8dcYEg,523
|
|
|
34
34
|
foundry/utils/torch.py,sha256=OLsqoxw4CTXbGzWUHernLUT7uQjLu0tVPtD8h8747DI,11211
|
|
35
35
|
foundry/utils/weights.py,sha256=btz4S02xff2vgiq4xMfiXuhK1ERafqQPtmimo1DmoWY,10381
|
|
36
36
|
foundry_cli/__init__.py,sha256=0BxY2RUKJLaMXUGgypPCwlTskTEFdVnkhTR4C4ft2Kw,52
|
|
37
|
-
foundry_cli/download_checkpoints.py,sha256=
|
|
37
|
+
foundry_cli/download_checkpoints.py,sha256=CDMxm3otzpb_c46AE2OwQY7aG7K_vnCJLKjP4U3b0Oc,8380
|
|
38
38
|
mpnn/__init__.py,sha256=hgQcXFaCbAxFrhydVAy0xj8yC7UJF-GCCFhqD0sZ7I4,57
|
|
39
39
|
mpnn/inference.py,sha256=wPtGR325eVRVeesXoWtBK6b_-VcU8BZae5IfQN3-mvA,1669
|
|
40
40
|
mpnn/train.py,sha256=9eQGBd3rdNF5Zr2w8oUgETbqxBavNBajtA6Vbc5zESE,10239
|
|
@@ -56,7 +56,7 @@ mpnn/transforms/feature_aggregation/mpnn.py,sha256=jkhyMCqJipKQ2PvjqPkvvClhoiXx_
|
|
|
56
56
|
mpnn/transforms/feature_aggregation/polymer_ligand_interface.py,sha256=gDdt9RZd0PO0YJdouNr0qsHFZV1i-5ewU6XuJrwPY54,2870
|
|
57
57
|
mpnn/transforms/feature_aggregation/token_encodings.py,sha256=qVlUky4HcDSU5drrZpZBnUvTSGdT6C7MN8f_owa81Bw,2227
|
|
58
58
|
mpnn/transforms/feature_aggregation/user_settings.py,sha256=uKyIDXz-QG0-KWQO1kqPlMj6i7RoVM6yH4iGNXFStoU,15007
|
|
59
|
-
mpnn/utils/inference.py,sha256=
|
|
59
|
+
mpnn/utils/inference.py,sha256=QLeukqLpedMNmvjbYgvLwDS5k7Q__NWILDSEbETkoCI,96539
|
|
60
60
|
mpnn/utils/probability.py,sha256=EYisliXNGXjuSPbzZwcIKjlhyINikGsqQndGBEbQoPI,990
|
|
61
61
|
mpnn/utils/weights.py,sha256=VsaIcOWTv8G-WJ9denxLRm3FQ9l6L66AVQN08E9BMSg,16411
|
|
62
62
|
rf3/__init__.py,sha256=XBb5hF2RqBPHODGRmjiRbfTXgOGfOzdY91GbS4Vex00,70
|
|
@@ -148,7 +148,7 @@ rfd3/model/layers/chunked_pairwise.py,sha256=de5Qc3P7GEfZlX-QLaKfJxr6Ky5vgLcWWog
|
|
|
148
148
|
rfd3/model/layers/encoders.py,sha256=CqByjHNSbtMIaNP_h2iEJZdTbm-N8SGo1bZgvRNpMJ8,15207
|
|
149
149
|
rfd3/model/layers/layer_utils.py,sha256=UPYo-DYa__93KONSEj2YZWLtBqvYNSA9_wHDDPhVrIc,5710
|
|
150
150
|
rfd3/model/layers/pairformer_layers.py,sha256=uimskhN-Ec0apEXAU6JqomyKX5-6ormrEsCFJotkBtM,3991
|
|
151
|
-
rfd3/testing/debug.py,sha256=
|
|
151
|
+
rfd3/testing/debug.py,sha256=EeuGCEKyp-caoiskjnyfi88TfnJr5lcnPT2z4gblqvY,3958
|
|
152
152
|
rfd3/testing/debug_utils.py,sha256=i_GjrsRjeaREv6hlX2sEmeztpo9w9rg7Ne3VT5-YILA,2170
|
|
153
153
|
rfd3/testing/testing_utils.py,sha256=CtpTDxePbCluzuvd6jBfJNI2a3_8Ry2Whbgcf-5upiM,12202
|
|
154
154
|
rfd3/trainer/dump_validation_structures.py,sha256=qY8s2hPBflJTXPiIUnqFFE9g36y_7s39MEcMRrxZUmA,6027
|
|
@@ -172,9 +172,9 @@ rfd3/transforms/util_transforms.py,sha256=2AcLkzx-73ZFgcWD1cIHv7NyniRPI4_zThHK8a
|
|
|
172
172
|
rfd3/transforms/virtual_atoms.py,sha256=UpmxzPPd5FaJigcRoxgLSHHrLLOqsCvZ5PPZfQSGqII,12547
|
|
173
173
|
rfd3/utils/inference.py,sha256=RQp5CCy6Z6uHVZ2Mx0zmmGluYEOrASke4bABtfRjpy0,26448
|
|
174
174
|
rfd3/utils/io.py,sha256=wbdjUTQkDc3RCSM7gdogA-XOKR68HeQ-cfvyN4pP90w,9849
|
|
175
|
-
rfd3/utils/vizualize.py,sha256=
|
|
176
|
-
rc_foundry-0.1.
|
|
177
|
-
rc_foundry-0.1.
|
|
178
|
-
rc_foundry-0.1.
|
|
179
|
-
rc_foundry-0.1.
|
|
180
|
-
rc_foundry-0.1.
|
|
175
|
+
rfd3/utils/vizualize.py,sha256=HPlczrA3zkOuxV5X05eOvy_Oga9e3cPnFUXOEP4RR_g,11046
|
|
176
|
+
rc_foundry-0.1.3.dist-info/METADATA,sha256=gY8d46JTRTfot6O9MqW34E0D1O64xNhMeVdpJrQ-G18,10578
|
|
177
|
+
rc_foundry-0.1.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
178
|
+
rc_foundry-0.1.3.dist-info/entry_points.txt,sha256=BmiWCbWGtrd_lSOFMuCLBXyo84B7Nco-alj7hB0Yw9A,130
|
|
179
|
+
rc_foundry-0.1.3.dist-info/licenses/LICENSE.md,sha256=NKtPCJ7QMysFmzeDg56ZfUStvgzbq5sOvRQv7_ddZOs,1533
|
|
180
|
+
rc_foundry-0.1.3.dist-info/RECORD,,
|
rfd3/testing/debug.py
CHANGED
rfd3/utils/vizualize.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|