美文网首页
dyno的使用说明

dyno的使用说明

作者: 一只烟酒僧 | 来源:发表于2020-10-09 15:51 被阅读0次

    官网教程: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)注册好后,找到自己账号下的阿里云加速源,按如下操作进行

    image.png

    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方法》》执行选择好的方法》》可视化


    image.png

    注意: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网页,在里面按需求勾选即可,勾选完后自动生成代码和结果

    image.png

    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
    针对两个问题作者设计的可视化思路


    image.png
    可视化函数汇总见: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系列的函数作图

    相关文章

      网友评论

          本文标题:dyno的使用说明

          本文链接:https://www.haomeiwen.com/subject/ukvlpktx.html