使用Cell ranger分析单细胞数据(单细胞分析上游)( fastq->10x文件 / h5ad文件 )
概述
获取single-cell RNA-Seq数据时有可能获得的是fastq文件,如下展示,fastq文件是单细胞测序的原始文件,如果需要10x文件/h5ad文件,需要通过Cell ranger程序的cellranger-count方法进行处理。
HRR1221999文件夹:
-- HRR1221999_f1.fq.gz
-- HRR1221999_f2.fq.gz
-- HRR1221999_sta.xml
安装Cell Ranger
参考:
下载与解压
-
进入 cellranger官网 注册,获得下载地址
会获得curl的链接,命令行运行即可下载。 -
(可选)利用md5检验文件完整性
$ md5sum cellranger-8.0.0.tar.gz
- cellanger安装:使用tar命令解压完就已经安装完毕。
#解压
tar -zxvf cellranger-8.0.0.tar.gz
配置环境变量
虽然安装完毕,但是现在要运行cellranger的话需要在终端输入cellranger的整个路径。
将cellranger的路径加入$PATH,这样只需要在终端输入cellranger就可以执行命令。
将cellranger加入 $PATH有两种方式,分为临时和永久。
临时加载环境变量
临时环境变量仅临时有用,如果电脑重启后就实效了,得重新加入路径。
方法:将路径加入$PATH:
#export PATH=自己的路径:$PATH
export PATH=/home/xxxx/cellranger-8.0.0:$PATH
现在终端输入cellranger就可以执行命令了。
永久加载环境变量
方法:自动执行这个命令,需要将“export PATH=自己的路径:$PATH”这个命令加入.bashrc文件。
具体步骤:
- vim编辑器打开.bashrc文件:
vim .bashrc
- 在.bashrc文件最后加入:
export PATH=自己的路径:$PATH
- source .bashrc立即生效:
source .bashrc
附:Cell Ranger主要功能
Cell ranger 的用于基因表达分析 4 个主要功能:
-
cellranger mkfastq : 它借鉴了 Illumina 的 bcl2fastq ,可以将一个或多个 lane 中的混样测序样本按照 index 标签生成样本对应的 fastq 文件。
-
cellranger count :利用 mkfastq 生成的 fq 文件,进行比对(基于 STAR)、过滤、UMI 计数。利用细胞的 barcode 生成 gene-barcode 矩阵,然后进行样本分群、基因表达分析。
-
cellranger aggr :接受 cellranger count 的输出数据,将同一组的不同测序样本的表达矩阵整合在一起,比如 tumor 组原来有 4 个样本,PBMC 组有两个样本,现在可以使用 aggr 生成最后的 tumor 和 PBMC 两个矩阵,并且进行标准化去掉测序深度的影响。
-
cellranger reanalyze :接受 cellranger count 或 cellranger aggr 生成的 gene-barcode 矩阵,使用不同的参数进行降维、聚类。
结果主要是包含有细胞信息的 BAM, MEX, CSV, HDF5 和 HTML 文件。
使用cellranger count
准备
修改文件名称
cellranger的输入文件格式是fq格式,并且文件的命名也是有要求,文件命名格式如下:
[Sample Name]_S1_L00[Lane Number]_[Read Type]_001.fastq.gz
- Read_Type 是什么:
I1: Sample index read (可选)
R1: Read 1
R2: Read 2
比如说:
简单版本(一般看着就行):
|-- test_sample1
| |-- test_sample1_S1_L001_I1_001.fastq.gz
| |-- test_sample1_S1_L001_I2_001.fastq.gz
| |-- test_sample1_S1_L001_R1_001.fastq.gz
| |-- test_sample1_S1_L001_R2_001.fastq.gz
复杂版本:
|-- HFLC5BBXX
|-- test_sample1
| |-- test_sample1_S1_L001_I1_001.fastq.gz
| |-- test_sample1_S1_L001_I2_001.fastq.gz
| |-- test_sample1_S1_L001_R1_001.fastq.gz
| |-- test_sample1_S1_L001_R2_001.fastq.gz
| |-- test_sample1_S1_L002_I1_001.fastq.gz
| |-- test_sample1_S1_L002_I2_001.fastq.gz
| |-- test_sample1_S1_L002_R1_001.fastq.gz
| |-- test_sample1_S1_L002_R2_001.fastq.gz
| |-- test_sample1_S1_L003_I1_001.fastq.gz
| |-- test_sample1_S1_L003_I2_001.fastq.gz
| |-- test_sample1_S1_L003_R1_001.fastq.gz
| `-- test_sample1_S1_L003_R2_001.fastq.gz
|-- test_sample2
| |-- test_sample2_S2_L001_I1_001.fastq.gz
| |-- test_sample2_S2_L001_I2_001.fastq.gz
| |-- test_sample2_S2_L001_R1_001.fastq.gz
| |-- test_sample2_S2_L001_R2_001.fastq.gz
| |-- test_sample2_S2_L002_I1_001.fastq.gz
| |-- test_sample2_S2_L002_I2_001.fastq.gz
| |-- test_sample2_S2_L002_R1_001.fastq.gz
| |-- test_sample2_S2_L002_R2_001.fastq.gz
| |-- test_sample2_S2_L003_I1_001.fastq.gz
| |-- test_sample2_S2_L003_I2_001.fastq.gz
| |-- test_sample2_S2_L003_R1_001.fastq.gz
| `-- test_sample2_S2_L003_R2_001.fastq.gz
有疑惑看官方教程吧
下载参考序列目录transcriptome
就是运行是transcriptome参数所需要的文件。官方提供了两个,一个适用于人类,一个适用于小老鼠。
- human GRCH38 (大小11G,这个文件不仅有fa和gtf文件,而且star的指引文件都构建好了。而且10x公司针对自己的产品做了部分优化)
wget https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2020-A.tar.gz
mouse mm10 大于10G大小
curl -O https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-mm10-2020-A.tar.gz
如果是其他物种,该文章提到如何自制。
运行
cellranger count --id=run_count_1kscdatas \ #输出文件夹的名字
--fastqs=/mnt/home/user.name/yard/run_cellranger_count/scdata_1k_v3_fastqs \ #测序数据的路径
--sample=scdata_1k_v3 \ #指定sample的配套文件前缀
--transcriptome=/mnt/home/user.name/yard/run_cellranger_count/refdata-gex-GRCh38-2020-A #参考基因组路径
常见选项参数:
--id <ID>
:
--fastqs:测序数据目录
--transcriptome:参考序列目录
--no-bam:不生成 bam 文件,节约存储
--nosecondary:不要次优的比对
--r1-length:截取 reads1
--r2-length:截取 reads2
--localcores:CPU 核心数
--localmem:内存大小
⚠️Tips:--id参数不能写绝对路径,因此如果需要输出到指定路径下,需要先通过cd到输出结果路径。
输出结果
.outs
├── analysis【数据分析文件夹】
│ ├── clustering【聚类,图聚类和k-means聚类】
│ ├── diffexp【差异分析】
│ ├── pca【主成分分析线性降维】
│ └── tsne【非线性降维信息】
├── cloupe.cloupe【Loupe Cell Browser 输入文件】
├── filtered_feature_bc_matrix【很重要,Seurat, Monocle的输入文件】
│ ├── barcodes.tsv.gz
│ ├── features.tsv.gz
│ └── matrix.mtx.gz
├── filtered_feature_bc_matrix.h5【过滤掉的barcode信息HDF5 format】
├── metrics_summary.csv【CSV format数据摘要】
├── molecule_info.h5【aggregate的时候会用到的文件】
├── raw_feature_bc_matrix【原始barcode信息】
│ ├── barcodes.tsv.gz
│ ├── features.tsv.gz
│ └── matrix.mtx.gz
├── possorted_genome_bam.bam【比对文件】
├── possorted_genome_bam.bam.bai【索引文件】
├── raw_feature_bc_matrix.h5【原始barcode信息HDF5 format】
├── web_summary.html【网页简版报告以及可视化】
└── *_gene_bar.csv_temp【过程文件】
cell ranger count 分析结果文件
文件名字 | 描述 |
---|---|
web_summary.html | 网页简版报告以及可视化 |
metrics_summary.csv | CSV format 数据摘要 |
possorted_genome_bam.bam | 比对排序后的bam文件 |
possorted_genome_bam.bam.bai | 比对排序后的bam文件索引 |
filtered_gene_bc_matrices | 过滤掉的 barcode 信息的结果文件,后面Seurat, Monocle 的输入文件 |
filtered_gene_bc_matrices_h5.h5 | 过滤掉的 barcode 信息 HDF5 format |
raw_gene_bc_matrices | 原始 barcode 信息结果文件夹 |
raw_gene_bc_matrices_h5.h5 | 原始 barcode 信息 HDF5 format |
analysis | 数据分析文件夹,里面包括聚类,差异分析,pca 以及 tsne |
molecule_info.h5 | cellranger aggr 整合多样本时用到 |
cloupe.cloupe | Loupe Browser 输入文件 |