【问题标题】:how to count the number of associations for each gene如何计算每个基因的关联数
【发布时间】:2021-05-18 20:08:32
【问题描述】:

我有一个来自eqtl 分析的输出文件和MatrixEQTL

SNP gene    beta    t-stat  p-value FDR
ch01_76563780   GW_06g072920    0.049942008791647   932.306067766817    2.2250738585072e-308    1.60416093688267e-302
ch02_36905357   GW_06g072920    -0.049942008791647  -932.306067766817   2.2250738585072e-308    1.60416093688267e-302
ch07_69573723   GW_06g072920    0.049942008791647   932.306067766817    2.2250738585072e-308    1.60416093688267e-302
ch01_87880392   GW_06g072920    0.0499413219745195  923.819795644165    2.2250738585072e-308    1.60416093688267e-302

我正在尝试计算每个基因的关联,以获得重要的基因进行总结。我将不胜感激任何建议。谢谢!

【问题讨论】:

  • 嗨,用户 1567654,您如何定义关联?如果有要遵循的公式,则对按“基因”分组的数据执行该操作。例如数据 %>% dplyr::group_by(gene) %>% dplyr::summarize(result = your_association_formula)。祝你好运。
  • 嗨@Jagge,谢谢!每一行在这里代表一个关联。我想查看每个基因的输出中有多少 SNP(第 1 列)。例如,基因 GW_06g072920 有 4 个与原始问题相关的 SNP。

标签: r


【解决方案1】:

好的,所以关联本质上是特定基因在数据中存在的行数? 那么就很容易按基因分组并数数

library(magrittr)
eqtl %>% 
  dplyr::group_by(gene) %>%
  dplyr::summarise(Associations = dplyr::n())

# here is a small example with a toy df
tibble::tibble(SNPS = 1:4, Gene = "testgene") %>% 
  dplyr::group_by(Gene) %>% 
  dplyr:::summarise(Associations = dplyr::n())

这行得通吗,让我知道!

祝你好运:)

【讨论】:

  • 成功了,谢谢!不过,我有一个后续问题。我想使用 for 循环来定义一个窗口(比如每个方向 10000 bp)来计算任何 SNP。所以有一个 SNP,然后我不计算每个方向上大约 10000 bp 的任何其他 SNP 以进行汇总。你有什么建议吗?
  • 很高兴它有效,请将答案标记为正确,以便其他人可以快速浏览页面并知道该问题已得到回答(我也得到了甜蜜点),您可能最好通过发布来帮助一个新问题。但也许可以做类似的事情:for(i in 1:(nrow(eqt1)-10000)){ df_tmp
  • 谢谢!我会尝试你的建议或发布另一个问题。您能帮我将结果绘制成条形图,例如 x 轴上的基因和 y 轴上的关联数。
猜你喜欢
  • 2019-05-03
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多