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

发现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"

的确如此。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • python的re模块--细说正则表达式 可能是东半球最详细最全面的re教程,翻译自官方文档,因为官方文档写的是真...
    立而人阅读 23,364评论 4 46
  • 什么是运维 术语名词 IDC--(Internet Data Center)互联网数据中心,主要服务包括整机租用、...
    lyh165阅读 7,773评论 0 19
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 11,013评论 0 9
  • 今天一整天都呆在寝室 还好有我的笔记本陪着我,今天还是挺有成就感的, 1:我在武汉人才网 登录了 做了第一份属于自...
    Spring柴柴阅读 2,828评论 0 0
  • 今天中午聚会了。老的和老的在一起,中的和中的在一起,可惜年轻人只有一位。我们的青年人都去哪了啊?
    荒原上的一缕阳光阅读 1,481评论 0 0

友情链接更多精彩内容