Antarmuka OpenProtein.ai Python menyediakan pustaka yang ramah pengguna untuk berinteraksi dengan API REST OpenProtein.ai, memungkinkan berbagai tugas yang terkait dengan analisis dan pemodelan protein.
| Alur kerja | Keterangan | |
|---|---|---|
| 0 | Quick start | Panduan Mulai Cepat |
| 1 | Installation | Pasang panduan untuk Pip dan Conda. |
| 2 | Session management | Tinjauan umum dari OpenProtein Python Client & Sistem Pekerjaan Asinkron. |
| 3 | Asssay-based Sequence Learning | Meliputi tugas inti seperti unggahan data, pelatihan model & prediksi, dan desain urutan. |
| 4 | De Novo prediction & generative models (PoET) | Meliputi penyair, protein LLM untuk penilaian de novo , serta generasi urutan. |
| 5 | Protein Language Models & Embeddings | Meliputi metode untuk membuat embedding urutan dengan model hak milik & open-source. |
Mulailah dengan ReadMe QuickStart kami! Anda dapat membaca dengan teliti dokumentasi resmi untuk lebih jelasnya!
Untuk menginstal antarmuka Python menggunakan PIP, jalankan perintah berikut:
pip install openprotein-python
atau dengan conda:
conda install -c openprotein openprotein-python
Baca di bawah untuk panduan cepat-awal, atau lihat dokumen untuk informasi lebih lanjut!
Untuk memulai, buat sesi menggunakan kredensial login Anda.
import openprotein
# replace USERNAME and PASSWORD with your actual login credentials
session = openprotein.connect(USERNAME, PASSWORD)
Antarmuka menawarkan objek AsyncJobFuture untuk panggilan asinkron, memungkinkan pelacakan status pekerjaan dan pengambilan hasil saat siap. Diberikan masa depan, Anda dapat memeriksa statusnya dan mengambil hasil.
Periksa status AsyncJobFuture menggunakan metode berikut:
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
Setelah pekerjaan selesai, ambil hasilnya menggunakan metode berikut:
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
Untuk melihat semua pekerjaan yang terkait dengan setiap sesi, metode berikut tersedia, memberikan opsi untuk memfilter hasil berdasarkan tanggal, jenis pekerjaan, atau status.
session.jobs.list()
Untuk informasi terperinci tentang pekerjaan tertentu, gunakan perintah berikut dengan ID pekerjaan yang sesuai:
session.jobs.get(JOB_ID) # Replace JOB_ID with the ID of the specific job to be retrieved
Pekerjaan dari alur kerja sebelumnya dapat dilanjutkan dengan menggunakan metode Load_Job yang disediakan oleh setiap API.
session.load_job(JOB_ID) # Replace JOB_ID with the ID of the training job to resume
Antarmuka penyair memungkinkan penilaian, menghasilkan, dan mengambil sekuens menggunakan model penyair.
Untuk mencetak sekuens, gunakan fungsi skor. Berikan prompt dan daftar pertanyaan. Hasilnya akan menjadi daftar objek Pydantic (urutan, skor).
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
Untuk mencetak varian situs tunggal, gunakan single_site function , memberikan urutan asli dan pengaturan prompt_is_seed ke true jika prompt adalah urutan benih.
sequence = "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"
future = session.poet.single_site(prompt, sequence, prompt_is_seed=True)
result = future.wait()
# result is a dictionary of {variant: score}
Untuk menghasilkan urutan dari model penyair, gunakan fungsi generate dengan parameter yang relevan. Hasilnya akan menjadi daftar sampel yang dihasilkan.
future = session.poet.generate(
prompt,
max_seqs_from_msa=1024,
num_samples=100,
temperature=1.0,
topk=15
)
samples = future.wait()
Anda dapat mengambil urutan prompt, MSA, atau seed untuk pekerjaan penyair menggunakan fungsi get_input atau fungsi individu untuk setiap jenis.
future.get_input(INPUT_TYPE)
# or, functions for each type
future.get_prompt()
future.get_msa()
future.get_seed()
Lihat lebih banyak di beranda kami