A interface OpenProtein.ai Python fornece uma biblioteca amigável para interagir com a API REST OpenProtein.ai, permitindo várias tarefas relacionadas à análise e modelagem de proteínas.
| Fluxo de trabalho | Descrição | |
|---|---|---|
| 0 | Quick start | Guia de início rápido |
| 1 | Installation | Guia de instalação para PIP e CONDA. |
| 2 | Session management | Uma visão geral do cliente OpenProtein Python e do sistema de empregos assíncronos. |
| 3 | Asssay-based Sequence Learning | Abrange tarefas principais, como upload de dados, treinamento e previsão de modelos e design de sequência. |
| 4 | De Novo prediction & generative models (PoET) | Cobra o poeta, uma proteína LLM para pontuação de novo , bem como a geração de sequência. |
| 5 | Protein Language Models & Embeddings | Abrange métodos para criar incorporações de sequência com modelos proprietários e de código aberto. |
Comece com o nosso RickStar Readme! Você pode ler a documentação oficial para obter mais detalhes!
Para instalar a interface Python usando PIP, execute o seguinte comando:
pip install openprotein-python
ou com conda:
conda install -c openprotein openprotein-python
Leia abaixo o guia de partida rápida ou consulte os documentos para obter mais informações!
Para começar, crie uma sessão usando suas credenciais de login.
import openprotein
# replace USERNAME and PASSWORD with your actual login credentials
session = openprotein.connect(USERNAME, PASSWORD)
A interface oferece objetos AsyncJobFuture para chamadas assíncronas, permitindo o rastreamento do status do trabalho e a recuperação de resultados quando estiver pronta. Dado um futuro, você pode verificar seu status e recuperar os resultados.
Verifique o status de um AsyncJobFuture usando os seguintes 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
Depois que o trabalho terminar, recupere os resultados usando os seguintes 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 visualizar todos os trabalhos associados a cada sessão, o método a seguir está disponível, fornecendo uma opção para filtrar os resultados por data, tipo de trabalho ou status.
session.jobs.list()
Para obter informações detalhadas sobre um trabalho específico, use o seguinte comando com o ID de trabalho correspondente:
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
Os trabalhos de fluxos de trabalho anteriores podem ser retomados usando o método load_job fornecido por cada API.
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
A interface do poeta permite marcar, gerar e recuperar sequências usando o modelo de poeta.
Para pontuar sequências, use a função de pontuação. Forneça uma rápida e uma lista de consultas. Os resultados serão uma lista de objetos pydantic (sequência, pontuação).
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 pontuar variantes de site único, use a single_site function , fornecendo a sequência original e configurando prompt_is_seed para true se o prompt for uma sequência de sementes.
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
result = future.wait()
# result is a dictionary of {variant: score}
Para gerar sequências a partir do modelo de poeta, use a função generate com parâmetros relevantes. O resultado será uma lista de amostras geradas.
future = session.poet.generate(
prompt,
max_seqs_from_msa=1024,
num_samples=100,
temperature=1.0,
topk=15
)
samples = future.wait()
Você pode recuperar as sequências de sementes de prompt, MSA ou sementes para um trabalho de poeta usando a função get_input ou as funções individuais para cada tipo.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
Veja mais na nossa página inicial