バイオ埋め込み
bio_embeddingsについて学ぶためのリソース:
- 埋め込み:embed.protein.propertiesを介して、シーケンスからタンパク質の構造と機能を迅速に予測します。
- 現在のドキュメントをお読みください:docs.bioembeddings.com。
- 私たちとチャット:chat.bioembeddings.com。
- Bio_embeddingsパイプラインをISMB 2020&LMRL 2020での講演として提示しました。YouTube、F1000のポスター、および現在のプロトコル原稿で講演を見つけることができます。
- パイプライン構成Aと
notebooksのexamplesをご覧ください。
プロジェクトの目的:
- 単一の一貫したインターフェイスとゼロ摩擦に近いゼロに近づくことにより、トランスファーラーニングのための言語モデルベースの生物学的シーケンス表現の使用を促進します
- 再現可能なワークフロー
- 表現深さ(さまざまなデータセットで訓練されたさまざまなラボのさまざまなモデル)
- 豊富な例、ユーザーの複雑さ(例:Cuda OOM抽象化)と、十分に文書化された警告とエラーメッセージを処理します。
プロジェクトには以下が含まれます:
- 汎用生物学的配列表現でトレーニングされたオープンモデルに基づくPython埋め込み剤(SEQVEC、Prottrans、UNIREP、...)
- パイプライン:
- シーケンスをマトリックス表現(アミノごとの酸性)またはベクトル表現(シーケンスごと)に埋め込み、学習モデルのトレーニングや分析のために使用できます。
- sequenceあたりのプロジェクトは、UMAPまたはT-SNEを使用した低次元表現に埋め込みます(LightWieghtデータ処理と視覚化用)
- 2Dおよび3Dインタラクティブプロットに(注釈なしの有無にかかわらず)、シーケンスあたりの埋め込みの低いディメンシャルセットを視覚化する
- 監視(利用可能な場合)および監視なしのアプローチ(ネットワーク分析による)を使用して、シーケンスおよびアミノごとの酸素埋め込みから注釈を抽出します
- スケーラブルで一貫したワークフォルのために、パイプラインを分散APIに包むウェブサーバー
インストール
PIP経由でbio_embeddingsをインストールするか、Dockerで使用できます。 alignの追加の依存関係に注意してください。
ピップ
パイプラインとそのようなすべてのエクストラをインストールします:
pip install bio-embeddings[all]
不安定なバージョンをインストールするには、次のようにパイプラインをインストールしてください。
pip install -U " bio-embeddings[all] @ git+https://github.com/sacdallago/bio_embeddings.git "
特定のモデル(ESMまたはプロトランモデルなど)を実行する必要がある場合は、依存関係なくバイオ埋め込みをインストールしてから、モデル固有の依存関係をインストールできます。
pip install bio-embeddings
pip install bio-embeddings[prottrans]
エクストラは次のとおりです。
- seqvec
- プロトラン
- prottrans_albert_bfd
- prottrans_bert_bfd
- prottrans_t5_bfd
- prottrans_t5_uniref50
- prottrans_t5_xl_u50
- prottrans_xlnet_uniref100
- ESM
- Unirep
- cpcprot
- プラス
- bepler
- ディープブラスト
Docker
ghcr.io/bioembeddings/bio_embeddingsでDocker画像を提供します。簡単な使用例:
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
命令については、 examplesフォルダーのdocker例を参照してください。また、最新のコミットから構築されたghcr.io/bioembeddings/bio_embeddings:latestを使用することもできます。
依存関係
mmseqs_searchプロトコル、またはmmsesq2機能をalignで使用するには、パスにMMSEQS2を使用する必要があります。
インストールメモ
bio_embeddings 、GPU機能とCUDAがインストールされたUNIXマシン用に開発されました。セットアップがこれから分かれている場合、いくつかの矛盾に遭遇する可能性があります(たとえば、速度はGPUとCUDAの不在によって大きな影響を受けます)。 Windowsユーザーには、LinuxにWindowsサブシステムを使用することを強くお勧めします。
どのモデルがあなたに適していますか?
各モデルには、長所と短所(速度、特異性、メモリフットプリントなど)があります。 「One-Fits-All」はありません。新しい探索プロジェクトを試みるときに、少なくとも2つの異なるモデルを試すことをお勧めします。
モデルprottrans_t5_xl_u50 、 esm1b 、 esm 、 prottrans_bert_bfd 、 prottrans_albert_bfd 、 seqvecおよびprottrans_xlnet_uniref100はすべて、体系的な予測の目標を持って訓練されました。このプールからは、最適なモデルがprottrans_t5_xl_u50であり、 esm1bが続くと考えています。
使用法と例
パイプラインの例のexamplesフォルダー、およびポストプロセスパイプラインの実行と埋め込み剤の汎用使用用のnotebooksフォルダーをチェックすることを強くお勧めします。
パッケージをインストールした後、次のことができます。
次のようなパイプラインを使用します。
bio_embeddings config.yml
構成ファイルの青写真と、このリポジトリのexamplesディレクトリにサンプルのセットアップを見つけることができます。
Pythonを介して汎用埋め込みオブジェクトを使用します。
from bio_embeddings . embed import SeqVecEmbedder
embedder = SeqVecEmbedder ()
embedding = embedder . embed ( "SEQVENCE" )
このリポジトリのnotebooksフォルダーには、その他の例があります。
引用
あなたがあなたの研究にbio_embeddingsを使用するならば、あなたが次の論文を引用することができればそれを感謝します:
Dallago、C.、Schütze、K.、Heinzinger、M.、Olenyi、T.、Littmann、M.、Lu、Ax、Yang、KK、Min、S.、Yoon、S.、Morton、JT、&Rost、B。(2021)。タンパク質セットを視覚化および予測するために、深い学習から学習した埋め込み。現在のプロトコル、1、E113。 doi:10.1002/cpz1.113
対応するbibtex:
@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`.
貢献者
- クリスチャンダラゴ(リード)
- KonstantinSchütze
- トビアス・オレニー
- マイケル・ハインツィンガー
独自のモデルを追加したいですか?指示については、貢献を参照してください。
利用可能なツールの網羅的ではないリスト(詳細については、次のセクションを参照):
- fastext
- グローブ
- word2vec
- seqvec(https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8)
- 二次構造および細胞下局在化予測のためのSeqvecsecおよびSeqvecloc
- Prottrans(Protbert、Protalbert、Prott5)(https://doi.org/10.1101/2020.07.12.199554)
- 二次構造と細胞内局在の予測のためのProtbertSecおよびProtbertloc
- Unirep(https://www.nature.com/articles/S41592-019-0598-1)
- ESM/ESM1B(https://www.biorxiv.org/content/10.1101/622803v3)
- プラス(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)
データセット
prottrans_t5_xl_u50完全精度でのヒトプロテオームの残基と配列埋め込み +二次構造予測 +細胞下局在予測:-
prottrans_t5_xl_u50フル精度でのFlyプロテオームの残基と配列埋め込み +二次構造予測 +細胞下局在予測 +保存予測 +変動予測:
カテゴリ別のツール
パイプライン
- 一致:
- deepblast(https://www.biorxiv.org/content/10.1101/2020.11.03.365932v1)
- 埋め込み:
- BFD(https://doi.org/10.1101/2020.07.12.199554)で訓練を受けたProttrans Bert
- seqvec(https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8)
- AlbertはBFD(https://doi.org/10.1101/2020.07.12.12.19955)で訓練を受けました。
- UNIREF100でトレーニングされたプロトランXLNET(https://doi.org/10.1101/2020.07.12.19955)
- BFDでトレーニングされたプロトランT5(https://doi.org/10.1101/2020.07.12.19954)
- BFDで訓練され、UNIREF50で微調整されたプロトランT5(社内)
- Unirep(https://www.nature.com/articles/S41592-019-0598-1)
- ESM/ESM1B(https://www.biorxiv.org/content/10.1101/622803v3)
- プラス(https://github.com/mswzeus/plus/)
- cpcprot(https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)
- プロジェクト:
- t-sne
- うーん
- PB-Tucker(https://www.biorxiv.org/content/10.1101/2021.01.21.427551v1)
- 視覚化:
- 抽出する:
- 監督:
- SEQVEC:DSSP3、DSSP8、https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8のように、膜下の障害、細胞内位置および膜の境界
- https://doi.org/10.1101/2020.07.12.199554で報告されているProtbertsecとProtbertloc
- 監視なし:
- シーケンスレベル(reduction_embeddings)、ペアワイズ距離(gopredsimのようなeuclidean、より多くのオプション、例えばcosine)
汎用埋め込み
- BFD(https://doi.org/10.1101/2020.07.12.199554)で訓練を受けたProttrans Bert
- seqvec(https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8)
- AlbertはBFD(https://doi.org/10.1101/2020.07.12.12.19955)で訓練を受けました。
- UNIREF100でトレーニングされたプロトランXLNET(https://doi.org/10.1101/2020.07.12.19955)
- BFDでトレーニングされたプロトランT5(https://doi.org/10.1101/2020.07.12.19954)
- uniref50(https://doi.org/10.1101/2020.07.12.199554)で微調整されたBFD +で訓練されたプロトランT5
- fastext
- グローブ
- word2vec
- Unirep(https://www.nature.com/articles/S41592-019-0598-1)
- ESM/ESM1B(https://www.biorxiv.org/content/10.1101/622803v3)
- プラス(https://github.com/mswzeus/plus/)
- cpcprot(https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)