openprotein-python 0.8.2__1-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.
- openprotein/__init__.py +164 -0
- openprotein/_version.py +48 -0
- openprotein/align/__init__.py +8 -0
- openprotein/align/align.py +395 -0
- openprotein/align/api.py +428 -0
- openprotein/align/future.py +55 -0
- openprotein/align/msa.py +129 -0
- openprotein/align/schemas.py +165 -0
- openprotein/base.py +181 -0
- openprotein/chains.py +88 -0
- openprotein/common/__init__.py +5 -0
- openprotein/common/features.py +7 -0
- openprotein/common/model_metadata.py +33 -0
- openprotein/common/reduction.py +8 -0
- openprotein/config.py +9 -0
- openprotein/csv.py +31 -0
- openprotein/data/__init__.py +9 -0
- openprotein/data/api.py +218 -0
- openprotein/data/assaydataset.py +178 -0
- openprotein/data/data.py +93 -0
- openprotein/data/schemas.py +27 -0
- openprotein/design/__init__.py +16 -0
- openprotein/design/api.py +259 -0
- openprotein/design/design.py +125 -0
- openprotein/design/future.py +146 -0
- openprotein/design/schemas.py +607 -0
- openprotein/embeddings/__init__.py +27 -0
- openprotein/embeddings/api.py +619 -0
- openprotein/embeddings/embeddings.py +151 -0
- openprotein/embeddings/esm.py +33 -0
- openprotein/embeddings/future.py +146 -0
- openprotein/embeddings/models.py +421 -0
- openprotein/embeddings/openprotein.py +21 -0
- openprotein/embeddings/poet.py +446 -0
- openprotein/embeddings/poet2.py +505 -0
- openprotein/embeddings/schemas.py +78 -0
- openprotein/errors.py +76 -0
- openprotein/fasta.py +92 -0
- openprotein/fold/__init__.py +21 -0
- openprotein/fold/alphafold2.py +131 -0
- openprotein/fold/api.py +287 -0
- openprotein/fold/boltz.py +691 -0
- openprotein/fold/esmfold.py +54 -0
- openprotein/fold/fold.py +107 -0
- openprotein/fold/future.py +509 -0
- openprotein/fold/models.py +139 -0
- openprotein/fold/schemas.py +39 -0
- openprotein/jobs/__init__.py +9 -0
- openprotein/jobs/api.py +71 -0
- openprotein/jobs/futures.py +746 -0
- openprotein/jobs/jobs.py +69 -0
- openprotein/jobs/schemas.py +135 -0
- openprotein/models/__init__.py +4 -0
- openprotein/models/base.py +63 -0
- openprotein/models/foundation/rfdiffusion.py +283 -0
- openprotein/models/models.py +33 -0
- openprotein/predictor/__init__.py +25 -0
- openprotein/predictor/api.py +384 -0
- openprotein/predictor/models.py +374 -0
- openprotein/predictor/prediction.py +79 -0
- openprotein/predictor/predictor.py +242 -0
- openprotein/predictor/schemas.py +113 -0
- openprotein/predictor/validate.py +40 -0
- openprotein/prompt/__init__.py +9 -0
- openprotein/prompt/api.py +505 -0
- openprotein/prompt/models.py +142 -0
- openprotein/prompt/prompt.py +130 -0
- openprotein/prompt/schemas.py +49 -0
- openprotein/protein.py +587 -0
- openprotein/svd/__init__.py +9 -0
- openprotein/svd/api.py +206 -0
- openprotein/svd/models.py +288 -0
- openprotein/svd/schemas.py +31 -0
- openprotein/svd/svd.py +134 -0
- openprotein/umap/__init__.py +9 -0
- openprotein/umap/api.py +259 -0
- openprotein/umap/models.py +211 -0
- openprotein/umap/schemas.py +35 -0
- openprotein/umap/umap.py +175 -0
- openprotein/utils/uuid.py +29 -0
- openprotein_python-0.8.2.dist-info/METADATA +176 -0
- openprotein_python-0.8.2.dist-info/RECORD +84 -0
- openprotein_python-0.8.2.dist-info/WHEEL +4 -0
- openprotein_python-0.8.2.dist-info/licenses/LICENSE.txt +30 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: openprotein-python
|
|
3
|
+
Version: 0.8.2
|
|
4
|
+
Summary: OpenProtein Python interface.
|
|
5
|
+
Author-email: Mark Gee <markgee@ne47.bio>, "Timothy Truong Jr." <ttruong@ne47.bio>, Tristan Bepler <tbepler@ne47.bio>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
License-File: LICENSE.txt
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Requires-Dist: gemmi<0.8,>=0.7.0
|
|
12
|
+
Requires-Dist: numpy<3,>=1.9
|
|
13
|
+
Requires-Dist: pandas<3,>=2.2.2
|
|
14
|
+
Requires-Dist: pydantic<3,>=2.5
|
|
15
|
+
Requires-Dist: requests<3,>=2.32.3
|
|
16
|
+
Requires-Dist: tqdm<5,>=4.66.5
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
[](https://pypi.org/project/openprotein-python/)
|
|
20
|
+
[](https://pypi.org/project/openprotein-python/)
|
|
21
|
+
[](https://anaconda.org/openprotein/openprotein-python)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# openprotein-python
|
|
25
|
+
The OpenProtein.AI Python Interface provides a user-friendly library to interact with the OpenProtein.AI REST API, enabling various tasks related to protein analysis and modeling.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# Table of Contents
|
|
30
|
+
|
|
31
|
+
| | Workflow | Description |
|
|
32
|
+
|---|----------------------------------------------------|------------------------------------------------------|
|
|
33
|
+
| 0 | [`Quick start`](#Quick-start) | Quick start guide |
|
|
34
|
+
| 1 | [`Installation`](https://docs.openprotein.ai/api-python/installation.html) | Install guide for pip and conda. |
|
|
35
|
+
| 2 | [`Session management`](https://docs.openprotein.ai/api-python/overview.html) | An overview of the OpenProtein Python Client & the asynchronous jobs system. |
|
|
36
|
+
| 3 | [`Asssay-based Sequence Learning`](https://docs.openprotein.ai/api-python/core_workflow.html) | Covers core tasks such as data upload, model training & prediction, and sequence design. |
|
|
37
|
+
| 4 | [`De Novo prediction & generative models (PoET)`](https://docs.openprotein.ai/api-python/poet_workflow.html) | Covers PoET, a protein LLM for *de novo* scoring, as well as sequence generation. |
|
|
38
|
+
| 5 | [`Protein Language Models & Embeddings`](https://docs.openprotein.ai/api-python/embedding_workflow.html) | Covers methods for creating sequence embeddings with proprietary & open-source models. |
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# Quick-start
|
|
42
|
+
|
|
43
|
+
Get started with our quickstart README! You can peruse the [official documentation](https://docs.openprotein.ai/api-python/) for more details!
|
|
44
|
+
## Installation
|
|
45
|
+
|
|
46
|
+
To install the python interface using pip, run the following command:
|
|
47
|
+
```
|
|
48
|
+
pip install openprotein-python
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
or with conda:
|
|
52
|
+
```
|
|
53
|
+
conda install -c openprotein openprotein-python
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Requirements
|
|
57
|
+
|
|
58
|
+
- Python 3.8 or higher.
|
|
59
|
+
- pydantic version 1.0 or newer.
|
|
60
|
+
- requests version 2.0 or newer.
|
|
61
|
+
- tqdm version 4.0 or newer.
|
|
62
|
+
- pandas version 1.0 or newer.
|
|
63
|
+
|
|
64
|
+
# Getting started
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
Read on below for the quick-start guide, or see the [docs](https://docs.openprotein.ai/api-python/) for more information!
|
|
68
|
+
|
|
69
|
+
To begin, create a session using your login credentials.
|
|
70
|
+
```
|
|
71
|
+
import openprotein
|
|
72
|
+
|
|
73
|
+
# replace USERNAME and PASSWORD with your actual login credentials
|
|
74
|
+
session = openprotein.connect(USERNAME, PASSWORD)
|
|
75
|
+
```
|
|
76
|
+
## Job Status
|
|
77
|
+
|
|
78
|
+
The interface offers `AsyncJobFuture` objects for asynchronous calls, allowing tracking of job status and result retrieval when ready. Given a future, you can check its status and retrieve results.
|
|
79
|
+
|
|
80
|
+
### Checking Job Status
|
|
81
|
+
Check the status of an `AsyncJobFuture` using the following methods:
|
|
82
|
+
```
|
|
83
|
+
future.refresh() # call the backend to update the job status
|
|
84
|
+
future.done() # returns True if the job is done, meaning the status could be SUCCESS, FAILED, or CANCELLED
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Retrieving Job Results
|
|
88
|
+
Once the job has finished, retrieve the results using the following methods:
|
|
89
|
+
```
|
|
90
|
+
result = future.wait() # wait until done and then fetch results
|
|
91
|
+
|
|
92
|
+
#verbosity is controlled with verbose arg
|
|
93
|
+
result = future.get(verbose=True) # get the result from a finished job
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Jobs Interface
|
|
97
|
+
|
|
98
|
+
### Listing Jobs
|
|
99
|
+
To view all jobs associated with each session, the following method is available, providing an option to filter results by date, job type, or status.
|
|
100
|
+
```
|
|
101
|
+
session.jobs.list()
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Retrieving Specific Job
|
|
105
|
+
For detailed information about a particular job, use the following command with the corresponding job ID:
|
|
106
|
+
```
|
|
107
|
+
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Resuming Jobs
|
|
111
|
+
Jobs from prior workflows can be resumed using the load_job method provided by each API.
|
|
112
|
+
```
|
|
113
|
+
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## PoET interface
|
|
117
|
+
The PoET Interface allows scoring, generating, and retrieving sequences using the PoET model.
|
|
118
|
+
|
|
119
|
+
### Scoring Sequences
|
|
120
|
+
To score sequences, use the score function. Provide a prompt and a list of queries. The results will be a list of (sequence, score) pydantic objects.
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
prompt_seqs = b'MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN'
|
|
124
|
+
|
|
125
|
+
prompt = session.poet.upload_prompt(prompt_seqs)
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
queries = [
|
|
130
|
+
b'MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN',
|
|
131
|
+
b'MALWMRLLPLLVLLALWGPDPASAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN',
|
|
132
|
+
b'MALWTRLRPLLALLALWPPPPARAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEGPQVGALELAGGPGAGGLEGPPQKRGIVEQCCASVCSLYQLENYCN',
|
|
133
|
+
b'MALWIRSLPLLALLVFSGPGTSYAAANQHLCGSHLVEALYLVCGERGFFYSPKARRDVEQPLVSSPLRGEAGVLPFQQEEYEKVKRGIVEQCCHNTCSLYQLENYCN',
|
|
134
|
+
b'MALWMRLLPLLALLALWAPAPTRAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEDLQVRDVELAGAPGEGGLQPLALEGALQKRGIVEQCCTSICSLYQLENYCN',
|
|
135
|
+
]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
future = session.poet.score(prompt, queries)
|
|
140
|
+
result = future.wait()
|
|
141
|
+
# result is a list of (sequence, score) pydantic objects
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Scoring Single Site Variants
|
|
145
|
+
For scoring single site variants, use the `single_site function`, providing the original sequence and setting `prompt_is_seed` to True if the prompt is a seed sequence.
|
|
146
|
+
```
|
|
147
|
+
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
|
|
148
|
+
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
|
|
149
|
+
result = future.wait()
|
|
150
|
+
# result is a dictionary of {variant: score}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Generating Sequences
|
|
154
|
+
To generate sequences from the PoET model, use the `generate` function with relevant parameters. The result will be a list of generated samples.
|
|
155
|
+
```
|
|
156
|
+
future = session.poet.generate(
|
|
157
|
+
prompt,
|
|
158
|
+
max_seqs_from_msa=1024,
|
|
159
|
+
num_samples=100,
|
|
160
|
+
temperature=1.0,
|
|
161
|
+
topk=15
|
|
162
|
+
)
|
|
163
|
+
samples = future.wait()
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Retrieving Input Sequences
|
|
167
|
+
You can retrieve the prompt, MSA, or seed sequences for a PoET job using the `get_input` function or the individual functions for each type.
|
|
168
|
+
```
|
|
169
|
+
future.get_input(INPUT_TYPE)
|
|
170
|
+
# or, functions for each type
|
|
171
|
+
future.get_prompt()
|
|
172
|
+
future.get_msa()
|
|
173
|
+
future.get_seed()
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
See more at our [Homepage](https://docs.openprotein.ai/)
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
openprotein/__init__.py,sha256=IbE40dh-Cr8up0C0zj7lwq2ClVqCSjaRi3bU24wmOnQ,4666
|
|
2
|
+
openprotein/_version.py,sha256=Ol2Gd58z4X1DTgHjN9dFdF7yrZu8GhIISayED84Mn0Y,1814
|
|
3
|
+
openprotein/base.py,sha256=G3d2toHiUYHKNwfVGS0DT6THC37dA5K2NsQ0O4xC8Wo,5985
|
|
4
|
+
openprotein/chains.py,sha256=OAIUOZqVlXK6-T1vlmjhAePGbyDb_Kk7q3JOp7HJhrI,2318
|
|
5
|
+
openprotein/config.py,sha256=f0ueMjXZ4SRPSKXDQlU2Ra6UES_JvAAcoYCh3i7N_9o,171
|
|
6
|
+
openprotein/csv.py,sha256=d-36Gx_pPUqciOWkam_22jAFpOL_8ni-W69iWaTg4Vc,715
|
|
7
|
+
openprotein/errors.py,sha256=be97U4setxf5_FdMv0KcWsyQ7vdStK71bV696FdpKyM,1915
|
|
8
|
+
openprotein/fasta.py,sha256=XIxSxfWkr84ySXsSsPSBpG-1NWqwScBtjd9mtbIhSpQ,2609
|
|
9
|
+
openprotein/protein.py,sha256=4ngPBaw5DC40USN2bTcrDq4JNy9wiqTM_NLmRUHDJ34,22548
|
|
10
|
+
openprotein/align/__init__.py,sha256=VeQRdTaNIb_5e666XClvv8aQo54xzimmusvjJGoWBdE,148
|
|
11
|
+
openprotein/align/align.py,sha256=1Sc7JdmaRwaCo65SGW2kmNmV_fkfuEy87kALuy9QiJc,13686
|
|
12
|
+
openprotein/align/api.py,sha256=4DBgbhsRaChzDQk3t-3mdfCllkE2rPmdEwHjNmO27fQ,13013
|
|
13
|
+
openprotein/align/future.py,sha256=wzMZlM73rRjIftjU2dHH1IZRDq3kENjruyk2Ig_n5E8,1277
|
|
14
|
+
openprotein/align/msa.py,sha256=j_nOXCTVgaCclTRUE8g9EyQEkkMK7Drgix73LmNT_oU,4618
|
|
15
|
+
openprotein/align/schemas.py,sha256=IZQ50ajZw-qNfmwxP6ycs29KwBXyjH-0mFmGB0Zl4Eo,4213
|
|
16
|
+
openprotein/common/__init__.py,sha256=cdw3xMVNK8pDuOtu9GUaQhV2yR9UTCJw5R4m5FB-w2Y,195
|
|
17
|
+
openprotein/common/features.py,sha256=RpRBEwJ4oB18jGeJFjyXyvphcCa4SyXnduXk1D57Tbc,87
|
|
18
|
+
openprotein/common/model_metadata.py,sha256=A3Jaegf4XbDsFtB1zvtEpcLeduAJJiM42sCbPeQQtTQ,852
|
|
19
|
+
openprotein/common/reduction.py,sha256=Nmyga79MVxThB2qeCfKA7syb3erxG8EEQ31KE6YUvyk,134
|
|
20
|
+
openprotein/data/__init__.py,sha256=32sumoz0RlczzCtdIwV9AKgsCaBI4N5cV5VOKi-31lo,198
|
|
21
|
+
openprotein/data/api.py,sha256=fD3KKrf2yeiRX17Vym6ehT05NEEbZepPEUc_R4iN3Tk,5718
|
|
22
|
+
openprotein/data/assaydataset.py,sha256=FX2deIZWyAH1nz8Pr4Z-3azx2mvh-llRmdaflTjlBHc,4823
|
|
23
|
+
openprotein/data/data.py,sha256=a7m7XDXUnhycXAQJUejTzMtmy-L2fkGVy9boRPniSjg,2295
|
|
24
|
+
openprotein/data/schemas.py,sha256=ryoprmbRA_cPQHYTbUa0XGN1gDlWPhLJGgUtdZ5Tt4s,565
|
|
25
|
+
openprotein/design/__init__.py,sha256=ZF1FyVTYL8ESYitlCF7fR2CISsP886rxSS6RZHgI2NQ,282
|
|
26
|
+
openprotein/design/api.py,sha256=02-YKyJRZIo4qwIc9vjFE-qtQaB9f39pgAf7tMr58O0,8062
|
|
27
|
+
openprotein/design/design.py,sha256=VxxyoRX-H7ZrYQeap-zN3JqCnuu7FM4ORYSEM92q_zc,4501
|
|
28
|
+
openprotein/design/future.py,sha256=_JehEIEVKjXcLrYVSvAFjGTRM5z984BwRMeyhq9xoVE,4437
|
|
29
|
+
openprotein/design/schemas.py,sha256=aFuxGl8LVJ4_Sto9urfkTBdxW1K7_7MS3fdpORUFFlg,15911
|
|
30
|
+
openprotein/embeddings/__init__.py,sha256=sZ4oxFFehpJ5I-D4XL_fhiB-T_FhFqrGpI4_rDK_OqA,570
|
|
31
|
+
openprotein/embeddings/api.py,sha256=VaZwrsxXuQ9RbbsZBv_FKY6m4_-x9ER_Gwx6fxV7zsY,18646
|
|
32
|
+
openprotein/embeddings/embeddings.py,sha256=AEJwTNvYG04JQYxoZKjipRm9grzuFUlZGX9p3dmDeKU,4759
|
|
33
|
+
openprotein/embeddings/esm.py,sha256=8dB0zE_AWMrn1XjkwqzpUqcIbB_0PDzNaYc0kn1g7SY,896
|
|
34
|
+
openprotein/embeddings/future.py,sha256=KP4OwQcHa3hp4k75Mm-JF19RxjBtjL2BWDnRgmd5UI0,4391
|
|
35
|
+
openprotein/embeddings/models.py,sha256=pnyeErDCikpg7qP-UmU2_ukmDl-9GTzmeoDx9AUrNCA,13967
|
|
36
|
+
openprotein/embeddings/openprotein.py,sha256=FzFLnHTd5-BQ_155N6c7phQJjCGYbfcve1305qZu_s0,590
|
|
37
|
+
openprotein/embeddings/poet.py,sha256=OB_Ixh-RvBsFtljW8zZX_xXn-UlvL7yf_S3zbtsFVEQ,14319
|
|
38
|
+
openprotein/embeddings/poet2.py,sha256=JOFo_Gl677JbUB7JZ8xrHD6zc8RNa8hfmaSwN8T3cSU,19356
|
|
39
|
+
openprotein/embeddings/schemas.py,sha256=utVVIp-42ek22TzrbGj3sOBWchhJNL3DN8HlDzudFEk,1781
|
|
40
|
+
openprotein/fold/__init__.py,sha256=-ZByOGX2M9rCJxhelvezPonBZVsnD5XevSgmTTkP7y0,470
|
|
41
|
+
openprotein/fold/alphafold2.py,sha256=hW9qTpROul0fXVpbrCY-kD2fySNUeBgYuax6_KVZ4es,5422
|
|
42
|
+
openprotein/fold/api.py,sha256=VBT-nf5iZ-tLYKzBWqtxd8GTgRax-x9L4wlkpdWbbFI,7926
|
|
43
|
+
openprotein/fold/boltz.py,sha256=Pk6_g6xt1njl5-BTA9DSUsR2Jpp9aMRQCDF2rM5gcKU,24323
|
|
44
|
+
openprotein/fold/esmfold.py,sha256=9ERpZ4lZc8eWD1RD1X8m7VlogNfpYDctXjLizM9zk6E,1448
|
|
45
|
+
openprotein/fold/fold.py,sha256=Mvn80-qkvQ63GnvoPwJWJTyDy2UrctB_L-6wHa65B_E,3041
|
|
46
|
+
openprotein/fold/future.py,sha256=we1-zjm3JTxHMAA6x3gipmyy0FmX1vKzeNmScYCJjd8,15146
|
|
47
|
+
openprotein/fold/models.py,sha256=XHr7hUL5678lNOVDrQJWgcqIanGznacGZNBXwnmfRLg,3953
|
|
48
|
+
openprotein/fold/schemas.py,sha256=0FbF71XgBdnAR5hNmFnXL47Vb8s5oaUqKw29jT2d2y0,779
|
|
49
|
+
openprotein/jobs/__init__.py,sha256=IpSW9hMXJgZXWuQabm8W7-Bq7dBy16P0S4c01C1Z9V8,208
|
|
50
|
+
openprotein/jobs/api.py,sha256=bjNm-D1Jf0v0NDadZu7VeW5poafeiGvQ_3flK9kx_4g,2135
|
|
51
|
+
openprotein/jobs/futures.py,sha256=xBQDl_1WIcR2aKyliYNYeZV7sn0lCARyvAcvzV84WNY,21853
|
|
52
|
+
openprotein/jobs/jobs.py,sha256=it4GIoUOWN1uDrA-dIO3y0Qw3ITewp5Kv2V74NMqwkU,2010
|
|
53
|
+
openprotein/jobs/schemas.py,sha256=Q2Rr7NvTMxbKdbj0QyKhK2u1PyJZYDnwPu3l_Y7KcD8,3943
|
|
54
|
+
openprotein/models/__init__.py,sha256=b6Vs4YxIdCf0AXwCjRybifHnCAUj5xT25xBNY1D21go,158
|
|
55
|
+
openprotein/models/base.py,sha256=aXLZ4ImbBvf6NBzM3vnpS7HR86YupNR6S8T4L_MXlv0,1746
|
|
56
|
+
openprotein/models/models.py,sha256=AKR_DvU6V2ar_5Q3wuTU-J2K_rzSVPKbWTafAHxsbWs,1094
|
|
57
|
+
openprotein/models/foundation/rfdiffusion.py,sha256=QBnTDi2NZCDfQAgDhP-KWgwUQqeu5VbbKrC01Bn3xgw,10521
|
|
58
|
+
openprotein/predictor/__init__.py,sha256=VyijxJtcWPEu6Qh-kH8Uun5FtbSBsHdeNMDmHxwuGeo,506
|
|
59
|
+
openprotein/predictor/api.py,sha256=_bn9fbeoNKK-4cTyHRZIf8Ezow0EvZlnDOBZx5cFFNM,10691
|
|
60
|
+
openprotein/predictor/models.py,sha256=WCu5ZAgL5wVE50uKXI9UC_S2LgrWuC_GapshTLuwUsU,13523
|
|
61
|
+
openprotein/predictor/prediction.py,sha256=X7MuFHoSiNVExio9Ffz7bEHtdzdlX1l380q5hdGZWTg,2185
|
|
62
|
+
openprotein/predictor/predictor.py,sha256=qabUR0MciB5WTXbFlul8Z7rAqHbBiJAtKg0yFBpFl_g,8142
|
|
63
|
+
openprotein/predictor/schemas.py,sha256=rg4U7D7EiowdyY8Mr4PsL3RfFpuelEW7yXSCoQYZbkQ,2558
|
|
64
|
+
openprotein/predictor/validate.py,sha256=lT0YU8MF6RqLtzXNj_s7mgEql6_s-7hLSvSn0HlR97M,1003
|
|
65
|
+
openprotein/prompt/__init__.py,sha256=jUnpqzsH7xw37vcNYXsf1uJ5BdNTZTkZaI9xu_r3F-g,219
|
|
66
|
+
openprotein/prompt/api.py,sha256=iqwQDSusg1yg_8O1Dx6QpxTcqAuhtdwsGT-I7w3JAsw,15616
|
|
67
|
+
openprotein/prompt/models.py,sha256=R3AN-CKKaV8cN9ESwha4IQmIt7GF76JSeNz5a3WxslM,4233
|
|
68
|
+
openprotein/prompt/prompt.py,sha256=A7-ZRSjnkUwbrpIgn12Mx7ywGHZqT7aXB-QzjaT8N6E,3306
|
|
69
|
+
openprotein/prompt/schemas.py,sha256=jPD5mn-AkygFB5ZPSAbtmcbb8xxHc2lpihPtUloBmwk,1412
|
|
70
|
+
openprotein/svd/__init__.py,sha256=WE-yOdKiFrj5c2k6OtlAUc_5oundBL2b1VW4uHiBSeI,220
|
|
71
|
+
openprotein/svd/api.py,sha256=VSsjzgBxRowkqj99r0tmTPNaIg9QAGfWNhiL5ryf04c,5612
|
|
72
|
+
openprotein/svd/models.py,sha256=sR1PntGRcmb7lUSCrUhOMfpkbnwKL_BRcy_ymOiiXWE,9173
|
|
73
|
+
openprotein/svd/schemas.py,sha256=LU4pz4K78m5Y1nWjM-co2V7iDWZRkid0ecFTptORl-s,686
|
|
74
|
+
openprotein/svd/svd.py,sha256=8qIh_Fpm87PPHyUeEuT4l1m-tWOTKWhsZDMfeJtb-JY,4133
|
|
75
|
+
openprotein/umap/__init__.py,sha256=ErsIahd6R59bv1J8MH5VT3NHpb2TixHQpWzadYGAotQ,231
|
|
76
|
+
openprotein/umap/api.py,sha256=JHxsfdRD-KqRQjdiwd_zOx0JEcFt2_5ukWygJClh88M,7195
|
|
77
|
+
openprotein/umap/models.py,sha256=H7XP3eS-CrgntYKVIkBrexqJWp1ZWLE36gpaLyTmynE,6136
|
|
78
|
+
openprotein/umap/schemas.py,sha256=StAh7cs1jvXOiEjz1SAzagKXUGNx1sWK0egI3iFezz8,821
|
|
79
|
+
openprotein/umap/umap.py,sha256=BnlJUdsCj6iCbv5FhrOEmMIkMScOD85Wai1nLHPbqck,6228
|
|
80
|
+
openprotein/utils/uuid.py,sha256=nq4ESe8cuvtAPEb4OEzRqnCwrnZwZrmEuljpW7QKBFE,596
|
|
81
|
+
openprotein_python-0.8.2.dist-info/METADATA,sha256=uI2BZMfd5tEpYJVvYkiw_WJVjDdOkSnaFsHpfQsxtCA,7165
|
|
82
|
+
openprotein_python-0.8.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
83
|
+
openprotein_python-0.8.2.dist-info/licenses/LICENSE.txt,sha256=amMkJEL2uNWuwaaj25UfyZ37g-KwGF7E3ingj7_Xu4A,1543
|
|
84
|
+
openprotein_python-0.8.2.dist-info/RECORD,,
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Copyright (c) 2021-2023, OpenProtein.
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are
|
|
6
|
+
met:
|
|
7
|
+
|
|
8
|
+
* Redistributions of source code must retain the above copyright
|
|
9
|
+
notice, this list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
* Redistributions in binary form must reproduce the above
|
|
12
|
+
copyright notice, this list of conditions and the following
|
|
13
|
+
disclaimer in the documentation and/or other materials provided
|
|
14
|
+
with the distribution.
|
|
15
|
+
|
|
16
|
+
* Neither the name of the OPenProtein Developers nor the names of any
|
|
17
|
+
contributors may be used to endorse or promote products derived
|
|
18
|
+
from this software without specific prior written permission.
|
|
19
|
+
|
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
21
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
22
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
23
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
24
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
25
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
26
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
27
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
28
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
29
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
30
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|