R 中基因列表(使用 ENTREZID)的基因本体 (GO) 分析?

2024-04-26

我对 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

# 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"

我的问题是: 我怎样才能以更简单的方式找到每个基因的功能,我也想知道我做得是否正确? 因为我想将函数作为函数/GO 列添加到gene_list 中。

提前致谢,


编辑:有一个新的生物信息学SE https://bioinformatics.stackexchange.com/(目前处于测试模式)。


我希望我能达到你的目标。

顺便说一句,对于生物信息学相关主题,您还可以看看biostar https://www.biostars.org/与 SO 具有相同的目的,但用于生物信息学

如果您只想获得与基因相关的每个功能的列表,您可以查询数据库,例如ENSEMBl http://www.ensembl.org/通过biomaRt https://www.bioconductor.org/packages/release/bioc/html/biomaRt.htmlbioconductor 包,它是一个用于查询 biomart 数据库的 API。 不过,您将需要互联网来进行查询。

Bioconductor 提出了用于生物信息学研究的软件包,这些软件包通常附带良好的小插图,帮助您完成分析的不同步骤(甚至强调您应该如何设计数据或哪些可能是一些陷阱)。

在你的情况下,直接从生物玛小插图 https://www.bioconductor.org/packages/release/bioc/vignettes/biomaRt/inst/doc/biomaRt.pdf- 特别是任务 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=' ; '))
)

Edit:

如果你想查询 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)

