我正在使用vcf2maf
注释变量,作为snakemake
管道的一部分
rule vcf2maf:
input:
vcf="vcfs/{sample}.vcf",
fasta=vep_fasta,
vep_dir=vep_dir
output:
"mafs/{sample}.maf"
conda:
"../envs/annotation.yml"
shell:
"""
vcf2maf.pl --input-vcf {input.vcf} --output-maf {output} \
--tumor-id {wildcards.sample}.tumor \
--normal-id {wildcards.sample}.normal \
--ref-fasta {input.fasta} --filter-vcf 0 \
--vep-data {input.vep_dir} --vep-path [need path]
"""
conda
环境具有两个软件包:vcf2maf
和vep
。 vcf2maf
需要vep
的路径才能正常运行,但是我不确定如何访问vep
的路径,因为它存储在conda
环境中,该环境将具有用户特定的绝对路径。有没有一种简单的方法来获取vep
的路径,以便我可以在--vep-path
中引用它? 最佳答案
您可以使用unix which
命令,例如:
veppath=`which vep`
vcf2maf.pl --vep-path $veppath ...
[vep路径]存储在conda环境中,它将具有用户特定的绝对路径
变量
CONDA_PREFIX
包含当前conda环境的路径。因此您还可以执行以下操作:vcf2maf.pl --vep-path $CONDA_PREFIX/bin/vep ...