AlphaPulldown は、バージョン 1.x からの入力ファイルおよびスクリプトとの下位互換性を完全に維持します。
AlphaPulldown: バージョン 2.0.0 (ベータ版)
目次
アルファプルダウンについて
概要
アルファフォールドデータベース
Snakemake Alphaプルダウン
1. インストール
2. 構成
3. 実行
AlphaPulldown Python コマンド ライン インターフェイスを実行する
Jupyter ノートブックを作成する
結果テーブルの作成
次のステップ
次のステップ
2.1.基本的な走り方
2.2. SLURM (EMBL クラスター) での実行例
2.3.プルダウンモード
2.4.すべてモードとすべてモード
2.5.カスタム テンプレートを使用して実行する (TrueMultimer)
2.6.架橋データを使用して実行 (AlphaLink2)
入力
スクリプトの実行: 構造予測
出力
次のステップ
入力
スクリプトの実行
アウトプットと次のステップ
複数入力「プルダウン」モード
アウトプットと次のステップ
入力
TrueMultimer 構造予測のためのスクリプトの実行
アウトプットと次のステップ
入力
AlphaPulldown 経由で AlphaLink2 予測を実行する
アウトプットと次のステップ
1.1.基本的な走り方
1.2. SLURM (EMBL クラスター) の bash スクリプトの例
1.3. MMseqs2 および ColabFold データベースを使用して実行 (高速)
1.4.カスタム テンプレートを使用して実行する (TrueMultimer)
入力
スクリプトの実行
出力
次のステップ
入力
スクリプトの実行
次のステップ
MMseqs2 をリモートで実行する
出力
MMseqs2 をローカルで実行する
次のステップ
入力
スクリプトの実行
出力
次のステップ
0.1。 Anaconda環境を作成する
0.2。 pipを使用したインストール
0.3。下流分析ツールのインストール
0.4。 AlphaLink2によるクロスリンク入力データのインストール(オプション!)
0.5。開発者向けのインストール
0. インストール
1. 複数の配列アライメント (MSA) とテンプレートの特徴を計算します (CPU ステージ)
2. 構造の予測 (GPU ステージ)
3. 分析と可視化
下流分析
AlphaPulldown 出力のサイズを小さくします。
モデルを PDB 形式から ModelCIF 形式に変換する
1. すべてのモデルを個別の ModelCIF ファイルに変換します
2. 複合体ごとに特定の単一モデルのみを変換する
3. 代表的なモデルを用意し、関連するモデルを保持する
関連する zip アーカイブ
その他のオプション
ジュピターノート
結果表
結果管理スクリプト
機能データベース
利用可能な生物をリストします:
特定のタンパク質の機能をダウンロードします。
生物のすべての特徴をダウンロードします。
手順:
インストールを確認します。
インストール
構成
ダウンロード機能
AlphaPulldown は、タンパク質間相互作用のカスタマイズ可能なハイスループット スクリーニングのために設計された AlphaFold-Multimer のカスタマイズされた実装です。カスタマイズ可能な多量体構造テンプレート (TrueMultimer)、ColabFold データベースを介した MMseqs2 多重配列アラインメント (MSA)、タンパク質フラグメント予測、AlphaLink2 を使用した入力として質量分析データを組み込む機能など、追加の実行オプションを組み込むことで、AlphaFold の機能を拡張します。
AlphaPulldown は 2 つの方法で使用できます。1 つはPython スクリプトで作られた 2 ステップのパイプライン、もう 1 つはSnakemake パイプライン全体です。 Snakemake パイプラインの使用方法の詳細については、別の GitHubリポジトリを参照してください。
図 1 AlphaPulldown ワークフローの概要
AlphaPulldown ワークフローには、次の 3 つのステップが含まれます。
MSA およびテンプレート機能を作成して保存します。
このステップでは、AlphaFold は、クエリされたタンパク質配列ごとに HMMER を使用してプリインストールされたデータベースを検索し、見つかったすべてのホモログについて多重配列アラインメント (MSA) を計算します。また、特徴生成のテンプレートとして使用するホモログ構造も検索します。このステップには CPU のみが必要です。
カスタマイズ可能なオプションは次のとおりです。
検索プロセスを高速化するために、デフォルトの HHMER の代わりに MMSeq2 を使用できます。
カスタム MSA を使用します。
マルチマー テンプレート (TrueMultimer モード) などのカスタム構造テンプレートを使用します。
構造予測:
このステップでは、AlphaFold ニューラル ネットワークが実行され、最終的なタンパク質構造が生成されます。これには GPU が必要です。 AlphaPulldown の主な強みは、タンパク質複合体の構造予測のためにタンパク質がどのように結合されるかを柔軟に定義できることです。使用できる主なアプローチは次の 3 つです。
図 2 AlphaPulldown がカバーする 3 つの典型的なシナリオ
さらに、AlphaPulldown では次のことも可能です。
全長配列ではなく、予測したいタンパク質の領域のみを選択します。
MSA の深さを調整して、最終モデルに対する初期 MSA の影響を制御します。
AlphaLink2 を介して、ハイスループットの架橋データを AlphaFold モデリングと統合します。
単一ファイル(カスタム モードまたはホモオリゴマー モード): 各行に予測するタンパク質配列をまとめてリストするファイルを作成するか、各行で指定したコピー数でホモオリゴマーをモデル化するようプログラムに指示するファイルを作成します。
複数のファイル(プルダウン モード): それぞれにタンパク質配列が含まれる複数のファイルを提供します。 AlphaPulldown は、各ファイルのタンパク質名の行をペアにすることで、考えられるすべての組み合わせを自動的に生成します。
すべて対すべて: AlphaPulldown は、リスト内のタンパク質の可能なすべての非重複の組み合わせを生成します。
結果の下流分析:
すべての予測モデルの結果は、次のオプションのいずれかを使用して体系化できます。
タンパク質複合体相互作用のさまざまなスコアと物理パラメーターを含む表。
インタラクティブな 3D タンパク質モデルと PAE プロットを備えた Jupyter ノートブック。
標準的な MSA と特徴の計算には、AlphaPulldown には遺伝データベースが必要です。 AlphaFold のドキュメントの指示に従って、必要なパラメータとデータベース (BFD、MGnify など) をダウンロードしたかどうかを確認してください。次のような構造のディレクトリが必要です。
alphafold_database/ # Total: ~ 2.2 TB (download: 438 GB)
bfd/ # ~ 1.7 TB (download: 271.6 GB)
# 6 files.
mgnify/ # ~ 64 GB (download: 32.9 GB)
mgy_clusters_2018_12.fa
params/ # ~ 3.5 GB (download: 3.5 GB)
# 5 CASP14 models,
# 5 pTM models,
# 5 AlphaFold-Multimer models,
# LICENSE,
# = 16 files.
pdb70/ # ~ 56 GB (download: 19.5 GB)
# 9 files.
pdb_mmcif/ # ~ 206 GB (download: 46 GB)
mmcif_files/
# About 227,000 .cif files.
obsolete.dat
pdb_seqres/ # ~ 0.2 GB (download: 0.2 GB)
pdb_seqres.txt
small_bfd/ # ~ 17 GB (download: 9.6 GB)
bfd-first_non_consensus_sequences.fasta
uniref30/ # ~ 86 GB (download: 24.9 GB)
# 14 files.
uniprot/ # ~ 98.3 GB (download: 49 GB)
uniprot.fasta
uniref90/ # ~ 58 GB (download: 29.7 GB)
uniref90.fasta
注記
Uniclust30 は 2019 年より前に生成されたデータベースのバージョンであり、UniRef30 は 2019 年以降に生成されたデータベースのバージョンです。AlphaPulldown はデフォルトで UniRef30_2023_02 を使用していることに注意してください。このバージョンはこのスクリプトでダウンロードできます。あるいは、create_individual_features.py の --uniref30_database_path フラグを使用して、uniref30 データベースへのデフォルトのパスを上書きしてください。
注記
すべての遺伝子データベースをローカルにインストールするとスペースを消費するため、代わりにリモートで実行される MMseqs2 および ColabFold データベースを使用することもできます。対応する指示に従ってください。ただし、AlphaPulldown が機能するには、AlphaFold データベースのparams/
ディレクトリに保存されているパラメータをダウンロードする必要があります。
AlphaPulldown は Snakemake パイプラインとして利用でき、ステップ間の手動介入なしで(1) MSA とテンプレート フィーチャの生成、 (2)構造予測、 (3)結果分析を順番に実行できます。詳細については、 AlphaPulldownSnakemakeリポジトリを参照してください。
警告
Snakemake バージョンの AlphaPulldown は、入力ファイルの仕様の点で従来のスクリプトベースの AlphaPulldown とは若干異なります。
インストールする前に、Python のバージョンが 3.10 以上であることを確認してください。
python3 --バージョン
依存関係のインストール
pip インストール、snakemake==7.32.4、snakedeploy==0.10.0、pulp==2.7、click==8.1、cookiecutter==2.6
Snakemake クラスターのセットアップ
Snakemake がコンピューティング クラスターと連携できるようにするために、SLURM に Snakemake-Profile を使用します。 SLURM クラスターで作業していない場合は、ここでさまざまなアーキテクチャのプロファイルを見つけることができます。以下では、snakemake で使用できるプロファイルを作成し、追加情報の入力を求められます。
git clone https://github.com/Snakemake-Profiles/slurm.git profile_dir="${HOME}/.config/snakemake"mkdir -p "$profile_dir"template="gh:Snakemake-Profiles/slurm"cookiecutter --output-dir "$profile_dir" "$template"
セットアップ プロセス中に、いくつかの構成に関する質問に答えるように求められます。以下は質問と推奨される回答です。
profile_name [slurm]:
slurm_noSidecar
Select use_singularity:
1 (False)
Select use_conda:
1 (False)
jobs [500]:
(デフォルトを受け入れるには Enter キーを押します)
restart_times [0]:
(デフォルトを受け入れるには Enter キーを押します)
max_status_checks_per_second [10]:
(デフォルトを受け入れるには Enter キーを押します)
max_jobs_per_second [10]:
(デフォルトを受け入れるには Enter キーを押します)
latency_wait [5]:
30
Select print_shell_commands:
1 (False)
sbatch_defaults []:
qos=低ノード=1
Select cluster_sidecar:
2 (いいえ)
cluster_name []:
(Enter キーを押して空白のままにします)
cluster_jobname [%r_%w]:
(デフォルトを受け入れるには Enter キーを押します)
cluster_logpath [logs/slurm/%r/%j]:
(デフォルトを受け入れるには Enter キーを押します)
cluster_config []:
(Enter キーを押して空白のままにします)
これらのプロンプトに応答すると、Snakemake のslurm_noSidecarという名前の Slurm プロファイルが指定どおりに構成されます。
Singularity (おそらくすでにインストールされている) : このパイプラインは、再現性のためにコンテナを使用します。 EMBL クラスター特異点で作業している場合は、すでにインストールされているため、この手順をスキップできます。それ以外の場合は、公式の Singularity ガイドを使用して Singularity をインストールしてください。
パイプラインをダウンロード: これにより、snakemake パイプラインの「--tag」で指定されたバージョンがダウンロードされ、リポジトリ AlphaPulldownSnakemake または選択した他の名前が作成されます。
スネークデプロイ デプロイワークフロー https://github.com/KosinskiLab/AlphaPulldownSnakemake アルファプルダウンスネークメイク --tag 1.4.0cd AlphaPulldownSnakemake
注記
GitHub の最新バージョンを使用する場合は、 --tag XXX
--branch main
に置き換えます。
CCP4 パッケージのインストール: 分析ステップに必要なソフトウェアをインストールするには、次の手順に従ってください。
弊社の分析ソフトウェア パッケージを使用して、いわゆる Singularity イメージをダウンロードします
特異点プル ドッカー://kosinskilab/fold_analysis:latest singularity build --sandboxフォールド分析_最新.sif
https://www.ccp4.ac.uk/download/#os=linux から CCP4 をダウンロードし、サーバーにコピーします。
tar xvzf ccp4-9.0.003-linux64.tar.gzcd ccp4-9 cp bin/pisa bin/sc/software/ cp /lib/* <書き込み可能なイメージディレクトリ>/software/lib64/
CCP4 を含めた新しい特異点を作成する
cd <ローカル ソフトウェアを保存するディレクトリ>singularity buildfold_analysis_latest_withCCP4.sif
これにより、 fold_analysis_latest_withCCP4.sif
ファイルが作成されるはずです。
ここで
特定の使用例に合わせてconfig/config.yaml
を調整します。
分析に CCP4 を使用する場合は、テキスト エディターでconfig/config.yaml
を開き、分析コンテナへのパスを次のように変更します。
Analysis_container : "/path/to/fold_analysis_latest_withCCP4.sif"
input_filesこの変数はサンプル シートへのパスを保持します。各行は折り曲げジョブに対応します。このパイプラインでは、次の形式仕様を使用します。
protein:N:start-stop[_protein:N:start-stop]*
ここで、protein は「.fasta」拡張子または uniprot ID を持つファイルへのパス、N はこの特定のタンパク質のモノマーの数、start と stop は予測する必要がある残基です。ただし、必要なのはタンパク質のみであり、N、start、stopは省略できます。したがって、残基 1 ~ 50 を含むタンパク質の例に対する次のフォールディング ジョブは同等です。
example:2 example_example example:2:1-50 example:1-50_example:1-50 example:1:1-50_example:1:1-50
この形式は、ヘテロマーの折り畳みにも同様に拡張されます。
example1_example2
2 つのサンプル シート config/sample_sheet1.csv と config/sample_sheet2.csv があると仮定します。以下は、sample_sheet1.csv のすべてとすべてを計算することと同じです。
input_files : - config/sample_sheet1.csv - config/sample_sheet1.csv
一方、以下のスニペットは、sample_sheet1.csv と Sample_sheet2.csv の間のプルダウンを計算するのと同等になります。
input_files : - config/sample_sheet1.csv - config/sample_sheet2.csv
この形式は好きなだけファイルに拡張できますが、フォールド数が大幅に増加することに注意してください。
input_files : - config/sample_sheet1.csv - config/sample_sheet2.csv - ...
alphafold_data_directoryこれは、alphafold データベースへのパスです。
Output_directory Snakemake はパイプライン出力をこのディレクトリに書き込みます。存在しない場合は作成されます。
save_msa、use_precomputed_msa、prediction_per_model、number_of_recycles、report_cutoff以前に AlphaPulldown の run_multimer_jobs.py および create_notebook.py (report_cutoff) に渡されたコマンド ライン引数。
alphafold_inference_threads、alphafold_inference専門家以外のユーザーが変更する必要のない Slurm 固有のパラメーター。
Only_generate_features True に設定すると、フィーチャの生成後に停止し、構造の予測とレポートは実行されません。
インストールと構成の手順を実行すると、snakemake パイプラインを実行する準備が整います。これを行うには、複製されたパイプライン ディレクトリに移動し、次を実行します。
ヘビメイク --use-singularity --singularity-args "-B /scratch:/scratch -B /g/kosinski:/g/kosinski --nv " --ジョブ 200 --再起動回数 5 --profile slurm_noSidecar --再実行-不完全 --rerun-triggers mtime --latency-wait 30 -n
各引数の動作の内訳は次のとおりです。
--use-singularity
: Singularity コンテナの使用を有効にします。これにより、パイプライン環境の再現性と分離が可能になります。
--singularity-args
: Singularity に直接渡される引数を指定します。提供された例では:
-B /scratch:/scratch
および-B /g/kosinski:/g/kosinski
: これらはバインド マウント ポイントです。これにより、Singularity コンテナ内でホスト システムのディレクトリにアクセスできるようになります。 --nv
により、コンテナーがホストの GPU を利用できるようになります。
--profile name_of_your_profile
: 使用する Snakemake プロファイル (クラスター実行用にセットアップした SLURM プロファイルなど) を指定します。
--rerun-triggers mtime
: 特定のファイル (トリガー) がジョブの出力よりも後に変更された場合にジョブを再実行します。ここで、 mtime
ファイルの変更時刻をチェックします。
--jobs 500
: 最大 500 個のジョブをクラスターに同時に送信できます。
--restart-times 10
: ジョブが失敗した場合に、ジョブを最大 10 回まで自動的に再起動できることを指定します。
--rerun-incomplete
: 以前の Snakemake の実行で不完全なままになったジョブを強制的に再実行します。
--latency-wait 30
: ステップの終了後、予期される出力ファイルの存在を確認するために 30 秒待機します。これは、待ち時間が長いファイル システムで役立ちます。
-n
: ドライランフラグ。これにより、Snakemake は実際に実行することなく、実行されるコマンドを表示します。テストに役立ちます。実際にパイプラインを実行するには、このフラグを削除するだけです。
上記のコマンドを実行すると、次のジョブがクラスターに送信されます。
AlphaPulldown は、特定のステップごとのスクリプトのセットとして使用できます。
create_individual_features.py
: マルチプル シーケンス アラインメント (MSA) を生成し、構造テンプレートを特定し、結果をモノマー フィーチャー.pkl
ファイルに保存します。
run_multimer_jobs.py
: 構造の予測を実行します。
create_notebook.py
およびalpha-analysis.sif
: インタラクティブな Jupyter Notebook と結果テーブルをそれぞれ準備します。
まず、Anaconda をインストールし、AlphaPulldown 環境を作成し、必要な依存関係を収集します。依存関係の解決を高速化するには、mamba を使用することをお勧めします。
conda create -n AlphaPulldown -comnia -c bioconda -c conda-forge python==3.11 openmm==8.0 pdbfixer==1.9 kalign2 hhsuite hmmer modelcif
ソースは AlphaPulldown をアクティブ化します
これは通常は機能しますが、一部のコンピューティング システムでは、ユーザーは、すでにインストールされている HMMER および HH スイートの他のバージョンまたは最適化されたビルドを使用することを好む場合があります。
AlphaPulldown 環境をアクティブ化し、AlphaPulldown をインストールします。
ソースは AlphaPulldown をアクティブ化します python3 -m pip install alphapulldown
pip install -U "jax[cuda12]"
注記
AlphaFold の古いバージョンの場合: AlphaFold 2.3.0 の要件に従ってデータベースを更新していない場合でも、古いバージョンの AlphaFold データベースで AlphaPulldown を使用できます。専用ブランチのインストール手順に従ってください。
CCP4 パッケージのインストール: 分析ステップに必要なソフトウェアをインストールするには、次の手順に従ってください。
特異点プル ドッカー://kosinskilab/fold_analysis:latest singularity build --sandboxfold_analysis_latest.sif# https://www.ccp4.ac.uk/download/#os=linuxtar xvzf ccp4-9.0.003-linux64.tar.gzcd ccp4-9 から一番上のものをダウンロードします。 cp bin/pisa bin/sc /software/ cp /lib/* <書き込み可能なイメージディレクトリ>/software/lib64/ 特異点ビルド
使用している CUDA バージョンに対応する PyTorch がインストールされていることを確認してください。ここでは、CUDA 11.7 と PyTorch 1.13.0 を例に挙げます。
pip install torch==1.13.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117
UniCore をコンパイルします。
ソースは AlphaPulldown をアクティブ化します git clone https://github.com/dptech-corp/Uni-Core.gitcd Uni-Core python setup.py install --disable-cuda-ext # unicore が正常にインストールされているかどうかをテストするpython -c "import unicore"
次の警告が表示される場合がありますが、問題ありません。
fused_multi_tensor is not installed corrected
fused_rounding is not installed corrected
fused_layer_norm is not installed corrected
fused_softmax is not installed corrected
Zenodo から PyTorch チェックポイントをダウンロードして解凍し、 AlphaLink-Multimer_SDA_v3.pt
という名前のファイルを取得します。
AlphaPulldown のコードを変更し、その変更をテストしたい開発者のみが対象です。 SSH キーを GitHub アカウントに追加してください
GitHub リポジトリのクローンを作成する
git clone --recurse-submodules [email protected]:KosinskiLab/AlphaPulldown.gitcd AlphaPulldown git サブモジュールの初期化 gitサブモジュールの更新
「Anaconda 環境の作成」の説明に従って Conda 環境を作成します。
AlphaPulldown パッケージをインストールし、そのサブモジュールを Conda 環境に追加します (依存関係を更新する場合は機能しません)
ソース AlphaPulldowncd AlphaPulldown をアクティブにする pip インストール .pip install -e 。 --no-deps pip install -e ColabFold --no-deps pip install -e alphafold --no-deps
実行する必要があるのは 1 回だけです。
開発する場合は、環境をアクティブ化し、ファイルを変更すると、変更が自動的に認識されるはずです。
test/
のテストを使用して、開発中にパッケージをテストします。例:
pip インストール pytest pytest -s テスト/ pytest -s テスト/test_predictions_slurm.py pytest -s test/test_features_with_templates.py::TestCreateIndividualFeatureWithTemplates::test_1a_run_features_generation
リモートにプッシュする前、またはプル リクエストを送信する前に、次のことを行ってください。
pip install .pytest -s test/
パッケージをインストールしてテストします。予測用の Pytest は、SLURM が利用可能な場合にのみ機能します。現在のディレクトリに作成されたログ ファイルを確認します。
注記
モデル生物のタンパク質を扱う場合は、AlphaPulldown 特徴データベースから特徴ファイルを直接ダウンロードして、この手順をスキップできます。
これは、 create_individual_features.py
の一般的な使用例です。クラスター上での特定のタスクの実行または並列実行については、この章の対応するセクションを参照してください。
このステップでは、複雑な予測に使用されるすべてのタンパク質配列を含むタンパク質 FASTA 形式ファイルを提供する必要があります。
FASTA ファイルの例 ( sequences.fasta
):
>proteinA
SEQUENCEOFPROTEINA
>proteinB
SEQUENCEOFPROTEINB
AlphaPulldown 環境をアクティブ化し、次のようにスクリプトcreate_individual_features.py
を実行します。
ソースは AlphaPulldown をアクティブ化します create_individual_features.py --fasta_paths=<シーケンス.fasta> --data_dir=--output_dir=<出力オブジェクトを保存するディレクトリ> --max_template_date=<任意の日付、形式: 2050-01-01>
の代わりに、入力 FASTA ファイルへのパスを指定します。複数のファイルをカンマ区切りで指定することもできます。
の代わりに、遺伝子データベースへのパスを指定します (インストール部分の 0. Alphafold データベースを参照)。
の代わりに、機能ファイルが保存される出力ディレクトリへのパスを指定します。
フラグ--max_template_date
の日付は、指定された日付より前に登録されたタンパク質構造の検索を制限するために必要です。日付がローカル ゲノム データベースの最終更新日より後でない限り、スクリプトは利用可能なすべての構造の中からテンプレートを検索します。
特徴量計算スクリプトcreate_individual_features.py
は、いくつかのオプションの FLAGS があります。
--[no]save_msa_files
: ストレージ ステージを保存するにはデフォルトでFalseですが、 Trueに変更できます。 True
に設定すると、プログラムはタンパク質ごとに個別のフォルダーを作成します。出力ディレクトリは次のようになります。
output_dir
|- proteinA.pkl
|- proteinA
|- uniref90_hits.sto
|- pdb_hits.sto
|- etc.
|- proteinB.pkl
|- proteinB
|- uniref90_hits.sto
|- pdb_hits.sto
|- etc.
save_msa_files=False
の場合、 output_dir
次のようになります。
output_dir
|- proteinA.pkl
|- proteinB.pkl
--[no]use_precomputed_msas
: デフォルト値はFalse
です。ただし、タンパク質の MSA ファイルがすでにある場合は、パラメーターを True に設定し、MSA ファイルを次の形式に配置してください。
example_directory
|- proteinA
|- uniref90_hits.sto
|- pdb_hits.sto
|- ***.a3m
|- etc
|- proteinB
|- ***.sto
|- etc
次に、コマンドラインで、 output_dir=/path/to/example_directory
を設定します。
--[no]skip_existing
: デフォルトはFalse
ですが、一部のタンパク質に対してすでに最初のステップを実行していて、リストに新しいタンパク質を追加している場合は、コマンド ラインでskip_existing
True
に変更して、以前の手順と同じ手順を再実行することを避けることができます。計算されたタンパク質。
--seq_index
: デフォルトはNone
で、プログラムは指定されたファイルで 1 つずつ予測を実行します。ただし、ジョブの配列を並行して実行したい場合は、 seq_index
別の数値に設定できます。その場合、プログラムはseq_index
で指定された対応するジョブのみを実行します。たとえば、 seq_index
が 1 に設定されている場合、プログラムは FASTA ファイル内の最初のタンパク質の特徴のみを計算します。並列実行に使用する方法の例については、上記の Slurm sbatch スクリプトも参照してください。 ❗ seq_index
1 から始まります。
--[no]use_mmseqs2
: mmseqs2 をリモートで使用するかどうか。デフォルトは False です。
TrueMultimer モードに関連するフラグ:
--path_to_mmt
: マルチマー テンプレート mmCIF ファイルが含まれるディレクトリへのパス。
--description_file
: フィーチャを生成するための説明が含まれるテキスト ファイルへのパス。最初の列は、FASTA ファイルのタンパク質の説明の正確なコピーである必要があることに注意してください。便宜上、お気に入りのテキスト エディタを使用して FASTA ファイル内で短縮することを検討してください。これらの名前は、モノマー機能を備えた pickle ファイルを生成するために使用されます。 NS1-P85B コンプレックスの description.csv は次のようになります。
>sp|P03496|NS1_I34A1,3L4Q.cif,A
>sp|P23726|P85B_BOVIN,3L4Q.cif,C
この例では、多量体テンプレート 3L4Q.cif の NS1 タンパク質を鎖 A と呼び、P85B タンパク質を鎖 C と呼びます。
テンプレートの名前は、 _entry_idから取得された PDB コードに変更されることに注意してください。 *.cif の代わりに *.pdb ファイルを使用する場合、AlphaPulldown は最初にファイルから PDB コードを解析しようとします。次に、ファイル名が 4 文字であるかどうかを確認します。そうでない場合は、ランダムな 4 文字のコードが生成され、それが PDB コードとして使用されます。
--threshold_clashes
: クラッシュを識別するための VDW オーバーラップのしきい値。 2 つの原子間の VDW オーバーラップは、それらの VDW 半径の合計から中心間の距離を引いたものとして定義されます。重なりがこの閾値を超える場合、2 つの原子は衝突していると見なされます。正のしきい値は、原子が衝突しているとみなされる前に、VDW 表面がどの程度の距離まで相互貫入できるかを示します。 (デフォルト: 1000、つまりしきい値なし。しきい値処理には 0.6 ~ 0.9 を使用します)。
--hb_allowance
: 多量体テンプレートから削除される衝突残基を特定するために使用される水素結合の追加許容値 (デフォルト: 0.4)。許容値 > 0 は、水素結合を共有する原子が、VDW 半径から予想されるよりも互いに近づく可能性があるという観察を反映しています。この許容値は、ドナー (またはドナー由来の水素) とアクセプターで構成されるペアの場合にのみ差し引かれます。これは、より小さな半径を使用して水素結合相互作用を特徴付けることと同じです。
--plddt_threshold
: 多量体テンプレートから削除される pLDDT スコアのしきい値 (デフォルト: 0) (pLDDT>plddt_threshold を持つすべての残基が削除され、最初からモデル化されます)。マルチマーテンプレートが AlphaFold によって生成されたモデルである場合にのみ使用できます。
--new_uniclust_dir
: uniclust データベースへのデフォルトのパスを上書きする場合は、これを使用してください。
--[no]use_hhsearch
: 構造テンプレートを検索する場合は、hmmsearch の代わりに hhsearch を使用します。デフォルトは False です。
--[no]multiple_mmts
: チェーンごとに複数のマルチマー テンプレートを使用します。デフォルトは False です。
create_individual_features.py
の実行結果は、入力 FASTA ファイル ( sequence_name_A.pkl
およびsequence_name_B.pkl
など) からの各タンパク質の pickle 形式の特徴で、 output_dir
に保存されます。
注記
ピクルスの名前は、FASTA ファイル内の配列の説明と同じになります (たとえば、FASTA ファイル内の>protein_A
、 proteinA.pkl
生成します)。 | : ; #
などの特殊記号に注意してください。 | : ; #
>
以降の| : ; #
_
に置き換えられます。
次のステップ 2.1 基本実行に進みます。
コンピューター クラスター上で AlphaPulldown を実行する場合は、フィーチャーの作成を並行して実行することができます。ここでは、SLURM Workload Manager を利用するクラスターに適したコードの例を示します。
次の例では、入力としてexample_2_sequences.fasta
を使用します。
create_individual_features_SLURM.sh
スクリプトを作成し、vi、nano、またはその他のテキスト エディターを使用して次のコードをスクリプトに配置します。 「基本的な実行または実行する他のタイプの実行」で説明されているように、入力パラメーターをcreate_individual_features.py
スクリプトの適切な引数に置き換えます。
#!/bin/bash#通常の実行には数時間かかりますが、さらに長くかかる場合もあります#SBATCH --job-name=array#SBATCH --time=10:00:00#log files:#SBATCH -e logs/ create_individual_features_%A_%a_err.txt#SBATCH -o logs/create_individual_features_%A_%a_out.txt#qos は優先順位を設定します#SBATCH --qos=low#実行を単一ノードに制限します#SBATCH -N 1#これはノードに応じて調整します#SBATCH --ntasks=8#SBATCH - -mem=64000モジュールロードHMMER/3.4-gompi-2023a モジュール ロード HH-suite/3.3.0-gompi-2023aeval "$(condashell.bash フック)"モジュール ロード CUDA/11.8.0 モジュールロード cuDNN/8.7.0.84-CUDA-11.8.0 conda activate AlphaPulldown# 特定のタスクに合わせて次のスクリプト パラメータをカスタマイズします:####create_individual_features.py --fasta_paths=example_1_sequences.fasta --data_dir=/スクラッチ/AlphaFold_DBs/2.3.2 / --output_dir=/scratch/mydir/test_AlphaPulldown/ --max_template_date=2050-01-01 --skip_existing=True --seq_index=$SLURM_ARRAY_TASK_ID#####
以下を実行してスクリプトを実行可能にします。
chmod +x create_individual_features_SLURM.sh
次に、次のコマンドを実行します。
入力 FASTA ファイルへのパスに置き換えます。
mkdir logs#シーケンスの数に対応するジョブの数をカウントします:count=`grep ">"| wc -l`#一度に 100 個のジョブを実行してジョブ配列を実行します:sbatch --array=1-$count%100 create_individual_features_SLURM.sh
2 つのファイルの例 (それ以上のファイルの場合は、 count3
、 count4
などの変数を作成し、カウントの合計に追加します):
mkdir logs#シーケンスの数に対応するジョブの数をカウントします:count1=`grep ">"| wc -l`count2=`grep ">" | wc -l`count=$(( $count1 + $count2 )) #ジョブ配列を一度に 100 個実行します:sbatch --array=1-$count%100 create_individual_features_SLURM.sh
次のステップ 2.2 SLURM を使用した例の実行 (EMBL クラスター) に進みます。
MMseqs2 は、相同体検索および MSA 生成のためのもう 1 つの方法です。これは、AlphaFold で使用されるデフォルトの HMMER および HHblits の代替手段を提供します。これらの異なるアプローチの結果は、MSA 内で取得された進化情報の変動により、わずかに異なるタンパク質構造の予測につながる可能性があります。 AlphaPulldown は、ColabFold によって作成された MMseqs2 検索の実装をサポートしており、MSA 生成用の Web サーバーも提供するため、データベースのローカル インストールは必要ありません。
引用: MMseqs2 を使用する場合は、必ず引用してください: Mirdita M、Schütze K、Moriwake Y、Heo L、Ovchinnikov S、Steinegger M. ColabFold: タンパク質のフォールディングを誰でも利用できるようにする。ネイチャーメソッド (2022) doi: 10.1038/s41592-022-01488-1
注意:リモート サーバーの過負荷を避けるため、多数のジョブを同時に送信しないでください。多くのシーケンスの MSA を計算したい場合は、ローカルで MMseqs2 を使用してください。
MMseqs2 を使用してcreate_individual_features.py
リモートで実行するには、 --use_mmseqs2=True
フラグを追加します。
ソースは AlphaPulldown をアクティブ化します create_individual_features.py --fasta_paths=<シーケンス.fasta> --data_dir=--output_dir=<出力オブジェクトを保存するディレクトリ> --use_mmseqs2=True --max_template_date=<任意の日付、形式: 2050-01-01>
スクリプトの実行が完了すると、 output_dir
次のようになります。
output_dir
|-proteinA.a3m
|-proteinA_env/
|-proteinA.pkl
|-proteinB.a3m
|-proteinB_env/
|-proteinB.pkl
...
次のステップ 2.1 基本実行に進みます。
AlphaPulldown は、MMseqs2 をローカルで実行するためのインターフェイスやコードを提供せず、MMseqs2 やその他の必要なプログラムもインストールしません。ユーザーは、MMseqs2、ColabFold データベース、ColabFold 検索、およびその他の必要な依存関係をインストールし、最初に MSA アライメントを実行する必要があります。ガイドの例は ColabFold GitHub にあります。
colab_search
プログラムを使用して MMseqs2 をローカルで正常に実行したとします。対象のタンパク質ごとに A3M ファイルが生成されます。したがって、 output_dir
次のようになります。
output_dir
|-0.a3m
|-1.a3m
|-2.a3m
|-3.a3m
...
colabfold_search
からのこれらの a3m ファイルには、不便な名前が付けられています。したがって、これらすべてのファイルの名前を変更できるように、 rename_colab_search_a3m.py
スクリプトを提供しました。 https://github.com/KosinskiLab/AlphaPulldown/blob/main/alphapulldown/scripts/rename_colab_search_a3m.py からスクリプトをダウンロードして実行します。
cd 出力ディレクトリ python rename_colab_search_a3m.py path_to_fasta_file_you_used_as_input_for_colabfold_search
すると、 output_dir
次のようになります。
output_dir
|-proteinA.a3m
|-proteinB.a3m
|-proteinC.a3m
|-proteinD.a3m
...
ここで、 proteinA
、 proteinB
などは、入力 FASTA ファイル内の名前に対応します (たとえば、 >proteinA
proteinA.a3m
を与え、 >proteinB
proteinB.a3m
を与えます)。
注: MMSeq2 または標準の HHMER によって作成されたファイルを使用する代わりに、独自のカスタム MSA ファイルを
.a3m
形式で提供することもできます。適切な名前のファイルを出力ディレクトリに配置し、次のようにコードを使用します。
この後、元の FASTA ファイルのあるプロジェクト ディレクトリに戻り、次のコマンドでこのディレクトリを指定します。
ソースは AlphaPulldown をアクティブ化します create_individual_features.py --fasta_paths=<シーケンス.fasta> --data_dir=--output_dir=<出力_ディレクトリ> --skip_existing=False --use_mmseqs2=True --seq_index=<任意の番号、またはフラグをスキップしてすべてを次々に実行>
AlphaPulldown は、各タンパク質に対応する a3m ファイルを自動的に検索します。最終的に、 output_dir
次のようになります。
output_dir
|-proteinA.a3m
|-proteinA.pkl
|-proteinB.a3m
|-proteinB.pkl
|-proteinC.a3m
|-proteinC.pkl
...
<