使用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

参考:

  1. 单细胞分析上游-Cellranger分析单细胞数据
  2. cellranger安装以及使用

下载与解压

  1. 进入 cellranger官网 注册,获得下载地址
    会获得curl的链接,命令行运行即可下载。

  2. (可选)利用md5检验文件完整性

$ md5sum cellranger-8.0.0.tar.gz
  1. 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文件。

具体步骤:

  1. vim编辑器打开.bashrc文件:vim .bashrc
  2. 在.bashrc文件最后加入:export PATH=自己的路径:$PATH
  3. source .bashrc立即生效:source .bashrc

附:Cell Ranger主要功能

Cell ranger 的用于基因表达分析 4 个主要功能:

  1. cellranger mkfastq : 它借鉴了 Illumina 的 bcl2fastq ,可以将一个或多个 lane 中的混样测序样本按照 index 标签生成样本对应的 fastq 文件。

  2. cellranger count :利用 mkfastq 生成的 fq 文件,进行比对(基于 STAR)、过滤、UMI 计数。利用细胞的 barcode 生成 gene-barcode 矩阵,然后进行样本分群、基因表达分析。

  3. cellranger aggr :接受 cellranger count 的输出数据,将同一组的不同测序样本的表达矩阵整合在一起,比如 tumor 组原来有 4 个样本,PBMC 组有两个样本,现在可以使用 aggr 生成最后的 tumor 和 PBMC 两个矩阵,并且进行标准化去掉测序深度的影响。

  4. 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 输入文件
posted @ 2024-06-17 08:54  kingwzun  阅读(1188)  评论(0编辑  收藏  举报