Интерфейс Python OpenProtein.ai предоставляет удобную библиотеку для взаимодействия с API OpenProtein.ai REST, что позволяет различным задачам, связанным с анализом белка и моделированием.
| Рабочий процесс | Описание | |
|---|---|---|
| 0 | Quick start | Quick Start Guide |
| 1 | Installation | Установите руководство для PIP и Conda. |
| 2 | Session management | Обзор клиента Python OpenProtein Python и асинхронной системы заданий. |
| 3 | Asssay-based Sequence Learning | Охватывает основные задачи, такие как загрузка данных, обучение модели и прогнозирование, и дизайн последовательности. |
| 4 | De Novo prediction & generative models (PoET) | Охватывает поэта, белок LLM для оценки de novo , а также генерации последовательностей. |
| 5 | Protein Language Models & Embeddings | Охватывает методы создания последовательности встроенных взиманий с проприетарными моделями и моделями с открытым исходным кодом. |
Начните с нашим QuickStart Readme! Вы можете просмотреть официальную документацию для более подробной информации!
Чтобы установить интерфейс Python с помощью PIP, запустите следующую команду:
pip install openprotein-python
или с Conda:
conda install -c openprotein openprotein-python
Читайте дальше для быстрого начала руководства или посмотрите документы для получения дополнительной информации!
Для начала создайте сеанс, используя ваши учетные данные для входа.
import openprotein
# replace USERNAME and PASSWORD with your actual login credentials
session = openprotein.connect(USERNAME, PASSWORD)
Интерфейс предлагает объекты AsyncJobFuture для асинхронных вызовов, что позволяет отслеживать статус работы и поиск результатов при готовых. Учитывая будущее, вы можете проверить его статус и получить результаты.
Проверьте статус AsyncJobFuture , используя следующие методы:
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
Как только работа завершена, получите результаты, используя следующие методы:
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
Чтобы просмотреть все задания, связанные с каждым сеансом, доступен следующий метод, предоставляя опцию для фильтрации результатов по дате, типу работы или статусу.
session.jobs.list()
Для получения подробной информации о конкретной работе, используйте следующую команду с соответствующим идентификатором задания:
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
Работы из предыдущих рабочих процессов могут быть возобновлены с использованием метода load_job, предоставленный каждым API.
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
Поэт -интерфейс позволяет забивать, генерировать и получать последовательности, используя модель поэта.
Чтобы оценить последовательности, используйте функцию оценки. Предоставьте подсказку и список запросов. Результаты станут списком (последовательно, оценка) пидбантских объектов.
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
Для оценки вариантов одного сайта используйте single_site function , предоставляя исходную последовательность и настройку prompt_is_seed true, если подсказка является последовательности семян.
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
result = future.wait()
# result is a dictionary of {variant: score}
Чтобы сгенерировать последовательности из модели поэта, используйте функцию generate с соответствующими параметрами. Результатом будет список сгенерированных образцов.
future = session.poet.generate(
prompt,
max_seqs_from_msa=1024,
num_samples=100,
temperature=1.0,
topk=15
)
samples = future.wait()
Вы можете получить последовательности подсказки, MSA или семян для поэта, используя функцию get_input или отдельные функции для каждого типа.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
Посмотрите больше на нашей домашней странице