La interfaz OpenProtein.ai Python proporciona una biblioteca fácil de usar para interactuar con OpenProtein.ai REST API, que permite varias tareas relacionadas con el análisis y el modelado de proteínas.
| Flujo de trabajo | Descripción | |
|---|---|---|
| 0 | Quick start | Guía de inicio rápido |
| 1 | Installation | Instale la guía para PIP y conda. |
| 2 | Session management | Una descripción general del cliente Python Python OpenProtein y el sistema de trabajos asíncronos. |
| 3 | Asssay-based Sequence Learning | Cubre tareas centrales como la carga de datos, la capacitación y la predicción del modelo, y el diseño de secuencia. |
| 4 | De Novo prediction & generative models (PoET) | Cubre a Poet, una proteína LLM para la puntuación de novo , así como la generación de secuencias. |
| 5 | Protein Language Models & Embeddings | Cubre métodos para crear insertos de secuencia con modelos patentados y de código abierto. |
¡Comience con nuestro rectificador rápido! ¡Puede examinar la documentación oficial para más detalles!
Para instalar la interfaz Python con PIP, ejecute el siguiente comando:
pip install openprotein-python
o con conda:
conda install -c openprotein openprotein-python
¡Lea a continuación la guía de inicio rápido o vea los documentos para obtener más información!
Para comenzar, cree una sesión usando sus credenciales de inicio de sesión.
import openprotein
# replace USERNAME and PASSWORD with your actual login credentials
session = openprotein.connect(USERNAME, PASSWORD)
La interfaz ofrece objetos de AsyncJobFuture para llamadas asíncronas, lo que permite el seguimiento del estado del trabajo y la recuperación de resultados cuando está listo. Dado un futuro, puede verificar su estado y recuperar resultados.
Verifique el estado de una AsyncJobFuture utilizando los siguientes métodos:
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
Una vez que el trabajo haya terminado, recupere los resultados utilizando los siguientes métodos:
result = future.wait() # wait until done and then fetch results
#verbosity is controlled with verbose arg
result = future.get(verbose=True) # get the result from a finished job
Para ver todos los trabajos asociados con cada sesión, el siguiente método está disponible, proporcionando una opción para filtrar los resultados por fecha, tipo de trabajo o estado.
session.jobs.list()
Para obtener información detallada sobre un trabajo en particular, use el siguiente comando con la ID de trabajo correspondiente:
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
Los trabajos de flujos de trabajo anteriores se pueden reanudar utilizando el método Load_Job proporcionado por cada API.
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
La interfaz de poeta permite calificar, generar y recuperar secuencias utilizando el modelo Poet.
Para obtener secuencias, use la función de puntuación. Proporcione un aviso y una lista de consultas. Los resultados serán una lista de (secuencia, puntaje) objetos pydánticos.
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
Para calificar las variantes de un solo sitio, use la single_site function , proporcionando la secuencia original y la configuración prompt_is_seed en true si el aviso es una secuencia de semillas.
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
result = future.wait()
# result is a dictionary of {variant: score}
Para generar secuencias del modelo Poet, use la función generate con parámetros relevantes. El resultado será una lista de muestras generadas.
future = session.poet.generate(
prompt,
max_seqs_from_msa=1024,
num_samples=100,
temperature=1.0,
topk=15
)
samples = future.wait()
Puede recuperar las secuencias de solicitud, MSA o semillas para un trabajo de poeta utilizando la función get_input o las funciones individuales para cada tipo.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
Ver más en nuestra página de inicio