rna-seq

nf-core/rnaseqの使い方|NextflowでRNA-seq解析を自動化する

nf-core/rnaseq は、FASTQを渡すだけで品質確認・トリミング・アラインメント・定量・QCレポートまでを一括実行してくれる、bulk RNA-seq用のワークフローです。ワークフロー管理ツール Nextflow の上で動き、ツール群はコンテナで固定されるため、同じ入力と同じ版を指定すれば、半年後でも別のマシンでも同じ結果が再現できます。

この記事では、真核生物のペアエンドbulk RNA-seqを対象に、ローカルPCまたは計算サーバーで nf-core/rnaseq を動かす最小構成を、インストールからエラー対処まで通しで説明します。対象は、コマンドラインに触れたことがある初心者〜中級者です。

nf-core/rnaseqの全体ワークフロー。FASTQの品質確認、トリミング、アラインメント/定量、QC、結果レポートまでが一つのパイプラインとしてつながる。

▲ nf-core/rnaseq workflow schematic(Sarah Guinchard作、MIT License)。nf-core公式の原図・利用条件より。

GOAL
  • NextflowとDockerを導入し、nf-core/rnaseq のテスト解析を完走できる
  • サンプルシート、参照ゲノムFASTA、アノテーションGTFをそろえられる
  • FASTQからQC・STAR–Salmon定量・MultiQCまでを一括で実行できる
  • 出力されたQCレポート、遺伝子カウント、実行条件を読み解ける
  • メモリ不足・Docker不可・途中終了といったケース別に対処を選べる

nf-core/rnaseqとは:手作業の解析と何が違うのか

手作業でつないだパイプラインが壊れる理由

従来のbulk RNA-seq解析は、たとえば次のように個別のプログラムを順番に実行します。

FASTQ
  → FastQC
  → トリミング
  → STAR または HISAT2
  → featureCounts / Salmon
  → MultiQC
  → DESeq2

この流れ自体は正しいものです。弱点は、サンプルが増えたときに「どのバージョンのツールを、どの設定で、どの順番に実行したか」を追えなくなることにあります。コマンドの書き間違い、サンプルごとのオプション差、ツールの更新、途中で失敗したときの再実行が、そのまま結果の差になって現れます。

nf-core/rnaseqが固定してくれるもの

nf-core/rnaseq は、この定型処理をNextflowでつなぎ、ツール群をコンテナで固定します。サンプルごとのFASTQ、参照配列、アノテーション、パラメータを渡せば、品質確認、トリミング、アラインメント/定量、各種QC、MultiQCレポートまでをまとめて実行します。

固定されるのは実行順だけではありません。パイプラインの版、入力、実行パラメータ、使われた各ツールのバージョンが結果と一緒に記録されるため、数か月後や別の計算機でも同じ条件を再現できます。

nf-core/rnaseq の現行安定版は 3.26.0 です。既定の経路は、STAR でゲノムにスプライスアラインメントし、転写産物座標へ投影したBAMを Salmon で定量する star_salmon です。

外部リンクnf-core/rnaseq 公式ドキュメントhttps://nf-co.re/rnaseq/latest/

ポイント

ワークフローが自動化するのは、FASTQを解析可能な定量結果へ変換する部分です。比較する群、必要な生物学的反復、バッチの扱い、DESeq2のデザイン式は研究デザインに依存します。自動実行できることと、正しい生物学的結論が得られることは別です。

STARとHISAT2は「選ぶツール」から「設定値」になる

nf-core/rnaseq を使う場合、STARかHISAT2かを単独でインストールしてコマンドを書く必要はありません。どちらを使うかは --aligner の値として選びます。

目的・条件指定する経路
通常の真核生物bulk RNA-seqで、遺伝子発現差とBAMの両方が欲しい既定の --aligner star_salmon
ヒト参照でSTARを動かせる十分なメモリがない--aligner hisat2 --pseudo_aligner salmon(HISAT2単体では定量が走らずカウント行列が出ない)
アラインメントとQCだけできればよい(カウント行列は不要)--aligner hisat2
RSEMによる定量値をそろえたい--aligner star_rsem
ゲノムBAMが不要で、定量を最速で済ませたい--skip_alignment --pseudo_aligner salmon
新規転写産物・アイソフォームの組み立てを主目的にするHISAT2–StringTieを手で動かす経路を検討する

