openprotein-python 0.8.0__tar.gz → 0.8.1__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.
Files changed (81) hide show
  1. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/PKG-INFO +1 -1
  2. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/boltz.py +6 -20
  3. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/protein.py +6 -2
  4. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/pyproject.toml +1 -1
  5. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/.gitignore +0 -0
  6. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/LICENSE.txt +0 -0
  7. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/README.md +0 -0
  8. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/__init__.py +0 -0
  9. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/_version.py +0 -0
  10. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/align/__init__.py +0 -0
  11. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/align/align.py +0 -0
  12. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/align/api.py +0 -0
  13. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/align/future.py +0 -0
  14. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/align/msa.py +0 -0
  15. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/align/schemas.py +0 -0
  16. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/base.py +0 -0
  17. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/chains.py +0 -0
  18. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/common/__init__.py +0 -0
  19. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/common/features.py +0 -0
  20. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/common/model_metadata.py +0 -0
  21. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/common/reduction.py +0 -0
  22. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/config.py +0 -0
  23. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/csv.py +0 -0
  24. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/data/__init__.py +0 -0
  25. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/data/api.py +0 -0
  26. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/data/assaydataset.py +0 -0
  27. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/data/data.py +0 -0
  28. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/data/schemas.py +0 -0
  29. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/design/__init__.py +0 -0
  30. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/design/api.py +0 -0
  31. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/design/design.py +0 -0
  32. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/design/future.py +0 -0
  33. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/design/schemas.py +0 -0
  34. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/__init__.py +0 -0
  35. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/api.py +0 -0
  36. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/embeddings.py +0 -0
  37. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/esm.py +0 -0
  38. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/future.py +0 -0
  39. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/models.py +0 -0
  40. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/openprotein.py +0 -0
  41. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/poet.py +0 -0
  42. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/poet2.py +0 -0
  43. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/embeddings/schemas.py +0 -0
  44. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/errors.py +0 -0
  45. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fasta.py +0 -0
  46. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/__init__.py +0 -0
  47. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/alphafold2.py +0 -0
  48. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/api.py +0 -0
  49. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/esmfold.py +0 -0
  50. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/fold.py +0 -0
  51. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/future.py +0 -0
  52. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/models.py +0 -0
  53. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/fold/schemas.py +0 -0
  54. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/jobs/__init__.py +0 -0
  55. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/jobs/api.py +0 -0
  56. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/jobs/futures.py +0 -0
  57. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/jobs/jobs.py +0 -0
  58. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/jobs/schemas.py +0 -0
  59. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/predictor/__init__.py +0 -0
  60. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/predictor/api.py +0 -0
  61. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/predictor/models.py +0 -0
  62. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/predictor/prediction.py +0 -0
  63. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/predictor/predictor.py +0 -0
  64. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/predictor/schemas.py +0 -0
  65. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/predictor/validate.py +0 -0
  66. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/prompt/__init__.py +0 -0
  67. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/prompt/api.py +0 -0
  68. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/prompt/models.py +0 -0
  69. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/prompt/prompt.py +0 -0
  70. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/prompt/schemas.py +0 -0
  71. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/svd/__init__.py +0 -0
  72. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/svd/api.py +0 -0
  73. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/svd/models.py +0 -0
  74. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/svd/schemas.py +0 -0
  75. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/svd/svd.py +0 -0
  76. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/umap/__init__.py +0 -0
  77. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/umap/api.py +0 -0
  78. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/umap/models.py +0 -0
  79. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/umap/schemas.py +0 -0
  80. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/umap/umap.py +0 -0
  81. {openprotein_python-0.8.0 → openprotein_python-0.8.1}/openprotein/utils/uuid.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openprotein-python
3
- Version: 0.8.0
3
+ Version: 0.8.1
4
4
  Summary: OpenProtein Python interface.
5
5
  Author-email: Mark Gee <markgee@ne47.bio>, "Timothy Truong Jr." <ttruong@ne47.bio>, Tristan Bepler <tbepler@ne47.bio>
