rotary-genomics / rotary

Assembly/annotation workflow for Nanopore-based microbial genome data containing circular DNA elements
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

Improve run reports for rotary #157

Closed LeeBergstrand closed 2 days ago

LeeBergstrand commented 5 months ago

@jmtsuji Can you update the description for this with more explanation of what to do?

jmtsuji commented 5 months ago

Problem description

The run summary report currently generated by rotary is very basic. To understand what was done to each contig assembled by rotary and why (e.g., was the contig filtered by coverage, and why; how aggressively was it polished), a user currently needs to dig through several log files to find important information. It would be nice if we could generate more informative summary reports for rotary that collect this information for the user. Collecting this information for the user will also allow the user (and us, in end-to-end testing) to sanity-check the performance of rotary.

Proposed solution

I think the following types of reports could be helpful to create:

After these reports are created, the Post-run tips section at the end of the README can be deleted, because this section summarizes which log files to manually check to obtain the above information.

Possible caveats

Because rotary has a lot of options that can be turned on or off (e.g., short read polishing; users can also just run up until the end of one module), we will need to consider how to make the reports modular so that the user can get reports at a variety of run endpoints. Rather than waiting to summarize all run info until the annotation module, we might need to add report summary rules within each module that summarize the information currently available. The next module can then take the run report from the previous module and add to it. I kind of do this already with "{sample}/stats/{sample}_contig_info.tsv"

jmtsuji commented 5 months ago

@jmtsuji Can you update the description for this with more explanation of what to do?

@LeeBergstrand Done! Thanks for breaking up the to-do file into individual issues.

jmtsuji commented 5 months ago

Quick update about the formats of the reports

To start, I was thinking that TSV files might be the most straightforward way to summarize the results from the different analysis steps. In general, one report could be made for each major bullet point above, with some exceptions (e.g., two reports might work better for read QC: one report for short reads and one report for long reads). In the longer term, we could consider making HTML reports with embedded tables and/or plots to summarize the rotary results (e.g., using info from the TSV files), if it's not too difficult to do this. I personally am happy with TSV files, but I wonder if users of the published version of the tool might appreciate a slightly more polished HTML report... @LeeBergstrand what are your thoughts?

LeeBergstrand commented 5 months ago

Quick update about the formats of the reports

To start, I was thinking that TSV files might be the most straightforward way to summarize the results from the different analysis steps. In general, one report could be made for each major bullet point above, with some exceptions (e.g., two reports might work better for read QC: one report for short reads and one report for long reads). In the longer term, we could consider making HTML reports with embedded tables and/or plots to summarize the rotary results (e.g., using info from the TSV files), if it's not too difficult to do this. I personally am happy with TSV files, but I wonder if users of the published version of the tool might appreciate a slightly more polished HTML report... @LeeBergstrand what are your thoughts?

@jmtsuji I want to use off-the-shelf tools to do much of the stats and make the HTML reports. For example, most of the reports ATLAS makes could have been generated by third-party tools and aggregated by MultiQC. This leads to less maintenance and its less likely that the reports will become broken.

jmtsuji commented 5 months ago

@LeeBergstrand Agreed - using off-the-shelf tools for both stats (as much as possible) and HTML reports sounds like a good idea for maintenance etc.. Relevant for #91

LeeBergstrand commented 1 week ago

QC Reports Generated Thus Far Per https://github.com/rotary-genomics/rotary/pull/214

jmtsuji commented 4 days ago

Thanks for these additions! We might also consider aggregating the coverage stats for each genome somehow. We might be able to just directly concatenate the coverage tables that are currently generated (via samtools coverage) for each sample.

LeeBergstrand commented 3 days ago

@jmtsuji That sounds good.

LeeBergstrand commented 2 days ago

Thanks for these additions! We might also consider aggregating the coverage stats for each genome somehow. We might be able to just directly concatenate the coverage tables that are currently generated (via samtools coverage) for each sample.

@jmtsuji This sounds like a good idea. Can you make a pull request for this?

jmtsuji commented 2 days ago

@LeeBergstrand PR is now made -- see #223