Bio Embeddings
Sumber daya untuk belajar tentang bio_embeddings:
- Memprediksi struktur dan fungsi protein dengan cepat dari urutan melalui embeddings: embed.protein.properties.
- Baca dokumentasi saat ini: docs.bioembeddings.com.
- Obrolan dengan kami: chat.bioembeddings.com.
- Kami mempresentasikan pipa Bio_embeddings sebagai pembicaraan di ISMB 2020 & LMRL 2020. Anda dapat menemukan pembicaraan di YouTube, poster di F1000, dan naskah protokol kami saat ini.
- Lihat
examples konfigurasi pipa A dan notebooks .
Tujuan Proyek:
- Memfasilitasi penggunaan representasi urutan biologis berbasis model bahasa untuk pembelajaran transfer dengan memberikan antarmuka tunggal yang konsisten dan gambaran dekat-ke-nol
- Alur kerja yang dapat direproduksi
- Kedalaman representasi (model berbeda dari berbagai laboratorium yang dilatih pada dataset yang berbeda untuk tujuan yang berbeda)
- Contoh ekstensif, menangani kompleksitas untuk pengguna (misalnya abstraksi cuda oom) dan peringatan dan pesan kesalahan yang didokumentasikan dengan baik.
Proyek ini meliputi:
- Tujuan Umum Python Embedders Berdasarkan model terbuka yang dilatih pada representasi urutan biologis (SEQVEC, Prottrans, Unirep, ...)
- Pipa yang:
- menanamkan urutan ke dalam representasi matriks (per-amino-asam) atau representasi vektor (per-urutan) yang dapat digunakan untuk melatih model pembelajaran atau untuk tujuan analitik
- Proyek per-sequence embedidngs ke representasi dimensi yang lebih rendah menggunakan UMAP atau T-SNE (untuk penanganan dan visualisasi data lightwieght)
- Visualisasikan set dimensi rendah dari embedding per-urutan ke plot interaktif 2D dan 3D (dengan dan tanpa anotasi)
- mengekstrak anotasi dari embeddings per-urutan dan per-amino-asam menggunakan yang diawasi (bila tersedia) dan pendekatan yang tidak diawasi (misalnya dengan analisis jaringan)
- Server web yang membungkus pipa menjadi API terdistribusi untuk workfolws yang dapat diskalakan dan konsisten
Instalasi
Anda dapat menginstal bio_embeddings melalui PIP atau menggunakannya melalui Docker. Pikirkan dependensi tambahan untuk align .
Pip
Pasang pipa dan semua tambahan seperti itu:
pip install bio-embeddings[all]
Untuk menginstal versi yang tidak stabil, silakan instal pipa seperti itu:
pip install -U " bio-embeddings[all] @ git+https://github.com/sacdallago/bio_embeddings.git "
Jika Anda hanya perlu menjalankan model tertentu (misalnya model ESM atau Prottrans), Anda dapat menginstal bio-embedding tanpa dependensi dan kemudian menginstal ketergantungan model-spesifik, misalnya:
pip install bio-embeddings
pip install bio-embeddings[prottrans]
Ekstra adalah:
- seqvec
- Prottrans
- prottrans_albert_bfd
- prottrans_bert_bfd
- prottrans_t5_bfd
- Prottrans_t5_uniref50
- Prottrans_t5_xl_u50
- Prottrans_xlnet_uniref100
- esm
- Unirep
- CPCPROT
- plus
- bepler
- Deepblast
Buruh pelabuhan
Kami menyediakan gambar Docker di ghcr.io/bioembeddings/bio_embeddings . Contoh Penggunaan Sederhana:
docker run --rm --gpus all
-v "$(pwd)/examples/docker":/mnt
-v bio_embeddings_weights_cache:/root/.cache/bio_embeddings
-u $(id -u ${USER}):$(id -g ${USER})
ghcr.io/bioembeddings/bio_embeddings:v0.1.6 /mnt/config.yml
Lihat contoh docker di folder examples untuk instruksi. Anda juga dapat menggunakan ghcr.io/bioembeddings/bio_embeddings:latest yang dibangun dari komit terbaru.
Dependensi
Untuk menggunakan protokol mmseqs_search , atau fungsi mmsesq2 di align , Anda juga perlu memiliki MMSEQS2 di jalur Anda.
Catatan Instalasi
bio_embeddings dikembangkan untuk mesin UNIX dengan kemampuan GPU dan CUDA terpasang. Jika pengaturan Anda menyimpang dari ini, Anda mungkin menghadapi beberapa ketidakkonsistenan (misalnya kecepatan secara signifikan dipengaruhi oleh tidak adanya GPU dan CUDA). Untuk pengguna Windows, kami sangat menyarankan penggunaan subsistem Windows untuk Linux.
Model apa yang tepat untuk Anda?
Setiap model memiliki kekuatan dan kelemahannya (kecepatan, spesifisitas, jejak memori ...). Tidak ada "satu untuk semua untuk semua" dan kami mendorong Anda untuk setidaknya mencoba dua model yang berbeda ketika mencoba proyek eksplorasi baru.
Model prottrans_t5_xl_u50 , esm1b , esm , prottrans_bert_bfd , prottrans_albert_bfd , seqvec dan prottrans_xlnet_uniref100 semuanya dilatih dengan tujuan prediksi sistematis. Dari kumpulan ini, kami percaya model optimal menjadi prottrans_t5_xl_u50 , diikuti oleh esm1b .
Penggunaan dan contoh
Kami sangat menyarankan Anda untuk memeriksa folder examples untuk contoh pipa, dan folder notebooks untuk menjalankan pipa pasca pemrosesan dan penggunaan tujuan umum dari embedders.
Setelah menginstal paket, Anda dapat:
Gunakan pipa seperti:
bio_embeddings config.yml
Cetak biru file konfigurasi, dan pengaturan contoh dapat ditemukan di direktori examples repositori ini.
Gunakan Objek Embedder Tujuan Umum melalui Python, misalnya:
from bio_embeddings . embed import SeqVecEmbedder
embedder = SeqVecEmbedder ()
embedding = embedder . embed ( "SEQVENCE" )
Lebih banyak contoh dapat ditemukan di folder notebooks dari repositori ini.
Mengutip
Jika Anda menggunakan bio_embeddings untuk penelitian Anda, kami akan sangat menghargainya jika Anda dapat mengutip makalah berikut:
Dallago, C., Schütze, K., Heinzinger, M., Olenyi, T., Littmann, M., Lu, Axe, Yang, KK, Min, S., Yoon, S., Morton, JT, & Rost, B. (2021). Embeddings yang dipelajari dari pembelajaran mendalam untuk memvisualisasikan dan memprediksi set protein. Protokol saat ini, 1, E113. doi: 10.1002/cpz1.113
Bibtex yang sesuai:
@article{https://doi.org/10.1002/cpz1.113,
author = {Dallago, Christian and Schütze, Konstantin and Heinzinger, Michael and Olenyi, Tobias and Littmann, Maria and Lu, Amy X. and Yang, Kevin K. and Min, Seonwoo and Yoon, Sungroh and Morton, James T. and Rost, Burkhard},
title = {Learned Embeddings from Deep Learning to Visualize and Predict Protein Sets},
journal = {Current Protocols},
volume = {1},
number = {5},
pages = {e113},
keywords = {deep learning embeddings, machine learning, protein annotation pipeline, protein representations, protein visualization},
doi = {https://doi.org/10.1002/cpz1.113},
url = {https://currentprotocols.onlinelibrary.wiley.com/doi/abs/10.1002/cpz1.113},
eprint = {https://currentprotocols.onlinelibrary.wiley.com/doi/pdf/10.1002/cpz1.113},
year = {2021}
}
Additionally, we invite you to cite the work from others that was collected in `bio_embeddings` (see section _"Tools by category"_ below). We are working on an enhanced user guide which will include proper references to all citable work collected in `bio_embeddings`.
Kontributor
- Christian Dallago (Lead)
- Konstantin Schütze
- Tobias Olenyi
- Michael Heinzinger
Ingin menambahkan model Anda sendiri? Lihat berkontribusi untuk instruksi.
Daftar alat yang tidak lengkap tersedia (lihat bagian berikut untuk detail lebih lanjut):
- Fastext
- Sarung tangan
- Word2vec
- SEQVEC (https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3220-8)
- SEQVECSEC dan SEQVECLOC untuk Struktur Sekunder dan Prediksi Subsellularlocalization
- Prottrans (Protbert, ProTalbert, Prott5) (https://doi.org/10.1101/2020.07.12.199554)
- Protbertsec dan Protbertloc untuk Struktur Sekunder dan Prediksi Lokalisasi Subseluler
- UNIREP (https://www.nature.com/articles/s41592-019-0598-1)
- ESM/ESM1B (https://www.biorxiv.org/content/10.1101/622803v3)
- Plus (https://github.com/mswzeus/plus/)
- CPCPROT (https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)
- PB-Tucker (https://www.biorxiv.org/content/10.1101/2021.01.21.427551v1)
- Gopredsim (https://www.nature.com/articles/s41598-020-80786-0)
- DeepBlast (https://www.biorxiv.org/content/10.1101/2020.11.03.365932v1)
Kumpulan data
-
prottrans_t5_xl_u50 Residu dan urutan embeddings proteome manusia pada presisi penuh + prediksi struktur sekunder + prediksi lokalisasi sub-seluler: -
prottrans_t5_xl_u50 Residu dan urutan embeddings dari fly proteome pada presisi penuh + prediksi struktur sekunder + prediksi lokalisasi sub-seluler + prediksi konservasi + prediksi variasi:
Alat berdasarkan kategori
Pipa
- meluruskan:
- DeepBlast (https://www.biorxiv.org/content/10.1101/2020.11.03.365932v1)
- menanamkan:
- Prottrans Bert dilatih di BFD (https://doi.org/10.1101/2020.07.12.199554)
- SEQVEC (https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3220-8)
- Prottrans Albert dilatih di BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans Xlnet dilatih di UNIREF100 (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 dilatih di BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 dilatih pada BFD dan disesuaikan dengan Uniref50 (in-house)
- UNIREP (https://www.nature.com/articles/s41592-019-0598-1)
- ESM/ESM1B (https://www.biorxiv.org/content/10.1101/622803v3)
- Plus (https://github.com/mswzeus/plus/)
- CPCPROT (https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)
- proyek:
- t-sne
- UMAP
- PB-Tucker (https://www.biorxiv.org/content/10.1101/2021.01.21.427551v1)
- membayangkan:
- Ruang embedding urutan 2D/3D
- ekstrak:
- Diawasi:
- SEQVEC: DSSP3, DSSP8, Gangguan, Lokasi Subselular dan Batas Membran Seperti dalam https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8
- ProTbertsec dan ProCbertloc seperti yang dilaporkan dalam https://doi.org/10.1101/2020.07.12.199554
- Tanpa pengawasan:
- Melalui tingkat urutan (deeded_embeddings), jarak berpasangan (Euclidean seperti gopredsim, lebih banyak opsi yang tersedia, misalnya cosinus)
Embedders Tujuan Umum
- Prottrans Bert dilatih di BFD (https://doi.org/10.1101/2020.07.12.199554)
- SEQVEC (https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3220-8)
- Prottrans Albert dilatih di BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans Xlnet dilatih di UNIREF100 (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 dilatih di BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 dilatih pada BFD + disesuaikan dengan Uniref50 (https://doi.org/10.1101/2020.07.12.199554)
- Fastext
- Sarung tangan
- Word2vec
- UNIREP (https://www.nature.com/articles/s41592-019-0598-1)
- ESM/ESM1B (https://www.biorxiv.org/content/10.1101/622803v3)
- Plus (https://github.com/mswzeus/plus/)
- CPCPROT (https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)