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.