openprotein-python 0.13.0__tar.gz → 0.13.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 (205) hide show
  1. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/PKG-INFO +1 -1
  2. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/data/data.py +1 -0
  3. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/data/schemas.py +1 -0
  4. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/embeddings.py +2 -0
  5. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/common.py +5 -8
  6. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/molecules/complex.py +9 -52
  7. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/.gitignore +0 -0
  8. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/LICENSE.txt +0 -0
  9. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/README.md +0 -0
  10. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/__init__.py +0 -0
  11. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/_version.py +0 -0
  12. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/align/__init__.py +0 -0
  13. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/align/align.py +0 -0
  14. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/align/api.py +0 -0
  15. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/align/future.py +0 -0
  16. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/align/msa.py +0 -0
  17. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/align/schemas.py +0 -0
  18. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/__init__.py +0 -0
  19. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/align.py +0 -0
  20. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/assaydata.py +0 -0
  21. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/deprecated/__init__.py +0 -0
  22. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/deprecated/design.py +0 -0
  23. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/deprecated/poet.py +0 -0
  24. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/deprecated/predict.py +0 -0
  25. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/deprecated/train.py +0 -0
  26. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/design.py +0 -0
  27. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/designer.py +0 -0
  28. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/embedding.py +0 -0
  29. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/error.py +0 -0
  30. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/fold.py +0 -0
  31. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/job.py +0 -0
  32. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/predict.py +0 -0
  33. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/predictor.py +0 -0
  34. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/prompt.py +0 -0
  35. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/svd.py +0 -0
  36. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/train.py +0 -0
  37. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/api/umap.py +0 -0
  38. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/__init__.py +0 -0
  39. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/deprecated.py +0 -0
  40. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/__init__.py +0 -0
  41. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/align/__init__.py +0 -0
  42. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/align/base.py +0 -0
  43. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/align/msa.py +0 -0
  44. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/align/prompt.py +0 -0
  45. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/assaydata.py +0 -0
  46. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/deprecated/__init__.py +0 -0
  47. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/deprecated/design.py +0 -0
  48. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/deprecated/poet.py +0 -0
  49. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/deprecated/predict.py +0 -0
  50. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/deprecated/train.py +0 -0
  51. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/design.py +0 -0
  52. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/designer.py +0 -0
  53. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/__init__.py +0 -0
  54. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/base.py +0 -0
  55. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/esm.py +0 -0
  56. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/future.py +0 -0
  57. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/openprotein.py +0 -0
  58. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/poet.py +0 -0
  59. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/poet2.py +0 -0
  60. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/embeddings/test.py +0 -0
  61. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/fold/__init__.py +0 -0
  62. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/fold/alphafold2.py +0 -0
  63. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/fold/base.py +0 -0
  64. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/fold/boltz.py +0 -0
  65. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/fold/esmfold.py +0 -0
  66. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/fold/future.py +0 -0
  67. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/futures.py +0 -0
  68. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/predict.py +0 -0
  69. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/predictor/__init__.py +0 -0
  70. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/predictor/predict.py +0 -0
  71. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/predictor/predictor.py +0 -0
  72. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/predictor/validate.py +0 -0
  73. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/prompt.py +0 -0
  74. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/svd.py +0 -0
  75. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/train.py +0 -0
  76. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/models/umap.py +0 -0
  77. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/__init__.py +0 -0
  78. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/align.py +0 -0
  79. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/assaydata.py +0 -0
  80. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/deprecated/__init__.py +0 -0
  81. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/deprecated/design.py +0 -0
  82. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/deprecated/predict.py +0 -0
  83. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/deprecated/train.py +0 -0
  84. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/design.py +0 -0
  85. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/designer.py +0 -0
  86. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/embeddings.py +0 -0
  87. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/fold.py +0 -0
  88. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/job.py +0 -0
  89. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/predict.py +0 -0
  90. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/predictor.py +0 -0
  91. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/prompt.py +0 -0
  92. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/svd.py +0 -0
  93. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/train.py +0 -0
  94. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/app/services/umap.py +0 -0
  95. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/base.py +0 -0
  96. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/chains.py +0 -0
  97. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/common/__init__.py +0 -0
  98. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/common/features.py +0 -0
  99. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/common/model_metadata.py +0 -0
  100. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/common/reduction.py +0 -0
  101. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/common/residue_contants.py +0 -0
  102. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/config.py +0 -0
  103. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/csv.py +0 -0
  104. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/data/__init__.py +0 -0
  105. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/data/api.py +0 -0
  106. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/data/assaydataset.py +0 -0
  107. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/design/__init__.py +0 -0
  108. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/design/api.py +0 -0
  109. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/design/design.py +0 -0
  110. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/design/future.py +0 -0
  111. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/design/schemas.py +0 -0
  112. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/__init__.py +0 -0
  113. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/ablang.py +0 -0
  114. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/api.py +0 -0
  115. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/esm.py +0 -0
  116. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/future.py +0 -0
  117. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/models.py +0 -0
  118. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/openprotein.py +0 -0
  119. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/poet.py +0 -0
  120. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/poet2.py +0 -0
  121. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/embeddings/schemas.py +0 -0
  122. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/errors.py +0 -0
  123. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fasta.py +0 -0
  124. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/__init__.py +0 -0
  125. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/alphafold2.py +0 -0
  126. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/api.py +0 -0
  127. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/boltz.py +0 -0
  128. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/complex.py +0 -0
  129. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/esmfold.py +0 -0
  130. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/fold.py +0 -0
  131. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/future.py +0 -0
  132. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/minifold.py +0 -0
  133. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/models.py +0 -0
  134. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/protenix.py +0 -0
  135. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/rosettafold3.py +0 -0
  136. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/fold/schemas.py +0 -0
  137. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/jobs/__init__.py +0 -0
  138. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/jobs/api.py +0 -0
  139. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/jobs/futures.py +0 -0
  140. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/jobs/jobs.py +0 -0
  141. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/jobs/schemas.py +0 -0
  142. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/__init__.py +0 -0
  143. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/base.py +0 -0
  144. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/foundation/boltzgen.py +0 -0
  145. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/foundation/boltzgen_schema.py +0 -0
  146. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/foundation/proteinmpnn.py +0 -0
  147. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/foundation/rfdiffusion.py +0 -0
  148. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/models.py +0 -0
  149. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/models/structure_generation.py +0 -0
  150. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/molecules/__init__.py +0 -0
  151. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/molecules/chains.py +0 -0
  152. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/molecules/protein.py +0 -0
  153. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/molecules/structure.py +0 -0
  154. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/molecules/template.py +0 -0
  155. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/predictor/__init__.py +0 -0
  156. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/predictor/api.py +0 -0
  157. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/predictor/models.py +0 -0
  158. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/predictor/prediction.py +0 -0
  159. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/predictor/predictor.py +0 -0
  160. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/predictor/schemas.py +0 -0
  161. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/predictor/validate.py +0 -0
  162. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/prompt/__init__.py +0 -0
  163. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/prompt/api.py +0 -0
  164. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/prompt/models.py +0 -0
  165. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/prompt/prompt.py +0 -0
  166. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/prompt/schemas.py +0 -0
  167. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/protein.py +0 -0
  168. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/scaffolds.py +0 -0
  169. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/__init__.py +0 -0
  170. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/align.py +0 -0
  171. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/assaydata.py +0 -0
  172. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/deprecated/__init__.py +0 -0
  173. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/deprecated/design.py +0 -0
  174. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/deprecated/poet.py +0 -0
  175. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/deprecated/predict.py +0 -0
  176. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/deprecated/train.py +0 -0
  177. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/design.py +0 -0
  178. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/designer.py +0 -0
  179. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/embeddings.py +0 -0
  180. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/features.py +0 -0
  181. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/fold.py +0 -0
  182. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/job.py +0 -0
  183. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/predict.py +0 -0
  184. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/predictor.py +0 -0
  185. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/prompt.py +0 -0
  186. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/svd.py +0 -0
  187. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/train.py +0 -0
  188. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/schemas/umap.py +0 -0
  189. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/svd/__init__.py +0 -0
  190. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/svd/api.py +0 -0
  191. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/svd/models.py +0 -0
  192. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/svd/schemas.py +0 -0
  193. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/svd/svd.py +0 -0
  194. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/umap/__init__.py +0 -0
  195. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/umap/api.py +0 -0
  196. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/umap/models.py +0 -0
  197. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/umap/schemas.py +0 -0
  198. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/umap/umap.py +0 -0
  199. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/utils/__init__.py +0 -0
  200. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/utils/chain_id.py +0 -0
  201. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/utils/cif.py +0 -0
  202. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/utils/numpy.py +0 -0
  203. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/utils/sequence.py +0 -0
  204. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/openprotein/utils/uuid.py +0 -0
  205. {openprotein_python-0.13.0 → openprotein_python-0.13.1}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openprotein-python
