When the pipeline is rerun on a folder that already has (almost) all output files, it will only re-do the direct outputs of the final-report target (as well as anything for which inputs were change).
The multiQC report is one of those files that will always be re-run and while the actual report file (multiqc/multiqc_report.html) is removed/replaced by the pipeline, multiqc generates an additional output (multiqc/multiqc_data) that is not removed. When multiqc is re-run and the multiqc_data folder still exists it will name its output files multiqc/multiqc_report_1.html and multiqc/multiqc_data_1 (numbers will increase) which causes snakemake to throw a MissingOutputException.
When the pipeline is rerun on a folder that already has (almost) all output files, it will only re-do the direct outputs of the final-report target (as well as anything for which inputs were change).
The multiQC report is one of those files that will always be re-run and while the actual report file (multiqc/multiqc_report.html) is removed/replaced by the pipeline, multiqc generates an additional output (multiqc/multiqc_data) that is not removed. When multiqc is re-run and the multiqc_data folder still exists it will name its output files multiqc/multiqc_report_1.html and multiqc/multiqc_data_1 (numbers will increase) which causes snakemake to throw a MissingOutputException.