Skip to content

Commit 3d98ef1

Browse files
Michael-BarmbarbertbeplerYichael-bartimt51
authored
Update main (#45)
* cleanup repo * cleanup * cleanup * cleanup * cleanup * updated links * update v * update readme * squash readme and workflow edits workflows updated workflows updated updated workflows updated workflows updated workflows updated workflows updated test updated workflows updated workflow updated workflow updated workflows updated workflows updated workflows updated workflows updated workflows updated readme updated readme * v tagging * fix bug in SVD metadata refresh * metadata embeddings fix * Bump version to 0.2.3 * added make * updated action * update workflow * updated paths * added make docs * updated demos * added chorismate * updated contents added tutorials * page link * renamed * rm reload jobs in tutorial * added drafts of two PoET tutorials looking at substitution and deletion analysis and insertion analysis applied to nuclear localization signal site engineering * rename and run fresh version of the subst and del tutorial * fix bug where DesignStep scores are ints but should be floats * added timeout * v 0.2.6 * added local make * add initial rough draft of design and library comparison notebook. still needs to add some specific cost analysis and clarify comparison of sequence efficiency of libraries * first draft of an updated getting started for the embedding model with more guidance and tips * updated error checking in base APISession to use a generic HTTPError with better error message than requests.HTTPError. also removed custom response code checking for auth error in favor of checking for and extending the HTTPError. Also, SVDModel now inherits from AsyncJobFuture in order to provide a wait_until_done interface * added comment on ESM models and start and stop tokens * added checks * Bump version to 0.2.7 * added shell * Bump version to 0.2.8 * fixed type annot for data.get() (AssayMetadata) * fixed train.cv * Bump version to 0.2.9 * bugfix and tests updated * Bump version to 0.3.0 * added tag * Bump version to 0.3.1 * purge conda badge * updated * added antibody tutorial * retitled * updated tutorial2 * update DesignResult to use datetime types and make end time optional so that incremental results can be loaded * overhaul testing * added poet e2es * merged tests * changed auth path * fix test * started updating endpoints + jobs * update endpoints, Jobs, futures * working build for new paths * docs * fixed predict * Bump version to 0.3.1 * Bump version to 0.3.2 * updated tutorials + v0.3.2 * MVP refac (tests not updated) * updated futures * updated testing * updated tutorials * update tests * upd ipynb * cleanup emb * upd fold * upd embeddings with api.model attr * job union - openclosed * integrate predict * upd predict to train * autocomplete changes * upd autocomplete * Replace Jobs with Futures * fixed tests * rm workflows * Updated tests (#41) * upd future logic * upd tutorials * upt tutorial * upd api tests (wip) * upd tests/api --------- Co-authored-by: michael-bar <[email protected]> * update job type enums to have consistent naming * revert back to getters in OpenProtein class for docstrings. autocomplete issue needs to be investigated * rename DesignService to DesignAPI for consistency with other modules * add type hints to OpenProtein class properties * Dev/refactor (#42) * upd future logic * upd tutorials * upt tutorial * upd api tests (wip) * upd tests/api * refactored Poet Results and Org * reorg jobs + results * upd tutorials * upd returns * upd demo * upd sphinx * upd tutorial * update docs * upd design step * up e2e tests * upd docs for emb models * upd testing * cleanup --------- Co-authored-by: michael-bar <[email protected]> * rm init Poetmodel * upd index * v0.4.0 * Apply suggestions from code review Co-authored-by: timt51 <[email protected]> * updated prompt arg order * added foldapi.model * foldABC * add typehint Co-authored-by: timt51 <[email protected]> * typo Co-authored-by: timt51 <[email protected]> * typo * typo Co-authored-by: timt51 <[email protected]> * typehint Co-authored-by: timt51 <[email protected]> * typo Co-authored-by: timt51 <[email protected]> * typing Co-authored-by: timt51 <[email protected]> * typing Co-authored-by: timt51 <[email protected]> * added typing Co-authored-by: timt51 <[email protected]> * msa vs msa_id consistency * Update openprotein/api/embedding.py Co-authored-by: timt51 <[email protected]> * upd embeddingapi methods * design upd allowed_tokens * PoET naming * upd testing * PoETModel casing * upd fold to new dot model syntax * update get() types * upd get typing * some spacing, poet caps, bytes vs str type fixing * return bytes if user sent bytes * return seqs as bytes * renamed afmodel to af2model * upd svd bytes + merge glitch * upd demo * fix api mock tests * upd demo * upd demo * fix e2e emb tests * upd poet tests * upd demo * emb and align init * upd attributes to lazy load * add line * fix missing _fold in OpenProtein class. split up post functions for esmfold and alphafold2 and remove generic call since they have non-compatible APIs. update unicode vs byte strings in fold module * fix fold get for af2 since get needs to be queried with sequence from MSA that the client doesn't know about * upd af fold args * upd tests * design * fixed design step * upd demo * added helpers * helper docs * tweak design helper * add wip mutation_regex * rename design.mutants * rename design.helper * update design constraints * upd demo * parse DesignCon in DesignCreate --------- Co-authored-by: mbarber <[email protected]> Co-authored-by: Tristan Bepler <[email protected]> Co-authored-by: Yichael-bar <[email protected]> Co-authored-by: timt51 <[email protected]>
1 parent 68bd6d1 commit 3d98ef1

File tree

190 files changed

+118458
-29299
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

190 files changed

+118458
-29299
lines changed

.github/workflows/release.yaml

Lines changed: 0 additions & 46 deletions
This file was deleted.

.github/workflows/s3.yaml

Lines changed: 0 additions & 96 deletions
This file was deleted.

.gitignore

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11

22
# SECRETS FILE
33
secrets.config
4-
4+
poetry.lock
5+
/.github/workflows/s3.yaml
6+
/htmlcov
7+
/apidocs/build
58
# VS code
69
.DS_store
710

@@ -136,3 +139,7 @@ dmypy.json
136139
.pyre/
137140

138141
/.quarto/
142+
poet_demo.ipynb
143+
*chorismate_mutase_combined_seqs.fasta
144+
145+
nohup.out

Makefile

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
VERSION ?= 0.4.0
2+
SHELL := /bin/bash
3+
4+
.PHONY: releasehere
5+
releasegit:
6+
# Update Poetry version
7+
poetry version $(VERSION)
8+
9+
# Update version in meta.yaml
10+
sed -i 's/^ version: .*/ version: "$(VERSION)"/' anaconda_build/meta.yaml
11+
12+
# Commit changes
13+
git add pyproject.toml anaconda_build/meta.yaml
14+
git commit -m "Bump version to $(VERSION)"
15+
16+
# Create a new tag
17+
git tag -a v$(VERSION) -m "Release version $(VERSION)"
18+
19+
# Push changes and tag
20+
git push origin HEAD
21+
git push origin v$(VERSION)
22+
23+
curl -X PURGE https://camo.githubusercontent.com/125a275204c801f733fd69689c1e72bde9960a1e193c9c46299d848373a52a93/68747470733a2f2f616e61636f6e64612e6f72672f6f70656e70726f7465696e2f6f70656e70726f7465696e2d707974686f6e2f6261646765732f76657273696f6e2e737667
24+
25+
26+
releasehere:
27+
# Update Poetry version
28+
poetry version $(VERSION)
29+
30+
# Update version in meta.yaml
31+
sed -i 's/^ version: .*/ version: "$(VERSION)"/' anaconda_build/meta.yaml
32+
33+
# Commit changes
34+
git add pyproject.toml anaconda_build/meta.yaml
35+
git commit -m "Bump version to $(VERSION)"
36+
37+
# Create a new tag
38+
git tag -a v$(VERSION) -m "Release version $(VERSION)"
39+
40+
# Push changes and tag
41+
git push origin HEAD
42+
git push origin v$(VERSION)
43+
44+
# pypi
45+
poetry build
46+
poetry publish
47+
48+
#conda
49+
source activate bld && conda build ./anaconda_build
50+
51+
curl -X PURGE https://camo.githubusercontent.com/125a275204c801f733fd69689c1e72bde9960a1e193c9c46299d848373a52a93/68747470733a2f2f616e61636f6e64612e6f72672f6f70656e70726f7465696e2f6f70656e70726f7465696e2d707974686f6e2f6261646765732f76657273696f6e2e737667
52+
53+
proddocs:
54+
cd apidocs && make clean && make html
55+
aws s3 sync apidocs/build/html s3://openprotein-docs-prod/api-python/
56+
aws cloudfront create-invalidation --distribution-id E1CUT1CP31D5NK --paths "/*"
57+
58+
devdocs:
59+
cd apidocs && make clean && make html
60+
aws s3 sync apidocs/build/html s3://openprotein-docs-dev/api-python/
61+
aws cloudfront create-invalidation --distribution-id E3SMW2DYY71HHW --paths "/*"

README.md

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,28 @@
11
[![PyPI version](https://badge.fury.io/py/openprotein-python.svg)](https://pypi.org/project/openprotein-python/)
22
[![Coverage](https://dev.docs.openprotein.ai/api-python/_images/coverage.svg)](https://pypi.org/project/openprotein-python/)
3-
[![Conda version](https://anaconda.org/openprotein/openprotein_python/badges/version.svg)](https://anaconda.org/openprotein/openprotein_python)
3+
[![Conda version](https://anaconda.org/openprotein/openprotein-python/badges/version.svg)](https://anaconda.org/openprotein/openprotein-python)
44

55

66
# openprotein-python
77
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.
88

9+
10+
11+
# Table of Contents
12+
13+
| | Workflow | Description |
14+
|---|----------------------------------------------------|------------------------------------------------------|
15+
| 0 | [`Quick start`](#Quick-start) | Quick start guide |
16+
| 1 | [`Installation`](https://docs.openprotein.ai/api-python/installation.html) | Install guide for pip and conda. |
17+
| 2 | [`Session management`](https://docs.openprotein.ai/api-python/overview.html) | An overview of the OpenProtein Python Client & the asynchronous jobs system. |
18+
| 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. |
19+
| 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. |
20+
| 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. |
21+
22+
23+
# Quick-start
24+
25+
Get started with our quickstart README! You can peruse the [official documentation](https://docs.openprotein.ai/api-python/) for more details!
926
## Installation
1027

1128
To install the python interface using pip, run the following command:
@@ -15,18 +32,21 @@ pip install openprotein-python
1532

1633
or with conda:
1734
```
18-
conda install -c openprotein openprotein_python
35+
conda install -c openprotein openprotein-python
1936
```
20-
## Requirements
2137

22-
- Python 3.7 or higher.
38+
### Requirements
39+
40+
- Python 3.8 or higher.
2341
- pydantic version 1.0 or newer.
2442
- requests version 2.0 or newer.
2543
- tqdm version 4.0 or newer.
2644
- pandas version 1.0 or newer.
2745

46+
# Getting started
47+
2848

29-
## Getting started
49+
Read on below for the quick-start guide, or see the [docs](https://docs.openprotein.ai/api-python/) for more information!
3050

3151
To begin, create a session using your login credentials.
3252
```
@@ -72,7 +92,7 @@ session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be
7292
### Resuming Jobs
7393
Jobs from prior workflows can be resumed using the load_job method provided by each API.
7494
```
75-
session.train.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
95+
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
7696
```
7797

7898
## PoET interface
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package:
2-
name: openprotein_python
3-
version: "0.2.1"
2+
name: openprotein-python
3+
version: "0.3.2"
44

55
source:
66
path: ../
77

88
build:
99
noarch: python
10-
number: 1
10+
number: 0
1111
script: "{{ PYTHON }} -m pip install . --no-deps -vv"
1212

1313
requirements:
-27.7 KB
Binary file not shown.
-10.8 KB
Binary file not shown.
-48.6 KB
Binary file not shown.
-159 KB
Binary file not shown.

0 commit comments

Comments
 (0)