OpenProtein Python interface.
Project description
openprotein-python
Python interface for the OpenProtein.AI REST API.
Installation
You can install with pip:
pip install openprotein_python
Getting started
First, create a session using your login credentials.
import openprotein
session = openprotein.connect(USERNAME, PASSWORD)
Async calls return AsyncJobFuture
objects that allow tracking the status of the job and retrieving the result when it's ready.
Given a future, check its status and retrieve results
future.refresh() # call the backend to update the job status
future.done() # returns True if the job is done, meaning the status could be SUCCESS, FAILED, or CANCELLED
future.wait() # wait until done and then fetch results, verbosity is controlled with verbose arg.
result = future.get() # get the result from a finished job
Jobs interface
List your jobs, optionally filtered by date, job type, and status.
session.jobs.list() # list all jobs
session.jobs.get(JOB_ID) # get a specific job
Resume an AsyncJobFuture
from where you left off with each API's load_job:
For example for training jobs:
session.train.load_job(JOB_ID)
PoET interface
Score sequences using the PoET interface.
prompt_seqs = b'MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN'
prompt = session.poet.upload_prompt(prompt_seqs)
queries = [
b'MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN',
b'MALWMRLLPLLVLLALWGPDPASAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN',
b'MALWTRLRPLLALLALWPPPPARAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEGPQVGALELAGGPGAGGLEGPPQKRGIVEQCCASVCSLYQLENYCN',
b'MALWIRSLPLLALLVFSGPGTSYAAANQHLCGSHLVEALYLVCGERGFFYSPKARRDVEQPLVSSPLRGEAGVLPFQQEEYEKVKRGIVEQCCHNTCSLYQLENYCN',
b'MALWMRLLPLLALLALWAPAPTRAFVNQHLCGSHLVEALYLVCGERGFFYTPKARREVEDLQVRDVELAGAPGEGGLQPLALEGALQKRGIVEQCCTSICSLYQLENYCN',
]
future = session.poet.score(prompt, queries)
result = future.wait()
# result is a list of (sequence, score) pydantic objects
Score single site variants using the PoET interface.
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
result = future.wait()
# result is a dictionary of {variant: score}
Generate sequences from the PoET model.
future = session.poet.generate(
prompt,
max_seqs_from_msa=1024,
num_samples=100,
temperature=1.0,
topk=15
)
samples = future.wait()
Retrieve the prompt, MSA, or input (seed) sequences for a PoET job.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
See more at our Homepage
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for openprotein_python-0.1.1b6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bba992223e86228fd6661c56761dbc02ee232d8601b8d1e57599c1f690017ecd |
|
MD5 | 3b0b3c3d9557232d8446201de412bead |
|
BLAKE2b-256 | d4bc7a07816f4780c262ed531bfd9966c1fbaeece6d6ca023660d9d9d1f1028c |
Hashes for openprotein_python-0.1.1b6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdcb0215c33905a0894d2f66876273a47f62a45e7ef9cc6fd736d197bc8f4c77 |
|
MD5 | 448a39cdfeaf63301ecbf6a6e53110a8 |
|
BLAKE2b-256 | 6ffde6f95836409b21c6f0e5c3d7c80824418f913a32f1ef9e2907393a1abeb6 |