Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Samtools coverage submodule #2356

Merged
merged 10 commits into from Feb 23, 2024
Merged

Samtools coverage submodule #2356

merged 10 commits into from Feb 23, 2024

Conversation

vladsavelyev
Copy link
Member

Parse samtools coverage output:

#rname  startpos  endpos  numreads  covbases  coverage  meandepth  meanbaseq  meanmapq
chr1           1   40001      5640      1181  2.95243   16.7743    40.9             60
chr2           1   40001      5640      1181  2.95243   16.7743    40.9             60

Adds:

  • Line plot with regions along the x-axis, and metrics as a switch button panel,
  • Table/violin summing/averaging across all regions,
  • "Mean Depth" in gen stats.
Screenshot 2024-02-20 at 14 41 35

Fixes #2021

@vladsavelyev vladsavelyev added awaits-review Awaiting final review and merge. module: enhancement labels Feb 20, 2024
vladsavelyev added a commit to MultiQC/test-data that referenced this pull request Feb 20, 2024
@vladsavelyev
Copy link
Member Author

@multiqc-bot changelog

@vladsavelyev vladsavelyev removed the awaits-review Awaiting final review and merge. label Feb 20, 2024
@vladsavelyev vladsavelyev added the awaits-review Awaiting final review and merge. label Feb 22, 2024
@ewels
Copy link
Member

ewels commented Feb 23, 2024

I get an exciting error:

$ multiqc -f .

  /// MultiQC 🔍 | v1.20 (71ac39a)

|           multiqc | Search path : /Users/ewels/GitHub/MultiQC/test-data/data/modules/samtools/coverage
|         searching | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 3/3
/Users/ewels/GitHub/MultiQC/MultiQC/multiqc/modules/samtools/rmdup.py:20: SyntaxWarning: invalid escape sequence '\['
  dups_regex = "\[bam_rmdups?e?_core\] (\d+) / (\d+) = (\d+\.\d+) in library '(.*)'"
|          samtools | Found 3 coverage reports
|           multiqc | Report      : multiqc_report.html
|           multiqc | Data        : multiqc_data
|           multiqc | MultiQC complete

@ewels
Copy link
Member

ewels commented Feb 23, 2024

Seems unrelated to this PR.. Get the same thing on main

Copy link
Member

@ewels ewels left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Would be good to clean up the regex escape thing, but otherwise good to merge.

vladsavelyev and others added 2 commits February 23, 2024 12:06
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>
@vladsavelyev
Copy link
Member Author

Fixed the warning 👍

@vladsavelyev vladsavelyev merged commit 4630828 into main Feb 23, 2024
6 checks passed
@vladsavelyev vladsavelyev deleted the samtools-coverage branch February 23, 2024 11:09
vladsavelyev added a commit that referenced this pull request Feb 23, 2024
* Allow override title per-dataset

* Add samtools coverage submodule

* [automated] Update CHANGELOG.md

* Fix changelog

* Update multiqc/modules/samtools/rmdup.py

Co-authored-by: Phil Ewels <phil.ewels@seqera.io>

* Fix rmdup regex

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>
ewels added a commit that referenced this pull request Feb 24, 2024
* Rewrite version checker to use new API endpoint

* Move version_check_url into the config, for local testing

* Version check URL

* Clean up

* Typo

* Parse CI env var

* Fix

* Catch timeout error

* UMI-tools: support `extract` command (#2296)

* UMI-tools: support extract command

* [automated] Update CHANGELOG.md

* Add barplot

* Barplot with extract stats

* Doc

* Changelog

* Lint

* Fix duplicated IDs in linting

* Merge conflict

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>

* Infinite dmax or dmin fail JSON dump load in JavaScript (#2354)

* Infinite dmax or dmin fail JSON dump load in JavaScript

* [automated] Update CHANGELOG.md

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>

* Fix changelog.py for module updates

* Whatshap: robust to stdout appended to TSV (#2361)

* Drop `full_figure_for_development` the call to avoid Kaleido issues (#2359)

* Wrap `full_figure_for_development` in try-except to handle Kaleido errors

* [automated] Update CHANGELOG.md

* Get around read-only /tmp

* Remove the full_figure_for_development call for good, just re-calcualte range from data

* Changelog

* Comments

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>

* PURPLE: support v4.0.1 output without `version` column (#2366)

* Purple: support v4.0.1 output without version column

* [automated] Update CHANGELOG.md

* [automated] Update CHANGELOG.md

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>

* Ignore `.parquet` files. More robust `htseq` file reading loop (#2364)

* Ignore .parquet files. Handle htseq unicode errors

* [automated] Update CHANGELOG.md

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>

* Add box plot (#2358)

* Add box plot

* [automated] Update CHANGELOG.md

* Fix linting

* CSP

* Fix sample order

* Allow overriding title for a dataset tab

* Violin: color dots blue in monochrome violins to indiciate interactivity

* Mono color for boxes, support highliting

* Rename beeswarm to violin

* Barplot: stacking: normal should mean stacked, not grouped

* Update plotting documentation

* Docs

* Redirect beeswarm

* CSP

* Update the flat plot section and remove highcharts mention

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>

* Replace `setup.py` with `pyproject.toml` (#2353)

* Replace setup.py with pyproject.toml

* [automated] Update CHANGELOG.md

* Add myself as author

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>

* Put matplotlib back into main deps (#2370)

* Put matplotlib back into main deps

* [automated] Update CHANGELOG.md

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>

* Generic font family for Plotly (#2368)

* Generic font family for Plotly

* [automated] Update CHANGELOG.md

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>

* Samtools `coverage` submodule (#2356)

* Allow override title per-dataset

* Add samtools coverage submodule

* [automated] Update CHANGELOG.md

* Fix changelog

* Update multiqc/modules/samtools/rmdup.py

Co-authored-by: Phil Ewels <phil.ewels@seqera.io>

* Fix rmdup regex

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>

* Update `modules.md`: `pyproject.toml`, `"shared_key": "read_count"`, ruffify (#2371)

* Update modules.md: `pyproject.toml`, `"shared_key": "read_count"`, ruffify

* [automated] Update CHANGELOG.md

* Apply suggestions from code review

---------

Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>

---------

Co-authored-by: Vlad Savelyev <vladislav.sav@gmail.com>
Co-authored-by: MultiQC Bot <multiqc-bot@seqera.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaits-review Awaiting final review and merge. module: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Samtools coverage output
3 participants