from os import listdir
from os.path import isfile, basename, splitext

rule all:
    input:
        "premapping/multiqc/multiqc_report.html",
        ".report/modules/multiqc.html"

rule fastqc:
    input:
        reads="preprocessing/{sample}.fastq.gz"
    output:
        "premapping/multiqc/fastqc/{sample}_fastqc.html",
        "premapping/multiqc/fastqc/{sample}_fastqc.zip"
    conda:
        "../lib/conda_env.yaml"
    group:
        "multiqc"
    threads:
        1
    shell:
        "fastqc -o premapping/multiqc/fastqc {input}"

rule multiqc:
    input:
        expand("premapping/multiqc/fastqc/{A}_fastqc.html", A=config['entries'].keys())
    output:
        "premapping/multiqc/multiqc_report.html"
    conda:
        "../lib/conda_env.yaml"
    params:
        input_dir="premapping/multiqc/fastqc"
    group:
        "multiqc"
    threads:
        1
    shell:
        "multiqc -o premapping/multiqc {params.input_dir}"

rule generate_report_data:
    input:
        html="premapping/multiqc/multiqc_report.html"
    output:
        report_html=".report/modules/multiqc.html"
    conda:
        "../lib/conda_env.yaml"
    group:
        "multiqc_report"
    shell:
        "cp {input} {output}"
