report_comment: >
  This report has been generated by the <a href="https://github.com/nf-core/viralrecon" target="_blank">nf-core/viralrecon</a>
  analysis pipeline. For information about how to interpret these results, please see the
  <a href="https://github.com/nf-core/viralrecon" target="_blank">documentation</a>.

data_format: "yaml"

max_table_rows: 10000

run_modules:
  - custom_content
  - pycoqc
  - samtools
  - bcftools
  - mosdepth
  - snpeff
  - quast

module_order:
  - pycoqc
  - samtools:
      path_filters:
        - "./samtools_stats/*"
  - mosdepth
  - bcftools:
      path_filters:
        - "./bcftools_stats/*.txt"
  - snpeff:
      path_filters:
        - "./snpeff/*.csv"
  - quast:
      path_filters:
        - "./quast/*.tsv"

report_section_order:
  amplicon_heatmap:
    before: summary_variants_metrics
  pangolin_lineage:
    after: amplicon_heatmap
  software_versions:
    order: -1001
  nf-core-viralrecon-summary:
    order: -1002

bcftools:
  collapse_complementary_changes: true

extra_fn_clean_exts:
  - ".pass"

# See https://github.com/ewels/MultiQC_TestData/blob/master/data/custom_content/with_config/table_headerconfig/multiqc_config.yaml
custom_data:
  fail_barcodes_no_sample:
    section_name: "WARNING: Barcodes without sample id"
    description: "List of barcodes that appear to have reads in the '--fastq_dir' folder but were not specified in mappings samplesheet via '--input'."
    plot_type: "table"
    pconfig:
      id: "fail_barcodes_no_sample_table"
      table_title: "Barcodes without sample id"
      namespace: "Barcodes without sample id"
      format: "{:,.0f}"
  fail_no_barcode_samples:
    section_name: "WARNING: No barcode"
    description: "List of samples that were specified in mappings samplesheet via '--input' but didn't have an associated barcode in the '--fastq_dir' folder."
    plot_type: "table"
    pconfig:
      id: "fail_no_barcode_samples_table"
      table_title: "Sample ids without barcode"
      namespace: "Sample ids without barcode"
  fail_barcode_count_samples:
    section_name: "WARNING: Fail barcode read count"
    description: "Samples that failed the minimum number of reads required per barcode specified via the '--min_barcode_reads' parameter, and hence were ignored for the downstream processing steps."
    plot_type: "bargraph"
    pconfig:
      id: "fail_barcode_count_samples_table"
      table_title: "Samples failed barcode read count threshold"
      namespace: "Samples failed barcode read count threshold"
      format: "{:,.0f}"
  fail_guppyplex_count_samples:
    section_name: "WARNING: Fail guppyplex read count"
    description: "Samples that failed the minimum number of reads required per sample specified via the '--min_guppyplex_reads' parameter, and hence were ignored for the downstream processing steps."
    plot_type: "bargraph"
    pconfig:
      id: "fail_guppyplex_count_samples_table"
      table_title: "Samples failed artic guppyplex read count threshold"
      namespace: "Samples failed artic guppyplex read count threshold"
      format: "{:,.0f}"
  pangolin_lineage:
    section_name: "Pangolin"
    description: "Results generated from Pangolin lineage analysis"
    plot_type: "table"
    pconfig:
      id: "pangolin_lineage_table"
      table_title: "Pangolin lineage assignment"
      namespace: "Pangolin lineage assignment"
      scale: False
  amplicon_heatmap:
    section_name: "Amplicon coverage heatmap"
    description: "Heatmap to show median log10(coverage+1) per amplicon across samples."
    plot_type: "heatmap"
    pconfig:
      id: "amplicon_heatmap"
      xTitle: "Amplicon"
      namespace: "Heatmap to show median log10(coverage+1) per amplicon across samples"
      square: False
      colstops:
        [
          [0, "#440154"],
          [0.05, "#471365"],
          [0.1, "#482475"],
          [0.15, "#463480"],
          [0.2, "#414487"],
          [0.25, "#3b528b"],
          [0.3, "#355f8d"],
          [0.35, "#2f6c8e"],
          [0.4, "#2a788e"],
          [0.45, "#25848e"],
          [0.5, "#21918c"],
          [0.55, "#1e9c89"],
          [0.6, "#22a884"],
          [0.65, "#2fb47c"],
          [0.7, "#44bf70"],
          [0.75, "#5ec962"],
          [0.8, "#7ad151"],
          [0.85, "#9bd93c"],
          [0.9, "#bddf26"],
          [0.95, "#dfe318"],
          [1, "#fde725"],
        ]
  summary_variants_metrics:
    section_name: "Variant calling metrics"
    description: "generated by the nf-core/viralrecon pipeline"
    plot_type: "table"
    headers:
      "# Mapped reads":
        description: "Total number of mapped reads relative to the viral genome"
        format: "{:,.0f}"
      "Coverage median":
        description: "Median coverage calculated by mosdepth"
        format: "{:,.2f}"
      "% Coverage > 1x":
        description: "Coverage > 1x calculated by mosdepth"
        format: "{:,.2f}"
      "% Coverage > 10x":
        description: "Coverage > 10x calculated by mosdepth"
        format: "{:,.2f}"
      "# SNPs":
        description: "Total number of SNPs called by artic minion that pass quality filters"
        format: "{:,.0f}"
      "# INDELs":
        description: "Total number of INDELs called by artic minion that pass quality filters"
        format: "{:,.0f}"
      "# Missense variants":
        description: "Total number of missense mutations identified by variant annotation with SnpEff"
        format: "{:,.0f}"
      "# Ns per 100kb consensus":
        description: "Number of N bases per 100kb in consensus sequence generated by artic minion"
        format: "{:,.2f}"
      "Pangolin lineage":
        description: "Pangolin lineage inferred from the consensus sequence generated by artic minion"
      "Nextclade clade":
        description: "Nextclade clade inferred from the consensus sequence generated by artic minion"
    pconfig:
      id: "summary_variants_metrics_plot_table"
      table_title: "Variant calling metrics"
      namespace: "Variant calling metrics"
      only_defined_headers: False
      format: "{:,.0f}"

# # Customise the module search patterns to speed up execution time
# #  - Skip module sub-tools that we are not interested in
# #  - Replace file-content searching with filename pattern searching
# #  - Don't add anything that is the same as the MultiQC default
# # See https://multiqc.info/docs/#optimise-file-search-patterns for details
sp:
  mosdepth/global_dist:
    fn: "*.global.dist.txt"
