DAY-EC activated.
DAY-EC activated.


[Sun May 31 20:09:04 2026]
localrule ont_run_qc_collect_summaries:
    output: results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
    log: results/runs/20260513_ONT_HG003/run_qc/ont/logs/collect_summaries.log
    jobid: 3
    benchmark: results/runs/20260513_ONT_HG003/run_qc/ont/benchmarks/collect_summaries.bench.tsv
    reason: Missing output files: results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=


        set -euo pipefail
        mkdir -p $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt) $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/logs/collect_summaries.log)
        : > results/runs/20260513_ONT_HG003/run_qc/ont/logs/collect_summaries.log
        if [ -z /fsx/analysis_results/dyec-515/d515_0531t1930_r5_017_ont_run_qc/daylily-omics-analysis/config/run_dir_links/20260513_ONT_HG003 ]; then
            echo "config/runs.tsv with PLATFORM=ONT and RUN_DIR is required for mounted ONT run QC" >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/collect_summaries.log
            exit 2
        fi
        test -d /fsx/analysis_results/dyec-515/d515_0531t1930_r5_017_ont_run_qc/daylily-omics-analysis/config/run_dir_links/20260513_ONT_HG003
        find /fsx/analysis_results/dyec-515/d515_0531t1930_r5_017_ont_run_qc/daylily-omics-analysis/config/run_dir_links/20260513_ONT_HG003 -type f \( -name 'sequencing_summary*.txt' -o -name 'sequencing_summary*.txt.gz' \) \
          | sort > results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
        if [ ! -s results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt ]; then
            echo "No sequencing_summary*.txt files found under /fsx/analysis_results/dyec-515/d515_0531t1930_r5_017_ont_run_qc/daylily-omics-analysis/config/run_dir_links/20260513_ONT_HG003" >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/collect_summaries.log
            exit 2
        fi


[Sun May 31 20:09:04 2026]
localrule ont_demux_fastq_qc:
    input: results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/fastq_group_dirs.txt
    output: results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/ont_demux_fastq_qc.done
    log: results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
    jobid: 7
    benchmark: results/runs/20260513_ONT_HG003/run_qc/ont/benchmarks/demux_fastq_qc.bench.tsv
    reason: Missing output files: results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/ont_demux_fastq_qc.done; Input files updated by another job: results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/fastq_group_dirs.txt
    threads: 8
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=


        set -euo pipefail
        mkdir -p results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log)
        : > results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
        command -v seqkit >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log 2>&1
        command -v nanoq >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log 2>&1
        command -v NanoStat >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log 2>&1
        command -v NanoPlot >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log 2>&1
        run_dir="$(printf "%s" /fsx/analysis_results/dyec-515/d515_0531t1930_r5_017_ont_run_qc/daylily-omics-analysis/config/run_dir_links/20260513_ONT_HG003 | sed 's:/*$::')"
        seen_ids="results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/.ont_demux_fastq_qc_seen_ids"
        find results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} +
        : > "$seen_ids"
        while IFS= read -r fastq_dir; do
            rel="${fastq_dir#"$run_dir"/}"
            if [ "$rel" = "$fastq_dir" ]; then
                echo "ONT demux FASTQ group is not under RUN_DIR: $fastq_dir" >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
                exit 2
            fi
            group_token="$(printf "%s" "$rel" | sed 's#[^A-Za-z0-9._+-]#-#g; s#--*#-#g; s#^-##; s#-$##')"
            if [ -z "$group_token" ]; then
                echo "Could not derive ONT demux FASTQ sample identifier from $fastq_dir" >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
                exit 2
            fi
            sample="20260513_ONT_HG003-${group_token}"
            if grep -Fxq "$sample" "$seen_ids"; then
                echo "Duplicate ONT demux FASTQ sample identifier $sample from $fastq_dir" >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
                exit 2
            fi
            printf "%s\n" "$sample" >> "$seen_ids"
            sample_out="results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/$sample"
            file_list="$sample_out/$sample.fastq_files.txt"
            mkdir -p "$sample_out/nanoplot"
            find "$fastq_dir" -maxdepth 1 -type f \( -name '*.fastq.gz' -o -name '*.fq.gz' \) \
              | sort > "$file_list"
            if [ ! -s "$file_list" ]; then
                echo "No FASTQs found for $sample under $fastq_dir" >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
                exit 2
            fi
            mapfile -t fastqs < "$file_list"
            seqkit stats --tabular "${fastqs[@]}" \
              > "$sample_out/$sample.seqkit_stats.tsv" \
              2>> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
            nanoq "${fastqs[@]}" \
              > "$sample_out/$sample.nanoq.txt" \
              2>> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
            NanoStat --fastq "${fastqs[@]}" \
              > "$sample_out/$sample.NanoStat.fastq.txt" \
              2>> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log
            NanoPlot \
              --fastq "${fastqs[@]}" \
              --loglength \
              --tsv_stats \
              --info_in_report \
              -t 8 \
              -o "$sample_out/nanoplot" \
              -p "$sample." \
              >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_qc.log 2>&1
        done < results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/fastq_group_dirs.txt


