🙄

【シングルセル解析】cellranger multiをWSLで実行

2023/04/07に公開

10X Genomicsのプラットフォームでシングルセルマルチオミクス解析を行った場合、cellranger countではなくcellranger multiコマンドを使用する。その際に、別途用意したcsvファイルが必要となる。公開されているデモデータを使ってWSL環境で検証してみた。

WSLの環境整備、cellrangerの用意は以下の記事を確認してほしい。
https://zenn.dev/rchiji/articles/ffe9da5b73e6db
https://zenn.dev/rchiji/articles/b1cb8d985d58d7

デモデータ1

遺伝子発現と表面抗原タンパク質の発現解析を行っているデータを使用
PBMCs of a Healthy Donor - 5' Gene Expression with a Panel of TotalSeq™-C Antibodies
https://www.10xgenomics.com/resources/datasets/pbm-cs-of-a-healthy-donor-5-gene-expression-and-cell-surface-protein-1-standard-3-0-0

fastqファイルの取得

# fastqファイルのダウンロード
wget https://s3-us-west-2.amazonaws.com/10x.files/samples/cell-vdj/3.0.0/vdj_v1_hs_pbmc2_5gex_protein/vdj_v1_hs_pbmc2_5gex_protein_fastqs.tar

# 解凍
tar -xvf vdj_v1_hs_pbmc2_5gex_protein_fastqs.tar

ファイルの構造を確認する。

treeコマンドでファイル階層確認
sudo apt update && sudo apt upgrade
sudo apt install tree

tree vdj_v1_hs_pbmc2_5gex_protein_fastqs

遺伝子発現のfastq、抗原解析のfastqがそれぞれのフォルダでまとめられていた。

Antibody reference

biolegend社から出ているTotalSeq-C 抗体パネルを使用しているとのこと。抗体ごとにユニークなオリゴタグが付与されているので、どのオリゴタグ配列がどの抗体なのかのreferenceファイルが必要となる。

TotalSeq-Cと検索すると、TotalSeq™-C Human TBNK CocktailやTotalSeq™-C Human Universal Cocktail, V1.0などのように複数のパネルがある。

既製品を使用するのであれば、製品ページ内にある Download the Cell Ranger antibody reference and UMI counting csv file.のリンクからreferenceファイルが取得できる。
https://www.biolegend.com/ja-jp/search-results/totalseq-c-human-tbnk-cocktail-19094?gclid=Cj0KCQjw27mhBhC9ARIsAIFsETGE1BK7wdX4qyJZT9dKS2EUc0oQtPq5AJHiz4hOkYMSmWkoXSNnbuQaAj6kEALw_wcB



今回はデモデータの配布ページにreference用のcsvファイルがあったのでこちらを使用する。
Feature Reference CSV

Multi Config CSV

複数のプラットフォームを1つのコマンド (cellranger multi)で処理するためには別途csvファイルの用意が必要となる。
その中にコマンドのオプションの項目やそれぞれのfastqのパス、referenceへのパスなどを記載しておく。


Multi Config CSV

まずは [gene-expression][feature][libraries] という項目名を用意する。

[gene-expression][feature]| 引数名 | 内容 | という風に1行2列で記載していく。引数の数だけ行が増やして記載する。
2つに共通する引数に referenceがある。それぞれの項目で | reference | referenceが入っているフォルダパス | を記載する。もちろん [gene-expression] の項目には遺伝子発現解析用のreference、[feature] の項目には タンパク抗原解析に使用するreferenceをそれぞれ指定する。

[libraries] は 多列多行の情報になる。オミクスデータの種類だけ行が増える。今回は遺伝子発現と抗原解析の2行である。

列には fastq_idfastqsfeature_types の3列が必須である。各オミクスデータに対応した情報を入れていく。

  • fastq_id:
    fastqファイルのSample Nameの部分
  • fastqs:
    fastqが配置されているフォルダへのパスを記載する。
    (Sample Nameで識別するため、すべてのfastqファイルが1つのフォルダにまとめられていても構わない。つまり遺伝子発現解析用と抗原解析用のfastqファイルが1つにフォルダにあったもよい)
  • feature_types:
    解析の種類を記載する。以下のうちから選択する。大文字小文字は厳密でなくても良さそう。
    Gene Expression, VDJ, VDJ-T, VDJ-B, Antibody Capture, CRISPR Guide Capture, Antigen Capture

オプション引数を追加する場合は新規列の列名に引数名を入れ、各オミクス単位で引数内容を記載する。

指定できるオプション引数などの情報を以下のリンクから確認してほしい。

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

ちなみにホームディレクトリを~で記載すると認識しなかったので、/home/rchijiから書く必要があった。

cellranger multiのhelp

helpから使い方を確認しておく。

cellranger multiのhelp
cellranger multi --help
cellranger-multi
Analyze multiplexed data or combined gene expression/immune
profiling/feature barcode data

USAGE:
    cellranger multi [OPTIONS] --id <ID> --csv <CSV>

