数据来源:10x genomics的clean data Fastq文件
目的:想要获得Bam文件
Fastq文件命名格式(在导入Cell Ranger前需要保证Fastq文件格式正确)
[Sample Name]S1_L00[Lane Number][Read Type]_001.fastq.gz
Where Read Type is one of:
I1: Sample index read (optional)
R1: Read 1
R2: Read 2
image利用illumina边合成变测序(sequencing by synthesis ,SBS),每一个cycle都是一个碱基,因此用cycle数可以表示测序长度。
1-26个cycle(测序得到了26个碱基):16bp Barcode+10bp UMI;
27-34cycle(得到了8个碱基):i7的sample index
35-132个cycle(得到了98个碱基):转录本reads(转录本read前端有20多bp质量是存在波动的,因为5’端的前几个碱基为随机引物序列,存在一定的偏好性)
-
i7 index:加到Illumina测序接头上的,保证多个测序文库可以在同一个flow-cell上或者同一个lane上进行混合测序
-
Barcode:区分GEM(也就是细胞标签)
-
UMI:mRNA标签,可用于校正PCR扩增导致的偏差。
-
reads 1 :主要用来定量(barcode、UMI以及reads的来源)
-
reads 2 :与基因组比对
-
PolyT :真核生物
步骤
传输文件
使用scp传输clean data的Fastq文件
Fastq文件质控
/etc/profile 是global的路径,~/bashrc是local的路径
cd到clean data所在目录
963 cd clean_data/
965 cd control/
967 find /home/user/dell/data/210131LXY/clean_data/control -name "*R1*.gz" > control_id_1.txt
970 find /home/user/dell/data/210131LXY/clean_data/control -name "*R2*.gz" > control_id_2.txt
976 cat control_id_1.txt control_id_2.txt > control_id_all.txt
978 cat control_id_all.txt | xargs fastqc -t 20 -o /home/user/myh/data/210131LXY/clean_data/control/qcreports
#qc结果最好单独放一个文件夹,不然比较乱
多个样本的结果可以用multiqc整合
下载MultiQC
MultiQC解读
cd到结果文件所在目录,直接multiqc .就可以
生成了两个文件,1个html报告和1个multiqc_data的文件夹,前者直接网页打开就可以查看,后者包含一些数据基本的统计信息和日志文档
下载Cell ranger
#理论上也可以下载到local,路径安装到bashrc
wget -O cellranger-6.1.2.tar.gz "https://cf.10xgenomics.com/releases/cell-exp/cellranger-6.1.2.tar.gz?Expires=1642636604&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZi4xMHhnZW5vbWljcy5jb20vcmVsZWFzZXMvY2VsbC1leHAvY2VsbHJhbmdlci02LjEuMi50YXIuZ3oiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NDI2MzY2MDR9fX1dfQ__&Signature=gicB52ZuWBO1dUt7grXA2rgnwIMPApU6SBPNg0uZy0HJbhLxquNn-U8P5R372x-v1~U9To-YUWvOLQFMCm85hC1xhWIjgynhakdJp~yJ9tB64OLKZerDgYH9WIbk7xE~17U5NLhKT02eFJFfzbdg7Mm-05fFZbq2Vcfnzb3c3kHLVATPkZeHI-5Koc~qh9UqLXvmNlYsigpDPCUs1gBIj2zWLBzDbPu3gGiKvYRjZNRr1y-WM~FZaVrMDBdkBtFk7mlgWfoZ1iWZpaFJceZacovSurb9Xk-P3tvMblbfQ4r4Nzq26SxLo-Cco8T70BmEkf5oPcqNkKW2k-nRsMK3cA__&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA"
#官网输入邮箱等信息后得到的下载链接
tar zxvf cellranger-6.1.2.tar.gz#解压文件
添加环境变量
注意:如果之前安装过其他版本,比如我之前装过3.0,但是当前你只想用这个2.0版本,那么就需要在~/.bashrc中将新安装的2.0版本路径放在3.0的下方
因为linux是根据$PATH
自上而下调用软件的,将新安装的路径放在.bashrc下方,那么在$PATH
中显示的就是新路径在上方,它们的顺序是相反的)
cell ranger的功能
它主要包括四个主要基因表达分析流程:
-
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 and HTML文件
相关的术语
Sample:(样本)从单一来源(比如血液、组织等)提取的细胞悬液
Library:(文库)单个样本制备的10X barcode 测序文库,对应10X Chromium Controller一个run(即运行一次)的单个芯片通道
Sequencing Run / Flowcell: 测序仪主要依靠flowcell(例如Hiseq4000就有2个flowcell),每运行一次就是run一次,数据会在flowcell上产出,然后这些数据又会根据flowcell上的不同lane以及lane上不同样本的index进行区分
以上术语的错综复杂:
单独一个样本可以制备成多个文库,这样可以一次run就得到更多的细胞数量,而不用在单次run的单个文库中使用全部的样品,造成"过载"现象("过犹不及")
单独一个样本可以跨多个flowcell测序,如果它们是在一次测序过程中产出,就可以将产出的reads合并
上面说一个文库可以用多个flowcell,那么一个flowcell也可以包含多个文库,使用不同的lane上或者样本的index进行区分
同一个10x 芯片的两个channels可以说是两个文库,但是两个不同芯片的同一个channel不能说是两个文库
大体流程
主要根据sample、library、flowcell的数量来定义分析的复杂程度(由浅入深)
-
一个sample、一个library、一个flowcell
图片这是最基本的模式:只有一个生物样本,只需要制备一个文库,在一个flowcell上测序就好,通过
mkfastq
得到fastq文件后直接运行count
就好(具体见: Single-Library Analysis) -
一个library,多个flowcell
图片如果有个文库在多个flowcell上测序,可以利用 Running Multi-Library Samples 将不同测序run的reads混合
-
一个sample,多个library
图片如果一个样本有多个文库(比如做了技术重复),那么每一个文库的数据应该单独跑
cellranger count
流程,然后可以利用aggr
整合起来, Multi-Library Aggregation ;当然先将一个样本的多个文库组合在一起再分析也是可以的,就需要利用到 MRO syntax (这里先做了解) -
多个samples
图片一般不需要用aggr,对于同一个样本,直接修改fq文件名,count即可把他们合并在一起
照10x的命名规则,mchrey_S1_L001_R1_001.fastq.gz可以一直到mchrey_S1_L009_R1_001.fastq.gz,这样就可以直接合并
运行
首先testrun一下,看看能不能模拟跑下来
cellranger testrun --id=tiny
下载参考基因组,可以自建。对于人和小鼠的样本,可以直接从官网下载
别忘了解压
tar -xzvf refdata-gex-mm10-2020-A.tar.gz
开始运行
>cellranger count --id=mCherry_cellranger_results \
--transcriptome=/home/user/myh/tools/cell_ranger/mouse_ref/refdata-gex-mm10-2020-A \
--fastqs=/home/user/myh/data/210131LXY/clean_data/mCherry \
--sample=mCherry \
--nosecondary
# id指定输出文件存放目录名
# transcriptome指定与CellRanger兼容的参考基因组
# fastqs指定mkfastq或者自定义的测序文件
# sample要和fastq文件的前缀中的sample保持一致,作为软件识别的标志
# expect-cells指定复现的细胞数量,这个要和实验设计结合起来
# nosecondary 只获得表达矩阵,不进行后续的降维、聚类和可视化分析(因为后期会自行用R包去做)
--localcores:用于设置程序的核心数,不设置的话,默认是使用系统所能够使用的最多的核心
--localmem :限制cellrange使用的内存数
最好限制一下,不然别人没法用服务器了
我们服务器是16核64线程253.1G内存
关于核-线程-内存的关系
补充资料
批量处理脚本
#! /bin/bash
#mouse single cell data analysis
genomedir=/home/user/dell/tools/cell_ranger/mouse_ref/refdata-gex-mm10-2020-A
#小鼠参考基因目录
datadir=/home/user/dell/data/210131/clean_data/non_mCherry
#Fastq文件所在目录
sample=‘non_mCherry-1 non_mCherry-2 non_mCherry-3 non_mCherry-4 non_mCherry-5 non_mCherry-6 non_mCherry-7 non_mCherry-8’
#sample名
date
for s in $sample
do
date
cellranger count --id=${s}_cellranger_out --fastqs=$datadir --sample=$s --transcriptome=$genomedir --nosecondary
date
wait
done
exit
cellcount aggr(一般不需要做)
csv示例Many experiments involve generating data for multiple samples that are processed through different [Gel Bead-in Emulsion (GEM) wells] on Chromium instruments. Depending on the experimental design, these could be replicates from the same set of cells, cells from different tissues or time points from the same individual, or cells from different individuals. The cellranger
aggr
pipeline can be used to aggregate these into a single feature-barcode matrix.
cellranger aggr --id=non_mCherry --csv=/home/user/myh/raw_data/LXY/clean_data/non_mCherry/cell_ranger_aggr/non_mCherry_aggr.csv --normalize=mapped --nosecondary
因为后续要normalization,前面可以不用
cellranger aggr只能合并单细胞的矩阵,不能合并bam文件
理解cellranger的bam文件
安装samtools
直接yum install samtools
就可以了,不用像网上说的那么复杂
[myh@bogon ~]$ samtools view /home/user/myh/raw_data/LXY/clean_data/mCherry/cell_ranger_results/mCherry-1_cellranger_out/outs/possorted_genome_bam.bam | head -2
A00783:534:HK3H5DSXY:1:2604:22354:5666 0 chr1 3013056 255 11M143113N139M * 0 0 AGTGATTTATTAAAGTCCTTAAAGAAAAACAGGAAAACACAATCAAACAGGTAGAAGTCCTTACAGAAAAAGAGGAAAAAACATACAAACAGGTGATGGAAATGAACAAAACCATACTAGACCTAAAAAGGGAAGTAGACACAATAAAGA FFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFF,FFFFFFFFFFFFFFFFFFFFFFFFFFF,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,:FFFFFFFFFFFFFFFNH:i:1 HI:i:1 AS:i:144 nM:i:1 RG:Z:mCherry-1_cellranger_out:0:1:HK3H5DSXY:1 RE:A:I xf:i:0 CR:Z:AGTAACCCACTTGTGA CY:Z:FFFFFFFFFFFFFFFF CB:Z:AGTAACCCACTTGTGA-1 UR:Z:GACCTACTTGGA UY:Z:FFFFFFFFFFFF UB:Z:GACCTACTTGGA
A00783:534:HK3H5DSXY:1:1524:1425:14920 0 chr1 3038972 3 147M3S * 0 0 GAATGAATATTTTCAACTCAAAGGACAAGCAAACATCTTCAACAAGATTATTGAAGTAAACTTCCCAAATCTAAAGAAAGAGATACCCATGAACATACAATAAGCATAAAGAACTCAAAATAGACTGGACCAGAAAAGAAATTCCTCAAG :FFFFF:,,FFFF,FF,FFFF:,:F:,FF,F,F:FF:,F:FFF,FF:FFFFFF:,,,F:FFFFF:FFF,,FFF:,,FFFFF:FF,,,FF:,FFFFFF,:F:,FF,,FF,:FFF:FF,FF::F::F:,:F,,FFFFFF,FF,F::,F:,,F NH:i:2HI:i:1 AS:i:133 nM:i:6 RG:Z:mCherry-1_cellranger_out:0:1:HK3H5DSXY:1 RE:A:I xf:i:0 CR:Z:TTTCCTCGTGTATTCG CY:Z::FF,,,:F:F:FFFFF CB:Z:TTTCCTCGTGTATTCG-1 UR:Z:GCTGCTCCGTTA UY:Z:F,FFFF,F,FFF UB:Z:GCTGCTCCGTTA
所以:第10列是reads的序列文件,11列是reads的质量文件,CR是barcode ID,CY是barcode的测序质量,UR是UMI序列,UY是UMI测序质量。
把所有的待合并的bam文件放在一个文件夹中
samtools merge non_mCherry.bam /home/user/myh/raw_data/LXY/clean_data/non_mCherry/non_mcherry_bam/*.bam
等待即可
网友评论