r - 关于 SNP 标记位置的中断
问题描述
当我们有这样的 SNP 数据时,
1:168045465:C_T
1:2804278:C_G
14:88571933:C_T
我们如何将其分为染色体,位置,等位基因1,等位基因2(例如,1,168045465,C,T)
解决方案
您可以使用一个简单的函数为您重新格式化:
x = c("1:168045465:C_T", "1:2804278:C_G", "14:88571933:C_T")
refmt = function(snp){
temp1 = unlist(strsplit(snp, ":"))
temp2 = unlist(strsplit(temp1[3],"_"))
temp = c(Chr = temp1[1], pos = temp1[2], a1 = temp2[1], a2 = temp2[2])
return(temp)
}
op = as.data.frame(t(sapply(x, refmt)))
产生:
> op
Chr pos a1 a2
1:168045465:C_T 1 168045465 C T
1:2804278:C_G 1 2804278 C G
14:88571933:C_T 14 88571933 C T
推荐阅读
- ember.js - 如何在 ember.js v3.8 中渲染子组件?
- c++ - 有没有办法避免这个函数中的分支/条件逻辑?
- c++ - 如何解决头文件中的变量冲突?
- c++11 - 在被调用的构造函数中使用递归
- php - 如果值位于由另一个表组成的数组中,如何使用 PHP 和 PDO 在 MySQL 中更快地插入多行(~70k)?
- javascript - 如果他没有从选择框-PHP 中选择值,如何限制用户提交表单
- verilog - 以不同的时钟将数据写入内存
- bixby - 如何使用 Bixby 视图创建水平跨越单元格?
- treemap - 在 highcharter 包 R 中使用 hctreemap2 函数时如何将 hc_plotOptions() 指定到特定层(级别)
- next.js - 如何在 nextjs 中动态设置元标记