linux转录组kegg注释,对miRNA进行go和kegg等功能数据库数据库注释

如果大家对go和kegg等功能数据库注释有一定了解,就应该是知道kegg里面其实就记录各个物种不到一半的蛋白编码基因功能,比如人类, 约2万个蛋白编码基因,也就七千多个是有kegg功能注释的。其它物种就更是惨不忍睹,没有那么多科研经费投入进去,实际上对它们的基因功能就无从得知!

不过,哪怕是对人类来说,kegg注释的也仅仅是蛋白编码基因,但是如果你了解人类gtf文件,就应该知道,里面有6万左右的基因,如果我们的差异分析,定位到了 lncRNA,假基因,miRNA的基因,其实就不能直接进行功能数据库注释。

我们以miRNA为例,每个miRNA都是可以靶向调控数百甚至数千个蛋白编码基因,所以我们如果要对miRNA进行go和kegg等功能数据库数据库注释,就需要以靶向调控为桥梁。

前面我们介绍了两次关于miRNA的靶向基因的查询工具,分别是:

而且我们也多次讲解了go和kegg等功能数据库数据库注释,见:

所以,理论上你能够查询到miRNA的靶向基因,就可以用靶基因作为桥梁去进行数据库注释啦!

当然,如果你不想看这个中间过程,自己也可以写一个函数,或者使用造好的轮子,比如:

rm(list = ls())

library(miRNAtap)

library(topGO)

library(org.Hs.eg.db)

mir = 'miR-10b'

predictions = getPredictedTargets(mir, species = 'hsa',

method = 'geom', min_src = 2)

rankedGenes = predictions[,'rank_product']

selection = function(x) TRUE

# we do not want to impose a cut off, instead we are using rank information

allGO2genes = annFUN.org(whichOnto='BP', feasibleGenes = NULL,

mapping="org.Hs.eg.db", ID = "entrez")

GOdata = new('topGOdata', ontology = 'BP', allGenes = rankedGenes,

annot = annFUN.GO2genes, GO2genes = allGO2genes,

geneSel = selection, nodeSize=10)

GOdata

results.ks = runTest(GOdata, algorithm = "classic", statistic = "ks")

results.ks

allRes = GenTable(GOdata, KS = results.ks, orderBy = "KS", topNodes = 20)

allRes[,c('GO.ID','Term','KS')]

这个topGO也是一个老牌的R包,虽然说因为Y书的原因,我们一直在强推clusterProfiler,但是并不意味着clusterProfiler 唯一的解决方案哈!

0a1d830e065d90f4a15521e2d7c72a36.png

其它功能数据库同样的注释流程哈!

文末友情宣传

强烈建议你推荐我们生信技能树给身边的博士后以及年轻生物学PI,帮助他们多一点数据认知,让科研更上一个台阶:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值