Nf-coreより
nf-core/scrnaseqは、10x Genomics社のシングルセルRNA-seqデータを処理するためのバイオインフォマティクスのベストプラクティス解析パイプラインである。
このパイプラインは、複数の計算インフラでタスクを実行するためのワークフローツールであるNextflowを使用して構築されている。Docker/Singularityコンテナを使用しているため、インストールが簡単で、結果の再現性が高い。このパイプラインのNextflow DSL2の実装では、プロセスごとに1つのコンテナを使用するため、ソフトウェアの依存関係の維持と更新が非常に容易になる。可能な限り、これらのプロセスは、すべてのnf-coreパイプライン、そしてNextflowコミュニティのすべての人が利用できるように、nf-core/modulesに提出され、インストールされた。
リリース時には、自動化された継続的インテグレーションテストにより、AWSクラウドインフラ上のフルサイズのデータセットでパイプラインが実行され、パイプラインがAWS上で動作すること、実世界のデータセットで動作するようにリソース割り当てのデフォルトが適切に設定されていることなどが確認できる。フルサイズのテストで得られた結果は、nf-coreのウェブサイトで見ることができる。
https://nf-co.re/scrnaseq/results
nf-core/scrnaseq
https://nf-co.re/scrnaseq/2.2.0
インストール
依存
- Nextflow (>=22.10.1)
パイプライン本体は初回実行時に自動で導入される。予めキャッシュしたい時やアップデートする時にはpullコマンドを使う。
nextflow pull nf-core/scrnaseq
テストラン
パイプラインの再現性を高めるために、Docker、Singularity、Podman、Shifter、Charliecloudのいずれかを使うことが推奨されている。マニュアルはDockerとSingularityに対応している(注;Singularityは商用のフォーク以外名前が"Apptainer"に変わった)。
nextflow run nf-core/scrnaseq -profile test,docker --outdir out
out/
out/star/Sample_X
out/star/Sample_X/Sample_X.Solo.out/Gene/
Summary.csv
Features.stats
出力について
https://nf-co.re/scrnaseq/2.2.0/output
genes.mtxから先の下流解析
https://github.com/BUStools/getting_started/blob/master/getting_started.ipynb
実行方法
実際に使うにはCSV形式のサンプルシートを用意する必要がある(解説)。
テスト用のサンプルシートは以下のようになっている。(シングルエンドとペアエンドの混在にも対応する。)
https://github.com/nf-core/scrnaseq/blob/2.2.0/assets/samplesheet.csv
少なくとも3つの列とヘッダー行が必要。1列目にサンプル名、2列目と3列目にそのサンプルのペアエンドfastqのパスを書く。カレントにあるなら写真のようになる。ペアエンドのR1がバーコードで、R2がそのセルのシークエンシングリード。拡張子は.fastq.gz" か ".fq.gzでなければならない。同じサンプルを複数レーンで読んでいるときは、1列目のサンプル識別子を同じにして新しい行に書く(写真の4列目)。4、5列目には任意でプロトコル名、期待される細胞数を書く。細胞数はSTARsoloとsalmonだけに対応している。(マニュアルでは5列が”seq_center”、4列目が"expected_cells"となっている。どちらが正しいのか不明)。
アライナーは4種類から選択できる。
- Kallisto & Bustools(アライメントにkallisto、下流の解析にbustoolsを使用)。
--aligner kallisto - STARsoloでアライメントとダウンストリーム解析の両方を行う。
--aligner star - Cellrangerでアライメントとダウンストリーム解析の両方を行う。
--aligner cellranger - UniverSC、Cell Rangerのオープンソース版。
--aligner universc - セルレンジャー、ユニバークを使用する場合
Cellranger alignerを使用するためには、リードに10xの要求する名前が付いている必要がある。
準備できたら実行する。ここではdockerを使う。--genomeでゲノムを指定する(--genome GRCh38)。認識する代表的なゲノム以外は--genomeの代わりに--fastaでfastaファイルを指定する。fastaファイルを指定する場合は、--gtfでアノテーションファイルも指定する。
nextflow run nf-core/scrnaseq -profile docker --outdir outdir --input sample.csv --gtf annotation.gtf --fasta genome.fasta
- --genome Name of iGenomes reference
- --fasta Path to FASTA genome file
- --transcript_fasta A cDNA FASTA file
- --gtf Reference GTF annotation file
コメント
新しい機能も追加される予定と書かれています。そのうちに解析フローは内容は変わる可能性があるので注意してください。2023年3月現在の解析フローを説明したDecision Treeが下です。レポジトリより。
引用
nf-core/scrnaseq
https://zenodo.org/record/7751399#.ZBld-i_3Ia8
doi: 10.5281/zenodo.3568187
参考
AlmaLinux 8 on WSL2にApptainer環境 (with GPU) を構築する (zenn.dev)