分享

单细胞RNA速率分析(1):上游分析获得Spliced/unspliced矩阵

 TS的美梦 2023-05-05 发布于广东

详情请联系作者:

RNA速率我们计划发三个帖子,完整内容已在微信VIP群发布。入群条件(仅针对购买打包代码的小伙伴)可参考:《KS科研分享与服务》付费内容打包集合。至于我们的教程有多好,微信VIP群有多少福利,就不再介绍了,用过的都说好,也对我们的努力进行了肯定。


如上图,RNA速率有三个内容。第一是Linux中上游操作获得Spliced/unspliced矩阵,这一步没有难度,但是比较费时间,比较费内存,建议在服务器上完成。第二部分是结合第一步的分析和单细胞seurat对象,进行RNA速率计算。这里我们提供了两种方式,一种是R语言版,考虑到大多数人没有接触过python,所以R语言版本我们提供了两种方式,足够你使用。另一种就是常见的python中进行分析了。python和R语言选择其中一种即可!

RNA速率是单细胞分析中常用的一种方法,在各大单细胞相关文章中出现的频率很高。关于RNA速率的解释和原理,感兴趣的可阅读这篇原始的Nature文章:Gioele La Manno, Ruslan Soldatov, Amit Zeisel et al. RNA velocity of single cells. Nature, Published Online: 08 August 2018, doi:10.1038/s41586-018-0414-6。简单的概括就是RNA velocity可以推断细胞轨迹,和monocle等拟时分析一样,执行相似的功能。RNA velocity简单的原理理解为通过对剪接的(spliced)和未剪接的(unspliced)mRNA之间的丰度比值推断基因动力学,得出细胞状态变化, RNA 速率分析不需要指定起点和终点。RNA velocity可以结合monocle以及其他的拟时分析应用在研究中。当然,方法技术从来不是独立的,相互的使用才能达到更好的效果。

RNA velocity的分析不是从单细胞对象mRNA。也就是基因表达水平的分析,他需要分析鉴定出剪 接体和未剪接体。所以,它的分析是从FASTQ开始,实际上常常是从bam文件开始。一般单细胞cellranger流程后,在此基 础上就可进行RNA velocity分析,RNA velocity用到的软件是velocyto。RNA velocity分析的第一步是从终端开始的。

首先我们创建环境,安装软件。这些很基础,我们之前在 pyscenic和cellphonedb中已经进行过多次的演示了。
###pay attention#To run velocyto you will need python >=3.6.0 (we have no plans to support python<=3.5).#conda install numpy scipy cython numba matplotlib scikit-learn h5py click 这些包都要安装#pip install pysamconda create -n velocyto python=3.7conda activate velocytoconda install numpy scipy#新的环境服务器没有安装这些的安装上,不然安装velocyto会报错
#安装velocytopip install velocyto -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

Linux终端进行velocyte分析:velocyte有三个子命令,分别是: 
run10x - Run on 10X Chromium samples 
run_smartseq2 - Run on SmartSeq2 samples 
run_dropest - Run on DropSeq, InDrops and other techniques 
run - Run on any technique (Advanced use)
看名字就知道他们是干什么的,分别对应相关的测序方式,最后的run则是通用的,只不过需要准备好相关的文件。这里我 们以10X的数据为例,事实上其他的数据也是一样的,上游分析后得到bam文件分析不成问题。

准备分析文件:
1、参考基因组(10X官网下载,对应于你跑cellranger时候的版本,注意物种,这里的示例是人的),当然了,如果你自己 跑了cellranger流程,这个文件肯定下载了,也知道它的路径。下载地址Downloads -Software -Single Cell Gene Expression -Official 10x Genomics Support
2、repeat annotation文件,下载地址:Table Browser (ucsc.edu)物种选择对!例如这里我们选择人的:

在分析时,我们要进入的是cellranger运行结束后存储文件的目录,例如这里的./SRR19842866,里面包含outs等文件夹。(假设是公司分析的数据,我们要自己做速率分析,那么只需要拿来cellranger结果文件就可以了,不需要从FASTQ 开始)。这个分析过程比较漫长,挂起,不要死等!我这里是一个样本一个样本分开做的,因为怕内存不够,没有使用批量循环。
cd SRR19842866/velocyto run10x -m /home/ziv/biosoft/repeat/human_rmsk.gtf./ /home/ziv/biosoft/refdata-gex-GRCh38-2020-A/genes/genes.gtf
至于smartseq2、dropest等命令就不再深究学习演示了(太麻烦,也是懒的弄了),直接看看通用形的命令吧,这样不论 什么情况都可以正常的运行。命令如下:这里的possorted_genome_bam.bam这个bam文件是比对到基因组后使用samtools软件用position排序(sort)之后的 文件。对于10x的cellranger,在outs文件夹里面已经生成了这样的文件,也就是说,你只需要这个bam就可以分析了,不 需要上述的所有文件。filtered_barcodes.tsv也就是outs文件夹里面filtered文件夹下的barcodes文件(需要解压)。output_path就是输出路径!
velocyto run\-b filtered_barcodes.tsv \-o output_path \-m repeat_msk_srt.gtf possorted_genome_bam.bam mm10_annotation.gtf
多组数据合并:前面我们是单独一个个组进行分析的,那么每个样本都产生了一个loom文件,首先我们将这些文件合并。我们写一个简单的py脚本进行合并,直接在终端运行即可。
cat merge_veloom.py#import loompy#files=["SRR19842866.loom","SRR19842867.loom","SRR19842870.loom"]#loompy.combine(files, "uterus.loom", key="Accession")python merge_veloom.py
做完这些,对于RNA速率分析来讲,就算是完成一半的工作了,前面的分析倒是不难,就是比较耗费时间和耗费内存!接下来进行RNA速率估计分析,然后进行可视化就是我们在文章中常见的形式了。

其实RNA velocity分析本来就是一个基于python的分析软件,后续的动力学评估分析和可视化都是在python进行的,当然 了,也有小伙伴习惯用R,R也有对应的R包,但是分析可视化就比较单一了。不过这里,我们还是提供两种方式的分析可视化,希望对你的研究有帮助。当然了,后续的分析也是基于我们已经构建好了单细胞对象,并进行了细胞群的注释,毕竟你 的速率是要看在细胞中的变化。

分析可视化见后续帖子,觉得分享有用的点个赞,分享下再走呗!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多