OPTIONS:
        --id <ID>
            A unique run id and output folder name [a-zA-Z0-9_-]+

        --description <TEXT>
            Sample description to embed in output files [default:
            ]

        --csv <CSV>
            Path of CSV file enumerating input libraries and
            analysis parameters

        --dry
            Do not execute the pipeline. Generate a pipeline
            invocation (.mro) file and stop

        --jobmode <MODE>
            Job manager to use. Valid options: local (default),
            sge, lsf, slurm or path to a .template file. Search
            for help on "Cluster Mode" at support.10xgenomics.com
            for more details on configuring the pipeline to use a
            compute cluster [default: local]

        --localcores <NUM>
            Set max cores the pipeline may request at one time.
            Only applies to local jobs

        --localmem <NUM>
            Set max GB the pipeline may request at one time. Only
            applies to local jobs

        --localvmem <NUM>
            Set max virtual address space in GB for the pipeline.
            Only applies to local jobs

        --mempercore <NUM>
            Reserve enough threads for each job to ensure enough
            memory will be available, assuming each core on your
            cluster has at least this much memory available. Only
            applies to cluster jobmodes

        --maxjobs <NUM>
            Set max jobs submitted to cluster at one time. Only
            applies to cluster jobmodes

        --jobinterval <NUM>
            Set delay between submitting jobs to cluster, in ms.
            Only applies to cluster jobmodes

        --overrides <PATH>
            The path to a JSON file that specifies stage-level
            overrides for cores and memory. Finer-grained than
            --localcores, --mempercore and --localmem. Consult
            https://support.10xgenomics.com/ for an example
            override file

        --uiport <PORT>
            Serve web UI at http://localhost:PORT

        --disable-ui
            Do not serve the web UI

        --noexit
            Keep web UI running after pipestance completes or
            fails

        --nopreflight
            Skip preflight checks

    -h, --help
            Print help information

cellranger multi [OPTIONS] --id <ID> --csv <CSV>が基本の形となる。

  • --id: 好きなサンプルIDを入れる。この名前のフォルダが作成され、そこに出力が保存される。既に同じ名前のフォルダがあるとエラーが出るので注意。英数字とハイフン、アンダーバーのみ使用可能。
  • --csv: 作成済みのmulti configファイルへのパスを記載する。

cellranger multiの実行

cellranger multi --id demo1 --csv multi_config_demo1.csv


開始直後の画面

3時間40分ぐらいで終了

終了画面

cellranger multiの出力

cellranger countと異なりmultiの出力はフォルダ構造がややこしくなっている。参照

web summaryは demo1/outs/per_sample_outs/demo1/web_summary.html にある。

左メニューにCellsLibrary、上部メニューにGene ExpressionAntibodyがあり、それぞれの結果が確認できる。

Gene expression


Cells - Gene expression


Library - Gene expression

Cells - Gene expression


Cells - Antibody


Library - Antibody

特にアラートやエラーもなく完了していた。

Experimental Designからは実験のデザインやmulti configの内容などが記録されている。

Experimental Design


デモデータ2

10X Genomicsが提供しているDatasetsの中で、遺伝子発現/表面抗原抗体/BCRレパトアを1細胞レベルで行っているデータを使用した。
Integrated GEX, TotalSeq™-C, and BCR Analysis of Chromium Connect Generated Library from 10k Human PBMCs
https://www.10xgenomics.com/jp/resources/datasets/integrated-gex-totalseq-c-and-bcr-analysis-of-chromium-connect-generated-library-from-10k-human-pbmcs-2-standard

83.7GBもあるfastqファイルをローカルにダウンロード。

# fastqファイルのダウンロード
wget https://s3-us-west-2.amazonaws.com/10x.files/samples/cell-vdj/6.1.2/10k_PBMC_TBNK_connect_Multiplex/10k_PBMC_TBNK_connect_Multiplex_fastqs.tar

# 解凍
tar -xvf 10k_PBMC_TBNK_connect_Multiplex_fastqs.tar

このデータも解析ごとにfastqファイルのフォルダわけがされていたのだが、遺伝子発現のデータは2つのフォルダに分かれていた。

10k_PBMC_TBNK_connect_GEX_1と10k_PBMC_TBNK_connect_GEX_2で異なるSample Nameになっていた。

Antibody reference

TotalSeq-CのTBNKパネルを使ったとのこと。biolegendの製品ページからreferenceを確認してみる。
https://www.biolegend.com/ja-jp/products/totalseq-c-human-tbnk-cocktail-19094?GroupID=GROUP28

biolegend製品ページのもの

デモデータの配布ページにあるfeature referenceと見比べると、negative control用のIgGが追加されていた。こちらのものを使用することにする。

デモデータ配布ページのもの

V(D)J reference

V(D)J解析用の参照配列ファイルも10X Genomicsが公開しているので、そちらを使用する。
https://support.10xgenomics.com/single-cell-vdj/software/downloads/latest

# ダウンロード
curl -O https://cf.10xgenomics.com/supp/cell-vdj/refdata-cellranger-vdj-GRCh38-alts-ensembl-7.1.0.tar.gz

# 解凍
tar -xzvf refdata-cellranger-vdj-GRCh38-alts-ensembl-7.1.0.tar.gz

Multi Config CSV

[vdj]という項目を追加し、vdj解析用のreferenceへのパスを記載した。[libraries]のfeature_types列はVDJ-Bと記載してみた。

cellranger multiの実行

cellranger multi --id demo2 --csv multi_config_demo2.csv


開始直後の画面

4時間20分程で終了。

終了画面

web summaryを見ても特にアラートやエラーは無かった。

Gene expression


Cells - Gene expression


Library - Gene expression

VDJ


Cells - VDJ


Library - VDJ

Antibody


Cells - Antibody


Library - Antibody

Experimental Design

10X Genomicsが提示するPCの最低スペックを満たしていないが、特に問題なく実行できた。

Discussion