阅读 table,注释行以“##”开头

Read table with comment lines starting with "##"

我很难用 R 阅读我的 table 变体调用格式 (VCF)。 每个文件都有一些以 ## 开头的注释行,然后是 # 开头的 header。

## contig=<ID=OTU1431,length=253>
## contig=<ID=OTU915,length=253>
#CHROM  POS ID  REF ALT QUAL    FILTER  INFO    FORMAT  /home/sega/data/bwa/reads/0015.2142.fastq.q10sorted.bam
Eubacterium_ruminantium_AB008552    56  .   C   T   228 .   DP=212;AD=0,212;VDB=0;SGB=-0.693147;MQ0F=0;AC=2;AN=2;DP4=0,0,0,212;MQ=59    GT:PL   1/1:255,255,0

如何阅读这样的 table 而不会漏掉 header? 使用 read.table()comment.char = "##" returns 错误:"invalid 'comment.char' argument"

如果你想阅读 VCF,你也可以尝试在 Bioconductor 中使用 VariantAnnotation 中的 readVcfhttps://bioconductor.org/packages/release/bioc/html/VariantAnnotation.html

否则,我强烈推荐 data.table 包中的 fread 功能。 它允许您使用 skip 参数以允许它在找到子字符串时开始导入。

例如

fread("test.vcf", skip = "CHROM")

应该可以。