[Python] AttributeError: 'Wildcards' object has no attribute 'samples'

Discussão em 'Python' iniciado por Stack, Outubro 4, 2024.

  1. Stack

    Stack Membro Participativo

    Hi snakemake doesn't seem to recognize my wildcards in my rule modkit. i defined all possible outputs and assigned to a list modkit_outputs. however, i get the error below and i'm not sure how to fix it.

    Building DAG of jobs...

    InputFunctionException in rule modkit in file //data1/greenbab/users/ahunos/apps/dorado_ont_wf/test_bedgraph.smk, line 29:
    Error:
    AttributeError: 'Wildcards' object has no attribute 'samples'
    Wildcards:

    Traceback:
    File "//data1/greenbab/users/ahunos/apps/dorado_ont_wf/test_bedgraph.smk", line 31, in <lambda> (rule modkit, line 40, //data1/greenbab/users/ahunos/apps/dorado_ont_wf/test_bedgraph.smk)


    parent_dir = "/data1/greenbab/users/ahunos/apps/dorado_ont_wf/"
    configfile: parent_dir + "config/config.yaml"
    configfile: "/data1/greenbab/users/ahunos/apps/dorado_ont_wf/config/samples_009TN_044TN.yaml"

    set_species = "human"

    #make sample list of bedgraphs
    motifs=["h", "m", "C"]
    strands=["positive", "negative"]
    minCoverages=[5, 10]

    samplesFromConfig=list(config["samples"].keys())#.tolist()
    print(f"{samplesFromConfig}")


    modkit_outputs = [
    f"results/modkit/{sample}/{sample}_{motif}_CG0_{strand}.bedgraph"
    for sample in samplesFromConfig
    for motif in motifs
    for strand in strands
    ]

    print(f"modkit outputs\n {modkit_outputs}\n")

    rule all:
    input:
    modkit_outputs

    rule modkit:
    input:
    lambda wildcards: config["samples"][wildcards.samples]
    output:
    outputs=modkit_outputs
    priority: 100
    params:
    reference_genome=lambda wildcards: config["mm10"] if set_species == "mouse" else config["hg38"],
    modkit_threads=16,
    modkit_prob_percentiles=0.1,
    outdir= "results/modkit/{samples}/"
    shell:
    """
    modkit pileup --region chr17 --threads {params.modkit_threads} --bedgraph {input} {params.outdir} \
    --prefix {wildcards.samples} --cpg --combine-mods --ref {params.reference_genome}

    """

    Continue reading...

Compartilhe esta Página