首页 > 解决方案 > 关于 SNP 标记位置的中断

问题描述

当我们有这样的 SNP 数据时,

  1:168045465:C_T   
  1:2804278:C_G 
  14:88571933:C_T

我们如何将其分为染色体,位置,等位基因1,等位基因2(例如,1,168045465,C,T)

标签: r

解决方案


您可以使用一个简单的函数为您重新格式化:

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

推荐阅读