If the data is only SE or PE then due to presence of an empty list in the expansion multiqc has no input and thus runs before any other tools.
The following code in qc.smk needs to be fixed
expand(["results/qc/fastqc/{se_sample}_fastqc.html",
"results/qc/fastqc/{pe_sample}_{group}_fastqc.html",
"results/qc/flagstat/{sample}.txt"], sample = samples,
se_sample = se_samples, pe_sample = pe_samples, group = ["r1", "r2"],)