前言
将vcf转化为plink格式时,命令如下:
plink --vcf snp.vcf --recode --allow-extra-chr --out test
出现错误:
Error: Multiple instances of '_' in sample ID.
If you do not want '_' to be treated as a FID/IID delimiter, use --double-id or
--const-fid to choose a different method of converting VCF sample IDs to PLINK
IDs, or --id-delim to change the FID/IID delimiter.
原因
报错信息中已有提示。
plink默认使用下划线对样本名进行分隔,分隔的两个字段分别作为ped文件中的family id和sample id, 如果vcf中的样本名含有多个下划线,无法正确进行划分,软件会报错。
解决方法
方法一:修改样本名
假设你的vcf文件样本名在第7行:
sed -i '7s/_/-/g' snp.vcf
方法二:修改--id-delim
--id-delim参数设定默认分隔符是下划线,可以设置成其他字符,以达到正确区分的目的。
方法三:加入--double_id或--const-fid参数
通过加入参数指定family_id的设定方式,有两种参数。
第一种--double_id, 将family id和sample id保持相同。对于植物基因组分析而言,常忽略父母本,加入这个参数即可:
plink --vcf snp.vcf --recode --allow-extra-chr --double_id --out test
第二种--const-fid将family id设置成一个常量(默认值是0)。
https://cloud.tencent.com/developer/article/1556166
https://www.cog-genomics.org/plink2/input