需要JoVE订阅才能观看此内容。 请登录或开始免费试用

方法文章

利用DiCoExpress分析多因素RNA-Seq实验

3.6K 次观看

DOI:

10.3791/62566

2022年7月29日

本文内容

摘要

DiCoExpress 是一个基于脚本的 R 语言工具,用于执行从质量控制到共表达分析的 RNA-Seq 分析。DiCoExpress 可处理包含最多两个生物学因素的完整或非平衡实验设计。本视频教程将引导用户逐步了解 DiCoExpress 的各项功能。

摘要

在高通量测序(NGS)数据分析中正确应用统计建模需要具备较高水平的专业知识。近年来,学术界逐渐达成共识,认为应采用广义线性模型进行RNA-Seq数据的差异分析,并利用混合模型开展共表达分析。为了提供一个可管理的环境来应用这些建模方法,我们开发了DiCoExpress,该工具提供了一个标准化的R语言分析流程,用于执行RNA-Seq分析。即使不具备统计学或R语言编程的专门知识,初学者也能在广义线性模型框架内,通过对比分析,完成从质量控制到差异分析再到共表达分析的完整RNA-Seq分析流程。本工具还针对差异表达基因列表以及共表达基因簇提供了富集分析功能。本视频教程设计为逐步操作指南,旨在帮助用户充分掌握DiCoExpress的使用方法,充分发挥其在提升RNA-Seq实验生物学解释能力方面的潜力。

引言

下一代RNA测序(RNA-Seq)技术现已成为转录组分析的金标准1自该技术问世以来,生物信息学家与生物统计学家的共同努力推动了多种方法的发展,这些方法涵盖了转录组分析的各个关键步骤,从序列比对到转录本定量。2目前生物学家可用的大多数工具都是在 R 统计计算与图形软件环境中开发的3,且Bioconductor仓库中提供了大量用于生物数据分析的软件包4这些软件包提供了对分析过程的完全控制和自定义功能,但需要大量使用命令行界面。由于许多生物学家更习惯于使用图形化界面 "点击选择" 方法5RNA-Seq分析的普及需要开发更加用户友好的界面或操作流程6例如,可以使用 Shiny 构建 R 包的网页界面7,且通过 R-studio 使命令行数据分析更加直观8 界面。开发专门的分步教程也有助于新用户。特别是视频教程可作为传统文本教程的补充,有助于更深入地理解整个操作流程的各个步骤。

我们最近开发了 DiCoExpress9,这是一种在 R 中分析多因素 RNA-Seq 实验的工具,所采用的方法基于中立性比较研究,被认为是当前最优方法10,11,12。从一个计数表出发,DiCoExpress 首先提出数据质量控制步骤,随后使用广义线性模型(GLM)进行差异基因表达分析(基于 edgeR 软件包13),并利用高斯混合模型生成共表达聚类(基于 coseq 软件包12)。DiCoExpress 可处理包含最多两个生物学因素(例如基因型和处理)和一个技术因素(例如重复)的完整或非平衡实验设计。DiCoExpress 的创新之处在于其目录架构,能够存储和组织数据、脚本与结果,并实现了对比条件(contrasts)编写过程的自动化,使用户能够在同一统计模型下探究多个科学问题。此外,我们还致力于提供图形化输出,以直观展示统计分析结果。

DiCoExpress 工作区位于 https://forgemia.inra.fr/GNet/dicoexpress。 其中包含四个目录、两个 PDF 文件和两个文本文件。Data/ 目录包含输入数据集;在本方案中,我们将使用 "tutorial" 数据集。Sources/ 目录包含执行分析所需的七个 R 函数,用户不得修改。分析通过 Template_scripts/ 目录中存储的脚本运行。本方案中使用的脚本名为 DiCoExpress_Tutorial_JoVE.R,可轻松适配于任何转录组学项目。所有结果均写入 Results/ 目录,并存储在按项目命名的子目录中。README.md 文件包含有用的安装信息,有关该方法及其使用的具体细节可在 DiCoExpress_Reference_Manual.pdf 文件中找到。

