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.1b17.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab3063788defbc1b2c75f2ee72d4a80a45c2c31973095e1f3a5923fb81e448c1 |
|
MD5 | 285cddc0934c7006c80c3c7191f0f311 |
|
BLAKE2b-256 | e06a81078bdb4ddaadf9b0e889d34010acdead782ae98b391c774c189b418296 |
Hashes for openprotein_python-0.1.1b17-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c2a08adfef619594ad61157e1a23d81b42f1e15c8d0a01bbd452f7ea5aa8e7 |
|
MD5 | ba5d12a9144a2a229afc1d81d62b9dec |
|
BLAKE2b-256 | 2b0ed11b25bad22bc7009ab0c5da5ff01bd38fc7df6fe307d0a6dcfc518c5596 |