cellranger mkfastqでBCLファイルをFASTQファイルに変換する

日付;2023/02/25(土)、2023/02/28(火)訂正

一般的に、シングルセルRNAシークエンスの実験は、特に10xGenomicsのライブラリ調整キットを使用している場合、Chromium controllerを用いたエマルジョン作成に始まり、その後のライブラリ調整、最後にシークエンスを外注して、最終的に、Dual Indexを付けた場合はサンプルあたりI1、I2、R1、R2.fastqという4つのファイルがハードディスクなりダウンロードなりで納品される。その場合、cellranger mkfastqを用いる必要はない。しかし、他のラボのサンプルと、いわゆる”相乗り”せずシークエンスを行っているためBCLファイルを入手することが可能であり、かつ、その業者がシングルセルRNAシークエンスのfastqはどんなものなのか知らない場合、自分でこの4つのfastqファイルを作成する必要があるかもしれない。しかし、シークエンス業者の情報セキュリティー上、BCLファイルは貰えない場合が多いと予想されるので、cellranger mkfastqやbcl2fastq2はあまり必要でないとも言える。

そして自分は、まさかの一番最初のシングルセルRNAシークエンスで、なんというか、試練にしてはキツすぎるだろうが的な体験をしてしまう。詳しくは以前のポストを読んでくれれば良いが、某東大のおすすめであるiLacは利用したくないし、それと同じような、そして、更にキツい失敗”未遂”をしでかしたノボジーンも、利用したくない。

お陰ですごく勉強になった。本当に感謝している。逃げなくてよかった。

ということで、ここではcellranger mkfastqを使って、シークエンサーから出力されるBCLファイルをcellrangerで扱える型のfastqファイルを作成する方法の記録する。

もしcellrangerやbcl2fastq2のインストールが必要ならば、以前のポストを参考にすれば良い。長くなるし、結構面倒なのでここでは述べない。

詳しいこと10xGenomicsのホームページ(https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/tutorial_fq)に書いてあるので、もし何か技術的なことで悩んだらこれをい読んだ方が良いと思う。

サンプルシートの用意

サンプルシートはCSVファイルで用意する。これは、自分でライブラリ調整をしている場合は、使用したインデックスのウェル番号などを書けば良い。マルチプレックスしている場合などは一つのレーンに複数のサンプルが入ることになるので、以下のように書く。なお、インデックス配列の情報はここ(https://www.10xgenomics.com/jp/support/single-cell-gene-expression/documentation/steps/sequencing/sample-index-sets-for-single-cell-3)に載っている。ただし、自分の使ったキットのプロダクトナンバーを逐一確かめながら解析は進めたほうが良い。

[Data]
Lane,Sample_ID,Index,Index2
1,A1,GTAACATGCG,AGGTAACACT
1,B1,CACTACGAAA,ATCAGTCTAA
2,A2,GTGGATCAAA,CAGGGTTGGC
2,B2,CTCTAGCGAG,GATGAAGATA

場合によっては以下のような感じに書かなくてはならないかもしれない。Novaseq 6000などでXPモードで読まれてしまった場合などが考えられる。

[Data]
Lane,Sample_ID,Index,Index2
1,A1,GTAACATGCG,AGGTAACACT
1,A2,GTGGATCAAA,CAGGGTTGGC
1,B1,CACTACGAAA,ATCAGTCTAA
1,B2,CTCTAGCGAG,GATGAAGATA
2,A1,GTAACATGCG,AGGTAACACT
2,A2,GTGGATCAAA,CAGGGTTGGC
2,B1,CACTACGAAA,ATCAGTCTAA
2,B2,CTCTAGCGAG,GATGAAGATA

サンプルシートは間違ってスペースなんかがカンマの後に入ってしまったりすると、cellrangerが読み込めなくなるので、いつもの勢いでカンマの後にスペースを入れないように注意する必要がある。

cellranger mkfastq

上記で作成したサンプルシートは、カレントディレクトリに入れておく。そうしないと参照できないし。そしてcellranger mkfastqを流す。–id=のところは、何でも良い。管理しやすい実験IDなどが良いと思う。また–use-bases-mask=のところはライブラリ調整のときDual indexを使ったかSingle indexを使ったかで変える必要がある。以下の例はDual indexのときである。というか、今はDual indexしか売っていないと思うので、最近実験を行った者のほとんどがこれを使うだろうと思う。Single Indexの場合は–use-bases-mask=Y26,I8n*,Y98である。一昔前はSingle indexだったので、SRAにアップロードされているデータなどでこれを使う機会がある。cellranger mkfastqのテストランもSingle Indexでfastqを作成している。必要だったら、以前のポストに書いてある。

```sh
cd /mnt/sda1/YYYY/XXXX/Data/BCL_to_fastq

cellranger mkfastq \
--id=XXXXX \
--run=221108_A0XXXX_YYYY_XXXXXXXX \
--csv=samplesheet.csv \
--output-dir=/mnt/sda1/YYYY/XXXX/Data/BCL_to_fastq \
--use-bases-mask=Y28n*,I10,I10,Y90n*

```

これが成功していれば、指定したディレクトリにI1、I2、R1、R2.fastqがライブラリの分だけ出力されていることと思う。バルクRNAシークエンスの場合はこれらをfastqc、Trimmomatic、PRINSEQ++などでQCを行うが、シングルセルRNAシークエンスの場合のQCはバルクRNAシークエンスと違うので、それは必要ない。これらI1、I2、R1、R2.fastqをそのままcellranger countに通す。