Home - ncc-gap/GCATWorkflow GitHub Wiki
Welcome to the GCATWorkflow wiki!
このページでは G-CAT Workflow について、 G-CAT Workflow の将来の開発者に対する使い方とワークフローの作成方法を記述するものです。
以下特徴を持つゲノム解析パイプラインです。
- 各ステージは singularity イメージを使用します。
- ワークフロー制御に snakemake を使用しています。
- parabricks 環境下では pbrun が使用可能です。(germline, somatic パイプラインのみ)
2020/12/23 現在、G-CAT Workflow には以下3つのワークフローが実装されています。
- rna ワークフロー
GenomonPipeline の fusionsufion および SRA iravプロジェクトで使用していた STAR(2.7.3a, SRA irav の STAR は 2.7.2b) と expression, iravnet を搭載しています。
入力にシングルリードを許可していることが特徴です。
入力として [sra_fastq_dump] に対応しています。
- germline ワークフロー
parabrics 互換スクリプト を使用したワークフローです。
アラインメントステージで cram を作成します。
parabricks が使用可能な環境ではparabricks が使用可能になりました。(2020.05.22)
- somatic ワークフロー
parabrics 互換スクリプト を使用したワークフローです。
アラインメントステージで cram を作成します。
shirokane もしくは DDBJ スパコンで動作させることを想定していますが、 dryrun だけならローカルマシンにインストールすることも可能です。
DRMAA_LIBRARY_PATH を設定しておく (drmaaを使用する場合)
shirokaneの例
export DRMAA_LIBRARY_PATH=/geadmin/N1GE/lib/lx-amd64/libdrmaa.so.1.0
python3でインストール
git clone https://github.com/ncc-ccat-gap/GCATWorkflow.git
cd GCATWorkflow
python setup.py install
基本的には GenomonPipeline と同じです。
解析ステージは各ワークフローによって多少異なります。
※ サンプルは管理者までお問い合わせください。
GenomonPipeline よりは GenomonPipeline_cloud に近いです。
※ サンプルは管理者までお問い合わせください。
- parabricks との対応
GCATWorkflowはparabricksに対応していますが、parabricksが無いときはGATKのコマンドを使用するように設計しています。
サンプルシートとconfigファイルの [section] の対応は以下です。
※ 記載外のセクションは parabricks モード無し
1.必要なコンテナイメージを singularity pull しておきます。
2.必要なライブラリを用意します。
3.必要なシーケンスデータを用意します。
4.サンプルシートと設定ファイルを作成します。
5.gcat_workflow コマンドを実行します。
gcat_workflow {germline | somatic | rna} /path/to/samplesheet.csv ${output_dir} /path/to/configure.cfg
※ 現在は configure の役割しか果たしません。
ワークフローを実行するためには次の snakemake コマンドを実行する必要があります。
--runner オプションについて
ジョブ管理ツールを以下より選択することができます。
- DRMAA (デフォルト)
- qsub
- slurm
- bash (v3.1.16以降)
6.出力先ディレクトリに移動して snakemake コマンドを実行します。
※途中からやり直すときも同じコマンドです。成功したジョブは自動で飛ばします。
cd ${output_dir}
# 10並列での実行例
snakemake --cores 10 -k
dry-run するとき
snakemake -n
再実行するとき(最初からすべてやり直す)
snakemake --forceall
※ より詳しいオプションは snakemake 公式 を参照してください。
No | 内容 | 手順1(configure) | 手順2(make) | 結果 |
---|---|---|---|---|
1 | 初回実行 | gcat_workflow command | snakemake | 全実行 |
2 | 1の後、再実行 | --- | snakemake | 実行なし |
3 | 1の後、再実行 (forceall) | --- | snakemake --forceall | 全実行 |
4 | 1の後、再度configure | gcat_workflow command | snakemake | 実行なし |
5 | 1の後、ファイルを消して再実行 | rm join/all.txt sv/5929_tumor/5929_tumor.txt | snakemake | 削除分のみ実行 |
6 | 1の後、サンプル追加後、再configure | サンプルシートの [bam_import] と [qc] に新しいサンプルを追記してから、 gcat_workflow command | snakemake | 追加分のみ実行 |
Ctrl-Cで止まるが、ジョブは止まらないので、手動で消すか終了するのを待つ。 再実行は以下どちらかで可能
- --forceallをつけて実行
- 再度configure
snakemakeのエラーメッセージがでたら指示に従う
Building DAG of jobs...
IncompleteFilesException: The files below seem to be incomplete. If you are sure that certain files are not incomplete, mark them as complete with
snakemake --cleanup-metadata <filenames>
To re-generate the files rerun your command with the --rerun-incomplete flag.
Incomplete files: star/MCF-7_fq/MCF-7_fq.Aligned.sortedByCoord.out.bam
この場合、以下を実行する
snakemake --cleanup-metadata star/MCF-7_fq/MCF-7_fq.Aligned.sortedByCoord.out.bam