微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

来自文件的示例输入

如何解决来自文件的示例输入

我正在尝试为示例文件中的规则创建输入。示例文件包含一个 Column SampleID,它应该用作示例通配符。我想从数据框中的每个 SampleID 的 Path_normal 和 Path_Tumor 列中提取正常和肿瘤 bams 的路径。

为此我尝试过这样的:

import pandas as pd

input_table = "sampletable.tsv"

samples = pd.read_table(input_table).set_index("SampleID",drop=False)

rule all:
      input:
        expand("/directory/sm_mutect2_paired/vcf/{sample}.mt2.vcf",sample=samples.index)

rule Mutect2:
    input:
        tumor = samples[samples['SampleID']=="{sample}"]['Path_Tumor'],normal = samples[samples['SampleID']=="{sample}"]['Path_normal']
output:
        "/directory/sm_mutect2_paired/vcf/{sample}.mt2.vcf"
    conda:
        "envs/gatk_mutect2_paired.yaml"
    shell:
        "gatk --java-options '-Xmx16G -XX:+UseParallelGC -XX:ParallelGCThreads=16' Mutect2 \
            -R /directory/ref/genomics-public-data/references/hg38/v0/Homo_sapiens_assembly38.fasta \
            {input.tumor} \
            {input.normal} \
            -L /directory/GATK_interval_files_Agilent/S07604514_hs_hg38/S07604514_Covered.bed \
            -O {output} \
            --af-of-alleles-not-in-resource 2.5e-06 \
            --germline-resource /directory/GATK_gnomad/af-only-gnomad.hg38.vcf.gz \
            -pon /home/zyto/unger/GATK_PoN/1000g_pon.hg38.vcf.gz"
...

在进行试运行时,我没有收到错误消息,但执行失败,因为输入为空,这会导致查看日志:

atk --java-options '-Xmx16G -XX:+UseParallelGC -XX:ParallelGCThreads=16' Mutect2             -R /directory/GATK_ref/genomics-public-data/references/hg38/v0/Homo_sapiens_assembly38.fasta                                       -L /directory/GATK_interval_files_Agilent/S07604514_hs_hg38/S07604514_Covered.bed             -O /directory/WES_Rezidiv_HNSCC_Clonality/sm_mutect2_paired/vcf/HL05_Rez_HL05_NG.mt2.vcf             --af-of-alleles-not-in-resource 2.5e-06             --germline-resource /directory/GATK_gnomad/af-only-gnomad.hg38.vcf.gz -pon /directory/GATK_PoN/1000g_pon.hg38.vcf.gz

两个输入文件应该出现在“Mutect2”和“-R”之间。

所以看起来我在定义输入时做错了...

解决方法

当作业和通配符值已知时,您需要将该规则的输入文件的确定推迟到所谓的 DAG 阶段。这通过 input functions 起作用。我强烈建议您执行 official Snakemake tutorial,其中深入介绍了该主题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。