6
6
  License-Expression: MIT
@@ -111,7 +111,7 @@ class BoltzModel(FoldModel):
111
111
  Parameters
112
112
  ----------
113
113
  proteins : List[Protein] | MSAFuture | None
114
- List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, unless `force_single_sequence_mode` is true. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
114
+ List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, which can be a `Protein.single_sequence_mode` for single sequence mode. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
115
115
  dna : List[DNA] | None
116
116
  List of DNA sequences to include in folded output.
117
117
  rna : List[RNA] | None
@@ -128,8 +128,6 @@ class BoltzModel(FoldModel):
128
128
  Scaling factor for diffusion steps.
129
129
  constraints : Optional[List[dict]]
130
130
  List of constraints.
131
- force_single_sequence_mode: bool
132
- Force the use of single sequence mode. Needed if providing protein sequences without MSA.
133
131
 
134
132
  Returns
135
133
  -------
@@ -189,9 +187,9 @@ class BoltzModel(FoldModel):
189
187
  for protein in proteins or []:
190
188
  # check the msa
191
189
  msa = protein.msa
192
- if msa == None and not force_single_sequence_mode:
190
+ if msa is None:
193
191
  raise ValueError(
194
- "Expected all protein sequences to have `.msa` set or explicitly use `force_single_sequence_mode`"
192
+ "Expected all protein sequences to have `.msa` set with an `MSAFuture` or `Protein.single_sequence_mode` for single sequence mode."
195
193
  )
196
194
  # convert to msa id or null for single sequence mode
197
195
  msa_id = (
@@ -286,7 +284,6 @@ class Boltz2Model(BoltzModel, FoldModel):
286
284
  constraints: list[dict] | None = None,
287
285
  templates: list[dict] | None = None,
288
286
  properties: list[dict] | None = None,
289
- force_single_sequence_mode: bool = False,
290
287
  method: str | None = None,
291
288
  ) -> FoldComplexResultFuture:
292
289
  """
@@ -295,7 +292,7 @@ class Boltz2Model(BoltzModel, FoldModel):
295
292
  Parameters
296
293
  ----------
297
294
  proteins : List[Protein] | MSAFuture | None
298
- List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, unless `force_single_sequence_mode` is true. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
295
+ List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, which can be a `Protein.single_sequence_mode` for single sequence mode. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
299
296
  dna : List[DNA] | None
300
297
  List of DNA sequences to include in folded output.
301
298
  rna : List[RNA] | None
@@ -318,8 +315,6 @@ class Boltz2Model(BoltzModel, FoldModel):
318
315
  List of templates to use for structure prediction.
319
316
  properties: list[dict] | None = None
320
317
  List of additional properties to predict. Should match the `BoltzProperties`
321
- force_single_sequence_mode: bool
322
- Force the use of single sequence mode. Needed if providing protein sequences without MSA.
323
318
  method: str | None
324
319
  The experimental method or supervision source used for the prediction. Defults to None.
325
320
  Supported values (case-insensitive) include:
@@ -373,7 +368,6 @@ class Boltz2Model(BoltzModel, FoldModel):
373
368
  constraints=constraints,
374
369
  templates=templates,
375
370
  properties=properties,
376
- force_single_sequence_mode=force_single_sequence_mode,
377
371
  method=method,
378
372
  )
379
373
 
@@ -396,7 +390,6 @@ class Boltz1xModel(BoltzModel, FoldModel):
396
390
  sampling_steps: int = 200,
397
391
  step_scale: float = 1.638,
398
392
  constraints: list[dict] | None = None,
399
- force_single_sequence_mode: bool = False,
400
393
  ) -> FoldComplexResultFuture:
401
394
  """
402
395
  Post sequences to Boltz-1x model. Uses potentials with Boltz-1 model.
@@ -404,7 +397,7 @@ class Boltz1xModel(BoltzModel, FoldModel):
404
397
  Parameters
405
398
  ----------
