数据科学与R语言生物信息学与算法Cook R

【r<-方案】从GDC bam文件名中抽提出TCGA样本i

2019-01-15  本文已影响10人  王诗翔

发现TCGA下载的bam文件中文件名存在两种不同的模式,可以采用正则表达式对样本id进行提取。

下面是一个简单的例子:

test_char = c("TCGA-66-2781-11A-01W-0878-08_gdc_realn.bam", 
              "C662.TCGA-75-5126-10A-01D-1753-08.4_gdc_realn.bam")
sub(pattern = ".*\\.?(TCGA-\\w+{2}-\\w{4}-\\w{3}-\\w{3}-\\w{4}-\\w{2}).*", 
    replacement = "\\1", test_char)

这里关键点在于pattern的设定。

测试结果:

> sub(pattern = ".*\\.?(TCGA-\\w+{2}-\\w{4}-\\w{3}-\\w{3}-\\w{4}-\\w{2}).*", "\\1", test_char)
[1] "TCGA-66-2781-11A-01W-0878-08" "TCGA-75-5126-10A-01D-1753-08"

开始处的\\.?似乎是多余的,测试一下:

> sub(pattern = ".*(TCGA-\\w+{2}-\\w{4}-\\w{3}-\\w{3}-\\w{4}-\\w{2}).*", 
+     replacement = "\\1", test_char)
[1] "TCGA-66-2781-11A-01W-0878-08" "TCGA-75-5126-10A-01D-1753-08"

的确如此。

上一篇 下一篇

猜你喜欢

热点阅读