Skip to content

Commit

Permalink
Merge pull request #365 from genomic-medicine-sweden/add_ek
Browse files Browse the repository at this point in the history
Add ek
  • Loading branch information
Lucpen authored Jun 26, 2023
2 parents f5ccf9c + 0b34b25 commit dc29093
Show file tree
Hide file tree
Showing 7 changed files with 157 additions and 22 deletions.
4 changes: 4 additions & 0 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@

> Poplin R, Chang PC, Alexander D, et al. A universal SNP and small-indel variant caller using deep neural networks. Nat Biotechnol. 2018;36(10):983-987. doi:10.1038/nbt.4235
- [eKLIPse](https://www.nature.com/articles/s41436-018-0350-8)

> Goudenège D, Bris C, Hoffmann V, et al. eKLIPse: a sensitive tool for the detection and quantification of mitochondrial DNA deletions from next-generation sequencing data. Genet Med 21, 1407–1416 (2019). doi:10.1038/s41436-018-0350-8
- [Ensembl VEP](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-016-0974-4)

> McLaren W, Gil L, Hunt SE, et al. The Ensembl Variant Effect Predictor. Genome Biol. 2016;17(1):122. doi:10.1186/s13059-016-0974-4
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,10 @@ On release, automated continuous integration tests run the pipeline on a full-si
**7. Mitochondrial analysis:**

- [Alignment and variant calling - GATK Mitochondrial short variant discovery pipeline ](https://gatk.broadinstitute.org/hc/en-us/articles/4403870837275-Mitochondrial-short-variant-discovery-SNVs-Indels-)
- [eKLIPse](https://github.com/dooguypapua/eKLIPse/tree/master)
- Annotation:
- [HaploGrep2](https://github.com/seppinho/haplogrep-cmd)
- [Hmtnote](https://github.com/robertopreste/HmtNote)
- [vcfanno](https://github.com/brentp/vcfanno)
- [CADD](https://cadd.gs.washington.edu/)
- [VEP](https://www.ensembl.org/info/docs/tools/vep/index.html)
Expand Down
5 changes: 5 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,11 @@
"git_sha": "0460d316170f75f323111b4a2c0a2989f0c32013",
"installed_by": ["modules"]
},
"eklipse": {
"branch": "master",
"git_sha": "99d437bd91f8509d0460b7abbde47fa430055ecb",
"installed_by": ["modules"]
},
"expansionhunter": {
"branch": "master",
"git_sha": "0260e5d22372eae434816d6970dedf3f5adc0053",
Expand Down
58 changes: 58 additions & 0 deletions modules/nf-core/eklipse/main.nf

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

56 changes: 56 additions & 0 deletions modules/nf-core/eklipse/meta.yml

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

31 changes: 17 additions & 14 deletions subworkflows/local/analyse_MT.nf
Original file line number Diff line number Diff line change
Expand Up @@ -98,18 +98,21 @@ workflow ANALYSE_MT {
ch_versions = ch_versions.mix(MERGE_ANNOTATE_MT.out.versions)

emit:
vcf = MERGE_ANNOTATE_MT.out.vcf // channel: [ val(meta), path(vcf) ]
tbi = MERGE_ANNOTATE_MT.out.tbi // channel: [ val(meta), path(tbi) ]
stats = ALIGN_AND_CALL_MT.out.stats // channel: [ val(meta), path(stats) ]
filt_stats = ALIGN_AND_CALL_MT.out.filt_stats // channel: [ val(meta), path(tsv) ]
mt_del_result = ALIGN_AND_CALL_MT.out.mt_del_result // channel: [ val(meta), path(txt) ]
stats_sh = ALIGN_AND_CALL_MT_SHIFT.out.stats // channel: [ val(meta), path(stats) ]
filt_stats_sh = ALIGN_AND_CALL_MT_SHIFT.out.filt_stats // channel: [ val(meta), path(tsv) ]
haplog = MERGE_ANNOTATE_MT.out.haplog // channel: [ val(meta), path(txt) ]
report = MERGE_ANNOTATE_MT.out.report // channel: [ path(html) ]
txt = ALIGN_AND_CALL_MT.out.txt // channel: [ val(meta), path(txt) ]
html = ALIGN_AND_CALL_MT.out.html // channel: [ val(meta), path(html) ]
txt_sh = ALIGN_AND_CALL_MT_SHIFT.out.txt // channel: [ val(meta), path(txt) ]
html_sh = ALIGN_AND_CALL_MT_SHIFT.out.html // channel: [ val(meta), path(html) ]
versions = ch_versions // channel: [ path(versions.yml) ]
vcf = MERGE_ANNOTATE_MT.out.vcf // channel: [ val(meta), path(vcf) ]
tbi = MERGE_ANNOTATE_MT.out.tbi // channel: [ val(meta), path(tbi) ]
stats = ALIGN_AND_CALL_MT.out.stats // channel: [ val(meta), path(stats) ]
filt_stats = ALIGN_AND_CALL_MT.out.filt_stats // channel: [ val(meta), path(tsv) ]
mt_del_result = ALIGN_AND_CALL_MT.out.mt_del_result // channel: [ val(meta), path(txt) ]
stats_sh = ALIGN_AND_CALL_MT_SHIFT.out.stats // channel: [ val(meta), path(stats) ]
filt_stats_sh = ALIGN_AND_CALL_MT_SHIFT.out.filt_stats // channel: [ val(meta), path(tsv) ]
eklipse_del = ALIGN_AND_CALL_MT.out.eklipse_del // channel: [ val(meta), path(csv) ]
eklipse_genes = ALIGN_AND_CALL_MT.out.eklipse_genes // channel: [ val(meta), path(csv) ]
eklipse_circos = ALIGN_AND_CALL_MT.out.eklipse_circos // channel: [ val(meta), path(png) ]
haplog = MERGE_ANNOTATE_MT.out.haplog // channel: [ val(meta), path(txt) ]
report = MERGE_ANNOTATE_MT.out.report // channel: [ path(html) ]
txt = ALIGN_AND_CALL_MT.out.txt // channel: [ val(meta), path(txt) ]
html = ALIGN_AND_CALL_MT.out.html // channel: [ val(meta), path(html) ]
txt_sh = ALIGN_AND_CALL_MT_SHIFT.out.txt // channel: [ val(meta), path(txt) ]
html_sh = ALIGN_AND_CALL_MT_SHIFT.out.html // channel: [ val(meta), path(html) ]
versions = ch_versions // channel: [ path(versions.yml) ]
}
23 changes: 15 additions & 8 deletions subworkflows/local/mitochondria/align_and_call_MT.nf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ include { GATK4_MUTECT2 as GATK4_MUTECT2_MT } fr
include { GATK4_FILTERMUTECTCALLS as GATK4_FILTERMUTECTCALLS_MT } from '../../../modules/nf-core/gatk4/filtermutectcalls/main'
include { TABIX_TABIX as TABIX_TABIX_MT } from '../../../modules/nf-core/tabix/tabix/main'
include { MT_DELETION } from '../../../modules/local/mt_deletion_script'
include { EKLIPSE as EKLIPSE_MT } from '../../../modules/nf-core/eklipse/main'

workflow ALIGN_AND_CALL_MT {
take:
Expand Down Expand Up @@ -50,6 +51,8 @@ workflow ALIGN_AND_CALL_MT {
ch_sort_index_bam = SAMTOOLS_SORT_MT.out.bam.join(SAMTOOLS_INDEX_MT.out.bai, failOnMismatch:true, failOnDuplicate:true)
ch_sort_index_bam_int_mt = ch_sort_index_bam.combine(ch_intervals)

EKLIPSE_MT(ch_sort_index_bam,[])

MT_DELETION(ch_sort_index_bam, ch_fasta)

GATK4_MUTECT2_MT (ch_sort_index_bam_int_mt, ch_fasta, ch_fai, ch_dict, [], [], [],[])
Expand All @@ -72,18 +75,22 @@ workflow ALIGN_AND_CALL_MT {
ch_versions = ch_versions.mix(PICARD_MARKDUPLICATES_MT.out.versions.first())
ch_versions = ch_versions.mix(SAMTOOLS_SORT_MT.out.versions.first())
ch_versions = ch_versions.mix(SAMTOOLS_INDEX_MT.out.versions.first())
ch_versions = ch_versions.mix(EKLIPSE_MT.out.versions.first())
ch_versions = ch_versions.mix(MT_DELETION.out.versions.first())
ch_versions = ch_versions.mix(GATK4_MUTECT2_MT.out.versions.first())
ch_versions = ch_versions.mix(HAPLOCHECK_MT.out.versions.first())
ch_versions = ch_versions.mix(GATK4_FILTERMUTECTCALLS_MT.out.versions.first())

emit:
vcf = GATK4_FILTERMUTECTCALLS_MT.out.vcf // channel: [ val(meta), path(vcf) ]
tbi = GATK4_FILTERMUTECTCALLS_MT.out.tbi // channel: [ val(meta), path(tbi) ]
stats = GATK4_MUTECT2_MT.out.stats // channel: [ val(meta), path(stats) ]
filt_stats = GATK4_FILTERMUTECTCALLS_MT.out.stats // channel: [ val(meta), path(tsv) ]
txt = HAPLOCHECK_MT.out.txt // channel: [ val(meta), path(txt) ]
html = HAPLOCHECK_MT.out.html // channel: [ val(meta), path(html) ]
mt_del_result = MT_DELETION.out.mt_del_result // channel: [ val(meta), path(txt) ]
versions = ch_versions // channel: [ path(versions.yml) ]
vcf = GATK4_FILTERMUTECTCALLS_MT.out.vcf // channel: [ val(meta), path(vcf) ]
tbi = GATK4_FILTERMUTECTCALLS_MT.out.tbi // channel: [ val(meta), path(tbi) ]
stats = GATK4_MUTECT2_MT.out.stats // channel: [ val(meta), path(stats) ]
filt_stats = GATK4_FILTERMUTECTCALLS_MT.out.stats // channel: [ val(meta), path(tsv) ]
eklipse_del = EKLIPSE_MT.out.deletions // channel: [ val(meta), path(csv) ]
eklipse_genes = EKLIPSE_MT.out.genes // channel: [ val(meta), path(csv) ]
eklipse_circos = EKLIPSE_MT.out.circos // channel: [ val(meta), path(png) ]
txt = HAPLOCHECK_MT.out.txt // channel: [ val(meta), path(txt) ]
html = HAPLOCHECK_MT.out.html // channel: [ val(meta), path(html) ]
mt_del_result = MT_DELETION.out.mt_del_result // channel: [ val(meta), path(txt) ]
versions = ch_versions // channel: [ path(versions.yml) ]
}

0 comments on commit dc29093

Please sign in to comment.