您现在看到的是单细胞转录组高级分析的部分内容(持更中)...在阅读全文之前,推荐您先掌握单细胞转录组标准分析流程。
单细胞转录组标准分析
单细胞转录组高级分析
合集完整内容查看方式:
1. 合集付费:在公众号首页找到“单细胞转录组(高级分析)”合集标签,点击进入;或在CCtalk平台搜索《单细胞转录组分析流程-高级分析》,即可找到本合集全部已更新内容。
2. 单篇付费:在公众号首页找到“单细胞测序”合集标签,点击进入,即可找到单篇阅读入口。
为了对基因表达进行定量,需要将测序数据与参考基因组比对,通常需要将比对工具STAR、HISAT2和TopHat2等,然后与RSEM、htseq-count和featureCounts等表达量化软件配合使用。另外,一些工具整合了比对和定量过程,比如CellRanger管道就是10 x Genomics单细胞转录组数据官方软件。
Cell Ranger is a set of analysis pipelines that process Chromium single cell 3’ RNA-seq output to align reads, generate gene-cell matrices and perform clustering and gene expression analysis.
戳这里回顾单细胞实战-拟南芥根(1)-用CellRanger进行上游分析
简而言之就是我们可以去到cellranger官网下载最新版本的cellranger:
https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger
根据需求下载Cell Ranger版本,可使用curl或者wget命令下载,解压,添加到环境中
mkdir cellranger7.1.0
wget -O cellranger-7.1.0.tar.gz "https://cf.10xgenomics.com/releases/cell-exp/cellranger-7.1.0.tar.gz?Expires=1693942096&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZi4xMHhnZW5vbWljcy5jb20vcmVsZWFzZXMvY2VsbC1leHAvY2VsbHJhbmdlci03LjEuMC50YXIuZ3oiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2OTM5NDIwOTZ9fX1dfQ__&Signature=UPTRxjjW6HB3tDGVD0zNXE8qmk-Ke6NZUPSgeIOmfKTY932wCFtbVH-JhAOoIenVElamX4600bsKzkjyqaEWGOpexZ6LdbpQ20I5obZnFubcDUoxtpKh5z~ECZZQetnNJGRc23qSUr-FtnO44v3sIWu6v4EC3jaiSKRMUUE7g0xGbBOSm8JjlYDk5gNEf-B9-cft-xu8K8cRdbhUBzkOR5egx~QMygJ3A8GHiOWfZh2m0wVByz9ImDKgNji1jzvjA68viJWzUR~rxR3Emf7Nb1gKqo8ECM650uA5qb1MSs1bduDunbi9xDlFG00dhNiJba5VCrF1gXnAlts6lO7zXg__&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA"
安装包下载完之后直接使用tar命令进行解压即可。
tar -xzvf cellranger-7.1.0.tar.gz
直接使用
/cellranger-7.1.0/cellranger -h
如果需要选择之前的版本可点击右下方的红框,选择想要的版本(如下图)
这里需要注意一下最新版本和旧版本的差异单细胞实战-使用不同版本的cellranger会对结果造成怎样的差异?
如果想使用公共数据,之前分享过原始数据下载的方式,以及如何对文件进行批量改名以符合cellranger的要求:单细胞实战-EgdeTurbo下载CNCB数据&shell脚本优雅对文件批量命名 。
Cell Ranger主要的功能有:
拆分数据 mkfastq、细胞定量 count、定量组合 aggr、调参reanalyze 还有一些小工具比如mkref、mkgtf、upload、sitecheck、mat2csv、vdj、mkvdjref、testrun。
针对定量功能count,需要使用cellranger的mkref功能对研究物种构建参考基因组索引。当然,如果研究的是人/小鼠,这个文件我们可以直接从官网获得:
wget https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2020-A.tar.gz
wget https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-and-mm10-2020-A.tar.gz
对于模式植物拟南芥,可以看之前的分享。单细胞实战-拟南芥根(1)-用CellRanger进行上游分析
首先可以从数据库中下载参考基因组和注释文件,比如:
wget https://ftp.ensemblgenomes.ebi.ac.uk/pub/plants/release-56/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gz
wget https://ftp.ensemblgenomes.ebi.ac.uk/pub/plants/release-56/gtf/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.56.gtf.gz
gzip -d *.gz
自建参考基因组代码参考:
/cellranger-7.1.0/cellranger mkref \
--genome=TAIR10 \
--nthreads=10 \
--fasta=Arabidopsis_thaliana.TAIR10.dna.toplevel.fa \
--genes=Arabidopsis_thaliana.TAIR10.56.gtf
进行下游分析的时候,如果想对表达线粒体基因的细胞进行过滤,可以像人/小鼠一样使用PercentageFeatureSet函数计算百分比,因为我们很清楚拟南芥的线粒体基因是如何命名的,只需要在mt_pattern这里设置一下就好。
PRO[["percent.mt"]] <- PercentageFeatureSet(PRO, pattern = mt_pattern)
但是对于非模式物种,为了方便下游分析,在使用mkref功能前需要先对注释文件进行一些小修改,将线粒体/叶绿体的基因做上标记。为了实现这样的功能,首先回顾一下注释文件的格式。
GFF(General Feature Format)和GTF(Gene Transfer Format)是两种常见的基因组注释文件格式,它们都用于描述基因组的结构和功能信息,包括基因、转录本、外显子、内含子等。
GFF文件每一行代表一个基因组特征(feature)。每个特征由九个字段组成,字段之间使用制表符(tab)进行分隔。这些字段包括序列名称、源、特征类型、起始位置、终止位置、分数、方向、相位和注释信息:
seqid, 通常是染色体编号,chr1A source,表示信息的来源 feature,表示类型,包括gene,mrna,exon,CDs等 起始位置 终止位置 score, 软件提供的统计值;一般是对基因结构做比对时的E-value和ab initio gene prediction features时的P-value strand, 代表正负链的信息:“+”表示正链,“-”表示负链,“.”表示不需要指定正负链,?表示不清楚正负链的信息。 phase,当第三列是CDS时,需要指定翻译时开始的位置,取值范围有0,1,2。对于编码蛋白质的CDS来说,用0,1或2 指定下一个密码子开始的位置。分别表示到达下一个密码子需要跳过的碱基个数。对于其它属性,则用点(.)代替。 attributes, 表示属性,必须有gene_id和transcript_id这两个属性, 多个属性用分号分隔,例如“ID=some-id;Name=some-name;Parent=some-parent”,请注意这个Parent属性,由于基因结构比较复杂,一个序列元件(例如:exon)可能属于另外一个基因(例如:gene),这个Parent属性的意思就是该序列元件在哪个序列元件上面,如果一个序列元件没有Parent属性,说明他的父元件就是scaffold或者chromosome用0,1或2。
GTF文件格式与GFF类似,也是使用制表符进行字段分隔。它的字段包括序列名称、源、特征类型、起始位置、终止位置、分数、方向、相位和注释信息。与GFF不同的是,GTF文件格式在第九个字段中使用了键值对(key-value)的形式来提供更详细的注释信息,并且必须以gene_id以及transcript_id开头:
gene_id "geneA";transcript_id "geneA.1";database_id "0012";modified_by "Damian";duplicates 0;
既然是键值对的形式,那么我们可以很方便的使用Python脚本对其进行分割、修改。以水稻为例,只要第一列为Mt或Pt(代表线粒体/叶绿体),我们就将gene_id前加上Mt或Pt的前缀,这样一眼就能看出这个基因是否为线粒体或叶绿体。add_mt_pt_marker.py脚本可在文末获得。
python add_mt_pt_marker.py Oryza_sativa.IRGSP-1.0.56.gtf Oryza_sativa.IRGSP-1.0.56.addmarker.gtf
修改之后:然后我们再用这个修改后的gtf文件构建cellranger所需要的东西。