How to use qiime tools make-report (qiime2-amplicon-2025.10)

Hello,

I have two questions related to qiime tools make-report.

  1. I have generated the report with multiple .qzv files, but I don't have headings like in the example g2s-report.qzv. How can I get these headings?

  1. Another problem I am also having is that when I use qiime tools export to generate an .html file from the above report, I get this error: 500 Internal Error.
1 Like

Hi @Jose_Goyco-Blas!

It’s exciting to see people try out these new features!

The headings happen as you “nest” these reports (at least for this default built-in matryoshka template).

So for each group you want, create a report, then you can provide each of these per-group reports as inputs to another report.

On the CLI you have to use a filename you are happy with which can mean you have to escape whitespace, but in the API you can use strings with whatever characters you feel like.

As you describe it, this actually not a feature.

But if you mean qiime tools extract which unzips the entire thing, it should ideally work inside of a standard web-server (like Apache/NGINX/whatever). If that’s what you meant, then a screenshot of the network tab/console of the browser’s Developer tools would be handy.

1 Like

Hello, thank you very much for your prompt response. I have created the report with the headings, thank you very much.

However, I have not been able to successfully qiime tools export the completed report from .qzv format to a .html

Here is a screenshot:

Export the folder with all its components as usual. But when I try to open the index.html file, I get that error in the browser.

Thanks again for the help.

1 Like

Just :qiime2:'ing in with a link to an example of how to do this.

Happy Reporting - we're very excited about this new functionality!

3 Likes

Hi @Jose_Goyco-Blas,

That is expected, you would need to run a command such as python -m http.server inside that directory in order for index.html to function.

The issue is that the report is making HTTP requests to the `subfigures/index.json`, which under the file:// protocol (the URL when you double-click on HTML file) is considered a different Origin, so Cross-Origin-Resource-Sharing policies kick in and prevent the load of the sub-resources.

None of this is an issue when you run it under a static file-server as now the entire directory lives under the same "Origin”, so the requests for information on the subfigures succeed.

The reason that your procedure works fine for some visualizations is some of them specifically work to avoid cross-orgin requests via very old-school hacks such as including data as a script (JSON-P). But it just wasn’t realistic to implement that for reports and would have made the implementation somewhat convoluted.

1 Like