STARは高速ですが、ヒトGRCh37参照ではおよそ38 GBのメモリを要します。ヒトやマウスをローカルで扱うなら、STAR用に少なくとも64 GB程度の実メモリがあるワークステーションか、計算サーバーを使うのが現実的です。

一方、HISAT2でマッピングする記事は、アラインメントの中身を理解し、StringTieで転写産物・アイソフォームを扱うための入口として引き続き有用です。通常の遺伝子レベルの解析を最短で再現したい場合は、本記事の nf-core/rnaseq を主導線にします。

実行環境を準備する

必要なのは、実行環境(NextflowとDocker)、入力FASTQ、参照ゲノムFASTA、アノテーションGTFの4つです。まず、手元のマシンでどこまで現実的に動かせるかを確認します。

家庭用PCでも動かせる?必要なメモリの目安

動かせます。 ただし、現実的に扱えるデータ量とアラインメント方法は、メモリと空き容量で決まります。Nextflowそのものが重いのではなく、ヒト・マウスのような大きなゲノムをSTARでアラインメントするときに多くのメモリを使います。

手元の環境現実的な使い方
8〜16 GBメモリ公式テスト、小規模データ、--aligner hisat2 --pseudo_aligner salmon またはSalmonのみの定量
32 GBメモリ小〜中規模の解析。STARは生物種と同時実行数によっては厳しい
64 GB以上ヒト・マウスを既定のSTAR–Salmon経路でローカル実行しやすい
Windows PCWSL2 + Docker DesktopのLinux環境で実行する
Apple Silicon Mac-profile docker,arm64 で実行できるが、arm64プロファイルは実験的

16 GBのノートPCで無理にSTARを動かすより、HISAT2に切り替えるか、計算サーバー/クラウドを使う方が安全です。ただし、--aligner hisat2 を単独で指定すると定量工程が実行されず、カウント行列は出力されません。 HISAT2のゲノムアラインメントから発現量を適切に推定する手段が用意されていないためです。カウント行列が必要なら --aligner hisat2 --pseudo_aligner salmon のようにSalmonを併用します。HISAT2単体は、アラインメントとQCが目的の場合の選択肢と考えてください。BAMを必要とせず遺伝子発現の定量を急ぐだけなら、Salmonのみの経路も選択肢になります。

Windowsでは、Docker DesktopのWSL2連携を有効にし、UbuntuなどのWSL側からNextflowを実行します。FASTQ・参照配列・work/ ディレクトリは、C: ドライブをマウントした場所ではなく、WSL内のLinuxファイルシステムに置くと大幅に速くなります。

外部リンクDocker Desktop:WindowsでWSL2を使う方法https://docs.docker.com/desktop/features/wsl/

Nextflowをインストールする

Nextflowは、Javaさえあれば1行で導入できる自己完結型の実行ファイルです。先にJavaの有無を確認します。

java -version

Javaが無ければ、先にJava 17以降(LTS)を入れてください。次に、作業用ディレクトリでNextflowを取得します。

curl -s https://get.nextflow.io | bash
chmod +x nextflow
./nextflow info

このコマンドで作られるのはカレントディレクトリの実行ファイルです。どこからでも nextflow と打ちたい場合は、PATHの通った場所へ移動します。

sudo mv nextflow /usr/local/bin/

外部リンクNextflow 公式インストールガイドhttps://docs.seqera.io/nextflow/install

コンテナ環境を選ぶ

ツール群をどう用意するかは -profile で切り替えます。実行環境ごとに選ぶものが決まります。

環境指定する -profile
個人PC・自分が管理するサーバーdocker
共用のHPC(root権限が無い)singularity または apptainer
コンテナを使えない環境conda(再現性は下がる)

共用サーバーではDockerが許可されていないことがほとんどなので、-profile singularity を使います。コンテナイメージの保存先は環境変数で指定でき、ホームディレクトリの容量制限に引っかかりにくくなります。

export NXF_SINGULARITY_CACHEDIR=/path/to/large/disk/singularity_cache
注意

解析中は、FASTQだけでなくNextflowの work/ ディレクトリにも中間ファイルが作られます。中間ファイルは入力FASTQの数倍になることもあるため、空き容量は「入力FASTQと最終結果だけ」の見積もりでは足りません。

公式テストデータで環境を検証する

