Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
f99d4d2
install deepvariant subworkflow
robert-a-forsyth Mar 12, 2026
12869b0
add deepsomatic
robert-a-forsyth Mar 12, 2026
388d180
get deepvariant running
robert-a-forsyth Mar 13, 2026
af3a58e
add deep somatic and split processes for more efficent gpu requests
robert-a-forsyth Mar 13, 2026
ba8cf59
add gpu process labels for deepvariant, clair3, fibertools
robert-a-forsyth Mar 13, 2026
8045134
install helpful bcftools modules for consensus vcfs
robert-a-forsyth Mar 13, 2026
a5ca08a
bcftools query
robert-a-forsyth Mar 13, 2026
20437ff
preliminary small variant consensus calling stuff
robert-a-forsyth Mar 13, 2026
0ac7404
fix channel structure
robert-a-forsyth Mar 16, 2026
5910df7
Merge branch 'dev' into deepvariant
robert-a-forsyth Mar 16, 2026
c3635d8
preliminary germline merging channel structure
robert-a-forsyth Mar 16, 2026
713b11a
fix bcftool merge input to stop value channel conversion
robert-a-forsyth Mar 16, 2026
5747283
channel revision
robert-a-forsyth Mar 17, 2026
f676fd4
channel restructure
robert-a-forsyth Mar 17, 2026
43ca8f8
improve clairsto pon handling
robert-a-forsyth Mar 17, 2026
5fda744
migrate some functions to different workflows to improve readability
robert-a-forsyth Mar 23, 2026
ad88f88
somatic phasing
robert-a-forsyth Mar 24, 2026
7e414e0
gpu optional flag, and snap updates
robert-a-forsyth Mar 24, 2026
47194e1
merging fixes
robert-a-forsyth Mar 24, 2026
e098f3a
Update modules/local/vcfsplit/main.nf
robert-a-forsyth Mar 24, 2026
abf274f
Update modules/nf-core/bcftools/isec/main.nf
robert-a-forsyth Mar 24, 2026
c932ea4
small fixes
robert-a-forsyth Mar 24, 2026
bf44b0a
update snap
robert-a-forsyth Mar 24, 2026
fb2f842
Merge branch 'deepvariant' of github.com:IntGenomicsLab/lrsomatic int…
robert-a-forsyth Mar 24, 2026
e5d8ae6
prettier
robert-a-forsyth Mar 24, 2026
69a8edd
repatch isec
robert-a-forsyth Mar 24, 2026
3e66078
repatch bcftools query
robert-a-forsyth Mar 24, 2026
bcb68a1
fixed co-pilot fix
robert-a-forsyth Mar 24, 2026
eff9257
fix value channel
robert-a-forsyth Mar 24, 2026
00be26e
fixed severus channel
robert-a-forsyth Mar 24, 2026
ee028d3
fix snap and change modcall label
robert-a-forsyth Mar 25, 2026
48a71f6
fix channel structure, update longphase
robert-a-forsyth Mar 26, 2026
fcf2547
fix longphase output
robert-a-forsyth Mar 26, 2026
6f5a1b1
small changes
ljwharbers Mar 26, 2026
eb86f4a
revert longphase output versions
robert-a-forsyth Mar 27, 2026
f094a0b
adressing comments
robert-a-forsyth Mar 27, 2026
4834e8c
updates to documentation/process labels
robert-a-forsyth Mar 30, 2026
5cfadfb
prettier
robert-a-forsyth Mar 30, 2026
deefcf9
documentation, small fixes to config
robert-a-forsyth Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ testing*
null/
.nf-test
.nf-test.log
out/
24 changes: 20 additions & 4 deletions conf/base.config
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,26 @@ process {
// adding in your local modules too.
// TODO nf-core: Customise requirements for specific processes.
// See https://www.nextflow.io/docs/latest/config.html#config-process-selectors
withLabel:process_gpu_high {
ext.use_gpu = { params.use_gpu as boolean }
accelerator = { (params.use_gpu as boolean) ? 1 : null }
cpus = { 8 * task.attempt }
memory = { 48.GB * task.attempt }
time = { 8.h * task.attempt }
}
withLabel:process_gpu_very_high {
ext.use_gpu = { params.use_gpu as boolean }
accelerator = { (params.use_gpu as boolean) ? 1 : null }
cpus = { 16 * task.attempt }
memory = { 96.GB * task.attempt }
time = { 10.h * task.attempt }
}
withLabel:process_gpu_very_high_memory {
ext.use_gpu = { params.use_gpu as boolean }
accelerator = { (params.use_gpu as boolean) ? 1 : null }
cpus = { 16 * task.attempt }
memory = { 128.GB * task.attempt }
}
withLabel:process_single {
cpus = { 1 }
memory = { 6.GB * task.attempt }
Expand Down Expand Up @@ -64,8 +84,4 @@ process {
errorStrategy = 'retry'
maxRetries = 2
}
withLabel: process_gpu {
ext.use_gpu = { workflow.profile.contains('gpu') }
accelerator = { workflow.profile.contains('gpu') ? 1 : null }
}
}
1 change: 1 addition & 0 deletions conf/igenomes.config
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ params {
dbsnp = "${params.igenomes_base}/Homo_sapiens/ClairSTO/CHM13/Annotation/ClairSTO-pon/final_dbsnp.vcf.gz"
onekgenomes = "${params.igenomes_base}/Homo_sapiens/ClairSTO/CHM13/Annotation/ClairSTO-pon/final_1kgenomes.vcf.gz"
colors = "${params.igenomes_base}/Homo_sapiens/ClairSTO/CHM13/Annotation/ClairSTO-pon/final_colors.vcf.gz"
asap = "${params.igenomes_base}/Homo_sapiens/ClairSTO/CHM13/Annotation/ClairSTO-pon/WGS_CHM13_ASAP.vcf.gz"
}
'GRCm38' {
fasta = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/WholeGenomeFasta/genome.fa"
Expand Down
166 changes: 160 additions & 6 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,121 @@ process {
]
}

withName: '.*:BCFTOOLS_NORM' {
ext.prefix = { "${meta.id}.${meta.caller}_norm" }
ext.args = {
"-Oz -W=tbi"
}
publishDir = [
enabled: false
]
}

withName: '.*:BCFTOOLS_ISEC' {
ext.prefix = { "${meta.id}_isec" }
ext.args ={
"-Oz"
}
publishDir = [
enabled: false
]
}
withName: '.*:BCFTOOLS_ANNOTATE' {
ext.prefix = { "${meta.id}.${meta.caller}" }
ext.args = {
'''-h <(echo '##INFO=<ID=CALLER,Number=1,Type=String,Description="Variant caller">') \
-c CHROM,POS,REF,ALT,INFO/CALLER \
-Oz \
-W=tbi'''
}
publishDir = [
enabled: false
]
}
withName: '.*:BCFTOOLS_QUERY' {
ext.args = {
"-f '%CHROM\t%POS\t%REF\t%ALT\t${meta.caller}\n'"
}
publishDir = [
enabled: false
]
}

withName: '.*DEEPVARIANT_MAKEEXAMPLES' {
ext.args = {
meta.platform == 'pb'
? '--channel_list "BASE_CHANNELS,haplotype,base_6ma" --alt_aligned_pileup "diff_channels" --pileup_image_width "147"'
: '--channel_list "BASE_CHANNELS,haplotype" --alt_aligned_pileup "diff_channels" --pileup_image_width "99"'
}
publishDir = [
enabled: false
]
}

withName: '.*DEEPVARIANT_POSTPROCESSVARIANTS' {
publishDir = [
path: { "${params.outdir}/${meta.id}/variants/deepvariant" },
mode: params.publish_dir_mode,
saveAs: { filename ->
(filename.equals('versions.yml') || filename.endsWith('.g.vcf.gz') || filename.endsWith('.g.vcf.gz.tbi')) ? null : filename
}
]

}

withName: '.*DEEPVARIANT_CALLVARIANTS' {
ext.args = {
meta.platform == 'pb' ? ("--checkpoint '/opt/models/pacbio' ") : ("--checkpoint '/opt/models/ont_r104'")
}
publishDir = [
enabled : false
]
}

withName: '.*DEEPSOMATIC_MAKEEXAMPLES' {
ext.args = {
meta.platform == 'pb'
? meta.paired_data
? '--channel_list "BASE_CHANNELS,haplotype" --alt_aligned_pileup "diff_channels" --pileup_image_width "99"'
: '--channel_list "BASE_CHANNELS,haplotype,allele_frequency" --alt_aligned_pileup "diff_channels" --pileup_image_width "99" --population_vcfs "/opt/models/deepsomatic/pons/AF_pacbio_PON_CoLoRSdb.GRCh38.AF0.05.vcf.gz","AF_ilmn_PON_DeepVariant.GRCh38.AF0.05.vcf.gz","PON_dbsnp138_gnomad_ILMN1000g_pon.vcf.gz","PON_dbsnp138_gnomad_PB1000g_pon.vcf.gz"'
: meta.paired_data
? '--channel_list "BASE_CHANNELS,haplotype" --alt_aligned_pileup "diff_channels" --pileup_image_width "99"'
: '--channel_list "BASE_CHANNELS,haplotype,allele_frequency" --alt_aligned_pileup "diff_channels" --pileup_image_width "99" --population_vcfs "/opt/models/deepsomatic/pons/AF_pacbio_PON_CoLoRSdb.GRCh38.AF0.05.vcf.gz","AF_ilmn_PON_DeepVariant.GRCh38.AF0.05.vcf.gz","PON_dbsnp138_gnomad_ILMN1000g_pon.vcf.gz","PON_dbsnp138_gnomad_PB1000g_pon.vcf.gz"'
}
publishDir = [
enabled: false
]
}

withName: '.*DEEPSOMATIC_POSTPROCESSVARIANTS' {
ext.args = {
'--process_somatic=true'
}
publishDir = [
path: { "${params.outdir}/${meta.id}/variants/deepsomatic" },
mode: params.publish_dir_mode,
saveAs: { filename ->
(filename.equals('versions.yml') || filename.endsWith('.g.vcf.gz') || filename.endsWith('.g.vcf.gz.tbi')) ? null : filename
}
]
}

withName: '.*DEEPSOMATIC_CALLVARIANTS' {
ext.args = {
meta.platform == 'pb'
? (meta.paired_data
? "--checkpoint '/opt/models/deepsomatic/pacbio'"
: "--checkpoint '/opt/models/deepsomatic/pacbio_tumor_only'" )
: (meta.paired_data
? "--checkpoint '/opt/models/deepsomatic/ont'"
: "--checkpoint '/opt/models/deepsomatic/ont_tumor_only'")
}
publishDir = [
enabled : false
]
}


withName: '.*:UNZIP_.*' {
publishDir = [
enabled: false
Expand Down Expand Up @@ -161,7 +276,7 @@ process {
//

withName: '.*:MINIMAP2_ALIGN' {
ext.prefix = { "${meta.id}_mapped" }
ext.prefix = { "${meta.id}_${meta.type}_mapped" }
ext.args = {
[
meta.platform == 'pb' ? ( params.minimap2_pb_model ? "-ax $params.minimap2_pb_model" : "-ax map-hifi" ) :
Expand Down Expand Up @@ -218,7 +333,7 @@ process {
// Phasing processes
//

withName: '.*:LONGPHASE_PHASE' {
withName: '.*:LONGPHASE_PHASE_GERMLINE' {
ext.prefix = { "germline_smallvariants" }
ext.args = {
[
Expand All @@ -232,15 +347,33 @@ process {
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: '.*:LONGPHASE_HAPLOTAG' {
withName: '.*:LONGPHASE_PHASE_SOMATIC' {
ext.prefix = { "somatic_smallvariants" }
ext.args = {
[
meta.platform == 'pb' ? '--pb' : '--ont',
"--indels",
].join(' ').trim()
}
publishDir = [
path: { "${params.outdir}/${meta.id}/variants/phased" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
withName: '.*:LONGPHASE_HAPLOTAG*' {
ext.prefix = { "${meta.id}_${meta.type}" }
publishDir = [
path: { "${params.outdir}/${meta.id}/bamfiles" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
withName: '.*:LONGPHASE_MODCALL.*' {
publishDir = [
enabled: false
]
}

//
// Structural variant calling processes
Expand All @@ -260,14 +393,35 @@ process {
// Small variant calling processes
//
withName: '.*:BCFTOOLS_CONCAT' {
ext.args = '--output-type z -a'
ext.args = {'-Oz -a -W=tbi'}
publishDir = [
enabled: false
]
}
withName: '.*:BCFTOOLS_SORT' {
ext.prefix = { "${meta.id}_sorted" }
ext.arge = '--output-type z'
ext.args = {'-Oz -W=tbi'}
publishDir = [
enabled: false
]
}
withName: '.*:GERMLINE_CONSENSUS:BCFTOOLS_SORT' {
ext.prefix = { "${meta.id}_germline_sorted" }
ext.args = {'-Oz -W=tbi'}
publishDir = [
enabled: false
]
}
withName: '.*:SOMATIC_CONSENSUS:BCFTOOLS_SORT' {
ext.prefix = { "${meta.id}_somatic_sorted" }
ext.args = {'-Oz -W=tbi'}
publishDir = [
enabled: false
]
}
withName: '.*:PAIRED_SMALLVAR_SOMATIC:BCFTOOLS_SORT' {
ext.prefix = { "${meta.id}_somatic_sorted" }
ext.args = {'-Oz -W=tbi'}
publishDir = [
enabled: false
]
Expand Down
25 changes: 24 additions & 1 deletion conf/test.config
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,29 @@ process {
time: '1.h'
]
}

withName: '.*DEEPVARIANT_MAKEEXAMPLES' {
ext.args = {
"--regions 'chr19'"
}
}

withName: '.*DEEPVARIANT_POSTPROCESSVARIANTS' {
ext.args = {
"--regions 'chr19'"
}
}
withName: '.*DEEPSOMATIC_MAKEEXAMPLES' {
ext.args = {
"--regions 'chr19'"
}
}
withName: '.*DEEPSOMATIC_POSTPROCESSVARIANTS' {
ext.args = {
"--regions 'chr19'"
}
}

}

params {
Expand All @@ -29,7 +52,7 @@ params {
fasta = "https://raw.githubusercontent.com/IntGenomicsLab/test-datasets/main/references/GRCh38_chr19.fasta.gz"

// Additional params
genome = "GRCh38"
genome = "CHM13"
vep_genome = "WBcel235"
vep_species = "caenorhabditis_elegans"
skip_wakhan = true
Expand Down
45 changes: 39 additions & 6 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,39 @@
"installed_by": ["modules"],
"patch": "modules/nf-core/ascat/ascat.diff"
},
"bcftools/annotate": {
"branch": "master",
"git_sha": "3d9c2f4beaa4f62b3f006928fd9095a496d1e5a8",
"installed_by": ["modules"]
},
"bcftools/concat": {
"branch": "master",
"git_sha": "6383d8fe58f9498eecd5aa303e71a4a932d1e9f6",
"installed_by": ["modules", "vcf_gather_bcftools"]
},
"bcftools/isec": {
"branch": "master",
"git_sha": "3b2c3559699a7bca6a7c2b220695a072e030e17d",
"installed_by": ["modules"],
"patch": "modules/nf-core/bcftools/isec/bcftools-isec.diff"
},
"bcftools/merge": {
"branch": "master",
"git_sha": "3d9c2f4beaa4f62b3f006928fd9095a496d1e5a8",
"installed_by": ["modules"],
"patch": "modules/nf-core/bcftools/merge/bcftools-merge.diff"
},
"bcftools/norm": {
"branch": "master",
"git_sha": "6383d8fe58f9498eecd5aa303e71a4a932d1e9f6",
"installed_by": ["modules"]
},
"bcftools/query": {
"branch": "master",
"git_sha": "6383d8fe58f9498eecd5aa303e71a4a932d1e9f6",
"installed_by": ["modules"],
"patch": "modules/nf-core/bcftools/query/bcftools-query.diff"
},
"bcftools/sort": {
"branch": "master",
"git_sha": "6383d8fe58f9498eecd5aa303e71a4a932d1e9f6",
Expand All @@ -30,17 +53,20 @@
"deepvariant/callvariants": {
"branch": "master",
"git_sha": "f2b138ee1d91f67d31c187317d7e83e429bf0309",
"installed_by": ["deepvariant"]
"installed_by": ["deepvariant"],
"patch": "modules/nf-core/deepvariant/callvariants/deepvariant-callvariants.diff"
},
"deepvariant/makeexamples": {
"branch": "master",
"git_sha": "f2b138ee1d91f67d31c187317d7e83e429bf0309",
"installed_by": ["deepvariant"]
"installed_by": ["deepvariant"],
"patch": "modules/nf-core/deepvariant/makeexamples/deepvariant-makeexamples.diff"
},
"deepvariant/postprocessvariants": {
"branch": "master",
"git_sha": "f2b138ee1d91f67d31c187317d7e83e429bf0309",
"installed_by": ["deepvariant"]
"installed_by": ["deepvariant"],
"patch": "modules/nf-core/deepvariant/postprocessvariants/deepvariant-postprocessvariants.diff"
},
"ensemblvep/download": {
"branch": "master",
Expand All @@ -55,12 +81,13 @@
},
"longphase/haplotag": {
"branch": "master",
"git_sha": "e753770db613ce014b3c4bc94f6cba443427b726",
"installed_by": ["modules"]
"git_sha": "b8d30a43f33aee3148b0e9e9f00587984a4ac195",
"installed_by": ["modules"],
"patch": "modules/nf-core/longphase/haplotag/longphase-haplotag.diff"
},
"longphase/phase": {
"branch": "master",
"git_sha": "47983538e45e539f783ed8ab0d1c96d39df2af8f",
"git_sha": "b8d30a43f33aee3148b0e9e9f00587984a4ac195",
"installed_by": ["modules"],
"patch": "modules/nf-core/longphase/phase/longphase-phase.diff"
},
Expand Down Expand Up @@ -166,6 +193,12 @@
"git_sha": "7ac6cbe7c17c2dad685da7f70496c8f48ea48687",
"installed_by": ["subworkflows"]
},
"deepvariant": {
"branch": "master",
"git_sha": "f2b138ee1d91f67d31c187317d7e83e429bf0309",
"installed_by": ["subworkflows"],
"patch": "subworkflows/nf-core/deepvariant/deepvariant.diff"
},
"utils_nextflow_pipeline": {
"branch": "master",
"git_sha": "05954dab2ff481bcb999f24455da29a5828af08d",
Expand Down
Loading
Loading