Missing Input files Error with snakemake pipeline

Hello hive mind,

I am having issues with a snakemake script.

What I want it to do is use abricate to look for AMR and resistance genes for each of my samples and then make a summary file for AMR, virulence factors, and plasmids.

What is happening is the script sees that I am missing the needed input files for the summary call and then stops, instead of making them.

I have the script below, however I do not understand why snakemake is not making the needed files.I know this is a user error but I can not see where I have gone astray. Any help is greatly appreciated.

configfile: "config.yaml"

rule all:
    input:
        expand("SummaryAMR_{sample}.tab", sample = config["names"]),
        expand("SummaryVF_{sample}.tab", sample = config["names"]),
        expand("plasmidfinder_{sample}.tab", sample = config["names"])

# Finding AMR Genes

rule bacmet2_db:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="bacmet2"
    output:
        directory("abricate/{sample}/AMR_{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"

rule card_db:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="card"
    output:
        directory("abricate/{sample}/AMR_{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"

rule megares_db:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="megares"
    output:
        directory("abricate/{sample}/AMR_{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"

rule ncbi_AMRFinderPlus:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="ncbi"
    output:
        directory("abricate/{sample}/AMR_{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"

rule resfinder_db:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="resfinder"
    output:
        directory("abricate/{sample}/AMR_{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"

rule argannot:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="argannot"
    output:
        directory("abricate/{sample}/AMR_{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"


# Finding virulence factors

rule vfdb:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="vfdb"
    output:
        directory("abricate/{sample}/{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"

rule victors:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="victors"
    output:
        directory("abricate/{sample}/{sample}_{params.db}.tab")
    shell:
        "abricate --db {params.db} {input} > {output}"

# Finding Plasmids

rule plasmidfinder:
    input:
        "{sample}_de_novo/contigs.fasta"
    params:
        db="plasmidfinder"
    output:
        "{params.db}_{sample}.tab"
    shell:
        "abricate --db {params.db} {input} > {output}"

rule SummaryAMR:
    input:
        argannot="abricate/{sample}/{sample}_argannot.tab",
        bacmet2="abricate/{sample}/{sample}_bacmet2.tab",
        card="abricate/{sample}/{sample}_card.tab",
        megares="abricate/{sample}/{sample}_megares.tab",
        ncbi="abricate/{sample}/{sample}_ncbi.tab",
        resfinder="abricate/{sample}/{sample}_resfinder.tab",
    output:
        "SummaryAMR_{sample}.tab"
    shell:
        "abricate summary {input.argannot} {input.bacmet2} {input.card} {input.megares} 
        {input.ncbi} {input.resfinder} > {output}"

rule SummaryVF:
    input:
        vfdb="abricate/{sample}/{sample}_vfdb.tab",
        victors="abricate/{sample}/{sample}_victors.tab"
    output:
        "SummaryVF_{sample}.tab"
    shell:
        "abricate summary {input.vfdb} {input.victors} > {output}"

Read more here: Source link