通过bcftools合并不同种群的vcf文件

简介: 通过bcftools合并不同种群的vcf文件

通过GATK calling出来的SNP如果使用UnifiedGenotype获得的SNP文件是分sample的,但是如果使用vcftools或者ANGSD则需要Vcf文件是multi-sample的,这里就需要我们将不同samples的文件进行合并,可以通过vcftools的perl模块进行,但是这种方式对perl的要求较高,且操作比较复杂,这里我们选择使用Bcftools,操作简便。


分三步:

将vcf进行压缩,批量压缩的方法:

bgzip -c -f -@ 10 sample.vcf > sample.vcf.gz
-c, --stdout            write on standard output, keep original files unchanged
-f, --force             overwrite files without asking
-@, --threads INT       number of compression threads to use [1]
  1. 对生成的vcf.gz进行index:
bcftools index sample.vcf.gz
-t, --tbi            generate TBI-format index for VCF files

3.合并操作:

bcftools merge A.vcf.gz B.vcf.gz >  merge.vcf.gz
-m, --merge <string>               allow multiallelic records for <snps|indels|both|all|none|id>, see man page for details [both]
-o, --output <file>                write output to a file [standard output]
-O, --output-type <b|u|z|v>        'b' compressed BCF; 'u' uncompressed BCF; 'z' compressed VCF; 'v' uncompressed VCF [v]
-l, --file-list <file>             read file names from the file


相关文章
|
6月前
|
数据处理
R语言数据合并:掌握`merge`与`dplyr`中`join`的巧妙技巧
【8月更文挑战第29天】如果你已经在使用`dplyr`进行数据处理,那么推荐使用`dplyr::join`进行数据合并,因为它与`dplyr`的其他函数(如`filter()`、`select()`、`mutate()`等)无缝集成,能够提供更加流畅和一致的数据处理体验。如果你的代码中尚未使用`dplyr`,但想要尝试,那么`dplyr::join`将是一个很好的起点。
|
6月前
|
分布式计算 Hadoop 数据处理
什么是“合并器”?
【8月更文挑战第31天】
67 0
SPSS数据文件的合并
SPSS数据文件的合并
394 0
|
存储 算法 Linux
算法丨根据基因型VCF文件自动识别变异位点并生成序列fasta文件,基于R语言tidyverse
算法丨根据基因型VCF文件自动识别变异位点并生成序列fasta文件,基于R语言tidyverse
|
算法 Linux Python
SGAT丨基于R语言tidyverse的vcf转txt文件算法,SNP位点判断与自动校正,染色体格式替换
SGAT丨基于R语言tidyverse的vcf转txt文件算法,SNP位点判断与自动校正,染色体格式替换
|
Linux Shell 数据格式
Linux脚本丨批量提取VCF文件指定样本数据
Linux脚本丨批量提取VCF文件指定样本数据
|
数据处理 索引 Python
Bioinfo|bedtools-操作VCF文件
Bioinfo|bedtools-操作VCF文件
286 0
|
数据库
snpEff构建物种数据库及完成vcf变异文件注释
snpEff构建物种数据库及完成vcf变异文件注释
|
Python
使用pysam操作VCF/BCF文件
使用pysam操作VCF/BCF文件 读取和写出 from pysam import VariantFile bcf_in = VariantFile("test_in.
1939 0
R 中几个常见的合并数据集方法
R 中几个常见的合并数据集方法
605 0
R 中几个常见的合并数据集方法