อินเทอร์เฟซ OpenProtein.AI Python ให้บริการไลบรารีที่ใช้งานง่ายเพื่อโต้ตอบกับ OpenProtein.AI REST API ซึ่งเปิดใช้งานงานต่าง ๆ ที่เกี่ยวข้องกับการวิเคราะห์โปรตีนและการสร้างแบบจำลอง
| เวิร์กโฟลว์ | คำอธิบาย | |
|---|---|---|
| 0 | Quick start | คู่มือเริ่มต้นด่วน |
| 1 | Installation | คู่มือติดตั้งสำหรับ PIP และ Conda |
| 2 | Session management | ภาพรวมของไคลเอนต์ OpenProtein Python และระบบงานแบบอะซิงโครนัส |
| 3 | Asssay-based Sequence Learning | ครอบคลุมงานหลักเช่นการอัปโหลดข้อมูลการฝึกอบรมและการทำนายแบบจำลองและการออกแบบลำดับ |
| 4 | De Novo prediction & generative models (PoET) | ครอบคลุมกวีโปรตีน LLM สำหรับการให้คะแนน เดอโนโว เช่นเดียวกับการสร้างลำดับ |
| 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
อินเทอร์เฟซกวีช่วยให้การให้คะแนนการสร้างและการดึงลำดับโดยใช้โมเดลกวี
เพื่อให้คะแนนลำดับให้ใช้ฟังก์ชั่นคะแนน ให้คำมั่นสัญญาและรายการข้อความค้นหา ผลลัพธ์จะเป็นรายการ (ลำดับ, คะแนน) วัตถุ Pydantic
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 เป็นจริงหากพรอมต์เป็นลำดับเมล็ด
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()
ดูเพิ่มเติมได้ที่หน้าแรกของเรา