我很新的 GO 分析,我有点困惑如何做到这一点我的基因列表。
我有一个基因列表(n = 10):
gene_list
SYMBOL ENTREZID GENENAME
1 AFAP1 60312 actin filament associated protein 1
2 ANAPC11 51529 anaphase promoting complex subunit 11
3 ANAPC5 51433 anaphase promoting complex subunit 5
4 ATL2 64225 atlastin GTPase 2
5 AURKA 6790 aurora kinase A
6 CCNB2 9133 cyclin B2
7 CCND2 894 cyclin D2
8 CDCA2 157313 cell division cycle associated 2
9 CDCA7 83879 cell division cycle associated 7
10 CDCA7L 55536 cell division cycle associated 7-like
和我只是想找到他们的功能,我被建议使用 GO 分析工具。我不确定这是否是一个正确的方法。这里是我的解决方案:
x & lt;-org.hs.egGO
# Get the entrez gene identifiers that are mapped to a GO ID
xx<- as.list(x[gene_list$ENTREZID])
所以,我有一个带有 EntrezID 的列表,它被分配给每个基因的几个 GO 术语。例如:
> xx$`60312`
$`GO:0009966`
$`GO:0009966`$GOID
[1] "GO:0009966"
$`GO:0009966`$Evidence
[1] "IEA"
$`GO:0009966`$Ontology
[1] "BP"
$`GO:0051493`
$`GO:0051493`$GOID
[1] "GO:0051493"
$`GO:0051493`$Evidence
[1] "IEA"
$`GO:0051493`$Ontology
[1] "BP"
我的问题是:如何以更简单的方式找到每个基因的功能,我也想知道我是否做对了?因为我想将函数添加到 gene_list 作为函数 / GO 列。
提前感谢,
编辑:有一个新的Bioinformatics SE(当前处于 beta 模式)。
我希望我得到你在这里的目标。
顺便说一句,对于生物信息学相关主题,您还可以查看biostar,它们与 SO 具有相同的目的,但用于生物信息学
如果你只想有一个与基因相关的每个函数的列表,你可以通过biomaRtbioconductor 包来查询数据库,比如ENSEMBl,这是一个用于查询 biomart 数据库的 API。
Bioconductor 提出了用于生物信息学研究的软件包,这些软件包通常带有良好的小插曲,可让您完成分析的不同步骤(甚至突出显示您应该如何设计数据或哪些是一些陷阱)。
在您的情况下,直接从biomaRt vignette-特别是任务 2:
注意:有一个稍微快一点的方法,我在报告:
# load the library
library("biomaRt")
# I prefer ensembl so that the one I will query, but you can
# query other bases, try out: listMarts()
ensembl=useMart("ensembl")
# as it seems that you are looking for human genes:
ensembl = useDataset("hsapiens_gene_ensembl",mart=ensembl)
# if you want other model organisms have a look at:
#listDatasets(ensembl)
您需要创建查询(您的 ENTREZ ID 列表)。要查看可以查询的过滤器:
filters = listFilters(ensembl)
然后要检索属性:您的 GO 编号和描述。要查看可用属性的列表
attributes = listAttributes(ensembl)
对你来说,查询看起来像:
goids = getBM(
#you want entrezgene so you know which is what, the GO ID and
# name_1006 is actually the identifier of 'Go term name'
attributes=c('entrezgene','go_id', 'name_1006'),
filters='entrezgene',
values=gene_list$ENTREZID,
mart=ensembl)
查询本身可能需要一段时间。
然后,您可以随时将信息折叠成两列(但我不建议将其用于报告目的)。
Go.collapsed<-Reduce(rbind,lapply(gene_list$ENTREZID,function(x)
tempo<-goids[goids$entrezgene==x,]
return(
data.frame('ENTREZGENE'= x,
'Go.ID'= paste(tempo$go_id,collapse=' ; '),
'GO.term'=paste(tempo$name_1006,collapse=' ; '))
)
如果要查询以前版本的 ensembl 数据库:
ens82<-useMart(host='sep2015.archive.ensembl.org',
biomart='ENSEMBL_MART_ENSEMBL',
dataset='hsapiens_gene_ensembl')
然后查询将是:
goids = getBM(attributes=c('entrezgene','go_id', 'name_1006'),
filters='entrezgene',values=gene_list$ENTREZID,
mart=ens82)
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(53条)