The recommended way to run VCF2Maf is using Singularity + Nextflow.
git clone https://github.com/mskcc/vcf2maf
We're going to use Nextflow to wrap and run the singularity image so we don't have to deal with any pesky settings ourselves.
A Nextflow pipeline file.
Copy this file to a main.nf
file in the same directory that you ran the git clone
in.
// main.nf
params.input = ""
params.fasta = "/scratch/references/hg38/gdc/GRCh38.d1.vd1/fasta/GRCh38.d1.vd1.fa"
process vcf2maf {
container "quay.io/biocontainers/vcf2maf:1.6.21--hdfd78af_0"
input:
path vcf
path fasta
script:
"""
vcf2maf.pl --ref-fasta ${fasta} --input-vcf ${vcf} --output-maf ${vcf.baseName}.vep.maf
"""
}
workflow {
vcf2maf(
Channel.fromPath(params.input),
file(params.fasta),
)
}
And a Nextflow config file.
Copy the contents of the code block to a file called nextflow.config
.
// nextflow.config
singularity {
autoMounts = true
enabled = true
}
Now run the nextflow pipeline and supply --input
to be the path to a single vcf file on your system, and --fasta
to be the path to your reference genome.
nextflow run ./main.nf \
--input vcf2maf/tests/test.vcf \
--fasta "/path/to/reference.fa"
You can also give nextflow a glob pattern for --input
, and it will automatically create one job per vcf.
nextflow run ./main.nf \
--input "vcf2maf/tests/*.vcf" \
--fasta "/path/to/reference.fa"