# R生物信息学统计分析

{% tabs %}
{% tab title="关键词" %}
R | 生物信息 | 定量 | edgeR | powsimR | GRanges | bumphunter | Alleliclmbalance | 遗传变异 | 蛋白质 | 基因 | 光谱分析 | Tidyverse | 统计数据可视化 | DNA
{% endtab %}

{% tab title="梗概" %}
### 执行定量 RNAseq

用 edgeR 估计差异表达 | 用 edgeR 估计差异表达 | 使用 powsimR 进行功效分析 | 使用 GRanges 对象查找未注释的转录区域 | 使用bumphunter从头开始查找显示高表达的区域 | 微分峰分析 | 使用 SVA 估计批次效应 | 使用 AllelicImbalance 寻找等位基因特异性表达 | 绘制和呈现 RNAseq 数据

### 使用 HTS 数据寻找遗传变异

使用 VariantTools 在序列数据中查找 SNP 和插入缺失 | 预测长参考序列中的开放读取框 | 使用 karyoploteR 在遗传图谱上绘制特征 | 寻找替代转录亚型 | 使用 VariantAnnotation 选择和分类变体 | 在感兴趣的基因组区域中提取信息 | 寻找与 GWAS 的表型和基因型关联 | 估计感兴趣位点的拷贝数

### 搜索基因和蛋白质的域和基序

寻找具有通用基序的 DNA 基序 | 使用 PFAM 和 bio3d | 查找蛋白质结构域 | 查找 InterPro 结构域 | 执行基因或蛋白质的多重比对 | 使用 DECIPHER 对齐基因组长度序列 | 机器学习用于蛋白质中的新特征检测 | 使用 bio3d 进行 3D 结构蛋白质对齐

使用 SeqinR 检索基因组序列数据:

例如，您在上面学习了如何从 NCBI 网站检索具有 NCBI 登录号 NC\_001477 的 DEN-1 登革热病毒基因组序列。 要检索具有特定 NCBI 加入的序列，您可以使用下面的 R 函数“getncbiseq()”，您首先需要将其复制并粘贴到 R 中：

```r
> getncbiseq <- function(accession)
  {
     require("seqinr") # this function requires the SeqinR R package
     # first find which ACNUC database the accession is stored in:
     dbs <- c("genbank","refseq","refseqViruses","bacterial")
     numdbs <- length(dbs)
     for (i in 1:numdbs)
     {
        db <- dbs[i]
        choosebank(db)
        # check if the sequence is in ACNUC database 'db':
        resquery <- try(query(".tmpquery", paste("AC=", accession)), silent = TRUE)
        if (!(inherits(resquery, "try-error")))
        {
           queryname <- "query2"
           thequery <- paste("AC=",accession,sep="")
           query(`queryname`,`thequery`)
           # see if a sequence was retrieved:
           seq <- getSequence(query2$req[[1]])
           closebank()
           return(seq)
        }
        closebank()
     }
     print(paste("ERROR: accession",accession,"was not found"))
  }
```

将函数 getncbiseq() 复制并粘贴到 R 中后，您可以使用它从 NCBI 核苷酸数据库中检索序列，例如 DEN-1 登革热病毒的序列（登录号 NC\_001477）：

```r
> dengueseq <- getncbiseq("NC_001477")
```

变量 dengueseq 是包含核苷酸序列的载体。 载体的每个元素都包含该序列的一个核苷酸。 因此，要打印出该序列的某个子序列，我们只需键入向量 dengueseq 的名称，然后输入包含这些核苷酸索引的方括号。 例如，以下命令打印出 DEN-1 登革热病毒基因组序列的前 50 个核苷酸：

```r
> dengueseq[1:50]
[1] "a" "g" "t" "t" "g" "t" "t" "a" "g" "t" "c" "t" "a" "c" "g" "t" "g" "g" "a"
[20] "c" "c" "g" "a" "c" "a" "a" "g" "a" "a" "c" "a" "g" "t" "t" "t" "c" "g" "a"
[39] "a" "t" "c" "g" "g" "a" "a" "g" "c" "t" "t" "g"
```

请注意，dengueseq\[1:50] 指的是向量 dengueseq 的元素，其索引为 1-50。这些元件包含 DEN-1 登革热病毒序列的前 50 个核苷酸。

### 系统发育分析和可视化

使用 ape 和 treeio 读写各种树格式 | 使用 ggtree 快速可视化许多基因的树 | 用树空间量化树之间的距离 | 使用 ape 提取和处理子树 | 为对齐可视化创建点图 | 使用 phangorn 从路线重建树木

### 宏基因组学

使用 phyloseq 加载分层分类数据 | 使用元编码器进行稀疏计数以校正样本差异 | 使用dada2从原始读取中读取扩增子数据 | 在元编码器中使用热树可视化分类丰度 | 使用纯素计算样本多样性 | 将序列文件拆分为可操作的分类单元

### 从光谱到注释的蛋白质组学

直观地表示原始 MS 数据 | 在基因组浏览器中查看蛋白质组学数据 | 可视化肽命中计数的分布以查找阈值 | 转换 MS 格式以在工具之间移动数据 | 使用 protViz 将光谱与肽匹配进行验证 | 将质量控制过滤器应用于光谱 | 识别与肽匹配的基因组位点

### 制作发布和 Web 就绪的可视化

使用 ridgeplots 可视化多个分布 | 为二变量数据创建颜色图 | 将关系数据表示为网络 | 使用 plotly 创建交互式 Web 图形 | 使用 plotly 构建三维图 | 构建多组数据的圆形基因组图

### 使用数据库和远程数据源

从 BioMart 检索基因和基因组注释 | 检索和使用 SNP | 获取基因本体信息 | 从 SRA/ENA 中查找实验和读数 | 对高通量序列读取执行质量控制和过滤 | 使用外部程序完成读取到参考比对 | 可视化读取参考比对的质量控制图

### 有用的统计和机器学习方法

校正 p 值以解释多个假设 | 生成表示背景的模拟数据集 | 学习数据中的分组并使用 kNN 进行分类 | 使用随机森林预测类 | 使用 SVM 预测类 | 在没有先验信息的情况下学习数据中的组 | 使用随机森林识别数据中最重要的变量 | 使用 PCA 识别数据中最重要的变量

### 使用 Tidyverse 和 Bioconductor 进行编程

使基本 R 对象整洁 | 使用嵌套数据框 | 编写用于 mutate 的函数 | 以编程方式使用 Bioconductor 类 | 开发可重用的工作流和报告 | 使用 apply 系列函数

### 为代码重用构建对象和包

创建简单的 S3 对象简化代码 | 利用 S3 类的通用对象函数 | 使用 S4 系统创建结构化和正式的对象 | 打包代码进行共享和重用的简单方法 | 使用 devtools 托管来自 GitHub 的代码 | 构建单元测试套件以确保功能 | 按您的意愿工作 | 使用 Travis 的持续集成来保持代码测试和更新

### 源代码
{% endtab %}
{% endtabs %}

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}
