Naming the first column in a custom table

I’m confused about how to customize the sample-name column in a custom table. I’m reading in a tsv using the custom_data section, and except for the first column, I can change the names of all the columns using the headers title entries in the config. But multiQC ignores whatever I put in for the first id column (the column is id in the file but I want to display Sample Name)

While this seems to imply that it’s impossible, there’s a cryptic note about using pconfig that gives me hope.

Anyhow, it seems to be reasonable to expect that one could change the display name of the first column in a table…I’d appreciate any ideas on how to achieve this…

Yes, that is a little cryptic sorry.

It’s referring the these docs about creating tables:

Specifically:

A third parameter can be specified with settings for the whole table:

table_config = {
   'col1_header': 'Sample Name' # The header used for the first column
}

Whilst digging for an example I also came across this issue:

The comments here have examples of using col1_header and also reminded me that simply including headers within the tsv file should be sufficient for naming.

I’ll try to improve this part of the docs to clarify usage on this point.

1 Like

Thanks @ewels for the quick and thorough reply.

I do not create the data-tables, so cannot add any headers to the tsv files.
Instead I’ve added a custom_data dictionary to the yaml config file.

Should I just add

table_config:
   col1_header:"Sample Name"

Under the appropriate section in the yaml I’m using as the configuration?

I had to add it under pconfig instead.

pconfig:
   col1_header:"Sample Name"

That was a little confusing, but it work now!

Thanks!

1 Like