実データを使う前に、公式テストを実行します。Nextflow、コンテナ実行環境、パイプライン本体、イメージ取得が正常に動くかを一度に確認できます。

./nextflow run nf-core/rnaseq \
  -r 3.26.0 \
  -profile test,docker \
  --outdir test_results

-r 3.26.0 のようにパイプライン版を明示することが重要です。同じ版を指定しておけば、将来パイプラインが更新されても、当時と同じワークフローを再実行できます。版を指定しない実行は、再現性を自分で捨てているのと同じです。

入力データをそろえる

作業ディレクトリを構成する

次のように、入力・参照・結果を分けると管理しやすくなります。

rnaseq-project/
├── fastq/                 # 入力FASTQ
├── reference/             # 同じリリースでそろえたFASTAとGTF
├── samplesheet.csv        # サンプルとFASTQの対応表
├── results/               # 公開される最終結果
└── work/                  # Nextflowの中間ファイル

参照ゲノムFASTAとアノテーションGTFを用意する

参照ゲノムFASTAとGTFは、同じアセンブリ・同じアノテーションリリースでそろえる必要があります。たとえばヒトなら、GRCh38のFASTAとGRCh38のGTFを同じ配布元・同じリリースから取得します。FASTAの染色体名とGTFの染色体名が一致しないと、アラインメントや集計が失敗する原因になります。

GENCODE由来のアノテーションを使う場合は、IDの書式が他と異なるため専用のフラグが要ります。

--gencode

--genome GRCh38 と書けばiGenomesから自動取得できて手軽ですが、iGenomesのアノテーションは配布時点で止まっており古いことがあります。本記事で --igenomes_ignore を付けて自前のFASTA・GTFを指定しているのはこのためです。

サンプルシート(samplesheet.csv)を書く

入力はCSV形式のサンプルシートです。ペアエンドデータでは、少なくとも samplefastq_1fastq_2strandedness の4列が必要です。

sample,fastq_1,fastq_2,strandedness
control_1,fastq/control_1_R1.fastq.gz,fastq/control_1_R2.fastq.gz,auto
control_2,fastq/control_2_R1.fastq.gz,fastq/control_2_R2.fastq.gz,auto
treatment_1,fastq/treatment_1_R1.fastq.gz,fastq/treatment_1_R2.fastq.gz,auto
treatment_2,fastq/treatment_2_R1.fastq.gz,fastq/treatment_2_R2.fastq.gz,auto

各列の意味は次のとおりです。

  • sample:サンプル名。同じ名前の行を複数書くと、複数レーンのリードとして下流処理の前に統合される

  • fastq_1 / fastq_2:gzip圧縮されたFASTQのパス。シングルエンドなら fastq_2 は空欄

  • strandednessunstrandedforwardreverseauto のいずれか。auto はSalmonが向きを推定する

ライブラリのstrand情報が確実に分かっている場合は、その値を指定します。分からない場合にまず auto を使うことはできますが、最終的にはキット仕様書とQC結果で確認してください。

外部リンクnf-core/rnaseq のサンプルシート仕様https://nf-co.re/rnaseq/latest/docs/usage/#samplesheet-input

FASTQからQC・定量までを一括実行する

基本の実行コマンド

以下は、手元のFASTAとGTFを使う最小コマンドです。--fasta--gtf--input のパスは自分のファイル名に置き換えてください。

./nextflow run nf-core/rnaseq \
  -r 3.26.0 \
  -profile docker \
  --input samplesheet.csv \
  --fasta reference/genome.fa.gz \
  --gtf reference/annotation.gtf.gz \
  --igenomes_ignore \
  --outdir results \
  --save_reference \
  --save_align_intermeds \
  -resume

この設定では、既定の star_salmon 経路が使われます。オプションのうち、後々効いてくるのは次の2つです。

  • --save_reference:パイプラインが構築したSTAR/Salmonインデックスを results/ に保存する。初回のインデックス構築は全工程で最も時間がかかるため、保存して次回以降 --star_index で使い回す価値が高い

  • --save_align_intermeds:アラインメントBAMを保存する。IGVでの確認や別の下流処理に使う予定がなければ外してよい

途中で通信・計算機・設定の問題で止まった場合は、同じコマンドに -resume を付けて再実行します。成功済みの処理をNextflowのキャッシュから再利用するため、最初から全工程をやり直す必要はありません。

メモ

