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.1b16.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | efb22bbc2038845bb52178b6eb9d74ad1d63c3ea39c55697d53fc62348023229 |
|
MD5 | 2b4e097f562dd4e713f2fa527bea8c4c |
|
BLAKE2b-256 | eee8e4e9737176c65840313773ebb11215715c8601382b3942b8cfb69c097494 |
Hashes for openprotein_python-0.1.1b16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf5ab0346d93011176fb274f58d648d9eeb5ce824eb765dc3270e3459045bbb2 |
|
MD5 | 4ec7f8d0bc65999103bd8efae3425ac1 |
|
BLAKE2b-256 | 93c76d033883aa9581f3e08996eeb65124fa101bbe919f0071917b7cee93d32c |