Dear BioStarers,
I am learning VCFtools by executing VCFtools commands on VCF files in Examples folder of the VCFtools installation path.
Please help me to fix the three problems followed and give me some tips or directions to merging VCF files.
Thanks in Advance.
(1). When I want to merge the three example VCF files, I failed.
commands:
merge-vcf merge-test-a.vcf merge-test-b.vcf merge-test-c.vcf > merg.vcf
results:
[main] fail to load the index file.
The command "tabix -l merge-test-a.vcf" exited with an error. Is the
file tabix indexed?
at /Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 167
Vcf::throw('Vcf4_0=HASH(0x10082df18)', 'The command "tabix -l
merge-test-a.vcf" exited with an error....') called at
/Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 1687
VcfReader::get_chromosomes('Vcf4_0=HASH(0x10082df18)') called at
/Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf line 139
main::init_cols('HASH(0x10082a3d0)', 'Vcf4_0=HASH(0x10082e110)')
called at /Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf
line 219
main::merge_vcf_files('HASH(0x10082a3d0)') called at
/Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf line 12
(2). Then I tried to compressed them. After I compressed and indexed the VCF files, I still failed to merge them.
bgzip merge-test-a.vcf
bgzip merge-test-b.vcf
bgzip merge-test-c.vcf
tabix -p vcf merge-test-a.vcf.gz
tabix -p vcf merge-test-b.vcf.gz
tabix -p vcf merge-test-c.vcf.gz
###########################################################################
merge Command:
merge-vcf merge-test-a.vcf.gz merge-test-b.vcf.gz merge-test-c.vcf.gz
| bgzip -c > merg.vcf.gz
results:
zcat: merge-test-a.vcf.gz.Z: No such file or directory
Error reading VCF file.
at /Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 167
Vcf::throw('Vcf=HASH(0x1008f32a8)', 'Error reading VCF file.\x{a}')
called at /Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line
280
Vcf::next_line('Vcf=HASH(0x1008f32a8)') called at
/Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 219
Vcf::_open('Vcf=HASH(0x1008f32a8)') called at
/Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 161
Vcf::new('Vcf', 'file', 'merge-test-a.vcf.gz') called at
/Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf line 125
main::init_cols('HASH(0x10082a3d0)', 'Vcf4_0=HASH(0x10082e110)')
called at /Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf
line 219
main::merge_vcf_files('HASH(0x10082a3d0)') called at
/Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf line 12
###########################################################################
merge Command:
merge-vcf merge-test-a.vcf.gz merge-test-b.vcf.gz merge-test-c.vcf.gz
> merg.vcf.gz
results:
zcat: merge-test-a.vcf.gz.Z: No such file or directory
Error reading VCF file.
at /Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 167
Vcf::throw('Vcf=HASH(0x1008f32a8)', 'Error reading VCF file.\x{a}')
called at /Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line
280
Vcf::next_line('Vcf=HASH(0x1008f32a8)') called at
/Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 219
Vcf::_open('Vcf=HASH(0x1008f32a8)') called at
/Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 161
Vcf::new('Vcf', 'file', 'merge-test-a.vcf.gz') called at
/Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf line 125
main::init_cols('HASH(0x10082a3d0)', 'Vcf4_0=HASH(0x10082e110)')
called at /Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf
line 219
main::merge_vcf_files('HASH(0x10082a3d0)') called at
/Users/jianfengmao/programe_files/VCFtools/bin/merge-vcf line 12
(3). vcf-stats and vcf-validator can work on all the three uncompressed VCF files: merge-test-a.vcf, merge-test-b.vcf, merge-test-c.vcf. But can not on the compressed files.
Command:
vcf-validator merge-test-a.vcf.gz
Results:
zcat: merge-test-c.vcf.gz.Z: No such file or directory
Error reading VCF file.
at /Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 167
Vcf::throw('Vcf=HASH(0x10082a0d0)', 'Error reading VCF file.\x{a}')
called at /Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line
280
Vcf::next_line('Vcf=HASH(0x10082a0d0)') called at
/Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 219
Vcf::_open('Vcf=HASH(0x10082a0d0)') called at
/Users/jianfengmao/programe_files/VCFtools/lib/Vcf.pm line 161
Vcf::new('Vcf', 'file', 'merge-test-c.vcf.gz') called at
/Users/jianfengmao/programe_files/VCFtools/bin/vcf-validator line 53
main::do_validation('HASH(0x100804ed0)') called at
/Users/jianfengmao/programe_files/VCFtools/bin/vcf-validator line 14
Had a similar issue.
Check that the .tbi and .gz files for your vcf-files are in the same directory.
The perl script for vcf-merge goes in and pulls the .tbi files.