### 步骤总结:
1. **提取差异表达基因**:将目标基因列表准备好。
2. **在DAVID网站进行基因注释**:DAVID Functional Annotation Tools (ncifcrf.gov)
- **Start Analysis**:开始分析。
- **Upload**:上传基因列表。
- **Step 1: Enter Gene List**:输入基因列表。
- **Step 2: Select Identifier**:选择基因的标识符(如Ensembl、Entrez ID等)。
- **Step 3: List Type: Gene List**:确认列表类型为基因列表。
- **Step 4: Submit List**:提交基因列表。
3. **功能注释分析**:
- **Clear All**:清除所有默认勾选的富集分析选项。
- **Gene_Ontology**:查看GO分析的富集结果,包括BB(生物过程)、MF(分子功能)和BP(细胞成分)三个富集分析。
- **Pathways**:查看通路分析的富集结果,特别是KEGG通路分析。
4. **下载注释数据**:分别下载GO和KEGG的富集分析结果。
5. **使用R语言进行可视化**:
- 代码用于将GO和KEGG的富集分析结果可视化,生成柱状图。
- 使用`ggplot2`包进行图形绘制,生成的图表将基因富集结果按FDR(矫正后的p值)排序,并在X轴显示Term名称,Y轴显示富集基因数目。
### 代码优化:
```r
# 必要的包
library(ggplot2)
# 输入输出文件路径
inputFile <- "input.txt"
outFile <- "barplot.pdf"
# 设置工作目录
setwd("D:\\biowolf\\bioR\\03.barplotPval")
# 读取数据
rt <- read.table(inputFile, header = TRUE, sep = "\t", check.names = FALSE)
# 按FDR升序排序
labels <- rt[order(rt$FDR), "Term"]
rt$Term <- factor(rt$Term, levels = labels)
# 绘制柱状图
p <- ggplot(data = rt) +
geom_bar(aes(x = Term, y = Count, fill = FDR), stat = 'identity') +
coord_flip() +
scale_fill_gradient(low = "red", high = "blue") +
xlab("Term") +
ylab("Gene count") +
theme(axis.text.x = element_text(color = "black", size = 10),
axis.text.y = element_text(color = "black", size = 10)) +
scale_y_continuous(expand = c(0, 0)) +
scale_x_discrete(expand = c(0, 0)) +
theme_bw()
# 保存图片
ggsave(outFile, plot = p, width = 7, height = 5)
```