-profile-resume はNextflow側のオプションなのでハイフン1つ、--input--aligner はパイプライン側のオプションなのでハイフン2つです。似ていますが役割が異なり、間違えると「そんなパラメータは無い」と怒られます。

アライナー・定量経路を切り替える

メモリが足りない、BAMが要らない、といった事情に応じて経路を変えられます。基本コマンドに次を足すだけです。

# HISAT2に切り替える(メモリ節約)。単体では定量が走らずカウント行列は出ない
--aligner hisat2

# HISAT2でメモリを抑えつつ、カウント行列も得る
--aligner hisat2 --pseudo_aligner salmon

# アラインメントを飛ばしてSalmonだけで定量する(最速)
--skip_alignment --pseudo_aligner salmon

# STAR–Salmonに加えてSalmonの疑似アラインメント定量も出す
--pseudo_aligner salmon

--aligner hisat2 を単独で指定した場合、出力されるのはHISAT2のBAMとQCまでで、カウント行列は生成されません。 公式ドキュメントの方針として、HISAT2のゲノムアラインメントから正確な発現量を推定する適切な手段がないため、定量工程が実行されないからです。差次的発現解析まで進むなら --pseudo_aligner salmon を併用してください。

注意

アライナーを変えるとマッピングされるリードが変わり、下流のカウントも変わります。同一プロジェクトの途中でアライナーを変更すると、群間比較の中にアライナーの違いが混ざり、生物学的な差と区別できなくなります。

計算サーバー(SLURM)で実行する

HPCでは、ジョブスケジューラに処理を投げる設定を書いた設定ファイルを渡します。custom.config として次のように書きます。

process {
  executor = 'slurm'
  queue    = 'your-partition-name'
  resourceLimits = [ cpus: 32, memory: 250.GB, time: 72.h ]
}

resourceLimits は、パイプラインが要求する資源量の上限を、そのマシン/キューで実際に確保できる値に丸めるための設定です。これを書いておかないと、割り当て不能な量を要求してジョブが投入されずに落ちることがあります。

実行時は -c で読み込ませます。Nextflowのメインプロセス自体は解析が終わるまで生き続けるので、ログインノードで長時間動かす場合は -bg でバックグラウンドに回すか、tmux / screen の中で実行します。

./nextflow run nf-core/rnaseq \
  -r 3.26.0 \
  -profile singularity \
  -c custom.config \
  --input samplesheet.csv \
  --fasta reference/genome.fa.gz \
  --gtf reference/annotation.gtf.gz \
  --igenomes_ignore \
  --outdir results \
  -resume \
  -bg

所属機関がnf-coreに設定を登録している場合は、-profile singularity,<機関名> と書くだけでキュー名や資源上限が入ります。まずは所属機関の設定があるかを確認するのが近道です。

外部リンクhttps://nf co.re/configshttps://nf-co.re/configs

出力を読む

まずMultiQCレポートを開く

完走したら、まず results/multiqc/ のHTMLレポートをブラウザで開きます。個々のサンプルについて、FASTQ品質、アダプター、マッピング率、strand推定、重複、遺伝子への割り当てなどをまとめて比較できます。外れサンプルはここで見つけて、下流に持ち込む前に判断します。

定量行列とDESeq2へ渡すファイル

STAR–Salmon経路では、results/star_salmon/ に統合済みの行列が出力されます。代表的なものは次のとおりです。

ファイル内容
salmon.merged.gene_counts.tsv遺伝子レベルの推定カウント
salmon.merged.gene_counts_length_scaled.tsv転写産物長で補正した遺伝子カウント
salmon.merged.gene_tpm.tsv遺伝子レベルのTPM
salmon.merged.transcript_counts.tsv転写産物レベルの推定カウント
salmon.merged.gene.SummarizedExperiment.rdsRへそのまま読み込める SummarizedExperiment

このほか、multiqc/ にQC統合レポート、pipeline_info/ に実行記録(params.jsonsoftware_versions.ymlsamplesheet.valid.csv、実行レポート・タイムライン・トレース)が出力されます。

ポイント

Salmon由来の定量値をDESeq2へ渡すときは、TPMをそのままカウントとして使ってはいけません。 tximport を介して推定カウントと長さ補正を扱うか、パイプラインが出力する gene_counts_length_scaled を使うかを選びます。3’タグRNA-seqのように長さ補正が不要な例外もあるため、どちらを使うかはライブラリの性質と下流モデルに合わせて決めてください。

