官网教程:https://dynverse.org/users/2-quick_start/
简书教程:https://www.jianshu.com/p/6ce2590fda03
一、软件及环境安装:
1、dyno安装:使用devtools,在GitHub库中安装即可,若因为网络问题无法安装,可以参考本地安装:简书教程:https://www.jianshu.com/p/38c2c322adde
2、docker及镜像安装:有关docker的安装可自行百度,dyno需要用到的docker镜像地址:https://github.com/dynverse/dynmethods#list-of-included-methods
3、镜像安装的步骤:
1)由于直接使用docker pull可能会非常缓慢,因此需要添加一个阿里云加速源,所以要先注册一个阿里云账号,方法参考简书链接:https://www.jianshu.com/p/128ad23451c3
2)注册好后,找到自己账号下的阿里云加速源,按如下操作进行
3)完成后复制上面网址中想下载的docker镜像的代码,挂后台下载即可,以下是例子
#!/bin/bash
docker pull dynverse/ti_tscan
docker pull dynverse/ti_slingshot
docker pull dynverse/ti_projected_tscan
docker pull dynverse/ti_projected_slingshot
docker pull dynverse/ti_projected_paga
docker pull dynverse/ti_projected_monocle
docker pull dynverse/ti_paga_tree
docker pull dynverse/ti_paga
docker pull dynverse/ti_mst
docker pull dynverse/ti_monocle_ica
docker pull dynverse/ti_monocle_ddrtree
二、dyno的实际使用
Dyno主要流程:构建表达矩阵》》使用shiny程序选择适合自己需求的TI方法》》执行选择好的方法》》可视化
注意:Dyno将不同功能的函数进行了分类,如果想对这个包由非常深入的了解务必仔细读原文教程和教程中的reference:https://dynverse.org/reference/
1、数据准备
数据:
必要的有两份数据,counts(原始矩阵),expression(log处理好的标准化矩阵),可选的有两份数据,prior information(前验信息,部分TI方法会用到),group(分组信息,在seurat对象中可以拿到),另外注意与细胞相关的信息最好是经过过滤的。
函数:
wrap_expression、add_prior_information、add_grouping、add_dimred、add_*(详细参考前面的reference,查看函数集)
参数:
counts:原始表达矩阵,注意这里要行为细胞,列为基因,因此注意转置
expression:标准化后的矩阵,一般为log处理好的,格式与counts一样,要转置4
注意:其中wrap_expression是用来建立主要的对象,其余的函数都是后续用来补充信息的
2、选择合适的TI方法
函数:
guidelines_shiny
参数:
可以不设置,因为运行后会打开一个shiny网页,在里面按需求勾选即可,勾选完后自动生成代码和结果
3、构建TI
函数:
infer_trajectory、infer_trajectories
参数:
dataset:当时你建的对象
method:你所使用的方法,接受四种格式1)ti…开头的函数(也是用docker包装的镜像,如ti_monocle_ddrtree()等,所有的ti方法见链接:https://dynverse.org/reference/dynmethods/method/),或者是这些函数组成的list 2)以TI方法命名的字符串向量,如c(”slingshot”,”paga”) 3) 由dockerhub库名组成的字符串向量,如“dynverse/paga”等 4)一个dynguidelines的数据框(我也没见过)
parameters:用于TI的其它参数,并且是一个list(没用过),不过可以通过dynmethods::methods 进行查阅每个方法所需要的参数及默认参数(这很重要),比如有些方法可以调整降维的类型(PCA,tsen,umap)等
give.priors:传递不同TI方法需要的先验信息,是一个字符串向量,内容为priors_id,如c("start_id"),先验信息的内容可以通过priors查看,同时不同TI需要的先验信息可以通过methods查看!(这很重要!),另外先验信息 要提前通过add_priors_information()传递给该对象!
seed:方便重复结果
map.fun:貌似是跟并行相关的,没用过
输出结果解读:见教程:https://dynverse.org/users/3-user-guide/3-running/
4、可视化
在进行可视化前我们需要思考的两个问题:
1)Where will I place the trajectory and cells in my 2D space
2)What do I want to visualise along the trajectory based on color
针对两个问题作者设计的可视化思路
可视化函数汇总见:https://dynverse.org/reference/dynplot/
常用函数:
plot_dimred
plot_dendro
plot_graph
plot_onedim
plot_heatmap常见参数:
trajectory
dimered:可视化的降维方法,用户提供的话可以给一个matrix,如果用户不提供,细胞数大于500,就用pca,否则用mds
color_cells:上色的方法,“auto”, “none”, “grouping”,“feature”, “milestone”, “pseudotime”,这些里面选一个,从众多方法中选一个来上色
expression_source:表达矩阵,如果要用基因表达水平上色的话需要用到
feature_oi:使用哪个基因上色?
grouping:分群的信息
其它参数:调整字体啦,点的大小之类的,懒得调的话可以直接用ggplot自己画
5、对轨迹进行调整
对于轨迹的调整,个人感觉比较个性化,但也很重要,建议阅读原文
https://dynverse.org/users/3-user-guide/5-adapting/
6、筛选随拟时序变化的基因
主要函数:
calculate_overall_feature_importance(计算全局重要的基因)、calculate_branch_feature_importance(计算分支处重要的基因)、
calculate_branching_point_feature_importance(计算分支点处重要的基因)、
calculate_cell_feature_importance(计算不同细胞群的差异基因)、
calculate_milestone_feature_importance(计算里程碑点的差异基因)、
calculate_waypoint_feature_importance(不知道干啥的)参数:
trajectory
expression_source
fi_method:用来评价基因重要性的方法,以fi_...开头的函数,默认是fi_ranger_rf_lite(),教程中说可以通过?fi_methods来查看所有的类似的函数,但是我没有找到,不过可以通过fi_,按tab键补全来查看
milestones_oi:里程碑点的名字
waypoints:不知道具体干啥,应该也是个点的名字
注意:该函数的输出结果,经筛选后可以通过前面的plot系列的函数作图