Skip to content
Merged
39 changes: 33 additions & 6 deletions assets/multiqc_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,36 @@ mosdepth_config:
- "HLA*"
- "chrM"
- "chrEBV"

custom_data:
msisensorpro_summary:
pattern: "*_unstable" # or your actual filename pattern
section_name: "MSIsensorPro Summary"
description: "Summary of MSI sites per sample"

table_cond_formatting_rules:
msiSensorPro_all_table:
pass:
- s_contains: "Stable"
fail:
- s_contains: "Unstable"
warn:
- s_contains: "Low-coverage"
perc:
pass:
- lt: 30.0
fail:
- gt: 30.0
eq: 30.0

table_cond_formatting_colours:
- pass: "#2ecc71"
- fail: "#e74c3c"
- warn: "#f39c12"
- red: "#e74c3c"
- green: "#2ecc71"
- gray: "#3498db"

msi_sensor_pro_coverage_threshold: 300
msi_sensor_pro_min_sites: 10
msi_high_threshold: 30

custom_plot_config:
msi_summary:
defaultsort:
- column: "perc"
direction: desc
1 change: 1 addition & 0 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,7 @@ process {

withName: 'MULTIQC' {
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
container = 'my-multiqc:1.29-cmgg-dev'
}
}

Expand Down
3 changes: 3 additions & 0 deletions docs/CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@

> Brent S Pedersen, Aaron R Quinlan, Mosdepth: quick coverage calculation for genomes and exomes, Bioinformatics, Volume 34, Issue 5, 01 March 2018, Pages 867–868. doi: 10.1093/bioinformatics/btx699. PubMed PMID: 29096012. PubMed Central PMCID: PMC6030888.

- [Msisensor-pro] (https://pubmed.ncbi.nlm.nih.gov/32171661/)
> Peng Jia, Xiaofei Yang, Li Guo, Bowen Liu, Jiadong Lin, Hao Liang, et al. MSIsensor-pro: fast, accurate, and matched-normal-sample-free detection of microsatellite instability. Genomics Proteomics Bioinformatics 2020.2020 Feb;18(1):65-71. doi: 10.1016/j.gpb.2020.02.001. Epub 2020 Mar 12. PubMed PMID: PMC7393535.

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411. PubMed Central PMCID: PMC5039924.
Expand Down
17 changes: 11 additions & 6 deletions modules/nf-core/msisensorpro/pro/main.nf

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

27 changes: 11 additions & 16 deletions workflows/smallvariants.nf
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ include { TABIX_TABIX as TABIX_TRUTH } from '../
include { BCFTOOLS_STATS as BCFTOOLS_STATS_FAMILY } from '../modules/nf-core/bcftools/stats/main'
include { VCF2DB } from '../modules/nf-core/vcf2db/main'
include { MULTIQC } from '../modules/nf-core/multiqc/main'
include { MSISENSORPRO_PRO } from '../modules/nf-core/msisensorpro/pro/main'
include { MSISENSORPRO_PRO } from '../modules/nf-core/msisensorpro/pro/main'

/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -167,6 +167,7 @@ workflow SMALLVARIANTS {

def ch_elsites = elsites ? Channel.fromPath(elsites).map{ elsites_file -> [[id:'elsites'], elsites_file] }.collect() : [[],[]]

def ch_msi_baseline = Channel.fromPath(msi_baseline).map { msi_file -> [[id:"msi_baseline"], msi_file] }
//
// Check for the presence of EnsemblVEP plugins that use extra files
//
Expand Down Expand Up @@ -446,26 +447,20 @@ workflow SMALLVARIANTS {
cram: [meta, cram, crai, bed]
bam: [meta, bam, bai, bed]
}

//
// Check for MSI
//
def ch_fasta_ready_broadcast = ch_caller_inputs.cram
.map { meta, _cram, _crai, _bed -> tuple(meta, file(params.fasta)) }

def ch_fai_ready_broadcast = ch_caller_inputs.cram
.map { meta, _cram, _crai, _bed -> tuple(meta, file(params.fai)) }
def ch_msi_baseline = ch_caller_inputs.cram.map { meta, _cram, _crai, _bed -> tuple(meta, file(msi_baseline)) }
//
// Check for MSI
//

MSISENSORPRO_PRO(
ch_caller_inputs.cram.map { meta, cram, crai, _bed ->
tuple(meta, cram, crai) },
CRAM_PREPARE_SAMTOOLS_BEDTOOLS.out.ready_crams,
ch_msi_baseline,
ch_fasta_ready_broadcast,
ch_fai_ready_broadcast
ch_fasta_ready,
ch_fai_ready
)
ch_reports = ch_reports.mix(MSISENSORPRO_PRO.out.all_msi.map { _meta, file -> file})
ch_versions = ch_versions.mix(MSISENSORPRO_PRO.out.versions)

ch_reports = ch_reports.mix(MSISENSORPRO_PRO.out.summary_msi.map { _meta, file -> file})
ch_versions = ch_versions.mix(MSISENSORPRO_PRO.out.versions.first())

def ch_calls = Channel.empty()
def ch_gvcf_reports = Channel.empty()
Expand Down
Loading