本视频教程将引导用户了解 DiCoExpress 的各项功能,旨在帮助生物学家克服使用基于命令行工具时的畏难情绪。我们在此展示对一个人工 RNA-Seq 数据集的分析过程,该数据集描述了四种基因型在有或无处理条件下各三个生物学重复中的基因表达情况。接下来,我们将逐步介绍图 1 所示的 DiCoExpress 工作流程。协议部分所述的脚本及输入文件可在以下网站获取:https://forgemia.inra.fr/GNet/dicoexpress

准备数据文件
存储在 Data/ 目录中的四个 csv 文件应根据项目名称命名。在本示例中,所有文件名均以 "Tutorial" 开头,我们将在方案的第 4 步中设置 Project_Name = "Tutorial"。csv 文件中使用的分隔符必须在第 4 步的 Sep 变量中指明。在我们的 "tutorial" 数据集中,分隔符为制表符。对于高级用户,可通过 Filter 变量提供一组指令和一个新的 Project_Name,将完整数据集缩减为子集。此选项可避免输入文件的冗余复制,并符合 FAIR 原则14

在四个 CSV 文件中,只有 COUNTS 和 TARGET 文件是必需的。它们分别包含每个基因的原始计数(此处为 Tutorial_COUNTS.csv)以及实验设计描述(此处为 Tutorial_TARGET.csv)。TARGET.csv 文件描述了每个样本(每行一个样本),并为每个生物学或技术因素(列中)指定一个模态。我们强烈建议模态名称以字母开头,而非数字。最后一列的名称("Replicate")不得更改。最后,样本名称(第一列)必须与 COUNTS.csv 文件中的列标题名称一致(在本示例中为 Genotype1_control_rep1)。Enrichment.csv 文件中每一行包含一个 Gene_ID 和一个注释术语,仅当用户计划运行富集分析时才需要该文件。如果某个基因具有多个注释,则需在不同行中分别列出。Annotation.csv 文件为可选文件,用于在输出文件中添加每个基因的简短描述。获取注释文件的最佳方式是从专用数据库中检索相关信息(例如,拟南芥数据库 Thalemine:https://bar.utoronto.ca/thalemine/begin.do)。

DiCoExpress 的安装
DiCoExpress 需要特定的 R 软件包。在 R 控制台中使用命令行 source("../Sources/Install_Packages.R") 检查所需软件包的安装状态。对于 Linux 用户,另一种解决方案是安装专用于 DiCoExpress 的容器,该容器可在 https://forgemia.inra.fr/GNet/dicoexpress/container_registry 获取。根据定义,该容器包含 DiCoExpress 及其所需的所有组件,例如库文件和其他依赖项。

访问受限。请登录或开始试用以查看此内容。

方案

1. DiCoExpress

  1. 启动 R Studio 会话,并将工作目录设置为 Template_scripts。
  2. 在 R Studio 中打开 DiCoExpress_Tutorial.R 脚本。
  3. 使用以下命令在 R 会话中加载 DiCoExpress 函数:
    > source("../Sources/Load_Functions.R")
    > Load_Functions()
    > Data_Directory = "../Data"
    > Results_Directory = "../Results/"
  4. 使用以下命令在 R 会话中加载数据文件:
    > Project_Name = "教程"
    > Filter = NULL
    > Sep="\t"
    > Data_Files = Load_Data_Files(Data_Directory, Project_Name, Filter, Sep)
  5. 将 Data_Files 对象拆分为多个对象,以便于操作:
    > Project_Name = Data_Files$Project_Name
    > Target = Data_Files$Target
    > Raw_Counts = Data_Files$Raw_Counts
    > Annotation = Data_Files$Annotation
    > Reference_Enrichment = Data_Files$Reference_Enrichment
  6. 在 "NbConditions"、"NbReplicates" 或 "filterByExpr" 中选择一种策略,并设定一个阈值以过滤低表达基因。此处我们选择
    > Filter_Strategy = "NbReplicates"
    > CPM_Cutoff = 1
  7. 使用以下命令指定分组颜色:
    > Color_Group = NULL
    注:当设置为 NULL 时,R 将自动为各生物学条件分配颜色;否则需输入一个向量,为每个生物学组指定对应的颜色。
  8. 在 edgeR 的 calcNormFactors 函数所支持的方法中选择一种归一化方法。例如:
    > Normalization_Method = "TMM"
  9. 执行以下函数进行质量控制:
    > Quality_Control(Data_Directory, Results_Directory, Project_Name, Target, Raw_Counts, Filter_Strategy, Color_Group, CPM_Cutoff, Normalization_Method)
  10. 若数据根据重复因子成对排列,则设置 Replicate = TRUE;否则设为 FALSE。
  11. 若需考虑两个生物学因子之间的交互作用,则设置 Interaction = TRUE;否则设为 FALSE。
  12. 使用以下命令指定统计模型:
    > Model = GLM_Contrasts(Results_Directory, Project_Name, Target, Replicate, Interaction)
    > GLM_Model = Model$GLM_Model
    >  Contrasts = Model$Contrasts
  13. 设定错误发现率(False Discovery Rate)的阈值,此处为 0.05:
    > Alpha_DiffAnalysis =0.05
  14. 使用以下命令执行差异分析:
    > Index_Contrast=1:nrow(Contrasts)
    > NbGenes_Profiles = 20
    > NbGenes_Clustering = 50
    > DiffAnalysis.edgeR (Data_Directory, Results_Directory, Project_Name, Target, Raw_Counts, GLM_Model, Contrasts, Index_Contrast, Filter_Strategy, Alpha_DiffAnalysis, NbGenes_Profiles, NbGenes_Clustering, CPM_Cutoff, Normalization_Method)
  15. 设定富集分析的阈值,此处为 0.01:
    > Alpha_Enrichment = 0.01
  16. 对差异表达基因(DEG)列表执行富集分析:
    > Title = NULL
    > Enrichment(Results_Directory, Project_Name, Title, Reference_Enrichment, Alpha_Enrichment)
  17. 选择要比较的 DEG 列表。例如:
    > Groups = Contrasts$Contrasts[24:28]
  18. 为列表比较提供一个名称。该名称将用于保存输出文件的目录:
    > Title = "与基因型1和2的交互作用"
  19. 通过将参数 Operation 设置为 union 或 intersection,指定对 DEG 列表执行的操作。我们选择:
    > Operation = "Union"
  20. 比较 DEG 列表:
    > Venn_IntersectUnion(Data_Directory, Results_Directory, Project_Name, Title, Groups, Operation)
  21. 使用以下函数执行共表达分析:
    > Coexpression_coseq(Data_Directory, Results_Directory, Project_Name, Title, Target, Raw_Counts, Color_Group)
  22. 对共表达聚类执行富集分析:
    > Enrichment(Results_Directory, Project_Name, Title, Reference_Enrichment, Alpha_Enrichment)
  23. 生成两个日志文件,其中包含重现该分析所需的所有信息:
    > Save_Parameters( )
    注:本方案中使用的命令行如图2所示。用于分析其他数据集时需要修改的行已高亮标出。

访问受限。请登录或开始试用以查看此内容。

结果

所有 DiCoExpress 的输出结果均保存在 Results/ 目录下的 Tutorial/ 目录中。我们在此提供一些评估分析整体质量的指导建议。

质量控制
位于 Quality_Control/ 目录中的质量控制输出对于验证 RNA-Seq 分析结果的可靠性至关重要。Data_Quality_Control.pdf 文件包含使用原始数据和标准化数据生成的多个图表,可用于识别数据中可能存在的任何问题。在比较组内和组间条件时,各样本的总标准化计数应相近。此外,标准化后的基因表达计数在组内和组间条件下应表现出相似的中位数和方差(图 3A)。否则,可能表明不同条件之间存在方差不齐的问题,这将对模型拟合造成影响。

最后,DiCoExpress 中基于标准化计数生成的 PCA 图有助于识别潜在的数据结构(图 3B)。在本示例中,重复样本之间未出现聚类,表明该因素不具备区分性...

访问受限。请登录或开始试用以查看此内容。

讨论

由于RNA测序(RNA-Seq)已成为生物学研究中普遍使用的方法,因此持续需要开发多功能且用户友好的分析工具。大多数分析工作流程中的关键步骤通常是可靠地鉴定出在不同生物学条件和/或处理之间差异表达的基因15。要获得可靠的结果,需要进行恰当的统计建模,这正是开发DiCoExpress的动因。

DiCoExpress 是一个基于 R 语言开发的脚本工具,旨在帮助生物学家在寻找差异表达基因(DEG)时充分利用中性比较研究的可能性。DiCoExpress 提供了一个标准化的分析流程,可评估数据结构与数据质量,从而确保选择最优的建模方法。即使不具备统计学或 R 编程的专门知识,初学者也能使用该工具完成从质量控制到差异分析,再到共表达分析的完整 RNA-Seq 分析流程,其中差异分析基于广义线性模型内的对比(contrast)实现。需要特别指出的是,DiCoExpress 聚焦于 RNA-Seq 分析的统计学部分,其输入要求为计数矩阵(count table)。用于 RNA-Seq 测序读段比对及生成计数矩阵的多种生物信息学方法不在本工具的涵盖范...

访问受限。请登录或开始试用以查看此内容。

披露

作者无任何利益冲突需要披露

致谢

本工作主要由法国国家研究局(ANR)PSYCHE项目(ANR-16-CE20-0009)资助。作者感谢F. Desprez在构建DiCoExpress容器方面的工作。KB的研究由“未来投资计划”ANR-10-BTBR-01-01 Amaizing项目资助。GQE和IPS2实验室受益于Saclay植物科学-SPS(ANR-17-EUR-0007)的支持。

访问受限。请登录或开始试用以查看此内容。

参考文献

  1. Wang, Z., Gerstein, M., Snyder, M. RNA-Seq: a revolutionary tool for transcriptomics. Nature reviews. Genetics. 10 (1), 57-63 (2009).
  2. Yang, I. S., Kim, S. Analysis of Whole Transcriptome Sequencing Data: Workflow and Software. Genomics & Informatics. 13 (4), 119-125 (2015).
  3. R Core Team. R: A language and environment for statistical computing. R Foundation for Statistical Computing. , Vienna, Austria. https://www.R-project.org/ (2020).
  4. Huber, W., et al. Orchestrating high-throughput genomic analysis with Bioconductor. Nature Methods. 12 (2), 115-121 (2015).
  5. Smith, D. R. The battle for user-friendly bioinformatics. Frontiers in Genetics. 4, 187(2013).
  6. Pavelin, K., Cham, J. A., de Matos, P., Brooksbank, C., Cameron, G., Steinbeck, C. Bioinformatics Meets User-Centred Design: A Perspective. PLoS Computational Biology. 8 (7), 1002554(2012).
  7. Shiny: web application framework. , Available from: https://rdrr.io/cran/shiny/ (2021).
  8. RStudio Team. RStudio: Integrated Development for R. RStudio, PBC. , Boston, MA. at (n.d (2020).
  9. Lambert, I., Roux, C. P. -L., Colella, S., Martin-Magniette, M. -L. DiCoExpress: a tool to process multifactorial RNAseq experiments from quality controls to co-expression analysis through differential analysis based on contrasts inside GLM models. Plant methods. 16 (1), 68(2020).
  10. Dillies, M. -A., et al. A comprehensive evaluation of normalization methods for Illumina high-throughput RNA sequencing data analysis. Briefings in bioinformatics. 14 (6), 671-683 (2012).
  11. Rigaill, G. Synthetic data sets for the identification of key ingredients for RNA-seq differential analysis. Briefings in Bioinformatics. 19 (1), (2016).
  12. Rau, A., Maugis-Rabusseau, C. Transformation and model choice for RNA-seq co-expression analysis. Briefings in Bioinformatics. 19 (3), (2017).
  13. Robinson, M. D., McCarthy, D. J., Smyth, G. K. edgeR: a Bioconductor package for differential expression analysis of digital gene expression data. Bioinformatics. 26 (1), 139-140 (2009).
  14. Wilkinson, M. D., et al. The FAIR Guiding Principles for scientific data management and stewardship. Scientific Data. 3 (1), 160018(2016).
  15. Stark, R., Grzelak, M., Hadfield, J. RNA sequencing: the teenage years. Nature Reviews Genetics. 20 (11), 631-656 (2019).

访问受限。请登录或开始试用以查看此内容。

重印与许可

标签

RNA-Seq 分析差异分析共表达分析广义线性模型富集分析质量控制基因表达标准化方法主成分分析DiCoExpress 分析流程