如何在Snakemake的anaconda环境中引用可执行文件

时间:2020-01-21 09:41:46

标签: python conda pipeline snakemake

我正在使用int_rate注释变量,作为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] """ 环境具有两个软件包:condavcf2mafvep要求到vcf2maf的路径才能正常运行,但是我不确定如何访问vep的路径,因为它存储在vep环境中,该环境具有一个用户特定的绝对路径。有没有一种简单的方法来获取conda的路径,以便我可以在vep中引用它?

1 个答案:

答案 0 :(得分:4)

您可以使用unix which命令,例如:

veppath=`which vep`
vcf2maf.pl --vep-path $veppath ...

[vep path is]存储在conda环境中,它将具有用户特定的绝对路径

变量CONDA_PREFIX包含当前conda环境的路径。因此您也可以执行以下操作:

vcf2maf.pl --vep-path $CONDA_PREFIX/bin/vep ...