However, if you had in mind to do a GO enrichment analysis, your list of genes is too short.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中基因列表(使用 ENTREZID)的基因本体 (GO) 分析? 的相关文章

  • 在四开图书模板中将数据从一个 qmd 文件传递​​到另一个 qmd 文件?

    我能否就在 RStudio 四开图书模板中将数据从一个四开文件传递到另一个四开文件的最佳实践寻求建议 默认的书籍模板如下所示 quarto yml project type book book title TestTest author J
  • 使用 R,将多个卡方列联表测试应用于分组数据框,并添加包含测试 p 值的新列

    我有一个类似于下面的示例的数据框 这是我的实际数据框的一小部分摘录 frequencies lt data frame sex c female female male male female female male male female
  • 如何让 geom_vline 尊重facet_wrap?

    我四处搜寻 但无法找到答案 我想做一个加权 geom bar 图 上面覆盖有一条垂直线 显示每个方面的总体加权平均值 我无法让这件事发生 垂直线似乎是应用于所有方面的单一值 require ggplot2 require plyr data
  • R randomForest - 如何使用“getTree”树进行预测

    背景 我可以在 R 中创建一个随机森林 set seed 1 library randomForest data iris model rf lt randomForest Species data iris importance TRUE
  • R 编程:创建堆叠条形图,每个堆叠条形具有可变颜色

    我正在尝试创建一个堆叠条形图 每个堆叠条形图中的颜色可变 也就是说 一个条形图在红色上方显示蓝色 下一个条形图在紫色上方显示红色 等等 我还想保留堆叠图表的功能 十分感谢大家 Adam 下图 使用上面的代码创建 显示了主要汽车制造商生产的汽
  • as.data.frame 将嵌套列表展平为单行,而不是为每个记录创建行[重复]

    这个问题在这里已经有答案了 我有一个嵌套列表 如下所示 mylist lt vector list 2 mylist 1 name lt The Tucson IOT Meetup Group mylist 1 state lt AZ my
  • 在批处理模式下运行 R - 打印到屏幕?

    跑步时 R CMD BATCH options filename r 我想控制输出的打印位置 我可以使用以下命令抑制 Rout 文件的创建 R CMD BATCH options filename r dev null 但是否可以将输出直接
  • R 数据框到嵌套列表

    我想将这种格式的数据帧 tbl 转换为以下嵌套列表 tbllst library tidyr tbl lt tribble Col1 Col2 Col3 Var1 Var1 1 Var1 1 1 Var1 Var1 1 Var1 1 2 V
  • 相当于 Rcpp 中的 'which' 函数

    我是 C 和 Rcpp 的新手 假设我有一个向量 t1 lt c 1 2 NA NA 3 4 1 NA 5 我想获得 t1 的元素索引NA 我可以写 NumericVector retIdxNA NumericVector x Step 1
  • == 在 R 中,精度为 .Machine$double.eps [重复]

    这个问题在这里已经有答案了 在 R 中 我发现必须转换易于阅读的代码有点烦人 例如 if det A 1 not always working because of floating point precision to if abs de
  • 大数据集每两列的平均值

    如下所示 我有一个大型数据集 其中按列组织了 12 小时的温度 我希望取每日平均值 即一次平均两列 直到数据集结束 有人可以指出我一个简单解决方案的方向吗 我知道这可能非常简单 但我找不到任何现有的解决方案 01 01 2000 00 00
  • 用整数矩阵对 data.frame 进行子集化

    我一直遇到这个问题 想知道是否有一个简单的解决方法 对于某些情况 我发现考虑将矩阵子集化更合乎逻辑 N lt 12 N NA lt 6 dat lt data frame V1 runif N V2 runif N sel mat lt m
  • 通过非 sf 列内连接两个 sf 对象

    我尝试使用内连接或左连接连接两个 sf 数据帧 这些数据框内部都有几何列 我不断收到错误 check join x y 中的错误 y 应该是一个数据框 对于空间连接 请使用 st joinFALSE 下面的可重现示例 df1 lt data
  • R 中的匹配和计数字符串(DNA 的 k 聚体)

    我有一个字符串列表 DNA 序列 包括 A T C G 我想找到所有匹配项并插入到表中 该表的列都是这些 DNA 字母表的所有可能组合 4 k k 是每个匹配项的长度 K mer 必须由用户指定 行代表 DNA 字母表的数量在列表中按顺序匹
  • R 中第三维的平均值

    R中是否有任何快速方法或内置函数来计算基于第三维的平均值 例如我的数组是 1 1 2 1 1 3 2 2 4 2 1 2 1 11 13 2 12 14 3 1 2 1 21 23 2 22 24 我的输出是 1 2 1 mean 1 11
  • 如何在 dplyr 中使用切片来保留 R 中具有 NA 值的行

    我有以下数据集 我想知道每个组的最小单词 如果没有最小单词 它是 NA 我仍然想显示它 df data frame key c A A B B C word c 1 2 3 5 NA df gt group by key gt slice
  • 两组点之间的距离[重复]

    这个问题在这里已经有答案了 因此 在查看了 stackoverflow 上提出的各种问题后 我仍然无法理解 R 中的 dist 函数 甚至无法理解一般的距离矩阵 所以我有两个带有 xy 坐标的数据框 df1 lt data frame x
  • R 中的优化函数可以接受目标、梯度和粗麻布吗?

    我有一个想要优化的复杂目标函数 优化问题需要相当长的时间来优化 幸运的是 我确实有可用的函数的梯度和粗麻布 R 中是否有一个优化包可以接受所有这三个输入 optim 类不接受 Hessian 矩阵 我已经扫描了用于优化的 CRAN 任务页面
  • 在闪亮的应用程序和多个页面中进行身份验证

    在我正在开发的系统中 我有 3 个不同的参与者 用户 管理员 支持团队 使用 Shiny App 我想知道如何向这三个参与者进行身份验证 每个参与者只能访问他们的页面 我发现使用闪亮的服务器专业版可以实现这一点 但它不是免费的 有什么方法可
  • 将值添加到 rCharts hPlot 工具提示

    我想通过 rCharts 向标准 Highcharts 工具提示添加一些额外的值 示例代码 require rCharts df lt data frame x c 1 5 y c 5 1 z c A B C D E name c K L

