I've checked that it is a vcf file. I'll try joinx, but it seems like its more for ubuntu? I am actually using Fedora and is currently facing this issue with this error,"E: Couldn't Find Package Libboost-all-dev" during the installation,which was after I've build the Boost library. Any idea if Joinx works on Fedora? Many thanks!
I had run vcftools to merge some vcf files with no success. As mentioned, the *.vcf files was pre-processed with bgzip and tabix.
Here are my commands for (bgzip,tabix and vcftools)
./bgzip fileA.vcf
./bgzip fileB.vcf
./bgzip fileC.vcf
./tabix -p vcf fileA.vcf.gz
./tabix -p vcf fileB.vcf.gz
./tabix -p vcf fileC.vcf.gz
vcf-merge fileA.vcf.gz fileB.vcf.gz fileC.vcf.gz >out.vcf.gz
Here's the error after I run the vcf-merge command :-
The use of -1 for unknown number of values is deprecated, please use '.' instead. FORMAT=<ID=PL,Number=-1,Type=Integer,Description="List of="" Phred-scaled="" genotype="" likelihoods,="" number="" of="" values="" is="" (#ALT+1)*(#ALT+2)="" 2"=""> Can't exec "tabix": No such file or directory at /usr/lib64/perl5/5.8.8/x8664-linux-thread-multi/Vcf.pm line 2155. The command "tabix -l raws51sequenceBWT.vcf.gz" exited with an error. Is the file tabix indexed?
at /usr/lib64/perl5/5.8.8/x8664-linux-thread-multi/Vcf.pm line 171 Vcf::throw('Vcf41=HASH(0xb762650)', 'The command "tabix -l raws51sequenceBWT.vcf.gz" exited w...') called at /usr/lib64/perl5/5.8.8/x8664-linux-thread-multi/Vcf.pm line 2156 VcfReader::getchromosomes('Vcf41=HASH(0xb762650)') called at /illumina/MiniProject/tools/vcftools0.1.7/perl/vcf-merge line 165 main::initcols('HASH(0xb760710)', 'Vcf41=HASH(0xb761ff0)') called at /illumina/MiniProject/tools/vcftools0.1.7/perl/vcf-merge line 245 main::mergevcffiles('HASH(0xb760710)') called at /illumina/MiniProject/tools/vcftools_0.1.7/perl/vcf-merge line 12
I am currently using linux, with tabix-0.2.5 and vcftools_0.1.7 (if this helps)
Thanks in advance.
Joanne
4 answers
Vcf.pm is a file present in vcftools_0.1.4a/lib.
You need to copy Vcf.pm in /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/.
I think this should solve your error.
I've never had much luck with vcf-tools. You may have better luck with joinx. Once you have it installed, you should be able to use this command:
joinx vcf-merge fileA.vcf fileB.vcf fileC.vcf -o mergedFile.vcf
Or, if you have them bgzipped already:
joinx vcf-merge <(zcat fileA.vcf.gz) <(zcat fileB.vcf.gz) <(zcat fileC.vcf.gz) | bgzip -c > output file
I realize "use a different program" might not be the answer you're looking for, but vcf-tools doesn't seem to handle the full range of allowable formatting in vcf. [edited]
Hi,
My Vcf.pm file is already in the path mentioned though.
Are you sure that "raw_s_5_1_sequence_BWT.vcf.gz" is a proper vcf and not a BAM or something else? It looks like the forward reads from lane 5 off of a flow cell..
Did you try to run vcf-validator to check that the your files are valid?
Log in to answer this question.