# 2.1 基因组数据分析步骤

无论分析何种类型数据，数据分析都有一个共同的模式。我们将讨论这种一般模式以及如何将其应用于基因组学问题。数据分析步骤通常包括数据收集、质量检查和清理、数据处理、数据建模、数据可视化和报告几个部分。

尽管人们期望以线性方式完成这些步骤，但用不同的参数或工具重复这些步骤都是正常的。实际上，数据分析需要一遍又一遍地经历同样的步骤，以便能够: a) 回答（开始没有意识到的）其它相关问题，b) 处理后期分析中意识到的数据质量问题，以及，c) 处理在分析中加入的新数据集。

接下来，我们将在基因组数据分析的背景下简要解释这些步骤。

## 2.1.1 数据收集

数据收集是指为需要分析的问题提供任何来源、实验或调查得到的相关数据。在基因组学中，数据收集是由第一章介绍的高通量分析完成的。我们也可以使用公开可用的数据集和在第一章中提到的那些专业数据库。你应该收集多少数据和什么类型的数据取决于你试图回答的问题以及你正在研究的技术和生物多样性。

## 2.1.2 质量检查和清理

一般来说，数据分析几乎总是从处理不完善的数据开始。有噪音的缺失值或测量值是很常见的，数据质量检查和清理的目的在于识别数据中存在的问题并将其从数据集中清理出去。

高通量基因组学数据在产生的时候通常有技术原因引入的偏差，以测序为例，测序得到的 reads 具有不同的碱基质量。在 reads 的末尾可能就有很多质量不好的碱基。识别那些低质量碱基并删除它们可以提高比对步骤的效果。

## 2.1.3 数据处理

这一步指的是将数据处理成适合探索性分析和建模的格式。通常我们拿到手的数据不会是可以直接进行后续分析的格式。你可能需要通过转换 (如 log 转换、标准化等) 将其调整为其他格式，或者用一些预定义条件从原始数据集中提取子集。就基因组学数据而言这些处理包括多个步骤。进行完质量检查之后，处理过程包括将 reada 与基因组比对，并对感兴趣的基因或区域进行定量。这只是计算有多少 reads 覆盖到了你感兴趣的区域，如果你的实验方案是 RNA 测序，这个数量通过后续一些标准化的方法可以让你知道每个基因表达量是多少。

## 2.1.4 探索性数据分析和建模

这个阶段通常采用已处理或半处理过的数据并应用机器学习或统计方法对数据进行探索性分析。比较典型的内容例如我们需要看到变量之间的关系或者基于变量看到样本之间的关系。具体而言，我们可能会观察处理组是否如实验设计预期，是否有异常值或任何其他的异常。在此步骤之后，你可能需要进行额外的清理或重新处理以解决掉各种在在这一步发现的异常。

另一个相关步骤是建模，通常指的是基于你测量的其他变量来对你感兴趣的变量进行建模。在基因组学的背景下，可能你试图通过从组织样本中测量的基因表达来预测患者的疾病状态，具体方法可以是回归或任何其他机器学习方法，这个过程通常被我们称为预测建模。

统计建模也是这个步骤的一部分，如假设检验。首先我们有一个预期，然后尝试确认预期也与模型有关。一个很好的例子就是差异基因表达分析，比较某种条件下的两个数据集，如条件 A 和条件 B 的表达值，我们假设条件 A 和条件 B 具有相似的表达值然后进行检验。你将在第三章中看到更多相关信息。

## 2.1.5 可视化和报告

可视化是所有步骤或多或少都需要的内容，但是在最后阶段你的分析结果最终需要以数字、表格和文本的方式进行呈现，这就是你的分析报告。在基因组学中，我们会使用常见的数据可视化方法以及由基因组数据分析开发或推广的一些特定可视化方法。你会在第三章看到很多流行的可视化内容。

## 2.1.6 为什么使用 R 进行基因组学？

凭借天生的统计分析能力、绘图优势和丰富的扩展包，R 是分析基因组数据的最佳语言之一。高维基因组数据集通常适合用核心 R 包和函数进行分析，最重要的是 bioconductor 和 CRAN 有一系列专门的工具来进行基因组学特异性分析。以下是可以使用 R 完成的计算基因组学任务列表。

### 2.1.6.1 数据清理和处理

大多数数据清理任务，例如删除不完整的列和值、重组和转换数据都可以使用 R 实现。此外，在 R 包的帮助下还可以连接到各种格式的数据库，如 mySQL，mongoDB 等，并使用数据库特定工具查询和获取数据到 R 环境中。

除此之外，基因组数据的特定处理和质量检查可以通过 R/bioconductor 实现。例如，reads 比对质量检查甚至比对也可以通过 R 包实现。

### 2.1.6.2 一般数据分析和探索

大多数基因组数据集也适用于一般数据分析工具的应用。在某些情况下，你可能需要对数据进行预处理以使其处于适合应用某类工具的状态。以下是通过 R 可以做的部分事情。

* 无监督数据分析: 聚类 (k-means，分层)，矩阵分解 (PCA，ICA 等)
* 监督数据分析: 广义线性模型、支持向量机、随机森林

### 2.1.6.3 特定基因组学数据分析方法

R/Bioconducto 让你可以实现许多其他生物信息学特定的算法。以下是可以做的部分事情。

* 序列分析: 给定 DNA 序列的 TF 结合 motif、 GC 含量和 CpG 计数等
* 差异表达 (芯片和测序数据)
* 基因集/通路分析: 基因集中富集了什么样的基因
* 基因组区间操作，如与转录起始位点重叠的 CpG 岛，以及基于位置重叠的过滤
* 与外显子重叠的 reads 数和计算每个基因的 reads  数

### 2.1.6.4 可视化

可视化是包括计算基因组学在内的所有数据分析技术的重要组成部分。同样，你可以在 R 中使用基本可视化技术，也可以在特定包的帮助下使用基因组相关的特定技术。这里是部分可以用 R 做的事情。

* 基本图: 直方图，散点图，柱状图，箱线图，热图
* 基于全基因组的 ideograms 和 circos 图提供了整个基因组不同特征的可视化。
* 基因组特征区间的 meta-profiles ，如所有启动子上的 read 富集展示
* 基因组中特定位点定量分析的可视化展示


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://compgenomr.kaopubear.top/02/02-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
