发育轨迹分析是单细胞分析中比较常见的一种分析,旨在预测出细胞类型之间的发育关系,构建细胞的发育轨迹。常见的发育轨迹分析有很多,例如monocle2/3,RNA velocity等。今天小编就来简单介绍一下我们在日常分析中的RNA velocity流程。大家如果想了解RNA velocity的原理,也可以参考一些网上的文章(RNA velocity of single cells文献学习)
话不多说,我们直接进入正题吧~
1. 软件安装
<pre data-tool="mdnice编辑器" style="margin: 10px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;">`# 在安装之前需要安装以下依赖包:
conda install numpy scipy cython numba matplotlib scikit-learn h5py click
pip install pysam
安装velocyto
velocyto依赖python3,但是我目前都是python2,所以需要安装python3
conda install -c bioconda velocyto.py` </pre>
conda安装velocyto的命令是怎么找到的,请参考conda安装软件指南,或者参考velocyto官网安装指南
但是在安装的过程中总出现以下的报错信息: 图片 主要是环境配置不成功,使用到的python是2.17版本,但是我查到python版本时候,又确定是3.9版本的 图片 图片随后我又查了一些资料:conda中python环境的配置,发现安装软件的时候可以在命令后添加python=2/3
,用这种方式来调用python的版本,随后我也这样尝试了一下,果不其然,这样操作以后就可以正常安装了~
conda install -c bioconda velocyto.py python=3
图片
检查软件是否安装成功which velocyto
2. 运行流程
2.1 文件格式转换(bam to loom)
<pre data-tool="mdnice编辑器" style="margin: 10px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;">`velocyto run -u Gene -o ./ -e KO -v /XXX/06.RNA_velosity/input/i1.KO.bam /XXX/Database/refdata-gex-mm10-2020-A/genes/genes.gtf
参数信息
-u 用于保证UMI的唯一性,如果设置为Gene,则将GX
标签将附加到UB
标签
-o 结果目录,./表示在讲结果保存到当前目录
-e 设置的样本名称,将在loom文件中对每个记录添加上该信息,尽量短一些
-v 是否显示详细信息,-v (only warnings) -vv (warnings and info) -vvv (warnings, info and debug)
默认数据bam文件和gtf文件
如果想了解更多参数的信息,可以输出"velocyto run --help"进行查看` </pre>
2.2 合并loom文件(可选)
当多个样本在一起做分群的时候,需要执行这一步,如果是单个样本的RNA velocity则不需要进行loom文件的合并。
合并方法很简单,需要准备两个文件(1.python脚本;2.所需loom文件的路径),然后运行一个python脚本即可。
Tips:需要注意的是velocyto依赖python3,所以需要调用python3所在的路径
1. python脚本(merge.py)内容如下:
<pre data-tool="mdnice编辑器" style="margin: 10px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;">`import loompy
files = []
inf = open("loom.file.list", "r")
for line in inf:
files.append(line.strip())
inf.close()
loompy.combine(files, "merged.loom", key="Accession")` </pre>
2. 所需loom文件的路径所需loom文件的路径都存放在loom.file.list文件中(如下图,每一行是一个loom文件的绝对路径)
图片最后把这两个文件放在用一个目录下运行即可:
<pre data-tool="mdnice编辑器" style="margin: 10px 0px; padding: 0px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;">/xxx/python merge.py
</pre>
运行完成后就可以得到名为merged.loom
的loom文件
运行完这两步以后,我们的准备文件就都得到啦。我们下期在具体讲讲在R中运行RNA velocity的流程~
网友评论