[Sun May 31 20:09:04 2026]
localrule ont_run_qc_nanoplot:
    input: results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
    output: results/runs/20260513_ONT_HG003/run_qc/ont/nanoplot/nanoplot.done
    log: results/runs/20260513_ONT_HG003/run_qc/ont/logs/nanoplot.log
    jobid: 5
    benchmark: results/runs/20260513_ONT_HG003/run_qc/ont/benchmarks/nanoplot.bench.tsv
    reason: Missing output files: results/runs/20260513_ONT_HG003/run_qc/ont/nanoplot/nanoplot.done; Input files updated by another job: results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
    threads: 8
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=


        set -euo pipefail
        mkdir -p results/runs/20260513_ONT_HG003/run_qc/ont/nanoplot $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/logs/nanoplot.log)
        : > results/runs/20260513_ONT_HG003/run_qc/ont/logs/nanoplot.log
        command -v NanoPlot >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/nanoplot.log 2>&1
        mapfile -t summary_files < results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
        NanoPlot \
          --summary "${summary_files[@]}" \
          --loglength \
          --tsv_stats \
          --info_in_report \
          -t 8 \
          -o results/runs/20260513_ONT_HG003/run_qc/ont/nanoplot \
          -p 20260513_ONT_HG003. \
          >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/nanoplot.log 2>&1


[Sun May 31 20:09:04 2026]
localrule ont_run_qc_pycoqc:
    input: results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
    output: results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.html, results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json
    log: results/runs/20260513_ONT_HG003/run_qc/ont/logs/pycoqc.log
    jobid: 2
    benchmark: results/runs/20260513_ONT_HG003/run_qc/ont/benchmarks/pycoqc.bench.tsv
    reason: Missing output files: results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json, results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.html; Input files updated by another job: results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=


        set -euo pipefail
        mkdir -p results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/logs/pycoqc.log)
        : > results/runs/20260513_ONT_HG003/run_qc/ont/logs/pycoqc.log
        command -v pycoQC >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/pycoqc.log 2>&1
        mapfile -t summary_files < results/runs/20260513_ONT_HG003/run_qc/ont/tables/sequencing_summary_files.txt
        pycoQC \
          -f "${summary_files[@]}" \
          -o results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.html \
          -j results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json \
          --report_title 20260513_ONT_HG003 \
          >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/pycoqc.log 2>&1
        test -s results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.html
        test -s results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json


[Sun May 31 20:09:04 2026]
localrule ont_run_qc_multiqc:
    input: results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.html, results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json, results/runs/20260513_ONT_HG003/run_qc/ont/nanoplot/nanoplot.done
    output: results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html
    log: results/runs/20260513_ONT_HG003/run_qc/ont/logs/multiqc.log
    jobid: 4
    benchmark: results/runs/20260513_ONT_HG003/run_qc/ont/benchmarks/multiqc.bench.tsv
    reason: Missing output files: results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html; Input files updated by another job: results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json, results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.html, results/runs/20260513_ONT_HG003/run_qc/ont/nanoplot/nanoplot.done
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=


        set -euo pipefail
        mkdir -p $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html) $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/logs/multiqc.log)
        multiqc --version > results/runs/20260513_ONT_HG003/run_qc/ont/logs/multiqc.log 2>&1 || true
        multiqc -f \
          -m pycoqc \
          -m nanostat \
          --filename "$(basename results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html)" \
          --outdir "$(dirname results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html)" \
          results/runs/20260513_ONT_HG003/run_qc/ont >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/multiqc.log 2>&1
        test -s results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html


