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

Add cellranger to multiqc report #244

Merged
merged 6 commits into from Aug 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed issue with file collisions while using cellranger ([#232](https://github.com/nf-core/scrnaseq/pull/232))
- Fix issue where multiqc inputs tried to access objects that did not exist ([#239](https://github.com/nf-core/scrnaseq/pull/239))
- Removed `public_aws_ecr` profile
- Include cellranger in MultiQC report ([#244](https://github.com/nf-core/scrnaseq/pull/244))
- Nf-core template update to v2.9 ([#245](https://github.com/nf-core/scrnaseq/pull/245))
- Update cellranger and fastqc module ([#246](https://github.com/nf-core/scrnaseq/pull/246)).
The [updated cellranger module](https://github.com/nf-core/modules/pull/3537) now automatically renames input FASTQ
Expand Down
10 changes: 5 additions & 5 deletions modules.json
Expand Up @@ -7,17 +7,17 @@
"nf-core": {
"cellranger/count": {
"branch": "master",
"git_sha": "2d67954880926029c0e8dddf37b340bf7127a878",
"git_sha": "716ef3019b66772a817b417078edce2f7b337858",
"installed_by": ["modules"]
},
"cellranger/mkgtf": {
"branch": "master",
"git_sha": "4b7d4863a5883b76e6bff13b6e52468fab090c5b",
"git_sha": "716ef3019b66772a817b417078edce2f7b337858",
"installed_by": ["modules"]
},
"cellranger/mkref": {
"branch": "master",
"git_sha": "4b7d4863a5883b76e6bff13b6e52468fab090c5b",
"git_sha": "716ef3019b66772a817b417078edce2f7b337858",
"installed_by": ["modules"]
},
"custom/dumpsoftwareversions": {
Expand All @@ -37,7 +37,7 @@
},
"gunzip": {
"branch": "master",
"git_sha": "5c460c5a4736974abde2843294f35307ee2b0e5e",
"git_sha": "e06548bfa36ee31869b81041879dd6b3a83b1d57",
"installed_by": ["modules"]
},
"kallistobustools/count": {
Expand All @@ -52,7 +52,7 @@
},
"multiqc": {
"branch": "master",
"git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"git_sha": "a6e11ac655e744f7ebc724be669dd568ffdc0e80",
"installed_by": ["modules"]
},
"star/genomegenerate": {
Expand Down
13 changes: 8 additions & 5 deletions modules/nf-core/cellranger/count/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 4 additions & 5 deletions modules/nf-core/cellranger/mkgtf/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 4 additions & 5 deletions modules/nf-core/cellranger/mkref/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions modules/nf-core/gunzip/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions modules/nf-core/multiqc/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions workflows/scrnaseq.nf
Expand Up @@ -78,6 +78,7 @@ ch_transcript_fasta = params.transcript_fasta ? file(params.transcript_fasta): [
ch_txp2gene = params.txp2gene ? file(params.txp2gene) : []
ch_multiqc_alevin = Channel.empty()
ch_multiqc_star = Channel.empty()
ch_multiqc_cellranger = Channel.empty()
if (params.barcode_whitelist) {
ch_barcode_whitelist = file(params.barcode_whitelist)
} else if (params.protocol.contains("10X")) {
Expand Down Expand Up @@ -193,6 +194,9 @@ workflow SCRNASEQ {
ch_versions = ch_versions.mix(CELLRANGER_ALIGN.out.ch_versions)
ch_mtx_matrices = ch_mtx_matrices.mix(CELLRANGER_ALIGN.out.cellranger_out)
ch_star_index = CELLRANGER_ALIGN.out.star_index
ch_multiqc_cellranger = CELLRANGER_ALIGN.out.cellranger_out.map{
meta, outs -> outs.findAll{ it -> it.name == "web_summary.html"}

Choose a reason for hiding this comment

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

Why is this part necessary? Is this something that could be changed in the CELLRANGER_ALIGN module to make it play nicely with multiqc out of the box?

Copy link
Member Author

Choose a reason for hiding this comment

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

It's mostly to make MultiQC more efficient, because it only gets the files it needs (the full cellranger output dir contains a lot of files)

}
}

// Run universc pipeline
Expand Down Expand Up @@ -244,6 +248,7 @@ workflow SCRNASEQ {
ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_fastqc.collect{ meta, qcfile -> qcfile }.ifEmpty([]))
ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_alevin.collect{ meta, qcfile -> qcfile }.ifEmpty([]))
ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_star.collect{ meta, qcfile -> qcfile }.ifEmpty([]))
ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_cellranger.collect().ifEmpty([]))

MULTIQC (
ch_multiqc_files.collect(),
Expand Down