Why am i getting this warning: reason: Rules with neither input nor output files are always executed?

33 Views Asked by At

So I have a snakemake code in a snakefile called fastqc.smk with a rule to run fastqc. I then have another main snakefile where I define rule all, supplying my expected output files. However, I am getting the warning "reason: Rules with neither input nor output files are always executed." More here:

    jobid: 0
    reason: Rules with neither input nor output files are always executed.
    resources: tmpdir=<TBD>

Job stats:
job       count
------  -------
fastqc        1
total         1

Reasons:
    (check individual jobs above for details)
    neither input nor output:
        fastqc

Here is my fastqc rule:

EXTENSIONS = ["zip", "html"]
rule fastqc:
    output:
        expand(
            FASTQC_DIR + "/{sample}_fastqc.{ext}",
            sample=[A, B], # as
            ext=EXTENSIONS,
        )
    input:
        *getInputFiles(DATA_DIR, "fastq.gz"),
    params:
        FASTQC_DIR 
    shell:
        """
        fastqc {input} -o {params}
        """
Here is where my rule all lies:
rule all:
    input:
        expand(
            FASTQC_DIR + "/{sample}_fastqc.{ext}",
            sample=[A, B],
            ext=EXTENSIONS,
        ),

Note: The *getInputFiles(DATA_DIR, "fastq.gz") is a function that allows me retrieve input files. It behaves well by retrieving the file paths. DATA_DIR and FASTQC_DIR are defined elsewhere and works fine.

0

There are 0 best solutions below