406
399
  proteins : List[Protein] | MSAFuture | None
407
- List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, unless `force_single_sequence_mode` is true. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
400
+ List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, which can be a `Protein.single_sequence_mode` for single sequence mode. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
408
401
  dna : List[DNA] | None
409
402
  List of DNA sequences to include in folded output.
410
403
  rna : List[RNA] | None
@@ -421,8 +414,6 @@ class Boltz1xModel(BoltzModel, FoldModel):
421
414
  Scaling factor for diffusion steps.
422
415
  constraints : Optional[List[dict]]
423
416
  List of constraints.
424
- force_single_sequence_mode: bool
425
- Force the use of single sequence mode. Needed if providing protein sequences without MSA.
426
417
 
427
418
  Returns
428
419
  -------
@@ -441,7 +432,6 @@ class Boltz1xModel(BoltzModel, FoldModel):
441
432
  step_scale=step_scale,
442
433
  use_potentials=True,
443
434
  constraints=constraints,
444
- force_single_sequence_mode=force_single_sequence_mode,
445
435
  )
446
436
 
447
437
 
@@ -464,7 +454,6 @@ class Boltz1Model(BoltzModel, FoldModel):
464
454
  step_scale: float = 1.638,
465
455
  use_potentials: bool = False,
466
456
  constraints: list[dict] | None = None,
467
- force_single_sequence_mode: bool = False,
468
457
  ) -> FoldComplexResultFuture:
469
458
  """
470
459
  Post sequences to Boltz-1 model.
@@ -472,7 +461,7 @@ class Boltz1Model(BoltzModel, FoldModel):
472
461
  Parameters
473
462
  ----------
474
463
  proteins : List[Protein] | MSAFuture | None
475
- List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, unless `force_single_sequence_mode` is true. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
464
+ List of protein sequences to include in folded output. `Protein` objects must be tagged with an `msa`, which can be a `Protein.single_sequence_mode` for single sequence mode. Alternatively, supply an `MSAFuture` to use all query sequences as a multimer.
476
465
  dna : List[DNA] | None
477
466
  List of DNA sequences to include in folded output.
478
467
  rna : List[RNA] | None
@@ -491,8 +480,6 @@ class Boltz1Model(BoltzModel, FoldModel):
491
480
  Whether or not to use potentials.
492
481
  constraints : Optional[List[dict]]
493
482
  List of constraints.
494
- force_single_sequence_mode: bool
495
- Force the use of single sequence mode. Needed if providing protein sequences without MSA.
496
483
 
497
484
  Returns
498
485
  -------
@@ -511,7 +498,6 @@ class Boltz1Model(BoltzModel, FoldModel):
511
498
  step_scale=step_scale,
512
499
  use_potentials=use_potentials,
513
500
  constraints=constraints,
514
- force_single_sequence_mode=force_single_sequence_mode,
515
501
  )
516
502
 
517
503
 
@@ -193,12 +193,16 @@ class Protein:
193
193
  def cyclic(self, cyclic: bool) -> None:
194
194
  self._tags["cyclic"] = cyclic
195
195
 
196
+ class NullMSA: ...
197
+
198
+ single_sequence_mode = NullMSA
199
+
196
200
  @property
197
- def msa(self) -> "str | MSAFuture | None":
201
+ def msa(self) -> "str | MSAFuture | None | NullMSA":
198
202
  return self._tags.get("msa")
199
203
 
200
204
  @msa.setter
201
- def msa(self, msa: "str | MSAFuture | None") -> None:
205
+ def msa(self, msa: "str | MSAFuture | None | NullMSA") -> None:
202
206
  self._tags["msa"] = msa
203
207
 
204
208
  def __len__(self):
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "openprotein-python"
3
3
  # packages = [{ include = "openprotein" }]
4
- version = "0.8.0"
4
+ version = "0.8.1"
5
5
  description = "OpenProtein Python interface."
6
6
  license = "MIT"
7
7
  readme = "README.md"