2024/02/07 タイトル変更
人工知能はタンパク質構造予測の分野に革命をもたらした。しかし、より強力で複雑なソフトウェアが開発されるにつれ、エンドユーザーにとって制限要因になりつつあるのは、能力よりもむしろアクセシビリティと使いやすさである。ここでは、既存のColabFold BATCHを統合し、中規模のタンパク質間相互作用予測のプロセスを効率化する、Google Colaboratoryベースのパイプライン、LazyAFを紹介する。LazyAFは、既存のColabFold BATCHを統合し、中規模なタンパク質間相互作用予測のプロセスを効率化する。著者は、LazyAFを広宿主域多剤耐性プラスミドRK2にコードされる76のタンパク質の相互作用予測に適用し、このパイプラインが提供する簡便さとアクセスの良さを実証した。LazyAFはhttps://github.com/ThomasCMcLean/LazyAFから利用できる。
AlphaFold2-Multimerに基づくPPIの予測は、概念的には共免疫沈降実験に似ており、目的のタンパク質をベイトとして使用し、細胞溶解液から相互作用するタンパク質パートナーを pull downする。LazyAFは、タンパク質を'bait'として、他のタンパク質のリストを'candidate'として、それぞれのbaitとcandidateの間のAlphaFold2-Multimer予測を自動的に実行し、それらの相互作用の可能性をランク付けする。
My first preprint! I designed a pipeline, named LazyAF (no reflection on my work ethic...), to help perform in silico pulldowns based on predicting protein-protein interactions on a medium-scale! 1/n https://t.co/1oiMEdMJSR pic.twitter.com/qvkwG7McpU
— Tom McLean (@TomMcLean05) 2024年2月1日
使い方
レポジトリにGoogle Colaboratory(Colab)のノートブック.ipynbが用意されている。PartI, II, IIIのノートを順番にColabで開いて進めるようになっている。
PART I
まずPart Iのノートブックを開く。ここではデフォルトのGPUをテストするため新しいGoogleアカウントを使用した。
LazyAF Part 1の入力は、(1)baitタンパク質の名前と配列、(2)candidateタンパク質の配列のFASTAファイル。bait配列については、ノートに直接配列をペーストし、名前を指定する。
candidateタンパク質はディレクトリの中のfastaファイルとして指定する。デフォルトでは "/content/drive/MyDrive/input"となっているので、自分のGoogle driveのアカウントのMydrive直下にinputディレクトリを作り、その中にfastaファイルを配置する。
準備するfastaファイルの例
MyDrive/input/klcB.fasta
fastaファイル名には、[gene=]または[protein_id=]が含まれていなければならない。fastaが必要と書いたが、ランする時には、複数のfastaファイルを連結したmulti-fastaとして指定する。パラメータの1つ"input_file="の部分で、デフォルトでは example_genome.txtで認識する(multi-fasta)。このテキストファイルだけあれば良さそうだが、最低1つは個々のfastaファイルもディレクトリ内に無いとエラーが起きる(つまりinput/内にgenome.txtを配置し、そのmulti-fastaのうちの1個でもfastaファイルが配置されていれば全ての配列を認識する)。
2つのcandidates配列を使うならinput/は以下のようになる(fastaは1個だけあれば認識自体はする)。
example_genome.txtは以下の通り
https://github.com/ThomasCMcLean/LazyAF/tree/main/Example/input_fastaが使用されている(注;レポジトリに置かれているexample_genome.txtはそのままだが、同じくレポジトリに置かれているfastaファイルはstep1の出力で、従って配列末尾に":bait配列"が付与されている。テストのためにstep1の入力として使う場合はこの部分を消す)。
baitsとcandidatesの準備が出来たらRun allで全実行する。初回はどのアカウントとリンクさせるか聞かれる。
step1は1分以内に終了する。
PART I出力
完了後、MyDrive/input_fasta/ができ、input_fasta中にそれぞれのcandidatesのfastaファイルが保存される。
各fastaファイル名は、baitの名前と各candidatesタンパク質の識別子に基づいて一意に命名される。
candidatesのfastaファイル末尾には改行して”:bait配列”が付与されている。これはColabFoldで複合体を予測させる時のルール(*1)。
PART II
step2はColabFold を使用する。ColabFoldのレポジトリにあるAlfaFold2_batch(ColabFold Batch)のノートブックをクリックして立ち上げる。
AlfaFold2_batchのノートブックが開いた。
入力ディレクトリはデフォルトではMyDrive直下のinput_fastaとなっているので、step1の出力を直接認識する。出力はデフォルトではresult/。
コメント;AlfaFold2_batchを単独で使用する場合、説明にあるようにinput_dirディレクトリにfastaファイルまたはMSAのみを保存する。MSAはA3Mフォーマットで拡張子が.a3mである必要がある。
advanced optionも確認しておく。
Run allで実行する。
コメント;課金アカウントでないと使用が大幅に制限されるため、かなり時間がかかる(1つの複合体予測に数十分要し、放置していると途中で止まる事がある)。この小さなデータセットでも厳しめなので、PRO以上のプラン導入を考えたい。もしくは、ハイパフォーマンスなGPU搭載ローカルサーバへインストールして使う方が良いかもしれない(少し探したがcolabfoldのGPU間ベンチマークは見当たらなかった)。
PART II出力
result/
PART IIIではこのディレクトリを指定する。
PART III
入力はpart IIのColabFold BATCH出力のresult/。出力はanalysis/。出力CSVのprefixはOutput。
result/の各AlphaFold予測の最高ランク.jsonファイルが目的のディレクトリにコピーされる。相互作用のリスト、pTM、ipTM、ranking_confidence(0.2pTM + 0.8ipTM)を含む.csvテーブルが出力される。これはファイル名に依存し、現在のところ2つのタンパク質相互作用でのみ機能する。
PART III出力
analysis/
CSVファイルとresultsからコピーされたJSONファイルからなる。
Output.csv
最終的なディレクトリ構成
論文より
- LazyAF Part 3では、ColabFold BATCHからの多数のPPI予測の照合と解析を簡素化する。各予測は、他の付属ファイルとともに5つのモデルを生成する。LazyAF part IIIは、各コフォールディングのトップランクの予測に関連するJSONファイルを見つけ、その後の解析のために新しいディレクトリにコピーする。予測テンプレートモデリングスコア(pTM)と予測インターフェーステンプレートモデリングスコア(ipTM)がこれらのJSONファイルから抽出され、ランキングスコア(ランキング信頼度)が以下の式(ランキング信頼度=0.2pTM + 0.8ipTM)を用いて各PPIについて計算される(Wallner, 2023a)。これらのランキング信頼度スコアを高いものから低いものへと並べ替えることで、モデルの質と各ベイト-候補タンパク質ペア間の相互作用の可能性を評価する。
引用
LazyAF, a pipeline for accessible medium-scale in silico prediction of protein-protein interactions
Thomas C. McLean
bioRxiv, Posted February 01, 2024.
参考
*1
ColabFoldのローカル版"LocalColabFold"を使ったタンパク質の構造サンプリング