3
- Version: 0.13.0
3
+ Version: 0.13.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
@@ -59,6 +59,7 @@ class DataAPI:
59
59
  metadata = api.assaydata_post(
60
60
  self.session, stream, name, assay_description=description
61
61
  )
62
+ table.columns = [str(column).lower() for column in table.columns]
62
63
  metadata.sequence_length = len(table["sequence"].values[0])
63
64
  return AssayDataset(self.session, metadata)
64
65
 
@@ -13,6 +13,7 @@ class AssayMetadata(BaseModel):
13
13
  num_entries: int
14
14
  measurement_names: list[str]
15
15
  sequence_length: int | None = None
16
+ has_name_column: bool = False
16
17
 
17
18
 
18
19
  class AssayDataRow(BaseModel):
@@ -3,6 +3,7 @@
3
3
  from openprotein.base import APISession
4
4
 
5
5
  from . import api
6
+ from .ablang import AbLang2Model
6
7
  from .esm import ESMModel
7
8
  from .future import EmbeddingsResultFuture
8
9
  from .models import EmbeddingModel
@@ -55,6 +56,7 @@ class EmbeddingsAPI:
55
56
  #: Rotaprot model trained on UniRef90
56
57
  rotaprot_large_uniref90_ft: OpenProteinModel
57
58
  poet_2: PoET2Model
