I need to call variants on a large number of reads using both `VarScan2` and `BCFTools`. Both of these variant calling tools use `mpileup` file as input to call the variants. `VarScan2` command is straightforward, as we can specify the `mpileup` file as a command parameter. The problem is, `BCFTools` expects `mpileup` to be piped from another command and I cannot find an input parameter to specify a `mpileup` file that already exists (the one used with `VarScan2`). It seems horribly inefficient to run the same command twice instead of reusing the file obtained from previous step (especially because generating `mpileup` takes a substantial amount of time on my computer).

Is there a way to reuse an existing `mpileup` file with `BCFTools`?

I am using `Nextflow` to run my pre-processing pipeline, so could it be possible that I can pipe an input channel with `mpileup` into the `BCFTools`'s `call` command?

~~I also tried doing
`cat file.mpileup | bcftools call ...` but this does not seem to work.~~

Edit: `cat file.mpileup | bcftools call ...` does work, which would be a solution to this question, however, answers offer other, even more elegant, solutions.