Skip to content

Longread Variant Calling

Dense long-read variant-calling pipeline (six lines, nine sections): exercises inter-section routing around non-connecting section boxes, cross-row feeds via the inter-row gap, same-line bundle coincidence, and a same-colour crossover bridge.

Mermaid source
examples/longread_variant_calling.mmd
%%metro title: Long-read Variant Calling
%%metro style: dark
%%metro directional: true
%%metro files: fastq_in | FASTQ
%%metro files: bam_in | BAM
%%metro files: ubam_in | uBAM
%%metro line: ubam | uBAM | #0570b0
%%metro line: fastq | FASTQ | #2db572
%%metro line: bam | BAM | #f5c542
%%metro line: other | Other | #ff8c00
%%metro line: snvvcf | SNV VCF | #e63946
%%metro line: svvcf | SV VCF | #9d4edd
%%metro legend: tl
graph LR
subgraph preprocessing [Pre-processing]
fastq_in[ ]
bam_in[ ]
ubam_in[ ]
cat_fastq[cat FASTQ]
samtools_merge[samtools\nmerge]
minimap2_align[minimap2]
samtools_sort_index[samtools\nsort/index]
mosdepth[mosdepth]
fastq_in -->|fastq| cat_fastq
ubam_in -->|ubam| samtools_merge
bam_in -->|bam| samtools_merge
cat_fastq -->|fastq| minimap2_align
samtools_merge -->|ubam| minimap2_align
minimap2_align -->|bam| samtools_sort_index
samtools_merge -->|bam| samtools_sort_index
samtools_sort_index -->|bam| mosdepth
end
subgraph small_variants [Small variant calling]
clair3[Clair3]
deepvariant[Deepvariant]
end
subgraph cnv_calling [CNVs]
ontspectre_cnvcaller[ont-spectre CNVCaller]
end
subgraph tr_calling [Repeats]
longtr[LongTR]
straglr[Straglr]
trgt[TRGT]
end
subgraph phasing [Phasing]
whatshap_phase[WhatsHap Phase]
whatshap_haplotag[WhatsHap Haplotag]
whatshap_phase -->|bam,snvvcf| whatshap_haplotag
end
subgraph structural_variants [Structural Variants]
sniffles[Sniffles]
cutesv[CuteSV]
jasminesv_callers[Jasmine merge callers]
sniffles -->|svvcf,bam| jasminesv_callers
cutesv -->|svvcf,bam| jasminesv_callers
end
subgraph jointcalling [Joint Calling]
jasminesv_samples[Jasmine merge samples]
glnexus[GLNexus]
end
subgraph annotation [Annotation]
vep[VEP]
snpeff[SnpEff]
annotsv[AnnotSV]
end
subgraph reports [Reports]
geneyx[Geneyx]
sv_report[SV Report]
end
%% Inter-section edges
samtools_sort_index -->|bam| clair3
samtools_sort_index -->|bam| deepvariant
samtools_sort_index -->|bam| longtr
samtools_sort_index -->|bam| straglr
samtools_sort_index -->|bam| trgt
mosdepth -->|other| ontspectre_cnvcaller
straglr -->|other| geneyx
clair3 -->|snvvcf| ontspectre_cnvcaller
deepvariant -->|snvvcf| ontspectre_cnvcaller
clair3 -->|bam,snvvcf| whatshap_phase
deepvariant -->|bam,snvvcf| whatshap_phase
clair3 -->|snvvcf| glnexus
deepvariant -->|snvvcf| glnexus
clair3 -->|snvvcf| vep
deepvariant -->|snvvcf| vep
whatshap_haplotag -->|bam| sniffles
whatshap_haplotag -->|bam| cutesv
whatshap_haplotag -->|bam| jasminesv_samples
ontspectre_cnvcaller -->|other| geneyx
sniffles -->|svvcf| jasminesv_samples
sniffles -->|svvcf| vep
sniffles -->|svvcf| snpeff
sniffles -->|svvcf| annotsv
sniffles -->|svvcf| geneyx
cutesv -->|svvcf| jasminesv_samples
cutesv -->|svvcf| vep
cutesv -->|svvcf| snpeff
cutesv -->|svvcf| annotsv
cutesv -->|svvcf| geneyx
jasminesv_callers -->|svvcf| jasminesv_samples
jasminesv_callers -->|svvcf| vep
jasminesv_callers -->|svvcf| snpeff
jasminesv_callers -->|svvcf| annotsv
jasminesv_callers -->|svvcf| geneyx
jasminesv_callers -->|svvcf| sv_report
snpeff -->|svvcf| sv_report
annotsv -->|svvcf| sv_report
glnexus -->|snvvcf| vep
CLI command
Terminal window
nf-metro render examples/longread_variant_calling.mmd -o longread_variant_calling.svg
Rendered map
Long-read Variant Calling 1 2 5 4 3 6 7 8 9 FASTQ BAM uBAM Sniffles WhatsHap Phase CuteSV Clair3 ont-spectre CNVCaller LongTR Jasmine merge samples VEP Geneyx Deepvariant Straglr GLNexus SnpEff SV Report TRGT AnnotSV samtoolsmerge cat FASTQ WhatsHap Haplotag Jasmine merge callers minimap2 samtoolssort/index mosdepth uBAM FASTQ BAM Other SNV VCF SV VCF created with nf-metro v1.1.0+dev