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.1b15.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 614837f553c30c25bc4f3af6dac67cbe8e3722a4d4cf36caca0b91ec7594be4c |
|
MD5 | 82b24645d5c7ed818bab5e61278a8db8 |
|
BLAKE2b-256 | ed028348fe14be3047a393dfd43fae1ff8c7f0b283f8737bcdb31cce4db736e8 |
Hashes for openprotein_python-0.1.1b15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 077a7e1ccbabfe1e2cb8a6c30c8923dff35e791d8390c37dbdbd5ffef3ef6fbb |
|
MD5 | 3e8d0c0e6c27b6de6601f226da82f2ad |
|
BLAKE2b-256 | 46011549136900a6b55ef63696c7528001d5700c00dd58ba45dbcc5d45420b50 |