随机推荐

  • 使用 MVCMailer 尝试发送到非本地电子邮件地址时,邮件服务器需要身份验证

    我想向用户发送新闻通讯电子邮件 我已经这样做了 public ActionResult SendNewsLetter userMailer NewsLetter Send return View 在 userMailer 类中 public
  • 基于超简单静态文件(html)的php站点缓存

    我有一个网站 基本上只显示内容 没有任何表格和后期处理 该网站基于 PHP 并托管在共享主机上 它很少改变 我想为此网站启用缓存 它是共享托管 所以我需要一个解决方案 不使用 Memcached 不需要将我的网站移至 VPS 不要使用APC
  • 如何删除firestore自动生成的单字段索引?

    update 太长了 如果您到达这里 您应该重新检查构建数据库的方式 随着时间的推移 您的文档可能会被消耗 由于嵌套列表等 原问题 我有一个包含很多字段的文档集合 我不查询文档 甚至不查询简单的查询 我只使用 db collection m
  • Spark Streaming 中的 ML 模型更新

    我通过 Spark 批处理作业在 HDFS 中保留了机器学习模型 并且我在 Spark 流中使用它 基本上 ML 模型从 Spark Driver 广播到所有执行器 有人可以建议我如何在不停止 Spark Streaming 作业的情况下实
  • 如何将 jQuery UI 日期选择器初始化为查询字符串中的日期?

    鉴于此标记 Calendar html date 1 2 2003 div class inlinedatepicker div 这将毫不费力地显示一个内联日期选择器 太棒了 如何将日期选择器预设为通过查询字符串传入的日期 请注意 在本例中
  • Materialise CSS 侧面导航不起作用

    我已经对 Materialise 运行进行了基本设置 除了滑出侧面导航之外 一切似乎都很好 这是我的代码 菜单 ul class right hide on med and down li a class dropdown button h
  • 是否可以将 ComboBox DisplayMember 设置为列表中对象的属性?

    我有一个正在填充的 ComboBox 其中 ComboBox Items 中的每个对象都是对象列表 目前 组合框为每个项目显示 集合 是否可以让组合框显示列表中包含组合框项目的第一个对象的成员 我目前正在通过以下内容填充组合框项目 fore
  • vue组件设置child的数据值

    我正在使用 vue 轮播 https ssense github io vue carousel api https ssense github io vue carousel api 它运行良好 但我需要重置轮播 我可以看到当前页面有一个
  • 如何在node.js EJS视图中转义HTML?

    我想转义 bloglist i Text 字段中的 html 如何使用 EJS 做到这一点 h1 h1 p Welcome to p h3 h3 div div
  • R:从数据表中选择范围内的值

    我在 R 中有一个数据表 name date John 1156649280 Adam 1255701960 etc 我想获取日期在某个范围内的所有行 在 SQL 中 我可能会说SELECT FROM mytable WHERE date
  • Scala 映射 foreach

    given val m Map String Int a gt 1 b gt 2 c gt 3 m foreach key String value Int gt println gt gt gt key key value value 为
  • 将 sys.stdout 重定向到 python 日志记录

    所以现在我们有很多 python 脚本 我们正在尝试整合它们并修复和冗余 我们正在尝试做的事情之一是确保所有 sys stdout sys stderr 都进入 python 日志记录模块 现在最重要的是 我们希望打印出以下内容
  • 如何在Python中像ERB一样进行模板化? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 ERB http ruby doc org stdlib 2 3 0 libdoc erb rdoc E
  • 阻塞事件循环

    我正在通过 Nodeschool 参加 函数式 Javascript 研讨会 其中一项练习的标题是 阻止事件循环 我很难理解它 通过过去的练习 我确保真正尝试理解解决方案 这样如果我必须重做问题 我就会理解如何解决它 而不是第一次就破解它
  • 以编程方式从 iPhone 拨打 USSD 代码 [重复]

    这个问题在这里已经有答案了 如何拨号USSD以编程方式为iPhone编写代码 我搜索发现iOS 7已经阻止使用USSD出于安全原因 我们可以手动拨打 USSD 代码 但在低于 iOS 7 的 iPhone 中 我们可以手动拨打 USSD 代
  • 使用 Node 和 Heroku 进行负载平衡

    我有一个 Web 应用程序 它接受来自 ios 应用程序的 api 请求 我的网络应用程序托管在 Heroku 上 使用他们的免费 dyno 每个请求能够处理 512 mb 的数据 因为 Node 是一个单线程应用程序 一旦我们开始从 io
  • 升级到 java 8 后无法使用 crashlytics 发布项目

    当我搬到java 8 我在应用程序发布中收到此错误 因为fabric崩溃解决方案 Could not determine the dependencies of task app crashlyticsStoreDeobsRelease g
  • NumPy 追加与 Python 追加

    在 Python 中 我可以附加到一个空数组 例如 gt gt gt a gt gt gt a append 1 2 3 gt gt gt a append 1 2 3 gt gt gt a 1 2 3 1 2 3 我怎样才能在 NumPy
  • Git http - 安全地记住凭据

    通过 HTTP S 连接到远程存储库时 有没有办法安全地让 git 记住我的凭据 我已经尝试过core askpass方法详述于git config http git scm com docs git config让外部脚本提供我的凭据 尽
  • R 中基因列表(使用 ENTREZID)的基因本体 (GO) 分析?

    我对 GO 分析非常陌生 我有点困惑如何对我的基因列表进行分析 我有一个基因列表 n 10 gene list SYMBOL ENTREZID GENENAME 1 AFAP1 60312 actin filament associated