توفر واجهة OpenProtein.ai Python مكتبة سهلة الاستخدام للتفاعل مع API OpenProteProtein.ai ، مما يتيح مختلف المهام المتعلقة بتحليل البروتين والنمذجة.
| سير العمل | وصف | |
|---|---|---|
| 0 | Quick start | دليل البدء السريع |
| 1 | Installation | دليل تثبيت PIP و Conda. |
| 2 | Session management | نظرة عامة على عميل OpenProtein Python ونظام الوظائف غير المتزامن. |
| 3 | Asssay-based Sequence Learning | يغطي المهام الأساسية مثل تحميل البيانات ، وتدريب النماذج والتنبؤ ، وتصميم التسلسل. |
| 4 | De Novo prediction & generative models (PoET) | يغطي Poet ، وهو بروتين LLM لتسجيل De Novo ، وكذلك توليد التسلسل. |
| 5 | Protein Language Models & Embeddings | يغطي طرق إنشاء التسلسلات مع نماذج الملكية ومفتوحة المصدر. |
ابدأ مع QuickStart readme! يمكنك الاطلاع على الوثائق الرسمية لمزيد من التفاصيل!
لتثبيت واجهة Python باستخدام PIP ، قم بتشغيل الأمر التالي:
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()
للحصول على معلومات مفصلة حول وظيفة معينة ، استخدم الأمر التالي مع معرف الوظيفة المقابل:
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 إلى 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()
شاهد المزيد في صفحتنا الرئيسية