Instructions to use Synthyra/ESMFold2-Fast with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Synthyra/ESMFold2-Fast with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="Synthyra/ESMFold2-Fast", trust_remote_code=True)# Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("Synthyra/ESMFold2-Fast", trust_remote_code=True) model = AutoModel.from_pretrained("Synthyra/ESMFold2-Fast", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Fix ESMFold2 prepared feature forwarding
Browse filesAdd-only FastPLMs files-only publication. Checkpoint weights and complete-artifact attestations are unchanged.
- README.md +9 -7
- config.json +5 -5
- fastplms/models/esmfold2/esmfold2_processor.py +6 -0
- fastplms/models/esmfold2/modeling_esmfold2.py +13 -0
- fastplms/models/esmfold2/modeling_esmfold2_common.py +31 -0
- fastplms/models/esmfold2/modeling_esmfold2_experimental.py +13 -0
- fastplms_bundle.py +0 -0
- modeling_fastplms.py +1 -1
- runtime-attestation.json +13 -13
README.md
CHANGED
|
@@ -152,13 +152,15 @@ complex_result = model.fold(
|
|
| 152 |
print(complex_result.ptm, complex_result.plddt.mean().item())
|
| 153 |
```
|
| 154 |
|
| 155 |
-
The typed interface also supports RNA, modifications, covalent bonds
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
`
|
| 159 |
-
a zero pocket feature
|
| 160 |
-
|
| 161 |
-
|
|
|
|
|
|
|
| 162 |
Predicted coordinates and confidence scores are outputs and do not establish
|
| 163 |
biochemical activity.
|
| 164 |
|
|
|
|
| 152 |
print(complex_result.ptm, complex_result.plddt.mean().item())
|
| 153 |
```
|
| 154 |
|
| 155 |
+
The typed interface also supports RNA, modifications, and covalent bonds.
|
| 156 |
+
Protein MSA inputs are not supported by this Fast checkpoint; every protein
|
| 157 |
+
chain must use `msa=None`. The public schema recognizes `PocketConditioning` and
|
| 158 |
+
`DistogramConditioning`, but the pinned official forward consumes neither. Its
|
| 159 |
+
feature builder hard-codes a zero pocket feature and constructs distogram tensors
|
| 160 |
+
that the released model ignores. FastPLMs therefore rejects non-null pocket and
|
| 161 |
+
distogram conditioning instead of silently ignoring scientific inputs. Prepared
|
| 162 |
+
`ref_pos` values are component reference geometries created during featurization,
|
| 163 |
+
not target coordinates.
|
| 164 |
Predicted coordinates and confidence scores are outputs and do not establish
|
| 165 |
biochemical activity.
|
| 166 |
|
config.json
CHANGED
|
@@ -29,11 +29,11 @@
|
|
| 29 |
"fastplms_checkpoint_repo_id": "Synthyra/ESMFold2-Fast",
|
| 30 |
"fastplms_checkpoint_revision": "407875bfcaa42552bfcb25acd67ee1888b790170",
|
| 31 |
"fastplms_model_id": "esmfold2_fast",
|
| 32 |
-
"fastplms_release_tool_revision": "
|
| 33 |
-
"fastplms_release_tool_sha256": "
|
| 34 |
-
"fastplms_runtime_bundle_sha256": "
|
| 35 |
-
"fastplms_runtime_revision": "
|
| 36 |
-
"fastplms_source_tree_sha256": "
|
| 37 |
"fastplms_weights_revision": "407875bfcaa42552bfcb25acd67ee1888b790170",
|
| 38 |
"folding_trunk": {
|
| 39 |
"dropout": 0.25,
|
|
|
|
| 29 |
"fastplms_checkpoint_repo_id": "Synthyra/ESMFold2-Fast",
|
| 30 |
"fastplms_checkpoint_revision": "407875bfcaa42552bfcb25acd67ee1888b790170",
|
| 31 |
"fastplms_model_id": "esmfold2_fast",
|
| 32 |
+
"fastplms_release_tool_revision": "b5669feacd99580cab27c9e969092fe9c647b9c6",
|
| 33 |
+
"fastplms_release_tool_sha256": "19f8b87151866ea1bec0274bb99c98890bfbb70887276e57d3990a96d5c6b553",
|
| 34 |
+
"fastplms_runtime_bundle_sha256": "6e81dad15aa6df4f53633997daf8747aa49a4afbd030a65937a6f3a7d8159273",
|
| 35 |
+
"fastplms_runtime_revision": "b5669feacd99580cab27c9e969092fe9c647b9c6",
|
| 36 |
+
"fastplms_source_tree_sha256": "db6fe0054a134e77d111381b520917ffd0d795e4be0bc2cd0e97d43c59b5f3ee",
|
| 37 |
"fastplms_weights_revision": "407875bfcaa42552bfcb25acd67ee1888b790170",
|
| 38 |
"folding_trunk": {
|
| 39 |
"dropout": 0.25,
|
fastplms/models/esmfold2/esmfold2_processor.py
CHANGED
|
@@ -123,6 +123,12 @@ def clean_esmfold2_input(input: StructurePredictionInput) -> StructurePrediction
|
|
| 123 |
"the published ESMFold2 feature pipeline drops it. FastPLMs refuses this "
|
| 124 |
"input instead of silently emitting an all-zero pocket feature."
|
| 125 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
|
| 127 |
cleaned: list[Any] = []
|
| 128 |
for item in input.sequences:
|
|
|
|
| 123 |
"the published ESMFold2 feature pipeline drops it. FastPLMs refuses this "
|
| 124 |
"input instead of silently emitting an all-zero pocket feature."
|
| 125 |
)
|
| 126 |
+
if input.distogram_conditioning is not None:
|
| 127 |
+
raise NotImplementedError(
|
| 128 |
+
"ESMFold2 distogram conditioning is present in the upstream input schema but "
|
| 129 |
+
"the published ESMFold2 forward does not consume it. FastPLMs refuses this "
|
| 130 |
+
"input instead of silently ignoring the supplied distogram."
|
| 131 |
+
)
|
| 132 |
|
| 133 |
cleaned: list[Any] = []
|
| 134 |
for item in input.sequences:
|
fastplms/models/esmfold2/modeling_esmfold2.py
CHANGED
|
@@ -74,6 +74,7 @@ from .modeling_esmfold2_common import (
|
|
| 74 |
maybe_subsample_msa,
|
| 75 |
validate_kernel_backend,
|
| 76 |
validate_msa_conditioning_inputs,
|
|
|
|
| 77 |
)
|
| 78 |
|
| 79 |
_ESMC_FP8_LINEAR_SUFFIX = ".attn.out_proj"
|
|
@@ -1417,6 +1418,12 @@ class ESMFold2Model(
|
|
| 1417 |
output_attentions: bool | None = None,
|
| 1418 |
output_hidden_states: bool | None = None,
|
| 1419 |
return_dict: bool | None = None,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1420 |
) -> ESMFold2Output | tuple[Any, ...]:
|
| 1421 |
output_hidden_states, return_dict = _resolve_structure_output_controls(
|
| 1422 |
self.config,
|
|
@@ -1432,6 +1439,12 @@ class ESMFold2Model(
|
|
| 1432 |
deletion_value=deletion_value,
|
| 1433 |
deletion_mean=deletion_mean,
|
| 1434 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1435 |
tok_mask = token_attention_mask
|
| 1436 |
atm_mask = atom_attention_mask
|
| 1437 |
disto_idx = distogram_atom_idx
|
|
|
|
| 74 |
maybe_subsample_msa,
|
| 75 |
validate_kernel_backend,
|
| 76 |
validate_msa_conditioning_inputs,
|
| 77 |
+
validate_prepared_auxiliary_inputs,
|
| 78 |
)
|
| 79 |
|
| 80 |
_ESMC_FP8_LINEAR_SUFFIX = ".attn.out_proj"
|
|
|
|
| 1418 |
output_attentions: bool | None = None,
|
| 1419 |
output_hidden_states: bool | None = None,
|
| 1420 |
return_dict: bool | None = None,
|
| 1421 |
+
pocket_feature: Tensor | None = None,
|
| 1422 |
+
gt_coords: Tensor | None = None,
|
| 1423 |
+
is_resolved: Tensor | None = None,
|
| 1424 |
+
frames_idx: Tensor | None = None,
|
| 1425 |
+
disto_cond: Tensor | None = None,
|
| 1426 |
+
disto_cond_mask: Tensor | None = None,
|
| 1427 |
) -> ESMFold2Output | tuple[Any, ...]:
|
| 1428 |
output_hidden_states, return_dict = _resolve_structure_output_controls(
|
| 1429 |
self.config,
|
|
|
|
| 1439 |
deletion_value=deletion_value,
|
| 1440 |
deletion_mean=deletion_mean,
|
| 1441 |
)
|
| 1442 |
+
validate_prepared_auxiliary_inputs(
|
| 1443 |
+
pocket_feature=pocket_feature,
|
| 1444 |
+
disto_cond=disto_cond,
|
| 1445 |
+
disto_cond_mask=disto_cond_mask,
|
| 1446 |
+
)
|
| 1447 |
+
del gt_coords, is_resolved, frames_idx
|
| 1448 |
tok_mask = token_attention_mask
|
| 1449 |
atm_mask = atom_attention_mask
|
| 1450 |
disto_idx = distogram_atom_idx
|
fastplms/models/esmfold2/modeling_esmfold2_common.py
CHANGED
|
@@ -57,6 +57,14 @@ MSA_CONDITIONING_INPUT_NAMES = (
|
|
| 57 |
"deletion_value",
|
| 58 |
"deletion_mean",
|
| 59 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
|
| 61 |
|
| 62 |
def validate_kernel_backend(backend: str | None) -> None:
|
|
@@ -105,6 +113,29 @@ def validate_msa_conditioning_inputs(
|
|
| 105 |
)
|
| 106 |
|
| 107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
def _fused_active(module: nn.Module, tensor: Tensor) -> bool:
|
| 109 |
"""Return whether an optional fused implementation can handle this call."""
|
| 110 |
return (
|
|
|
|
| 57 |
"deletion_value",
|
| 58 |
"deletion_mean",
|
| 59 |
)
|
| 60 |
+
PREPARED_AUXILIARY_INPUT_NAMES = (
|
| 61 |
+
"pocket_feature",
|
| 62 |
+
"gt_coords",
|
| 63 |
+
"is_resolved",
|
| 64 |
+
"frames_idx",
|
| 65 |
+
"disto_cond",
|
| 66 |
+
"disto_cond_mask",
|
| 67 |
+
)
|
| 68 |
|
| 69 |
|
| 70 |
def validate_kernel_backend(backend: str | None) -> None:
|
|
|
|
| 113 |
)
|
| 114 |
|
| 115 |
|
| 116 |
+
def validate_prepared_auxiliary_inputs(
|
| 117 |
+
*,
|
| 118 |
+
pocket_feature: Tensor | None,
|
| 119 |
+
disto_cond: Tensor | None,
|
| 120 |
+
disto_cond_mask: Tensor | None,
|
| 121 |
+
) -> None:
|
| 122 |
+
"""Accept inert upstream features while rejecting unsupported conditioning."""
|
| 123 |
+
|
| 124 |
+
if pocket_feature is not None and torch.any(pocket_feature != 0).item():
|
| 125 |
+
raise NotImplementedError(
|
| 126 |
+
"The published ESMFold2 forward does not consume pocket conditioning; "
|
| 127 |
+
"nonzero pocket_feature values are unsupported."
|
| 128 |
+
)
|
| 129 |
+
distogram_is_active = (disto_cond is not None and torch.any(disto_cond != 0).item()) or (
|
| 130 |
+
disto_cond_mask is not None and torch.any(disto_cond_mask).item()
|
| 131 |
+
)
|
| 132 |
+
if distogram_is_active:
|
| 133 |
+
raise NotImplementedError(
|
| 134 |
+
"The published ESMFold2 forward does not consume distogram conditioning; "
|
| 135 |
+
"nonzero disto_cond or disto_cond_mask values are unsupported."
|
| 136 |
+
)
|
| 137 |
+
|
| 138 |
+
|
| 139 |
def _fused_active(module: nn.Module, tensor: Tensor) -> bool:
|
| 140 |
"""Return whether an optional fused implementation can handle this call."""
|
| 141 |
return (
|
fastplms/models/esmfold2/modeling_esmfold2_experimental.py
CHANGED
|
@@ -59,6 +59,7 @@ from .modeling_esmfold2_common import (
|
|
| 59 |
gather_token_to_atom,
|
| 60 |
validate_kernel_backend,
|
| 61 |
validate_msa_conditioning_inputs,
|
|
|
|
| 62 |
)
|
| 63 |
|
| 64 |
_EPS = 1e-5
|
|
@@ -689,6 +690,12 @@ class ESMFold2ExperimentalModel(ESMFold2EmbeddingMixin, ESMFold2AttentionMixin,
|
|
| 689 |
output_attentions: bool | None = None,
|
| 690 |
output_hidden_states: bool | None = None,
|
| 691 |
return_dict: bool | None = None,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 692 |
) -> ESMFold2Output | tuple[Any, ...]:
|
| 693 |
output_hidden_states, return_dict = _resolve_structure_output_controls(
|
| 694 |
self.config,
|
|
@@ -704,6 +711,12 @@ class ESMFold2ExperimentalModel(ESMFold2EmbeddingMixin, ESMFold2AttentionMixin,
|
|
| 704 |
deletion_value=deletion_value,
|
| 705 |
deletion_mean=deletion_mean,
|
| 706 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 707 |
tok_mask = token_attention_mask
|
| 708 |
atm_mask = atom_attention_mask
|
| 709 |
n_loops = num_loops if num_loops is not None else self.config.num_loops
|
|
|
|
| 59 |
gather_token_to_atom,
|
| 60 |
validate_kernel_backend,
|
| 61 |
validate_msa_conditioning_inputs,
|
| 62 |
+
validate_prepared_auxiliary_inputs,
|
| 63 |
)
|
| 64 |
|
| 65 |
_EPS = 1e-5
|
|
|
|
| 690 |
output_attentions: bool | None = None,
|
| 691 |
output_hidden_states: bool | None = None,
|
| 692 |
return_dict: bool | None = None,
|
| 693 |
+
pocket_feature: Tensor | None = None,
|
| 694 |
+
gt_coords: Tensor | None = None,
|
| 695 |
+
is_resolved: Tensor | None = None,
|
| 696 |
+
frames_idx: Tensor | None = None,
|
| 697 |
+
disto_cond: Tensor | None = None,
|
| 698 |
+
disto_cond_mask: Tensor | None = None,
|
| 699 |
) -> ESMFold2Output | tuple[Any, ...]:
|
| 700 |
output_hidden_states, return_dict = _resolve_structure_output_controls(
|
| 701 |
self.config,
|
|
|
|
| 711 |
deletion_value=deletion_value,
|
| 712 |
deletion_mean=deletion_mean,
|
| 713 |
)
|
| 714 |
+
validate_prepared_auxiliary_inputs(
|
| 715 |
+
pocket_feature=pocket_feature,
|
| 716 |
+
disto_cond=disto_cond,
|
| 717 |
+
disto_cond_mask=disto_cond_mask,
|
| 718 |
+
)
|
| 719 |
+
del gt_coords, is_resolved, frames_idx
|
| 720 |
tok_mask = token_attention_mask
|
| 721 |
atm_mask = atom_attention_mask
|
| 722 |
n_loops = num_loops if num_loops is not None else self.config.num_loops
|
fastplms_bundle.py
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
modeling_fastplms.py
CHANGED
|
@@ -12,7 +12,7 @@ from zipfile import ZIP_DEFLATED, ZipFile
|
|
| 12 |
|
| 13 |
from .fastplms_bundle import RUNTIME_DATA, RUNTIME_HASH
|
| 14 |
|
| 15 |
-
if RUNTIME_HASH != "
|
| 16 |
raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
|
| 17 |
|
| 18 |
_RUNTIME_TEMPORARIES = []
|
|
|
|
| 12 |
|
| 13 |
from .fastplms_bundle import RUNTIME_DATA, RUNTIME_HASH
|
| 14 |
|
| 15 |
+
if RUNTIME_HASH != "6e81dad15aa6df4f53633997daf8747aa49a4afbd030a65937a6f3a7d8159273":
|
| 16 |
raise RuntimeError("FastPLMs runtime identity differs from the bridge.")
|
| 17 |
|
| 18 |
_RUNTIME_TEMPORARIES = []
|
runtime-attestation.json
CHANGED
|
@@ -6,9 +6,9 @@
|
|
| 6 |
"LICENSES/biohub-transformers/LICENSE": "sha256:77fd4710def9ec3c0f6225800e0235f15a425abd4a8b03559127fcd782612049",
|
| 7 |
"LICENSES/protein-ttt/LICENSE": "sha256:bb01e7d5554f9e2e117172e56551452f68a7818df7bc8e71cd7a776a1d4ba3df",
|
| 8 |
"LICENSES/protein-ttt/PROVENANCE.md": "sha256:dc641c37353c2efd50ccbdb316ca4aae495ec02c1563e0e15bac92f75fc482e5",
|
| 9 |
-
"README.md": "sha256:
|
| 10 |
"THIRD_PARTY_NOTICES.md": "sha256:25704b3c76404696cae52e7fca13088d329f70f412687340351259e86cd62baa",
|
| 11 |
-
"config.json": "sha256:
|
| 12 |
"fastplms/__init__.py": "sha256:8503e02debf24abc6d33c1913ff3eb9f245e63f7e62017e220d072c7393fdf2c",
|
| 13 |
"fastplms/attention/__init__.py": "sha256:ab3c0b6156968f418f3c97ea664959cb978f4137717b4362213bcfe25ab5e3d6",
|
| 14 |
"fastplms/attention/_core.py": "sha256:09d0f71a5ea2ad2138c9441f6a2f72bbf8e72729be41d8db737b163f36ce47da",
|
|
@@ -46,7 +46,7 @@
|
|
| 46 |
"fastplms/models/esmfold2/esmfold2_parsing.py": "sha256:6ca4a2d85d6158cadcde79bf8d1820c54eeb2160e00b99643c29e270d0a3f870",
|
| 47 |
"fastplms/models/esmfold2/esmfold2_predicted_aligned_error.py": "sha256:b76577c9e17bdef5417fea35c6ac134cff2ba949a1c9cb389323134541e52d04",
|
| 48 |
"fastplms/models/esmfold2/esmfold2_prepare_input.py": "sha256:f2b5f63a451555d41944e5abc8b85a978edfb456ce493821b313f8343d3eed19",
|
| 49 |
-
"fastplms/models/esmfold2/esmfold2_processor.py": "sha256:
|
| 50 |
"fastplms/models/esmfold2/esmfold2_protein_chain.py": "sha256:e87d7cbfab56d0cd420d8ce8b15a23872cdfe6c1036f2467555e57691af172af",
|
| 51 |
"fastplms/models/esmfold2/esmfold2_protein_complex.py": "sha256:ee78539192414000b78da7285175f0316d79f549c179678638d009054b4985f7",
|
| 52 |
"fastplms/models/esmfold2/esmfold2_protein_structure.py": "sha256:d77254171dd7dc7e269693091e51aa04a7cd8dc4a442d425fab7d922c1b1308d",
|
|
@@ -55,28 +55,28 @@
|
|
| 55 |
"fastplms/models/esmfold2/esmfold2_system.py": "sha256:4a0b339bc7446a9ca255f6005ecb8d385c69b7a3e57170c5a48e372bb2340d13",
|
| 56 |
"fastplms/models/esmfold2/esmfold2_types.py": "sha256:8963440d40e3143b984679a716a5ac8327fa09692765836dea179c41e2bc9f5d",
|
| 57 |
"fastplms/models/esmfold2/esmfold2_utils_types.py": "sha256:b846d61a383fc55091231ec8bc2b829045a4edb52dcd3907c30b81b6057fd4eb",
|
| 58 |
-
"fastplms/models/esmfold2/modeling_esmfold2.py": "sha256:
|
| 59 |
-
"fastplms/models/esmfold2/modeling_esmfold2_common.py": "sha256:
|
| 60 |
-
"fastplms/models/esmfold2/modeling_esmfold2_experimental.py": "sha256:
|
| 61 |
"fastplms/models/esmfold2/protein_reference_geometry.json": "sha256:c726d81b928df0005b2d6877e2c0d5ef3ebfb11744e04ca8972388057dc565c0",
|
| 62 |
"fastplms/models/esmfold2/protein_utils.py": "sha256:a51cdad1769620389ca58d6782bc787ed70cadb1f310689cf3dcd1d2d2fa92be",
|
| 63 |
"fastplms/models/esmfold2/reproducibility.py": "sha256:2027064e3eea918f535d9b60734a3bc9288478f5b957847266d328dcfca88443",
|
| 64 |
"fastplms/models/ttt.py": "sha256:f1d7f9298a930f4c40f8e321ffa08b09d1c5b8492bca623bdc7bfd03ec85774d",
|
| 65 |
"fastplms/registry.py": "sha256:cb37799dae5a4c0c780089ab2cca4cc56300c1c5f515b275892aa4e1c4b97eb6",
|
| 66 |
"fastplms/runtime.py": "sha256:9521c37fcd168bf9a4137277fb73672403ccf30d70d4845aa879fb22f42ddeb6",
|
| 67 |
-
"fastplms_bundle.py": "sha256:
|
| 68 |
-
"modeling_fastplms.py": "sha256:
|
| 69 |
"requirements.txt": "sha256:accda6ebc17b5bc073fff111d29a25fe8fbe0b66b77687aee51100737ccdd8a8"
|
| 70 |
},
|
| 71 |
"model_id": "esmfold2_fast",
|
| 72 |
"redistributable": true,
|
| 73 |
-
"release_tool_revision": "
|
| 74 |
-
"release_tool_sha256": "
|
| 75 |
-
"runtime_bundle_sha256": "
|
| 76 |
-
"runtime_revision": "
|
| 77 |
"schema_version": 2,
|
| 78 |
"scope": "runtime-only",
|
| 79 |
-
"source_tree_sha256": "
|
| 80 |
"weights": {
|
| 81 |
"repo_id": "Synthyra/ESMFold2-Fast",
|
| 82 |
"revision": "407875bfcaa42552bfcb25acd67ee1888b790170"
|
|
|
|
| 6 |
"LICENSES/biohub-transformers/LICENSE": "sha256:77fd4710def9ec3c0f6225800e0235f15a425abd4a8b03559127fcd782612049",
|
| 7 |
"LICENSES/protein-ttt/LICENSE": "sha256:bb01e7d5554f9e2e117172e56551452f68a7818df7bc8e71cd7a776a1d4ba3df",
|
| 8 |
"LICENSES/protein-ttt/PROVENANCE.md": "sha256:dc641c37353c2efd50ccbdb316ca4aae495ec02c1563e0e15bac92f75fc482e5",
|
| 9 |
+
"README.md": "sha256:e294773edd87bf543956fae98b8ba012a24c9ad79df758beedbd856500cd0c40",
|
| 10 |
"THIRD_PARTY_NOTICES.md": "sha256:25704b3c76404696cae52e7fca13088d329f70f412687340351259e86cd62baa",
|
| 11 |
+
"config.json": "sha256:a7311f496acad420a6e5499474b95fa4493f1086ef0372ab7226a958d4377370",
|
| 12 |
"fastplms/__init__.py": "sha256:8503e02debf24abc6d33c1913ff3eb9f245e63f7e62017e220d072c7393fdf2c",
|
| 13 |
"fastplms/attention/__init__.py": "sha256:ab3c0b6156968f418f3c97ea664959cb978f4137717b4362213bcfe25ab5e3d6",
|
| 14 |
"fastplms/attention/_core.py": "sha256:09d0f71a5ea2ad2138c9441f6a2f72bbf8e72729be41d8db737b163f36ce47da",
|
|
|
|
| 46 |
"fastplms/models/esmfold2/esmfold2_parsing.py": "sha256:6ca4a2d85d6158cadcde79bf8d1820c54eeb2160e00b99643c29e270d0a3f870",
|
| 47 |
"fastplms/models/esmfold2/esmfold2_predicted_aligned_error.py": "sha256:b76577c9e17bdef5417fea35c6ac134cff2ba949a1c9cb389323134541e52d04",
|
| 48 |
"fastplms/models/esmfold2/esmfold2_prepare_input.py": "sha256:f2b5f63a451555d41944e5abc8b85a978edfb456ce493821b313f8343d3eed19",
|
| 49 |
+
"fastplms/models/esmfold2/esmfold2_processor.py": "sha256:4eaed444d316bdb31a72b518c64ad11ede6554b88f22a68fd9bf109702529994",
|
| 50 |
"fastplms/models/esmfold2/esmfold2_protein_chain.py": "sha256:e87d7cbfab56d0cd420d8ce8b15a23872cdfe6c1036f2467555e57691af172af",
|
| 51 |
"fastplms/models/esmfold2/esmfold2_protein_complex.py": "sha256:ee78539192414000b78da7285175f0316d79f549c179678638d009054b4985f7",
|
| 52 |
"fastplms/models/esmfold2/esmfold2_protein_structure.py": "sha256:d77254171dd7dc7e269693091e51aa04a7cd8dc4a442d425fab7d922c1b1308d",
|
|
|
|
| 55 |
"fastplms/models/esmfold2/esmfold2_system.py": "sha256:4a0b339bc7446a9ca255f6005ecb8d385c69b7a3e57170c5a48e372bb2340d13",
|
| 56 |
"fastplms/models/esmfold2/esmfold2_types.py": "sha256:8963440d40e3143b984679a716a5ac8327fa09692765836dea179c41e2bc9f5d",
|
| 57 |
"fastplms/models/esmfold2/esmfold2_utils_types.py": "sha256:b846d61a383fc55091231ec8bc2b829045a4edb52dcd3907c30b81b6057fd4eb",
|
| 58 |
+
"fastplms/models/esmfold2/modeling_esmfold2.py": "sha256:0443ef06718c60b01a7a74874f9a33019926820ca512d99cd286eda958259929",
|
| 59 |
+
"fastplms/models/esmfold2/modeling_esmfold2_common.py": "sha256:f8c4f7349ecd8f2671be9ff2d58c8729d07426c0b8fc7ed047b05a168e50d29d",
|
| 60 |
+
"fastplms/models/esmfold2/modeling_esmfold2_experimental.py": "sha256:de8d215d137744bf4d2b1c7bdf98617d7c20a425ea25d9c74f88b34d3303ca84",
|
| 61 |
"fastplms/models/esmfold2/protein_reference_geometry.json": "sha256:c726d81b928df0005b2d6877e2c0d5ef3ebfb11744e04ca8972388057dc565c0",
|
| 62 |
"fastplms/models/esmfold2/protein_utils.py": "sha256:a51cdad1769620389ca58d6782bc787ed70cadb1f310689cf3dcd1d2d2fa92be",
|
| 63 |
"fastplms/models/esmfold2/reproducibility.py": "sha256:2027064e3eea918f535d9b60734a3bc9288478f5b957847266d328dcfca88443",
|
| 64 |
"fastplms/models/ttt.py": "sha256:f1d7f9298a930f4c40f8e321ffa08b09d1c5b8492bca623bdc7bfd03ec85774d",
|
| 65 |
"fastplms/registry.py": "sha256:cb37799dae5a4c0c780089ab2cca4cc56300c1c5f515b275892aa4e1c4b97eb6",
|
| 66 |
"fastplms/runtime.py": "sha256:9521c37fcd168bf9a4137277fb73672403ccf30d70d4845aa879fb22f42ddeb6",
|
| 67 |
+
"fastplms_bundle.py": "sha256:b09ae39e6ef318b847e3ff9ca8b5c0dd48a48bd1576994c71c0b5167189e40f2",
|
| 68 |
+
"modeling_fastplms.py": "sha256:c9a41e763b36487b36afb7ec4836a1dd60c75bd12b2a06dd020a16a4ebdcc912",
|
| 69 |
"requirements.txt": "sha256:accda6ebc17b5bc073fff111d29a25fe8fbe0b66b77687aee51100737ccdd8a8"
|
| 70 |
},
|
| 71 |
"model_id": "esmfold2_fast",
|
| 72 |
"redistributable": true,
|
| 73 |
+
"release_tool_revision": "b5669feacd99580cab27c9e969092fe9c647b9c6",
|
| 74 |
+
"release_tool_sha256": "19f8b87151866ea1bec0274bb99c98890bfbb70887276e57d3990a96d5c6b553",
|
| 75 |
+
"runtime_bundle_sha256": "6e81dad15aa6df4f53633997daf8747aa49a4afbd030a65937a6f3a7d8159273",
|
| 76 |
+
"runtime_revision": "b5669feacd99580cab27c9e969092fe9c647b9c6",
|
| 77 |
"schema_version": 2,
|
| 78 |
"scope": "runtime-only",
|
| 79 |
+
"source_tree_sha256": "db6fe0054a134e77d111381b520917ffd0d795e4be0bc2cd0e97d43c59b5f3ee",
|
| 80 |
"weights": {
|
| 81 |
"repo_id": "Synthyra/ESMFold2-Fast",
|
| 82 |
"revision": "407875bfcaa42552bfcb25acd67ee1888b790170"
|