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

2024-09-30 22:22:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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环境有两个包:vcf2mafvepvcf2maf需要到vep的路径才能正常运行,但我不确定如何访问vep的路径,因为它存储在conda环境中,该环境将具有用户特定的绝对路径。有没有一种简单的方法来获取vep的路径,以便我可以参考它来查找--vep-path


Tags: samplepath路径idinputoutput环境dir
1条回答
网友
1楼 · 发布于 2024-09-30 22:22:45

您可以使用unix which命令,如下所示:

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

[vep path is] stored inside the conda environment which will have a user specific absolute path

变量CONDA_PREFIX包含当前conda环境的路径。所以你也可以这样做:

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

相关问题 更多 >