← 返回教程列表

🧬 VCF文件读取

使用vroom快速读取VCF基因变异文件

📖 什么是VCF文件?

VCF(Variant Call Format)是存储基因变异信息的标准文件格式,包含SNP、INDEL等变异信息。

⚡ 一行代码读取VCF

# 使用vroom读取VCF文件(推荐)
library(vroom)

# VCF默认有##注释信息,使用comment = "##"跳过注释
b <- vroom("./ieu-b-5089.vcf.gz", comment = "##")

# 查看数据结构
head(b)
dim(b)

💡 提示:vroom是readr的升级版,特别适合读取大型VCF文件,速度比传统方法快10倍以上。

📦 安装vroom包

# 安装vroom
install.packages("vroom")

# 或者使用Bioconductor版本(处理VCF更专业)
if (!require("BiocManager")) install.packages("BiocManager")
BiocManager::install("VariantAnnotation")

🚀 进阶用法

选择性读取特定列

# 只读取需要的列
b <- vroom("./file.vcf.gz", 
      comment = "##",
      col_select = c(ID, REF, ALT, INFO))

# 使用col_types指定列类型
b <- vroom("./file.vcf.gz",
      comment = "##",
      col_types = cols(ID = "c", REF = "c", ALT = "c"))

读取远程VCF文件

# 直接从URL读取
b <- vroom("https://zenodo.org/record/xxx/file.vcf.gz",
      comment = "##")

处理INFO列

# VCF的INFO列包含大量信息,需要解析
# 使用VariantAnnotation包解析
library(VariantAnnotation)

# 读取VCF文件
vcf <- readVcf("file.vcf.gz", genome = "GRCh37")

# 提取INFO字段
info(vcf)

⚠️ 注意事项

📚 相关教程