[Sun May 31 20:09:04 2026]
localrule ont_demux_fastq_multiqc:
    input: results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/ont_demux_fastq_qc.done
    output: results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html
    log: results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_multiqc.log
    jobid: 6
    benchmark: results/runs/20260513_ONT_HG003/run_qc/ont/benchmarks/demux_fastq_multiqc.bench.tsv
    reason: Missing output files: results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html; Input files updated by another job: results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc/ont_demux_fastq_qc.done
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=


        set -euo pipefail
        mkdir -p $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html) $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_multiqc.log)
        multiqc --version > results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_multiqc.log 2>&1 || true
        multiqc -f \
          -m nanostat \
          -m seqkit \
          -m nanoq \
          --filename "$(basename results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html)" \
          --outdir "$(dirname results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html)" \
          results/runs/20260513_ONT_HG003/run_qc/ont/demux_fastq_qc >> results/runs/20260513_ONT_HG003/run_qc/ont/logs/demux_fastq_multiqc.log 2>&1
        test -s results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html


[Sun May 31 20:09:04 2026]
localrule ont_run_qc_report:
    input: results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json
    output: results/runs/20260513_ONT_HG003/run_qc/ont/summary.html, results/runs/20260513_ONT_HG003/run_qc/ont/summary.tsv, results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.done
    log: results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.log
    jobid: 1
    benchmark: results/runs/20260513_ONT_HG003/run_qc/ont/benchmarks/ont_run_qc_report.bench.tsv
    reason: Missing output files: results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.done; Input files updated by another job: results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=


        set -euo pipefail
        mkdir -p $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/summary.html) $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/summary.tsv) $(dirname results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.log)
        python workflow/scripts/summarize_run_qc_report.py \
          --platform ONT \
          --run-s3-uri s3://lsmc-ssf-sequencing-data/basecalls/lsmc/ssf-hq/pca100/2026/20260513_ONT_HG003/ \
          --metrics-path results/runs/20260513_ONT_HG003/run_qc/ont/pycoqc/pycoQC.json \
          --output-html results/runs/20260513_ONT_HG003/run_qc/ont/summary.html \
          --output-tsv results/runs/20260513_ONT_HG003/run_qc/ont/summary.tsv \
          --done results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.done > results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.log 2>&1


[Sun May 31 20:09:04 2026]
localrule produce_ont_run_qc:
    input: results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.done, results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html, results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html
    log: results/day/hg38_broad/logs/produce_ont_run_qc.log
    jobid: 0
    benchmark: results/day/hg38_broad/benchmarks/produce_ont_run_qc.bench.tsv
    reason: Missing output files: results/day/hg38_broad/benchmarks/produce_ont_run_qc.bench.tsv; Input files updated by another job: results/runs/20260513_ONT_HG003/run_qc/ont/multiqc_report.html, results/runs/20260513_ONT_HG003/run_qc/ont/logs/ont_run_qc_report.done, results/runs/20260513_ONT_HG003/run_qc/ont/ont_demux_fastq.multiqc.html
    resources: mem_mb=3000, mem_mib=2862, disk_mb=1000, disk_mib=954, tmpdir=/dev/shm, threads=1, time=5440, partition=i192,i128,i192mem, vcpu=1, distribution=block, exclusive=, constraint=, exclude=, include=

Job stats:
job                             count    min threads    max threads
----------------------------  -------  -------------  -------------
ont_demux_fastq_group_list          1              1              1
ont_demux_fastq_multiqc             1              1              1
ont_demux_fastq_qc                  1              8              8
ont_run_qc_collect_summaries        1              1              1
ont_run_qc_multiqc                  1              1              1
ont_run_qc_nanoplot                 1              8              8
ont_run_qc_pycoqc                   1              1              1
ont_run_qc_report                   1              1              1
produce_ont_run_qc                  1              1              1
total                               9              1              8

Reasons:
    (check individual jobs above for details)
    input files updated by another job:
        ont_demux_fastq_multiqc, ont_demux_fastq_qc, ont_run_qc_multiqc, ont_run_qc_nanoplot, ont_run_qc_pycoqc, ont_run_qc_report, produce_ont_run_qc
    missing output files:
        ont_demux_fastq_group_list, ont_demux_fastq_multiqc, ont_demux_fastq_qc, ont_run_qc_collect_summaries, ont_run_qc_multiqc, ont_run_qc_nanoplot, ont_run_qc_pycoqc, ont_run_qc_report, produce_ont_run_qc

This was a dry-run (flag -n). The order of jobs does not reflect the order of execution.
RETURN CODE: 0
[INFO] Workflow exited with status 0
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

DAY-EC activated.
(DAY-EC) ubuntu@ip-10-0-0-93:/fsx/analysis_results/dyec-515/d515_0531t1930_r5_017_ont_run_qc/daylily-omics-analysis$