外部リンクnf-core/rnaseq の出力仕様https://nf-co.re/rnaseq/latest/docs/output/

再現性のために残す記録

ワークフローを導入する価値は、コマンドが短くなることではありません。次の4点を解析記録として残してはじめて、あとから結果を説明できる状態になります。

  1. samplesheet.csv — どのFASTQをどのサンプルとして扱ったか

  2. FASTAとGTFの配布元・リリース・チェックサム

  3. nf-core/rnaseq の版と pipeline_info/params.json

  4. MultiQCで確認した外れ値、除外判断、再実行の理由

RNA-seqの結果を信頼できるものにするのは、最後に得られた遺伝子リストではありません。入力、参照配列、設定、QC判断をあとから説明できることです。

ここで得たカウントとサンプル情報がそろえば、次はバッチを含むデザイン式を組んで差次的発現解析へ進む段階です。salmon.merged.gene_counts_length_scaled.tsv をDESeq2に読み込ませる手順は、続きの記事にまとめています。

関連記事DESeq2の使い方|nf-core/rnaseqのカウント行列から発現変動遺伝子を検出する

ケース別:よく出るエラーと対処

出るメッセージ・状況原因対処
nextflow: command not found実行ファイルがカレントディレクトリにあるだけ./nextflow run … と呼ぶか、/usr/local/bin/ へ移動する
Cannot connect to the Docker daemonDocker Desktopが起動していないDockerを起動する。HPCなら -profile singularity に変える
Process requirement exceeds available memory要求メモリが実メモリを超えている--aligner hisat2 --pseudo_aligner salmon へ変更(HISAT2単体はカウント行列が出ない)、または resourceLimits を実機に合わせる
プロセスが exit status 137 で落ちるOSにメモリ不足で強制終了された同時実行数を -process.maxForks 1 で絞る、またはメモリの大きい環境へ移す
Validation of pipeline parameters failed!パラメータ名の誤り、必須項目の欠落メッセージ中の該当パラメータ名とハイフンの数を確認する
No such file or directory(FASTQ)サンプルシート内のパスが解決できないサンプルシートのパスを絶対パスにする
GTFの染色体名で処理が落ちるFASTAとGTFのリリース・命名が不一致同じ配布元・同じリリースで取り直す。GENCODEなら --gencode を付ける
work/ がディスクを圧迫する中間ファイルの蓄積完走を確認してから削除、または nextflow clean -f で過去実行分を整理する
注意

work/ を削除すると -resume による再開ができなくなります。解析が完全に終わり、results/ に必要な出力が揃っていることを確認するまでは消さないでください。

よくある質問

Q. nf-core/rnaseqとNextflowの違いは? Nextflow はワークフローを記述・実行するための汎用エンジン、nf-core/rnaseq はそのNextflowで書かれたRNA-seq専用のパイプライン本体です。料理でいえばNextflowがコンロ、nf-core/rnaseqがレシピにあたります。利用者はNextflowを入れたうえで、レシピ名として nf-core/rnaseq を指定して実行します。

Q. nextflow: command not found になる curl -s https://get.nextflow.io | bash で作られるのはカレントディレクトリの実行ファイルなので、nextflow run ではなく ./nextflow run と呼ぶ必要があります。どこからでも使いたい場合は sudo mv nextflow /usr/local/bin/ のようにPATHの通った場所へ移動してください。Javaが入っていない環境ではダウンロード自体は成功しても起動時に失敗するので、java -version を先に確認します。

Q. STARでメモリ不足になる ヒトGRCh37参照のSTARにはおよそ38 GBのメモリが必要です。実メモリが足りない場合はHISAT2に切り替えるのが最も簡単ですが、--aligner hisat2 単体では定量が実行されず、カウント行列は出力されません。 差次的発現解析に進むなら --aligner hisat2 --pseudo_aligner salmon としてSalmonを併用してください。HISAT2単体で足りるのは、アラインメントとQCが目的の場合です。BAMが不要で遺伝子レベルの定量だけでよいなら、--skip_alignment --pseudo_aligner salmon も選べます。複数サンプルが同時に走ってメモリを食い合っている場合もある ので、-process.maxForks 1 で同時実行数を絞ると通ることがあります。

