前回の記事で、scVeloを用いたRNA Velocity解析の基本を学びました。しかしながら、NCBI SRAなどの公共データベースのfastqファイルからどのようにRNA Velocity解析をやるのかイメージがつきづらいかと思います。この記事では、cellrangerから出力されたBAMファイルをvelocytoに読み込ませてloomファイルを作成して、RNA Velocity解析するためのファイルを準備する方法を学びます。
これによって好きな公共のシングルセルデータを使ってRNA Velocity解析ができるようになります。ぜひ学んでいきましょう。
macOS Monterey (12.4), Quad-Core Intel Core i7, Memory 32GB, scvelo 0.3.3
公共データを用いたSingle Cell RNA-seq解析に関する初心者向け技術書を販売中
プログラミング初心者でも始められるわかりやすい解説!
RとSeuratで始めるSingle Cell RNA-seq解析!
公共データを用いたシングルセル ダイナミクス解析に関する初心者向け技術書を販売中
シングルセルデータの高度な解析であるTrajectory解析、RNA Velocity解析、空間トランスクリプトーム解析が環境構築方法から詳しく解説されています!
Velocytoとloomファイルについて
Velocyto
VelocytoはscVeloと同じくシングルセルRNAシーケンスデータからRNA Velocityを推定するためのツールです。RNA Velocityを行えるツールとして最初登場しましたが、近年は後続のscVeloで解析するのが主流となっています。
https://github.com/velocyto-team
しかし、だからといってVelocytoを使わなくてよいわけではありません。scVeloを使うにはloomファイルが必要になります。
loomファイル
loomファイルは、scVeloやVelocytoでRNA Velocity解析に必要な情報を効率的に格納するために設計されています。
具体的には、以下の情報が含まれています。
- 遺伝子発現量: 各細胞における各遺伝子の発現量
- スプライシング情報: 各遺伝子について、スプライシングされていないRNAとスプライシングされたRNAのリードカウント
- 細胞情報: 各細胞のメタデータ(細胞種、クラスタ、実験条件など)
- 遺伝子情報: 各遺伝子のメタデータ(遺伝子名、遺伝子IDなど)
loomファイルは、HDF5と呼ばれる階層的なデータ形式に基づいており、大規模なデータを効率的に保存・読み込みすることができます。また、メタデータを豊富に含めることができるため、データの解釈や解析に役立ちます。
BAMファイルからのVelocity解析のワークフロー
fastqファイルからRNA Velocity解析を行える状態にするまでいくつかワークフローを動かす必要があります。10X genomics 社がそのワークフローの図を公開してくれています。
![](https://labo-code.com/wp-content/uploads/2024/12/Screenshot-2024-12-30-at-15.41.40-1024x434.png)
より引用
大まかな流れを言うと、FASTQファイルをcellrangerで処理した後にmatrixファイルを得た後、velocyteによってloomファイルを得ます。
こちらはloomファイルを得るときに必要なvelocytoのコマンド例です。
repeats="/path/to/repeats/mm10_rmsk.gtf"
transcriptome="/path/to/annoation/file/gencode.vM25.annotation.gtf"
cellranger_output="/path/to/cellranger/output/"
velocyto run10x -m $repeats \\
$cellranger_output \\
$transcriptome
こちらをみると、repeats, transcriptome, cellranger_outputの3つが必要なことがわかります。
repeats
: リピート配列の注釈ファイル。
transcriptome
: 遺伝子アノテーションファイル。遺伝子アノテーションファイルには、遺伝子の位置、エクソン、イントロンなどの情報が含まれています。
cellranger_output
: Cell Rangerの出力ディレクトリ。Cell Rangerは、10x Genomicsが提供するシングルセルRNAシーケンスデータの解析パイプラインです。このディレクトリには、ゲノムにマッピングされたリード情報を含むBAMファイルが含まれています。
リピート配列の取得
リピート配列は、ゲノム中に繰り返し出現する配列で、RNA Velocityの計算に影響を与える可能性があるため、マスクする必要があります(必須ではありません)。UCSCゲノムブラウザからGTFとしてダウンロードしてくる必要があります。
こちらのvelocytoのハンズオンからUCSCゲノムブラウザに入れます。画像赤枠をクリックしてください。
https://velocyto.org/velocyto.py/tutorial/cli.html#preparation
![](https://labo-code.com/wp-content/uploads/2024/12/Screenshot-2024-12-30-at-16.22.41-1024x575.png)
アクセスが完了したら、
- Genomeを「Human」
- Output formatを「GTF ~~」
- Output filenameを「human_rmsk.gtf」
として「Get output」として保存してください。
![](https://labo-code.com/wp-content/uploads/2024/12/Screenshot-2024-12-30-at-16.24.59-1024x491.png)
これでリピート配列が取得できました。
遺伝子アノテーションファイルの取得
遺伝子アノテーションファイルは GENCODE または Ensemblからダウンロードしてくるのが基本となります。今回は下記コマンドで取得してください。
wget <https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2020-A.tar.gz>
tar -zxvf refdata-gex-GRCh38-2020-A.tar.gz
サンプルfastqファイルの取得
今回は10X Gemomics社が用意したサンプルファイルを使います。ご自身で公共データベースからダウンロードしてきたものを使ってもらっても構いません。(その場合、レファレンス配列はHumanでやってることに気をつけてください)
wget <https://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_1k_v3/pbmc_1k_v3_fastqs.tar>
tar -xvf pbmc_1k_v3_fastqs.tar
velocytoを用いたloomファイルの作成手順
cellrangerでBAMファイルを得る
まずはcellrangerでBAMファイルを得ていきます。
cellranger count \\
--id=run_count_1kpbmcs \\
--fastqs=pbmc_1k_v3_fastqs \\
--sample=pbmc_1k_v3 \\
--transcriptome=refdata-gex-GRCh38-2020-A \\
--create-bam true
Cellrangerの使い方はこちらの記事で詳しく解説しておりますので、こちらでの詳細な解説は割愛します。
レファレンス配列は下記コマンドでダウンロードしてます。
curl -O <https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2020-A.tar.gz>
解凍を忘れずに行ってください。
tar -xzvf refdata-gex-GRCh38-2020-A.tar.gz
CellrangerのこちらのDocker imageでやりました。
https://hub.docker.com/r/litd/docker-cellranger
BAMファイルができていることを確認しました。
loomファイルの作成
それではvelocyto使ってloomファイルを作っていきます。
まずはvelocytoのインストールしていきます。用いたCell RangerのDocker imageがCentOSだったため、いくつかライブラリを追加でインストールしました。また開発版のvelocytoをインストールしました。pip install velocyto をしてみてもし入らなかった場合に、以下の手順を参考にしてインストールしてみてください。
pip install numpy Cython
git clone <https://github.com/velocyto-team/velocyto.py.git>
cd velocyto.py
yum install gcc
yum install python3-devel
その後、velocyto run10x コマンドを使ってloomファイルを作成して完了です。
velocyto run10x \
-m human_rmsk.gtf \
run_count_1kpbmcs/outs \
refdata-gex-GRCh38-2020-A/genes/genes.gtf
最後に
いかがだったでしょうか。Trajectory解析はそこまで解析方法は難しくないですが、解釈にいくつか難しさが存在するかもしれません。じっくりと各手法の意味を理解することが重要です。今後もしっかり学んでいきましょう。
公共データを用いたSingle Cell RNA-seq解析に関する初心者向け技術書を販売中
プログラミング初心者でも始められるわかりやすい解説!
RとSeuratで始めるSingle Cell RNA-seq解析!
公共データを用いたシングルセル ダイナミクス解析に関する初心者向け技術書を販売中
シングルセルデータの高度な解析であるTrajectory解析、RNA Velocity解析、空間トランスクリプトーム解析が環境構築方法から詳しく解説されています!