官网:VCFtools
参数查看:
提取样本 --keep
剔除样本 --remove
# 提取某几个样本
system("vcftools --vcf eg.vcf --keep keep.list --recode --out keep")
# keep.list 是由每一行为一个样本ID组成的文件
tips: 运行比较耗时
官网:PLINK 1.9
可以试一下vcf 转换为 plink 后再执行提取或删除,速度相对比较快。
# 首先VCF转换为Plink
# 这里设置了只保留SNP等参数plink --vcf eg.vcf --keep-allele-order --biallelic-only strict -snps-only just-acgt --const-fid --make-bed --out rawdata --allow-extra-chr#基于Plink提取样本plink --bfile rawdata --keep plink.list --make-bed --out keep --allow-extra-chr
小结:比如剔除一个样本--重测序数据可能需要1h; 但vcf 转换为 plink可能耗时0.5h,借助plink提取/剔除样本可能就1min左右,所以推荐使用plink。