# Custom general stats multiqc columns

**URL:** <https://community.seqera.io/t/custom-general-stats-multiqc-columns/2366>\
**Category:** Ask for help\
**Tags:** multiqc\
**Created:** [September 19, 2025, 12:54pm UTC](https://community.seqera.io/t/custom-general-stats-multiqc-columns/2366 "2025-09-19T12:54:08Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vanessa\_Rainone](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/vanessa_rainone/32/1512_2.png) [@Vanessa\_Rainone](https://community.seqera.io/u/Vanessa_Rainone)\
**Post date:** [September 19, 2025, 12:54pm UTC](https://community.seqera.io/t/custom-general-stats-multiqc-columns/2366/1 "2025-09-19T12:54:08Z")

</div>

Hi everyone,

I’m trying to customize my MultiQC report. In particular, I would like to personalize the content of the _General Stats_ table by including specific columns and removing others. We have already made several attempts without success, including using the `custom_data` option in the `multiqc_config.yaml`.

I’m attaching my `multiqc_config.yaml` here in the hope of getting some suggestions from you.

[multiqc\_config.yaml](https://community.seqera.io/uploads/short-url/5uCl4ISSQJm46ipgwuAkj0yIvgu.yaml) (3.5 KB)

---

<div class="post-metadata">

**Author:** ![ewels](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/ewels/32/1_2.png) [@ewels](https://community.seqera.io/u/ewels)\
**Post date:** [September 19, 2025, 6:55pm UTC](https://community.seqera.io/t/custom-general-stats-multiqc-columns/2366/2 "2025-09-19T18:55:47Z")

</div>

Hi @Vanessa_Rainone,

Before I go into the specifics of your question, can I back up a bit and ask what it is that you’re trying to do? Your config file is passing in custom data (ie. not supported by MultiQC), but from supported tools (eg. FastQC and STAR).

If you want to hide columns in general stats, you can just toggle them off using `table_columns_visible` (see [docs](https://docs.seqera.io/multiqc/reports/customisation#hiding-columns)).

Or if you generally want to control the columns in general stats (eg. order, titles etc) then you want `general_stats_columns` ([docs](https://docs.seqera.io/multiqc/reports/customisation#customize-general-statistics-table)) (can set `hidden: true` in here to hide columns too).

From what you’ve written, I guess that these should achieve what you want and that you don’t need `custom_data` at all. Note that the top-level `star` in your config is not a valid key so is just being ignored, you can remove that too.

I hope this helps! Let me know if I missed something.

Phil

---

<div class="post-metadata">

**Author:** ![Vanessa\_Rainone](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/vanessa_rainone/32/1512_2.png) [@Vanessa\_Rainone](https://community.seqera.io/u/Vanessa_Rainone)\
**Post date:** [September 23, 2025, 10:04am UTC](https://community.seqera.io/t/custom-general-stats-multiqc-columns/2366/3 "2025-09-23T10:04:47Z")

</div>

Thanks for your kind reply.  
To answer your question: I built a pipeline that takes FASTQ.GZ files, performs trimming, and runs FastQC on both the raw and trimmed data. Then, the trimmed\_reads are aligned with STAR on hg38 genome. After that, the workflow branches into two paths: we performe HTSeq count both on the aligned reads and on the deduped\_reads (UMI\_TOOLS). The goal is to compare the number of detected genes with and without deduplication.

I tried to follow your advice, using `table_columns_visible` and `general_stats_columns` but I still have the same issues. Actually, we’re not confident about the columns’ IDs that we are specifying in `table_column_visible`. However, we don’t know how to retrieve this information.

Moreover, we’d like to add info about detected genes present in 2 files generated with our pipeline. The files’ name are: `HTSEQCOUNT_STAR_detectedgenes.tsv` and `HTSEQCOUNT_DEDUP_detectedgenes.tsv`; both contain column name `Detected_Genes`.

I attach the new `multiqc_cofig.yaml` used.

[multiqc\_config2.yaml](https://community.seqera.io/uploads/short-url/akvQII6EZIZyXEXDkuwg0TsyDwE.yaml) (3.4 KB)

---

<div class="post-metadata">

**Author:** ![ewels](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/ewels/32/1_2.png) [@ewels](https://community.seqera.io/u/ewels)\
**Post date:** [September 29, 2025, 8:55am UTC](https://community.seqera.io/t/custom-general-stats-multiqc-columns/2366/4 "2025-09-29T08:55:25Z")

</div>

> [@Vanessa\_Rainone](#):
>
> Actually, we’re not confident about the columns’ IDs that we are specifying in `table_column_visible`. However, we don’t know how to retrieve this information.

See [the docs](https://docs.seqera.io/multiqc/reports/customisation#config-for-a-specific-column) here:

 ![CleanShot 2025-09-29 at 10.48.41@2x](https://europe1.discourse-cdn.com/flex013/uploads/seqera/original/2X/b/b7030f2da95b0e37231f70a51b34cfb5768db5a2.jpeg)

> [@Vanessa\_Rainone](#):
>
> Moreover, we’d like to add info about detected genes present in 2 files generated with our pipeline. The files’ name are: `HTSEQCOUNT_STAR_detectedgenes.tsv` and `HTSEQCOUNT_DEDUP_detectedgenes.tsv`; both contain column name `Detected_Genes`.

This is best done using [Custom Content](https://docs.seqera.io/multiqc/custom_content) - set `plot_type: "generalstats"` to get numbers into the general statistics table. You’re nearly there in your config file, there are just a couple of errors.

```yaml
## HTSeq recognition
htseq_star:
  - contents_re: "^NEGEDIA_BARCODE\\tDetected_Genes$"
    num_lines: 1
    shared: true
    fn_re: "HTSEQCOUNTS_STAR"

htseq_dedup:
  - contents_re: "^NEGEDIA_BARCODE\\tDetected_Genes$"
    num_lines: 1
    shared: true
    fn_re: "HTSEQCOUNTS_DEDUP"

```

These need to be nested under a `sp` key, short for _search pattern_ (see [docs](https://docs.seqera.io/multiqc/custom_content#separate-configuration-and-data-files)). Currently they are being ignored, which means that the `custom_content` block can’t find any files to work with.

Other stuff: it doesn’t really make sense to specify both `fn_clean_exts` and `extra_fn_clean_exts` - the former overwrites all the defaults, the latter appends to them. You only need to use one type.

Hope that helps! Let me know how you get on!

Phil

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/system/32/2402_2.png) [@system](https://community.seqera.io/u/system)\
**Post date:** [November 5, 2025, 4:28pm UTC](https://community.seqera.io/t/custom-general-stats-multiqc-columns/2366/5 "2025-11-05T16:28:20Z")

</div>

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.
