1.到手的vcf文件,一定要首先拆分成snp和indel分别进行过滤和统计,不能直接用总的vcf直接过滤,胡子眉毛一块抓进行进化树构建,structure分析等。
2.对过滤后的vcf文件一定要统计一下,snp(vcftools --vcf snp.vcf. --missing-site )和样本所包含snps缺失率(vcftools --vcf snp.vcf. --missing-indv),分析样本缺失率太高的具体原因(远亲物种,比如外群;还是合并的vcf文件有一个是处理过的,vcf之间snp数量差异悬殊?)。及时剔除异常样本(如污染导致的比对率和覆盖率低,以及过多的外群,及时安排问题vcf文件的重新calling)。根据实际情况,确定后续分析maf,geno,mind参数!一定要过滤高缺失的样本(会导致进化树和structure结果不稳定),当然外群除外。
3.得到过滤好的vcf后,同时用4碱基位点(用snpEff产出的vcf提取4DTv位点,构建进化树,引用:https://www.jianshu.com/p/38b1aa8000ff ;「生信练习题」从SnpEff注释得到的VCF中过滤4DTV位点 https://www.jianshu.com/p/f0108b868961/)、LD过滤后的位点、屏蔽基因组重复序列后的高保证snps、三种方法同时进行建树。互相参考,看分类是否稳定,根据实际情况择优录取。
4.bcftools (bcftools view -S Keep1117.list All.Rename.filtered.indel.vcf > indeltest.vcf)提取vcf子集,比vcftools(vcftools --vcf All.Rename.filtered.indel.vcf --recode --recode-INFO-all --stdout --keep Keep1117.list > Keep1117.indel.vcf)速度快了一直一星半点!而且,这个vcftools提取是如果有样本名不匹配导致不能提取,这个软件不提示错误。但是bcftools会给你说具体是那个id有问题。
3.优先用vcftools进行vcf过滤(https://www.jianshu.com/p/61c32651afaf),因为默认情况下plink会改动ref,还有自动过滤多等位等问题。特别是改动ref会导致很多后续软件报错。且misiing这项,同等过滤参数下,vcftools过滤结果剩的比plink多。
vcf用法参考:
vcf文件与vcftools(一):https://www.jianshu.com/p/1726696e54e5
vcf文件与vcftools(二):https://www.jianshu.com/p/d46d3682637d
群体变异数据vcf文件过滤概念及使用方法: https://www.jianshu.com/p/61c32651afaf
4. 关于vcf中变异排序(0710)
利用vcftools中的vcf-sort (vcf-sort 1117.Chr15.all.vcf > 1117.Chr15.all.vcf.sort),几乎是超内存闪崩;
利用tassel软件包中的run_pipeline.pl,即使设置内存上下限(-Xmx140g -Xms1G),也会超内存闪崩,命令为perl /public/home/agis_kongweilong/BioSofts/tassel-5-standalone/run_pipeline.pl -Xmx140g -Xms1G -SortGenotypeFilePlugin -inputFile 1117.Chr03.all.vcf -outputFile 1117.Chr03.all.sort.new.vcf -fileType VCF;
利用bcftools
bcftools sort 1117.Chr04.all.vcf -o 1117.Chr04.all.sort.vcf -O v -m 120G -T 1117.Chr04.allTem 完美运行,-T 临时文件,文件夹;-m 内存上限









网友评论