OpenProtein.ai Python 인터페이스는 OpenProtein.ai REST API와 상호 작용하는 사용자 친화적 인 라이브러리를 제공하여 단백질 분석 및 모델링과 관련된 다양한 작업을 가능하게합니다.
| 워크 플로 | 설명 | |
|---|---|---|
| 0 | Quick start | 빠른 시작 가이드 |
| 1 | Installation | PIP 및 CONDA를위한 가이드를 설치하십시오. |
| 2 | Session management | OpenProtein Python Client 및 비동기 작업 시스템의 개요. |
| 3 | Asssay-based Sequence Learning | 데이터 업로드, 모델 교육 및 예측 및 시퀀스 설계와 같은 핵심 작업을 다룹니다. |
| 4 | De Novo prediction & generative models (PoET) | 시인, 드 노보 스코어링을위한 단백질 LLM 및 서열 생성을 다룹니다. |
| 5 | Protein Language Models & Embeddings | 독점 및 오픈 소스 모델로 시퀀스 임베딩을 작성하는 방법을 다룹니다. |
QuickStart Readme로 시작하십시오! 자세한 내용은 공식 문서를 숙독 할 수 있습니다!
PIP를 사용하여 Python 인터페이스를 설치하려면 다음 명령을 실행하십시오.
pip install openprotein-python
또는 콘다와 함께 :
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()
특정 작업에 대한 자세한 정보는 해당 작업 ID와 함께 다음 명령을 사용하십시오.
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
각 API에서 제공 한 load_job 메소드를 사용하여 이전 워크 플로의 작업을 재개 할 수 있습니다.
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
시인 인터페이스는 시인 모델을 사용하여 시퀀스를 채점, 생성 및 검색 할 수 있습니다.
시퀀스 점수를 얻으려면 점수 기능을 사용하십시오. 프롬프트와 쿼리 목록을 제공하십시오. 결과는 (순서, 점수) Pydantic Objects의 목록이 될 것입니다.
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 사용하여 원래 시퀀스를 제공하고 프롬프트가 시드 시퀀스 인 경우 true로 prompt_is_seed 설정하십시오.
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()
get_input 함수 또는 각 유형의 개별 기능을 사용하여 시인 작업의 프롬프트, MSA 또는 시드 시퀀스를 검색 할 수 있습니다.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
우리 홈페이지에서 더 많은 것을보십시오