rcsb-embedding-model 0.0.18__tar.gz → 0.0.20__tar.gz

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.

Potentially problematic release.


This version of rcsb-embedding-model might be problematic. Click here for more details.

Files changed (46) hide show
  1. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/PKG-INFO +2 -2
  2. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/README.md +1 -1
  3. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/pyproject.toml +1 -1
  4. rcsb_embedding_model-0.0.20/src/rcsb_embedding_model/modules/esm_module.py +21 -0
  5. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/utils/data.py +2 -2
  6. rcsb_embedding_model-0.0.18/src/rcsb_embedding_model/modules/esm_module.py +0 -27
  7. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/.github/workflows/_workflow-docker.yaml +0 -0
  8. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/.github/workflows/publish.yaml +0 -0
  9. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/.gitignore +0 -0
  10. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/Dockerfile +0 -0
  11. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/LICENSE.md +0 -0
  12. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/assets/embedding-model-architecture.png +0 -0
  13. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/examples/esm_embeddings.py +0 -0
  14. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/__init__.py +0 -0
  15. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/cli/args_utils.py +0 -0
  16. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/cli/inference.py +0 -0
  17. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/dataset/esm_prot_from_chain.py +0 -0
  18. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/dataset/esm_prot_from_structure.py +0 -0
  19. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/dataset/resdiue_assembly_embedding_from_structure.py +0 -0
  20. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/dataset/residue_assembly_embedding_from_tensor_file.py +0 -0
  21. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/dataset/residue_embedding_from_structure.py +0 -0
  22. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/dataset/residue_embedding_from_tensor_file.py +0 -0
  23. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/inference/assembly_inferece.py +0 -0
  24. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/inference/chain_inference.py +0 -0
  25. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/inference/esm_inference.py +0 -0
  26. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/inference/structure_inference.py +0 -0
  27. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/model/layers.py +0 -0
  28. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/model/residue_embedding_aggregator.py +0 -0
  29. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/modules/chain_module.py +0 -0
  30. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/modules/structure_module.py +0 -0
  31. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/rcsb_structure_embedding.py +0 -0
  32. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/types/api_types.py +0 -0
  33. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/utils/model.py +0 -0
  34. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/utils/structure_parser.py +0 -0
  35. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/utils/structure_provider.py +0 -0
  36. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/src/rcsb_embedding_model/writer/batch_writer.py +0 -0
  37. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/resources/embeddings/1acb.A.pt +0 -0
  38. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/resources/embeddings/1acb.B.pt +0 -0
  39. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/resources/embeddings/2uzi.A.pt +0 -0
  40. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/resources/embeddings/2uzi.B.pt +0 -0
  41. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/resources/embeddings/2uzi.C.pt +0 -0
  42. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/resources/pdb/1acb.cif +0 -0
  43. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/resources/pdb/2uzi.cif +0 -0
  44. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/test_embedding_model.py +0 -0
  45. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/test_inference.py +0 -0
  46. {rcsb_embedding_model-0.0.18 → rcsb_embedding_model-0.0.20}/tests/test_remote_inference.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rcsb-embedding-model
3
- Version: 0.0.18
3
+ Version: 0.0.20
4
4
  Summary: Protein Embedding Model for Structure Search
5
5
  Project-URL: Homepage, https://github.com/rcsb/rcsb-embedding-model
6
6
  Project-URL: Issues, https://github.com/rcsb/rcsb-embedding-model/issues
@@ -17,7 +17,7 @@ Description-Content-Type: text/markdown
17
17
 
18
18
  # RCSB Embedding Model
19
19
 
20
- **Version** 0.0.18
20
+ **Version** 0.0.20
21
21
 
22
22
 
23
23
  ## Overview
@@ -1,6 +1,6 @@
1
1
  # RCSB Embedding Model
2
2
 
3
- **Version** 0.0.18
3
+ **Version** 0.0.20
4
4
 
5
5
 
6
6
  ## Overview
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rcsb-embedding-model"
3
- version = "0.0.18"
3
+ version = "0.0.20"
4
4
  authors = [
5
5
  { name="Joan Segura", email="joan.segura@rcsb.org" },
6
6
  ]
@@ -0,0 +1,21 @@
1
+ from esm.sdk.api import SamplingConfig
2
+ from lightning import LightningModule
3
+
4
+ from rcsb_embedding_model.utils.model import get_residue_model
5
+
6
+
7
+ class EsmModule(LightningModule):
8
+
9
+ def __init__(
10
+ self
11
+ ):
12
+ super().__init__()
13
+ self.esm3 = get_residue_model(self.device)
14
+
15
+ def predict_step(self, prot_batch, batch_idx):
16
+ return tuple([self.__compute_embeddings(esm_prot) for esm_prot, name in prot_batch]), tuple([name for esm_prot, name in prot_batch])
17
+
18
+ def __compute_embeddings(self, esm_prot):
19
+ return self.esm3.forward_and_sample(
20
+ self.esm3.encode(esm_prot), SamplingConfig(return_per_residue_embeddings=True)
21
+ ).per_residue_embedding
@@ -76,10 +76,10 @@ def concatenate_tensors(file_list, max_residues, dim=0):
76
76
  tensor_cat = torch.cat(tensors, dim=dim)
77
77
  return tensor_cat
78
78
  else:
79
- raise ValueError("No valid tensors were loaded to concatenate.")
79
+ raise ValueError(f"No valid tensors were loaded to concatenate. {', '.join(file_list)}")
80
80
 
81
81
  def adapt_csv_to_embedding_chain_stream(src_file, res_embedding_location):
82
82
  def __parse_row(row):
83
83
  r = row.split(",")
84
84
  return os.path.join(res_embedding_location, f"{r[0]}.{r[2]}.pt"), f"{r[0]}.{r[2]}"
85
- return tuple([__parse_row(r) for r in open(src_file)])
85
+ return tuple([__parse_row(r.strip()) for r in open(src_file)])
@@ -1,27 +0,0 @@
1
- from esm.sdk.api import SamplingConfig
2
- from esm.sdk import batch_executor
3
- from lightning import LightningModule
4
-
5
- from rcsb_embedding_model.utils.model import get_residue_model
6
-
7
-
8
- class EsmModule(LightningModule):
9
-
10
- def __init__(
11
- self
12
- ):
13
- super().__init__()
14
- self.esm3 = get_residue_model(self.device)
15
-
16
- def predict_step(self, prot_batch, batch_idx):
17
- prot_embeddings = []
18
- def __batch_embedding(esm_prot):
19
- return self.esm3.forward_and_sample(
20
- self.esm3.encode(esm_prot), SamplingConfig(return_per_residue_embeddings=True)
21
- ).per_residue_embedding
22
- with batch_executor() as executor:
23
- prot_embeddings = executor.execute_batch(
24
- user_func=__batch_embedding,
25
- esm_prot=[esm_prot for esm_prot, name in prot_batch]
26
- )
27
- return tuple(prot_embeddings), tuple([name for esm_prot, name in prot_batch])