对水稻的注释进行了二次整理

代码和数据都在GitHub上,见 https://github.com/xuzhougeng/rice_annotation

水稻有两个主要的注释项目组

  • RAP-DB: 编号格式形如Os01g0100100
  • RGAP: 编号格式形如LOC_Os0101010

虽然这两个注释项目组使用的是同一个水稻基因组,但是注释结果却存在一些差异。你可以使用任意一套注释进行分析,通过ID的对应关系,将其中一套编号转换成另外一套编号,我用的是RAP-DB版本,这是因为KEGG数据库使用的就是RAP-DB的编号形式。

RAP-DB的网站上提供了很多数据方便我们使用,比如说光基因序列文件就至少提供了为UTR+CDS, UTR+CDS+Intron, CDS三类,非常贴心。美中不足的一点是,他们提供的GFF文件并不规整。

他们提供了2个下载链接,分别对应GFF和GTF

GFF下载之后是一个压缩包,解压能得到locus.gff, transcripts_exon.gff, transcripts.gff. GTF下载之后只有一个gtf文件。

然而,无论是GFF还是GTF文件,他们都没有提供完整信息。GTF里面只有transcript和exon. GFF要么只有gene(locus.gff), 要么只有mRNA和exon(transcripts_exon.gff), 要么是mRNA,UTR和CDS(transcripts.gff). 我就非常纳闷了,为什么没有一个文件,同时有gene, mRNA, UTR, CDS, exon这些完整信息呢?

算了,既然他们没有给,我就自己动手,于是我写了一些代码,基于他们提供loucs.gff和transcripts.gff进行整理,代码我上传到GitHub。

我在代码中,将chr01-12改成了Chr1-Chr12, 所以对应的基因组文件,我也手动调整了。整理好的FASTA, GTF, GFF文件,我都一并上传到GitHub上,方便后续使用,地址为 https://github.com/xuzhougeng/rice_annotation

既然整理好了FASTA和GFF文件,为了方便后续在R语言里面使用,我还生成了对应BSgenome和TxDb,安装方法如下(生成代码和输出R包都在GitHub上)

安装方式(以BSgenome为例):

  1. 在R里安装:install.pakcages("/路径/到/BSgenome.Osativa.MSU.xzg_1.0.tar.gz", repos=NULL, type="source)
  2. 在命令行里安装: R CMD INSTALL BSgenome.Osativa.MSU.xzg_1.0.tar.gz

为了避免和Biocondutor其他MSU的包冲突,所以我用自己名字的缩写xzg作为后缀。

安装之后,就可以通过library进行加载

library(BSgenome.Osativa.MSU.xzg)
library(TxDb.Osativa.MSU.xzg)
在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、付费专栏及课程。

余额充值