59
+ ablang2: AbLang2Model
58
60
 
59
61
  #: ESM1b model
60
62
  esm1b: ESMModel # alias
@@ -163,14 +163,11 @@ def serialize_input(session: APISession, complexes: list[Complex], needs_msa: bo
163
163
  msa_to_seed: dict[str, set[str]] = dict()
164
164
  for complex in complexes:
165
165
  _complex: list[dict[str, Any]] = []
166
- for chain_ids, chain in complex.get_id_groups():
167
- id_field: str | list[str] = (
168
- chain_ids[0] if len(chain_ids) == 1 else list(chain_ids)
169
- )
166
+ for chain_id, chain in complex.get_chains().items():
170
167
  if isinstance(chain, Protein):
171
168
  # add the protein in the unified format
172
169
  p: dict = {
173
- "id": id_field,
170
+ "id": chain_id,
174
171
  "sequence": chain.sequence.decode(),
175
172
  }
176
173
  if needs_msa:
@@ -208,17 +205,17 @@ def serialize_input(session: APISession, complexes: list[Complex], needs_msa: bo
208
205
  p["msa_id"] = msa_id
209
206
  _complex.append({"protein": p})
210
207
  elif isinstance(chain, Ligand):
211
- ligand_payload: dict[str, Any] = {"id": id_field}
208
+ ligand_payload: dict[str, Any] = {"id": chain_id}
212
209
  if chain.smiles is not None:
213
210
  ligand_payload["smiles"] = chain.smiles
214
211
  if chain.ccd is not None:
215
212
  ligand_payload["ccd"] = chain.ccd
216
213
  _complex.append({"ligand": ligand_payload})
217
214
  elif isinstance(chain, DNA):
218
- d: dict[str, Any] = {"id": id_field, "sequence": chain.sequence}
215
+ d: dict[str, Any] = {"id": chain_id, "sequence": chain.sequence}
219
216
  _complex.append({"dna": d})
220
217
  elif isinstance(chain, RNA):
221
- r: dict[str, Any] = {"id": id_field, "sequence": chain.sequence}
218
+ r: dict[str, Any] = {"id": chain_id, "sequence": chain.sequence}
222
219
  _complex.append({"rna": r})
223
220
  else:
224
221
  raise ValueError(f"Unexpected chain type: {chain}")
@@ -24,32 +24,16 @@ if TYPE_CHECKING:
24
24
  class Complex:
25
25
  def __init__(
26
26
  self,
27
- chains: Mapping[
28
- str | tuple[str, ...], Protein | DNA | RNA | Ligand
29
- ]
30
- | None = None,
27
+ chains: Mapping[str, Protein | DNA | RNA | Ligand] | None = None,
31
28
  name: bytes | str | None = None,
32
29
  ):
33
- expanded: dict[str, Protein | DNA | RNA | Ligand] = {}
34
- groups: list[tuple[str, ...]] = []
30
+ collected: dict[str, Protein | DNA | RNA | Ligand] = {}
35
31
  if chains is not None:
36
32
  for key, value in chains.items():
37
- ids = (key,) if isinstance(key, str) else key
38
- if not isinstance(ids, tuple) or not all(
39
- isinstance(cid, str) for cid in ids
40
- ):
41
- raise TypeError(
42
- f"chain id must be str or tuple[str, ...]; got {key!r}"
43
- )
44
- if len(ids) == 0:
45
- raise ValueError("tuple chain id must be non-empty")
46
- for cid in ids:
47
- if cid in expanded:
48
- raise ValueError(f"duplicate chain id: {cid!r}")
49
- expanded[cid] = value
50
- groups.append(tuple(ids))
51
- self._chains = dict(sorted(expanded.items()))
52
- self._id_groups: list[tuple[str, ...]] = sorted(groups, key=lambda g: g[0])
33
+ if not isinstance(key, str):
34
+ raise TypeError(f"chain id must be str; got {key!r}")
35
+ collected[key] = value
36
+ self._chains = dict(sorted(collected.items()))
53
37
  self._templates: "Sequence[Protein | Complex | Template]" = ()
54
38
  self.name = name
55
39
 
@@ -89,17 +73,6 @@ class Complex:
89
73
  def get_chains(self) -> Mapping[str, Protein | DNA | RNA | Ligand]:
90
74
  return MappingProxyType(self._chains)
91
75
 
92
- def get_id_groups(
93
- self,
94
- ) -> "list[tuple[tuple[str, ...], Protein | DNA | RNA | Ligand]]":
95
- """Return ordered (chain_ids, chain) pairs grouped by entity.
96
-
97
- Each group's ``chain_ids`` is the tuple originally passed to the
98
- constructor (a 1-tuple for scalar keys), and the chain object is
99
- shared across all ids in the group.
100
- """
101
- return [(ids, self._chains[ids[0]]) for ids in self._id_groups]
102
-
103
76
  def get_proteins(self) -> Mapping[str, Protein]:
104
77
  return MappingProxyType(
105
78
  {k: v for k, v in self._chains.items() if isinstance(v, Protein)}
@@ -143,18 +116,8 @@ class Complex:
143
116
  def set_chain(
144
117
  self, chain_id: str, value: Protein | DNA | RNA | Ligand
145
118
  ) -> "Complex":
146
- new_groups: list[tuple[str, ...]] = []
147
- for ids in self._id_groups:
148
- if chain_id in ids:
149
- remaining = tuple(i for i in ids if i != chain_id)
150
- if remaining:
151
- new_groups.append(remaining)
152
- else:
153
- new_groups.append(ids)
154
- new_groups.append((chain_id,))
155
119
  self._chains[chain_id] = value
156
120
  self._chains = dict(sorted(self._chains.items()))
157
- self._id_groups = sorted(new_groups, key=lambda g: g[0])
158
121
  return self
159
122
 
160
123
  def __rand__(self, left: "Complex | Protein | str") -> "Complex":
@@ -184,9 +147,6 @@ class Complex:
184
147
  f"Trying to combine two sets of chains with overlapping chain ids: {overlapping_chain_ids}"
185
148
  )
186
149
  self._chains = dict(sorted((self._chains | right._chains).items()))
187
- self._id_groups = sorted(
188
- self._id_groups + right._id_groups, key=lambda g: g[0]
189
- )
190
150
  return self
191
151
 
192
152
  @overload
@@ -309,12 +269,9 @@ class Complex:
309
269
  )
310
270
 
311
271
  def copy(self) -> "Complex":
312
- chains_copy: dict[
313
- str | tuple[str, ...], Protein | DNA | RNA | Ligand
314
- ] = {}
315
- for ids in self._id_groups:
316
- value = self._chains[ids[0]].copy()
317
- chains_copy[ids if len(ids) > 1 else ids[0]] = value
272
+ chains_copy: dict[str, Protein | DNA | RNA | Ligand] = {
273
+ chain_id: chain.copy() for chain_id, chain in self._chains.items()
274
+ }
318
275
  return Complex(chains=chains_copy, name=self._name)
319
276
 
320
277
  def _assert_valid_templates(self):