Hi, \ I am using the bcftools plugin 'liftover',
cat input.vcf | bcftools +liftover --threads 10 -Oz -o output.liftover.vcf.gz -- -s original_reference.fna -f new_reference.fna -c original_to_new.chain 2>liftover.log
but my runs fail with the following error:
[main_plugin] Error: cannot write to Perognathus_filtered.liftover.vcf.gz
Based on some browsing, I gather this is related to memory, possibly bcftools writing too much to the default /tmp. How to change this directory? samtools has the -T flag, but for bcftools plugins -T means something else. I tried simply changing TMPDIR, to no avail. \ Any suggestions will be greatly appreciated!
1 answer
There are no memory requirements for bcftools +liftover as it does not automatically resort the output VCF (you can achieve that piping the output into bcftools sort though). Are you sure this is not something related to filesystem permissions? What happens if you try to output the VCF on standard output or on /dev/null? Do you get the same error? Also, the --threads option is only used to compress and decompress faster so you most likely don't need to use that many threads. The +liftover tool itself is not multi-threaded as it is already extremely fast (~10x faster than Picard LiftoverVcf)
Log in to answer this question.
I cannot see "Perognathus_filtered.liftover.vcf.gz" in your command line ? Are you sure you have the rights to write in the directory ?
I haven't seen this this liftover plugin elsewhere. Where is this from?
could be that one: https://github.com/freeseek/score/blob/master/liftover.c
having seen this one, looks intereseting, thanks ^^