GO分析-植物部分-水稻

这篇博客记录了对58个水稻基因进行GO分析的过程。首先进行id转换,从msu格式转为entrezid,通过两个在线工具完成,但因部分基因未广泛研究,导致最终仅剩28个基因可用。接着,使用R语言和相关包进行数据库导入和选择,尝试将symbol转换为entrezid,并进行GO富集分析。然而,结果未能成功映射任何基因,GO信息显示为'NA',可能原因是输入基因与数据库不匹配或数据问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近忙毕业论文,有个植物学好友需要跑水稻的GO分析,我此前没做过,所以就研究了下,记录一下步骤。
朋友提供给了我58个基因。
1、id转换
58个基因为msu的命名格式,需要转换为entrezid,但是没有直接的办法,所以分两步转换。
(1)msu到uniprot的转换
http://structuralbiology.cau.edu.cn/PlantGSEA/
(2)uniprot到entrezid或symbol
https://david.ncifcrf.gov/

结果:共58个基因,第一步剩余54个,第二步剩余28个。
原因分析:朋友提供的基因没被广泛研究,部分并不与库里的基因名匹配。

2、GO分析
(1)数据库下载和选择

#需要的包
library('clusterProfiler')
library(topGO)
library(AnnotationHub)
library(dbplyr)
library(pathview)

#导入数据库
ah <- AnnotationHub() 
unique(ah$dataprovider) ##可查看数据注释来源
#AH10561 | hom.Oryza_sativa.inp8.sqlite                        
#AH80658 | org.Oryza_sativa_(japonica_cultivar-group).eg.sqlite
#AH80659 | org.Oryza_sativa_Japonica_Group.eg.sqlite           
#AH80660 | org.Oryza_sativa_subsp._japonica.eg.sqlite 

#以上提到的几个数据库,我尝试了后三个,第一个不会用

Ztar_org <- ah[["AH80658"]] ##下载目标物种到org数据
keytypes(Ztar_org)#查看可使用的key
'''
 [1] "ACCNUM"      "ALIAS"       "ENTREZID"    "EVIDENCE"    "EVIDENCEALL" "GENENAME"   
 [7] "GID"         "GO"          "GOALL"       "ONTOLOGY"    "ONTOLOGYALL" "PMID"       
[13] "REFSEQ"      "SYMBOL" 
'''
ens=read.table("gene.txt")#其中gene.txt使用了david结果里的symbol名,LOC+数字
ens=as.character(ens$V1)#keys要求输入字符向量

#symbol到entrezid的转换
DEG.entrez_id = mapIds(x = Ztar_org,               #### 数据库
                       keys = ens,    #####差异基因名字
                       keytype = "SYMBOL",        ####差异基因类型是SYMBOL
                       column = "ENTREZID")	
#GO富集
erich.go.BP = enrichGO(gene = DEG.entrez_id, 
                       OrgDb = Ztar_org,
                       keyType = "ENTREZID", 
                       ont = "BP", 
                       pvalueCutoff = 0.8,
                       qvalueCutoff = 0.8) 

结果:没有可以map的结果
随便搜寻一个基因

select(Ztar_org, keys= "4344902", columns=c("GID",'REFSEQ','GENENAME','PMID','ALIAS','GO'),keytype = "ENTREZID")

结果
在这里插入图片描述
GO为‘NA’

在R语言中,使用clusterProfiler对水稻基因进行GO富集分析的步骤如下: 1. 首先需要安装clusterProfiler包,可以使用以下命令进行安装: ```R install.packages("clusterProfiler") ``` 2. 导入所需要的数据,包括水稻基因的注释信息和差异表达基因的信息。可以使用read.table函数或read.csv函数将数据导入到R中。 3. 对基因进行聚类分析并进行差异表达基因筛选,得到差异表达基因列表。 4. 将差异表达基因列表换成基因符号的格式,例如: ```R gene.list <- c("LOC_Os01g01010", "LOC_Os01g01020", "LOC_Os01g01030", "LOC_Os01g01040", "LOC_Os01g01050", "LOC_Os01g01060", "LOC_Os01g01070", "LOC_Os01g01080", "LOC_Os01g01090") ``` 5. 进行GO富集分析,使用enrichGO函数,例如: ```R library(clusterProfiler) ego <- enrichGO(gene = gene.list, OrgDb = "org.Osativa.eg.db", ont = "BP", pvalueCutoff = 0.05, qvalueCutoff = 0.05, keyType = "SYMBOL") ``` 在这个例子中,使用了org.Osativa.eg.db数据库作为注释数据库,ont参数指定了GO的分支,这里选择了生物过程(BP)分支;pvalueCutoff和qvalueCutoff参数指定了显著性水平的阈值;keyType参数指定了基因列表的格式,这里选择了基因符号(SYMBOL)格式。 6. 可以使用ggplot2包中的函数将GO富集分析结果可视化,例如: ```R library(ggplot2) dotplot(ego, showCategory = 20) ``` 7. 最后保存GO富集分析结果,可以使用write.csv函数将结果保存到CSV文件中,例如: ```R write.csv(as.data.frame(ego), "GO_enrichment_results.csv") ``` 以上就是使用clusterProfiler对水稻基因进行GO富集分析的步骤。需要注意的是,在进行GO富集分析之前,需要对基因的注释信息和差异表达基因的筛选进行仔细的处理和质控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值