Q. Dockerが使えない計算サーバーではどうする? 共用サーバーではDockerが許可されていないことが多いので、-profile singularity または -profile apptainer を使います。コンテナイメージの保存先は NXF_SINGULARITY_CACHEDIR で指定でき、ここをホームディレクトリの外に置くと容量制限に引っかかりにくくなります。

Q. SLURMのジョブとして投げるには? process.executor = 'slurm' とキュー名を書いた設定ファイルを用意し、-c custom.config で読み込ませます。Nextflowのメインプロセスは全工程が終わるまで動き続けるため、-bg を付けるか tmux の中で実行してください。所属機関がnf-coreに設定を登録していれば、-profile singularity,<機関名> だけで資源設定が入ります。

Q. 途中で止まった。最初からやり直す必要はある? ありません。同じコマンドに -resume を付けて再実行すれば、成功済みの処理は work/ のキャッシュから再利用されます。ただし work/ を削除すると再開できなくなる ので、解析が完全に終わるまでは消さないでください。

Q. work/ が容量を圧迫する 完走して results/ に必要な出力が揃っていることを確認してから削除して構いません。中間ファイルは入力FASTQの数倍になることもあります。nextflow clean -f で過去の実行分だけを整理することもできます。

Q. 実行に時間がかかりすぎる。速くできる? 最初の実行で最も時間を使うのはSTAR/Salmonのインデックス構築です。--save_reference を付けて構築済みインデックスを保存し、次回以降は --star_index--salmon_index でそれを指定すれば、この工程を丸ごと省けます。QCを削るより先に、インデックスの使い回しを検討してください。

Q. strandedness が分からない場合は auto のままでいい? auto で走らせること自体は可能ですが、そのまま鵜呑みにはしないでください。MultiQCレポートに推定されたstrand情報が出るので、ライブラリ調製キットの仕様と一致しているかを必ず確認 します。ここがずれると遺伝子への割り当てが大きく狂います。

Q. シングルエンドのデータでも使える? 使えます。サンプルシートの fastq_2 列を空欄にすれば、パイプラインがシングルエンドとして扱います。列自体は残しておく必要があります。

Q. 参照ゲノムは iGenomes を使うべき? --genome GRCh38 と書けば自動取得できて手軽ですが、iGenomesのアノテーションは配布時点で止まっており古いことがあります。本記事で --igenomes_ignore を付けて自前のFASTA・GTFを指定しているのはこのためです。どのリリースを使ったかを自分で説明できる状態 にしておく方が、後から結果を検証しやすくなります。

Q. HISAT2に切り替えると結果は変わる? 変わります。アライナーが違えばマッピングされるリードが変わり、下流のカウントも変わります。そもそも --aligner hisat2 は単体では定量が走らないため、カウントを得るには --pseudo_aligner salmon の併用が必要です。同一プロジェクト内で途中からアライナーを変えるのは避けてください。群間比較の中にアライナーの違いが混ざると、生物学的な差と区別できなくなります。

Q. 出力のどのファイルをDESeq2に読み込ませればいい? salmon.merged.gene_counts_length_scaled.tsv、または salmon.merged.gene.SummarizedExperiment.rds を起点にするのが素直です。salmon.merged.gene_tpm.tsv のTPMをカウントとして渡してはいけません。DESeq2は生カウントに近い値と長さ補正の情報を前提にモデルを組むためです。

関連記事

アラインメントの中身を理解したい場合は、HISAT2を手で動かす記事から入るのが近道です。

関連記事超初心者向け!!RNA-seq解析シリーズ④HISAT2でマッピングする

関連記事超初心者向け!!RNA-seq解析シリーズ⑤StringTieの使い方

RNA-seq解析の全体像を最初から追いたい方はこちらから。

関連記事超初心者向け!!RNA-seq解析シリーズ① ターミナルでコマンドラインを使う

ローカル環境を用意せずGoogle Colaboratoryで試したい場合はこちらです。

関連記事MacやLinuxを使わずにRNA-seqの解析を行う①Google ColaboratoryでRNA-seq解析準備編

公式情報

外部リンクnf-core/rnaseq:使用方法・再現性の考え方https://nf-co.re/rnaseq/latest/docs/usage/

外部リンクnf-core/rnaseq:パラメータ一覧https://nf-co.re/rnaseq/parameters

外部リンクNextflow:インストール方法https://docs.seqera.io/nextflow/install