macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

nf-coreのscRNAseq解析パイプライン nf-core/scrnaseq

 

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)

Github

パイプライン本体は初回実行時に自動で導入される。予めキャッシュしたい時やアップデートする時には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の要求する名前が付いている必要がある。

https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/fastq-input

 

準備できたら実行する。ここではdockerを使う。--genomeでゲノムを指定する(--genome GRCh38)。認識する代表的なゲノム以外は--genomeの代わりに--fastafastaファイルを指定する。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)