diff --git a/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml b/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml index 30a473492c4..9e6880aa2e5 100644 --- a/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml +++ b/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml @@ -13,54 +13,115 @@ components: - wisecondorx/predict input: - ch_bam: - description: | - An input channel containing BAM/CRAM files and their indices - Structure: [ val(meta), path(bam), path(bai) ] + description: An input channel containing BAM/CRAM files and their indices + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: "BAM/CRAM file" + - bai: + type: file + description: "Index of BAM/CRAM file" - ch_fasta: - description: | - A channel containing the reference FASTA file - Structure: [ val(meta2), path(fasta) ] + description: A channel containing the reference FASTA file + structure: + - meta2: + type: map + description: groovy map + - fasta: + type: file + description: "The reference fasta file" - ch_fai: - description: | - A channel containing the index of the reference FASTA file - Structure: [ val(meta3), path(fai) ] + description: A channel containing the index of the reference FASTA file + structure: + - meta3: + type: map + description: groovy map + - fai: + type: file + description: "Index of reference fasta file" - ch_ref: - description: | - A channel containing WisecondorX reference created with `WisecondorX newref` - Structure: [ val(meta4), path(reference) ] + description: A channel containing WisecondorX reference created with `WisecondorX newref` + structure: + - meta4: + type: map + description: groovy map + - reference: + type: file + description: "WisecondorX reference" - ch_blacklist: - description: | - An optional channel containing a BED file with regions to mask from the analyis - Structure: [ val(meta5), path(blacklist) ] + description: An optional channel containing a BED file with regions to mask from the analyis + structure: + - meta5: + type: map + description: groovy map + - blacklist: + type: file + description: "BED file with regions to mask" output: - aberrations_bed: - description: | - A channel containing the BED files with CNV aberrations - Structure: [ val(meta), path(bed) ] + description: A channel containing the BED files with CNV aberrations + structure: + - meta: + type: map + description: groovy map + - bed: + type: file + description: "BED file with CNV aberrations" - bins_bed: - description: | - A channel containing the BED files with the used bins - Structure: [ val(meta), path(bed) ] + description: A channel containing the BED files with the used bins + structure: + - meta: + type: map + description: groovy map + - bed: + type: file + description: "BED file with bins" - segments_bed: - description: | - A channel containing the segment BED files - Structure: [ val(meta), path(bed) ] + description: A channel containing the segment BED files + structure: + - meta: + type: map + description: groovy map + - bed: + type: file + description: "BED file with segments" - chr_statistics: - description: | - A channel containing TXT files with chromosome statistics - Structure: [ val(meta), path(txt) ] + description: A channel containing TXT files with chromosome statistics + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: "TXT file with chromosome statistics" - chr_plots: - description: | - A channel containing lists of chromosome plots - Structure: [ val(meta), [ path(png), path(png), ... ] ] + description: A channel containing lists of chromosome plots + structure: + - meta: + type: map + description: groovy map + - png: + type: list + description: "List of chromosome plots" - genome_plot: - description: | - A channel containing the plots of the whole genomes - Structure: [ val(meta), path(png) ] + description: A channel containing the plots of the whole genomes + structure: + - meta: + type: map + description: groovy map + - png: + type: file + description: "Plot of the whole genome" - versions: - type: file description: File containing software versions - pattern: "versions.yml" + structure: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@nvnieuwk" maintainers: diff --git a/subworkflows/nf-core/bam_create_som_pon_gatk/meta.yml b/subworkflows/nf-core/bam_create_som_pon_gatk/meta.yml index 26608360ca0..b92ba376def 100644 --- a/subworkflows/nf-core/bam_create_som_pon_gatk/meta.yml +++ b/subworkflows/nf-core/bam_create_som_pon_gatk/meta.yml @@ -1,6 +1,8 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json name: bam_create_som_pon_gatk -description: Perform variant calling on a set of normal samples using mutect2 panel of normals mode. Group them into a genomicsdbworkspace using genomicsdbimport, then use this to create a panel of normals using createsomaticpanelofnormals. +description: Perform variant calling on a set of normal samples using mutect2 panel + of normals mode. Group them into a genomicsdbworkspace using genomicsdbimport, then + use this to create a panel of normals using createsomaticpanelofnormals. keywords: - gatk4 - mutect2 @@ -15,54 +17,123 @@ components: - gatk4/createsomaticpanelofnormals input: - ch_mutect2_in: - type: list - description: | - An input channel containing the following files: - - input: One or more BAM/CRAM files - - input_index: The index/indices from the BAM/CRAM file(s) - - interval_file: An interval file to be used with the mutect call - Structure: [ meta, input, input_index, interval_file ] - - fasta: - type: file - description: The reference fasta file - pattern: "*.fasta" - - fai: - type: file - description: Index of reference fasta file - pattern: "*.fasta.fai" - - dict: - type: file - description: GATK sequence dictionary - pattern: "*.dict" + description: An input channel containing the following files + structure: + - meta: + type: map + description: groovy map + - input: + type: file + description: "BAM/CRAM file" + - input_index: + type: file + description: "Index of BAM/CRAM file" + - interval_file: + type: file + description: "Interval file to be used with the mutect call" + - ch_fasta: + description: "The reference fasta file" + structure: + - meta: + type: map + description: groovy map + - fasta: + type: file + description: "The reference fasta file" + - ch_fai: + description: "Index of reference fasta file" + structure: + - meta: + type: map + description: groovy map + - fai: + type: file + description: "Index of reference fasta file" + - ch_dict: + description: "GATK sequence dictionary" + structure: + - meta: + type: map + description: groovy map + - dict: + type: file + description: "GATK sequence dictionary" + - val_pon_norm: + type: string + description: "name for panel of normals" + - ch_gendb_intervals: + description: "channel with interval file" + structure: + - interval_file: + type: file + description: "Interval file" output: - versions: - type: file description: File containing software versions - pattern: "versions.yml" + structure: + - versions: + type: file + description: "File containing software versions" + pattern: "versions.yml" - mutect2_vcf: - type: list description: List of compressed vcf files to be used to make the gendb workspace - pattern: "[ *.vcf.gz ]" + structure: + - meta: + type: map + description: groovy map + - vcf: + type: file + description: "Compressed vcf file" + pattern: "*.vcf.gz" - mutect2_index: - type: list description: List of indexes of mutect2_vcf files - pattern: "[ *vcf.gz.tbi ]" + structure: + - meta: + type: map + description: groovy map + - tbi: + type: file + description: "Index of vcf file" + pattern: "*.vcf.gz.tbi" - mutect2_stats: - type: list description: List of stats files that pair with mutect2_vcf files - pattern: "[ *vcf.gz.stats ]" + structure: + - meta: + type: map + description: groovy map + - stats: + type: file + description: "Stats file" + pattern: "*vcf.gz.stats" - genomicsdb: - type: directory description: Directory containing the files that compose the genomicsdb workspace. - pattern: "path/name_of_workspace" + structure: + - meta: + type: map + description: groovy map + - genomicsdb: + type: directory + description: "GenomicsDB workspace" - pon_vcf: - type: file description: Panel of normal as compressed vcf file - pattern: "*.vcf.gz" + structure: + - meta: + type: map + description: groovy map + - vcf: + type: file + description: "Compressed vcf file" + pattern: "*.vcf.gz" - pon_index: - type: file description: Index of pon_vcf file - pattern: "*vcf.gz.tbi" + structure: + - meta: + type: map + description: groovy map + - tbi: + type: file + description: "Index of vcf file" + pattern: "*vcf.gz.tbi" authors: - "@GCJMackenzie" maintainers: diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/meta.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/meta.yml index a24e0448d10..6a702eb4d13 100644 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/meta.yml +++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/meta.yml @@ -17,42 +17,87 @@ components: - bam_stats_samtools input: - ch_bam_bai: - description: | - input BAM file - Structure: [ val(meta), path(bam), path(bai) ] + description: input BAM file + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: "BAM/CRAM file" + - bai: + type: file + description: "Index of BAM/CRAM file" output: - bam: - description: | - Umi deduplicated BAM/SAM file - Structure: [ val(meta), path(bam) ] + description: Umi deduplicated BAM/SAM file + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: "Umi deduplicated BAM/SAM file" - bai: - description: | - Umi deduplicated BAM/SAM samtools index - Structure: [ val(meta), path(bai) ] + description: Umi deduplicated BAM/SAM samtools index + structure: + - meta: + type: map + description: groovy map + - bai: + type: file + description: "Umi deduplicated BAM/SAM samtools index" - csi: - description: | - CSI samtools index - Structure: [ val(meta), path(csi) ] - - dedupstats: - description: | - File containing umicollapse deduplication stats - Structure: [ val(meta), path(stats) ] + description: CSI samtools index + structure: + - meta: + type: map + description: groovy map + - csi: + type: file + description: "CSI samtools index" - stats: - description: | - File containing samtools stats output - Structure: [ val(meta), path(stats) ] + description: File containing samtools stats output + structure: + - meta: + type: map + description: groovy map + - stats: + type: file + description: "File containing samtools stats output" - flagstat: - description: | - File containing samtools flagstat output - Structure: [ val(meta), path(flagstat) ] + description: File containing samtools flagstat output + structure: + - meta: + type: map + description: groovy map + - flagstat: + type: file + description: "File containing samtools flagstat output" - idxstats: - description: | - File containing samtools idxstats output - Structure: [ val(meta), path(idxstats) ] + description: File containing samtools idxstats output + structure: + - meta: + type: map + description: groovy map + - idxstats: + type: file + description: "File containing samtools idxstats output" - versions: - description: | - Files containing software versions - Structure: [ path(versions.yml) ] + description: Files containing software versions + structure: + - versions.yml: + type: file + description: "File containing software versions" + - dedup_stats: + description: "Channel containing stats file" + structure: + - meta: + type: map + description: groovy map + - stats: + type: file + description: "Stats file from umicollapse" authors: - "@MatthiasZepper" maintainers: diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml index 93e1238b4db..324843765bf 100644 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml +++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml @@ -1,6 +1,7 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json name: "bam_dedup_stats_samtools_umitools" -description: UMI-tools dedup, index BAM file and run samtools stats, flagstat and idxstats +description: UMI-tools dedup, index BAM file and run samtools stats, flagstat and + idxstats keywords: - umi - dedup @@ -17,46 +18,92 @@ components: - bam_stats_samtools input: - ch_bam_bai: - description: | - input BAM file - Structure: [ val(meta), path(bam), path(bai) ] + description: input BAM file + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: "BAM file" + - bai: + type: file + description: "Index of BAM file" - val_get_dedup_stats: type: boolean description: | Generate output stats when running "umi_tools dedup" output: - bam: - description: | - Umi deduplicated BAM/SAM file - Structure: [ val(meta), path(bam) ] + description: Umi deduplicated BAM/SAM file + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: "Umi deduplicated BAM/SAM file" - bai: - description: | - Umi deduplicated BAM/SAM samtools index - Structure: [ val(meta), path(bai) ] + description: Umi deduplicated BAM/SAM samtools index + structure: + - meta: + type: map + description: groovy map + - bai: + type: file + description: "Umi deduplicated BAM/SAM samtools index" - csi: - description: | - CSI samtools index - Structure: [ val(meta), path(csi) ] + description: CSI samtools index + structure: + - meta: + type: map + description: groovy map + - csi: + type: file + description: "CSI samtools index" - deduplog: - description: | - UMI-tools deduplication log - Structure: [ val(meta), path(log) ] + description: UMI-tools deduplication log + structure: + - meta: + type: map + description: groovy map + - log: + type: file + description: "UMI-tools deduplication log" - stats: - description: | - File containing samtools stats output - Structure: [ val(meta), path(stats) ] + description: File containing samtools stats output + structure: + - meta: + type: map + description: groovy map + - stats: + type: file + description: "File containing samtools stats output" - flagstat: - description: | - File containing samtools flagstat output - Structure: [ val(meta), path(flagstat) ] + description: File containing samtools flagstat output + structure: + - meta: + type: map + description: groovy map + - flagstat: + type: file + description: "File containing samtools flagstat output" - idxstats: - description: | - File containing samtools idxstats output - Structure: [ val(meta), path(idxstats) ] + description: File containing samtools idxstats output + structure: + - meta: + type: map + description: groovy map + - idxstats: + type: file + description: "File containing samtools idxstats output" - versions: - description: | - Files containing software versions - Structure: [ path(versions.yml) ] + description: Files containing software versions + structure: + - versions: + type: file + description: "File containing software versions" + pattern: "versions.yml" authors: - "@drpatelh" - "@KamilMaliszArdigen" diff --git a/subworkflows/nf-core/bam_docounts_contamination_angsd/meta.yml b/subworkflows/nf-core/bam_docounts_contamination_angsd/meta.yml index 07a913060a0..954f40a9601 100644 --- a/subworkflows/nf-core/bam_docounts_contamination_angsd/meta.yml +++ b/subworkflows/nf-core/bam_docounts_contamination_angsd/meta.yml @@ -10,34 +10,51 @@ components: - angsd/docounts - angsd/contamination input: - - meta: - type: map - description: | - Groovy Map containing sample information - - bam: - type: file - description: BAM or CRAM file - pattern: "*.{bam,cram}" - - bai: - type: file - description: BAM/SAM samtools index - pattern: "*.{bai,csi}" - - hapmap_file: - type: file - description: Hapmap file + - ch_bam: + description: "channel containing BAM or CRAM files" + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: BAM or CRAM file + - ch_bai: + description: "channel with BAM or CRAM index files" + structure: + - meta: + type: map + description: groovy map + - bai: + type: file + description: BAM or CRAM index file + - ch_hapmap_file: + description: "channel with heatmap file" + structure: + - meta: + type: map + description: groovy map + - hapmap_file: + type: file + description: Hapmap file output: - - meta: - type: map - description: | - Groovy Map containing sample information - txt: - type: file description: Contamination estimation file - pattern: "*.txt" + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: Contamination estimation file + pattern: "*.txt" - versions: - type: file description: File containing software versions - pattern: "versions.yml" + structure: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@scarlhoff" maintainers: diff --git a/subworkflows/nf-core/bam_markduplicates_picard/meta.yml b/subworkflows/nf-core/bam_markduplicates_picard/meta.yml index 433d35b2b89..f4ef7b63c75 100644 --- a/subworkflows/nf-core/bam_markduplicates_picard/meta.yml +++ b/subworkflows/nf-core/bam_markduplicates_picard/meta.yml @@ -1,6 +1,7 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json name: "bam_markduplicates_picard" -description: Picard MarkDuplicates, index BAM file and run samtools stats, flagstat and idxstats +description: Picard MarkDuplicates, index BAM file and run samtools stats, flagstat + and idxstats keywords: - markduplicates - bam @@ -15,54 +16,108 @@ components: - bam_stats_samtools input: - ch_reads: - description: | - Sequence reads in BAM/CRAM/SAM format - Structure: [ val(meta), path(reads) ] + description: Sequence reads in BAM/CRAM/SAM format + structure: + - meta: + type: map + description: groovy map + - reads: + type: file + description: BAM/CRAM/SAM file - ch_fasta: - description: | - Reference genome fasta file required for CRAM input - Structure: [ path(fasta) ] - - ch_fasta: - description: | - Index of the reference genome fasta file - Structure: [ path(fai) ] + description: Reference genome fasta file required for CRAM input + structure: + - fasta: + type: file + description: Reference genome fasta file + - ch_fai: + description: Index of the reference genome fasta file + structure: + - fai: + type: file + description: Index of the reference genome fasta file output: - bam: - description: | - processed BAM/SAM file - Structure: [ val(meta), path(bam) ] + description: processed BAM/SAM file + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: BAM/SAM file - bai: - description: | - BAM/SAM samtools index - Structure: [ val(meta), path(bai) ] + description: BAM/SAM samtools index + structure: + - meta: + type: map + description: groovy map + - bai: + type: file + description: BAM/SAM samtools index - cram: - description: | - processed CRAM file - Structure: [ val(meta), path(cram) ] + description: processed CRAM file + structure: + - meta: + type: map + description: groovy map + - cram: + type: file + description: CRAM file - crai: - description: | - CRAM samtools index - Structure: [ val(meta), path(crai) ] + description: CRAM samtools index + structure: + - meta: + type: map + description: groovy map + - crai: + type: file + description: CRAM samtools index - csi: - description: | - CSI samtools index - Structure: [ val(meta), path(csi) ] + description: CSI samtools index + structure: + - meta: + type: map + description: groovy map + - csi: + type: file + description: CSI samtools index - stats: - description: | - File containing samtools stats output - Structure: [ val(meta), path(stats) ] + description: File containing samtools stats output + structure: + - meta: + type: map + description: groovy map + - stats: + type: file + description: samtools stats output - flagstat: - description: | - File containing samtools flagstat output - Structure: [ val(meta), path(flagstat) ] + description: File containing samtools flagstat output + structure: + - meta: + type: map + description: groovy map + - flagstat: + type: file + description: samtools flagstat output - idxstats: - description: | - File containing samtools idxstats output - Structure: [ val(meta), path(idxstats) ] + description: File containing samtools idxstats output + structure: + - meta: + type: map + description: groovy map + - idxstats: + type: file + description: samtools idxstats output - versions: - description: | - Files containing software versions - Structure: [ path(versions.yml) ] + description: Files containing software versions + structure: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + - metrics: + description: "" authors: - "@dmarron" - "@drpatelh" diff --git a/subworkflows/nf-core/bam_markduplicates_samtools/meta.yml b/subworkflows/nf-core/bam_markduplicates_samtools/meta.yml index 6514c354f85..90c6b02c16c 100644 --- a/subworkflows/nf-core/bam_markduplicates_samtools/meta.yml +++ b/subworkflows/nf-core/bam_markduplicates_samtools/meta.yml @@ -12,33 +12,42 @@ components: - samtools/sort - samtools/markdup input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'test' ]` - - bam: - type: file - description: BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" - - fasta: - type: file - description: FASTA file - pattern: "*.{fasta,fa}" + - ch_bam: + description: "channel containing BAM/CRAM/SAM file" + structure: + - meta: + type: map + description: "groovy map" + - bam: + type: file + description: "BAM/CRAM/SAM file" + - ch_fasta: + description: "FASTA file" + structure: + - meta: + type: map + description: "groovy map" + - fasta: + type: file + description: "FASTA file" output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'test' ]` - bam: - type: file - description: Sorted and markduplicate BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" + description: channel containig sorted and markduplicate BAM/CRAM/SAM file + structure: + - meta: + type: map + description: groovy map + - bam: + type: file + description: Sorted and markduplicate BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + description: channel containing software versions + structure: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@priyanka-surana" maintainers: diff --git a/subworkflows/nf-core/bam_ngscheckmate/meta.yml b/subworkflows/nf-core/bam_ngscheckmate/meta.yml index 7de0a114d40..09ca03f43eb 100644 --- a/subworkflows/nf-core/bam_ngscheckmate/meta.yml +++ b/subworkflows/nf-core/bam_ngscheckmate/meta.yml @@ -1,6 +1,7 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json name: "bam_ngscheckmate" -description: Take a set of bam files and run NGSCheckMate to determine whether samples match with each other, using a set of SNPs. +description: Take a set of bam files and run NGSCheckMate to determine whether samples + match with each other, using a set of SNPs. keywords: - ngscheckmate - qc @@ -10,58 +11,92 @@ components: - bcftools/mpileup - ngscheckmate/ncm input: - - meta1: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test' ] - - bam: - type: file - description: BAM files for each sample - pattern: "*.{bam}" - - meta2: - type: map - description: | - Groovy Map containing bed file information - e.g. [ id:'sarscov2' ] - - snp_bed: - type: file - description: BED file containing the SNPs to analyse. NGSCheckMate provides some default ones for hg19/hg38. - pattern: "*.{bed}" - - meta3: - type: map - description: | - Groovy Map containing reference genome meta information - e.g. [ id:'sarscov2' ] - - fasta: - type: file - description: fasta file for the genome - pattern: "*.{fasta}" + - ch_input: + description: "channel containing bam/cram files" + structure: + - meta: + type: map + description: "groovy map" + - bam: + type: file + description: "bam/cram file" + - ch_snp_bed: + description: "channel containing bed files" + structure: + - meta: + type: map + description: "groovy map" + - bed: + type: file + description: "BED file containing the SNPs to analyse. NGSCheckMate provides some default ones for hg19/hg38." + - ch_fasta: + description: "channel containing fasta file" + structure: + - meta: + type: map + description: "groovy map" + - fasta: + type: file + description: "FASTA file for the genome" output: - pdf: - type: file description: A pdf containing a dendrogram showing how the samples match up - pattern: "*.{pdf}" + structure: + - meta: + type: map + description: groovy map + - pdf: + type: file + description: A pdf containing a dendrogram showing how the samples match up + pattern: "*.{pdf}" - corr_matrix: - type: file description: A text file containing the correlation matrix between each sample - pattern: "*corr_matrix.txt" + structure: + - meta: + type: map + description: groovy map + - corr_matrix: + type: file + description: A text file containing the correlation matrix between each sample + pattern: "*corr_matrix.txt" - matched: - type: file description: A txt file containing only the samples that match with each other - pattern: "*matched.txt" + structure: + - meta: + type: map + description: groovy map + - matched: + type: file + description: A txt file containing only the samples that match with each other + pattern: "*matched.txt" - all: - type: file description: A txt file containing all the sample comparisons, whether they match or not - pattern: "*all.txt" + structure: + - meta: + type: map + description: groovy map + - all: + type: file + description: A txt file containing all the sample comparisons, whether they match + or not + pattern: "*all.txt" - vcf: - type: file description: vcf files for each sample giving the SNP calls - pattern: "*.vcf" + structure: + - meta: + type: map + description: groovy map + - vcf: + type: file + description: vcf files for each sample giving the SNP calls + pattern: "*.vcf" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + description: channel containing software versions + structure: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@SPPearce" maintainers: diff --git a/subworkflows/nf-core/bam_qc_picard/meta.yml b/subworkflows/nf-core/bam_qc_picard/meta.yml index 1ffe45f5862..523be57b2bc 100644 --- a/subworkflows/nf-core/bam_qc_picard/meta.yml +++ b/subworkflows/nf-core/bam_qc_picard/meta.yml @@ -14,72 +14,86 @@ components: - picard/collectwgsmetrics - picard/collecthsmetrics input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bam: - type: file - description: BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" - - bai: - type: file - description: BAM/CRAM/SAM file index - pattern: "*.{bai,crai,sai}" - - bait_intervals: - type: optional file - description: An interval list or bed file that contains the locations of the baits used. - pattern: "baits.{interval_list,bed,bed.gz}" - - target_intervals: - type: optional file - description: An interval list or bed file that contains the locations of the targets. - pattern: "targets.{interval_list,bed,bed.gz}" - - meta2: - type: map - description: | - Groovy Map containing reference information - e.g. [ id:'genome' ] - - fasta: - type: optional file - description: Reference fasta file - pattern: "*.{fasta,fa,fna}" - - meta2: - type: map - description: | - Groovy Map containing reference information - e.g. [ id:'genome' ] - - fasta_fai: - type: optional file - description: Reference fasta file index - pattern: "*.{fasta,fa,fna}.fai" - - meta2: - type: map - description: | - Groovy Map containing reference information - e.g. [ id:'genome' ] - - fasta_dict: - type: optional file - description: Reference fasta sequence dictionary - pattern: "*.{dict}" + - ch_bam_bai_bait_target: + description: "channel containing input bam files" + structure: + - meta: + type: map + description: "groovy map" + - bam: + type: file + description: "bam/cram/sam file" + pattern: "*.{bam,cram,sam}" + - bai: + type: file + description: "bam/cram/sam index file" + pattern: "*.{bai,crai,sai}" + - bait_interval: + type: file + description: An interval list or bed file that contains the locations of the baits used. (optional) + pattern: "baits.{interval_list,bed,bed.gz}" + - target_interval: + type: file + description: An interval list or bed file that contains the locations of the targets. (optional) + pattern: "targets.{interval_list,bed,bed.gz}" + - ch_fasta: + description: "channel containing fasta file" + structure: + - meta: + type: map + description: "groovy map" + - fasta: + type: file + description: "reference FASTA file" + pattern: "*.{fasta,fa,fna}" + - ch_fasta_fai: + description: "channel containing fasta index file" + structure: + - meta: + type: map + description: "groovy map" + - fasta_fai: + type: file + description: "reference FASTA index file" + pattern: "*.{fasta,fa,fna}.fai" + - ch_fasta_dict: + description: "channel containing fasta dict file" + structure: + - meta: + type: map + description: "groovy map" + - fasta_dict: + type: file + description: "Reference fasta sequence dictionary" + pattern: "*.{dict}" output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - coverage_metrics: - type: file - description: Alignment metrics files generated by picard CollectHsMetrics or CollectWgsMetrics - pattern: "*_metrics.txt" + description: Alignment metrics files generated by picard CollectWgsMetrics + structure: + - meta: + type: map + description: groovy map + - coverage_metrics: + type: file + description: Alignment metrics files generated by picard CollectHsMetrics or CollectWgsMetrics + pattern: "*_metrics.txt" - multiple_metrics: - type: file description: Alignment metrics files generated by picard CollectMultipleMetrics - pattern: "*_{metrics}" + structure: + - meta: + type: map + description: groovy map + - multiple_metrics: + type: file + description: Alignment metrics files generated by picard CollectMultipleMetrics + pattern: "*_{metrics}" - versions: - type: file description: File containing software versions - pattern: "versions.yml" + structure: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@matthdsm" maintainers: diff --git a/subworkflows/nf-core/bam_rseqc/main.nf b/subworkflows/nf-core/bam_rseqc/main.nf index 043321a13c2..e04e65a9662 100644 --- a/subworkflows/nf-core/bam_rseqc/main.nf +++ b/subworkflows/nf-core/bam_rseqc/main.nf @@ -147,39 +147,39 @@ workflow BAM_RSEQC { } emit: - bamstat_txt // channel: [ val(meta), txt ] + bamstat_txt = bamstat_txt // channel: [ val(meta), txt ] - innerdistance_all // channel: [ val(meta), {txt, pdf, r} ] - innerdistance_distance // channel: [ val(meta), txt ] - innerdistance_freq // channel: [ val(meta), txt ] - innerdistance_mean // channel: [ val(meta), txt ] - innerdistance_pdf // channel: [ val(meta), pdf ] - innerdistance_rscript // channel: [ val(meta), r ] + innerdistance_all = innerdistance_all // channel: [ val(meta), txt, pdf, r ] + innerdistance_distance = innerdistance_distance // channel: [ val(meta), txt ] + innerdistance_freq = innerdistance_freq // channel: [ val(meta), txt ] + innerdistance_mean = innerdistance_mean // channel: [ val(meta), txt ] + innerdistance_pdf = innerdistance_pdf // channel: [ val(meta), pdf ] + innerdistance_rscript = innerdistance_rscript // channel: [ val(meta), r ] - inferexperiment_txt // channel: [ val(meta), txt ] + inferexperiment_txt = inferexperiment_txt // channel: [ val(meta), txt ] - junctionannotation_all // channel: [ val(meta), {bed, xls, pdf, r, log} ] - junctionannotation_bed // channel: [ val(meta), bed ] - junctionannotation_interact_bed // channel: [ val(meta), bed ] - junctionannotation_xls // channel: [ val(meta), xls ] - junctionannotation_pdf // channel: [ val(meta), pdf ] - junctionannotation_events_pdf // channel: [ val(meta), pdf ] - junctionannotation_rscript // channel: [ val(meta), r ] - junctionannotation_log // channel: [ val(meta), log ] + junctionannotation_all = junctionannotation_all // channel: [ val(meta), bed, xls, pdf, r, log ] + junctionannotation_bed = junctionannotation_bed // channel: [ val(meta), bed ] + junctionannotation_interact_bed = junctionannotation_interact_bed // channel: [ val(meta), bed ] + junctionannotation_xls = junctionannotation_xls // channel: [ val(meta), xls ] + junctionannotation_pdf = junctionannotation_pdf // channel: [ val(meta), pdf ] + junctionannotation_events_pdf = junctionannotation_events_pdf // channel: [ val(meta), pdf ] + junctionannotation_rscript = junctionannotation_rscript // channel: [ val(meta), r ] + junctionannotation_log = junctionannotation_log // channel: [ val(meta), log ] - junctionsaturation_all // channel: [ val(meta), {pdf, r} ] - junctionsaturation_pdf // channel: [ val(meta), pdf ] - junctionsaturation_rscript // channel: [ val(meta), r ] + junctionsaturation_all = junctionsaturation_all // channel: [ val(meta), pdf, r ] + junctionsaturation_pdf = junctionsaturation_pdf // channel: [ val(meta), pdf ] + junctionsaturation_rscript = junctionsaturation_rscript // channel: [ val(meta), r ] - readdistribution_txt // channel: [ val(meta), txt ] + readdistribution_txt = readdistribution_txt // channel: [ val(meta), txt ] - readduplication_all // channel: [ val(meta), {xls, pdf, r} ] - readduplication_seq_xls // channel: [ val(meta), xls ] - readduplication_pos_xls // channel: [ val(meta), xls ] - readduplication_pdf // channel: [ val(meta), pdf ] - readduplication_rscript // channel: [ val(meta), r ] + readduplication_all = readduplication_all // channel: [ val(meta), xls, pdf, r ] + readduplication_seq_xls = readduplication_seq_xls // channel: [ val(meta), xls ] + readduplication_pos_xls = readduplication_pos_xls // channel: [ val(meta), xls ] + readduplication_pdf = readduplication_pdf // channel: [ val(meta), pdf ] + readduplication_rscript = readduplication_rscript // channel: [ val(meta), r ] - tin_txt // channel: [ val(meta), txt ] + tin_txt = tin_txt // channel: [ val(meta), txt ] - versions // channel: [ versions.yml ] + versions = versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/bam_rseqc/meta.yml b/subworkflows/nf-core/bam_rseqc/meta.yml index 6e76ff560a4..c1c0bd0b6d7 100644 --- a/subworkflows/nf-core/bam_rseqc/meta.yml +++ b/subworkflows/nf-core/bam_rseqc/meta.yml @@ -23,137 +23,333 @@ components: - rseqc/inferexperiment - rseqc/bamstat input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bam: - type: file - description: BAM file to calculate statistics - pattern: "*.{bam}" - - bai: - type: file - description: Index for input BAM file - pattern: "*.{bai}" - bed: - type: file - description: BED file for the reference gene model - pattern: "*.{bed}" + description: channel containing bed files + structure: + - bed: + type: file + description: BED file for the reference gene model + pattern: "*.{bed}" - rseqc_modules: type: list description: | List of rseqc modules to run e.g. [ 'bam_stat', 'infer_experiment' ] + - bam_bai: + description: "channel containing input bam files" + structure: + - meta: + type: map + description: "groovy map" + - bam: + type: file + description: "bamm file" + pattern: "*.bam" + - bai: + type: file + description: "bam index file" + pattern: "*.bai" output: - bamstat_txt: - type: file - description: bam statistics report - pattern: "*.bam_stat.txt" + description: channel containing bam statistics report + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: bam statistics report + pattern: "*.bam_stat.txt" - innerdistance_all: - type: file - description: All the output files from RSEQC_INNERDISTANCE - pattern: "*.{txt,pdf,R}" + description: channel containing all the output files from RSEQC_INNERDISTANCE + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: TXT file + - pdf: + type: file + description: PDF file + - R: + type: file + description: R file - innerdistance_distance: - type: file - description: the inner distances - pattern: "*.inner_distance.txt" + description: channel containing inner distance distance file + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: inner distance distance file + pattern: "*.txt" - innerdistance_freq: - type: file - description: frequencies of different insert sizes - pattern: "*.inner_distance_freq.txt" + description: channel containing inner distance frequency file + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: inner distance frequency file + pattern: "*.txt" - innerdistance_mean: - type: file - description: mean/median values of inner distances - pattern: "*.inner_distance_mean.txt" + description: channel containing inner distance mean file + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: inner distance mean file + pattern: "*.txt" - innerdistance_pdf: - type: file - description: distribution plot of inner distances - pattern: "*.inner_distance_plot.pdf" + description: channel containing inner distance pdf file + structure: + - meta: + type: map + description: groovy map + - pdf: + type: file + description: inner distance pdf file + pattern: "*.pdf" - innerdistance_rscript: - type: file - description: script to reproduce the plot - pattern: "*.inner_distance_plot.R" + description: channel containing inner distance rscript file + structure: + - meta: + type: map + description: groovy map + - R: + type: file + description: inner distance rscript file + pattern: "*.R" - inferexperiment_txt: - type: file - description: infer_experiment results report - pattern: "*.infer_experiment.txt" + description: channel containing infer experiment report + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: infer experiment report + pattern: "*.txt" - junctionannotation_all: - type: file - description: All the output files from RSEQC_JUNCTIONANNOTATION - pattern: "*.{bed,xls,pdf,R,log}" + description: channel containing all the output files from RSEQC_JUNCTIONANNOTATION + structure: + - meta: + type: map + description: groovy map + - bed: + type: file + description: BED file + pattern: "*.bed" + - xls: + type: file + description: XLS file + pattern: "*.xls" + - pdf: + type: file + description: PDF file + pattern: "*.pdf" + - R: + type: file + description: R file + pattern: "*.R" + - log: + type: file + description: log file + pattern: "*.log" - junctionannotation_bed: - type: file - description: bed file of annotated junctions - pattern: "*.junction.bed" + description: channel containing junction annotation bed file + structure: + - meta: + type: map + description: groovy map + - bed: + type: file + description: junction annotation bed file + pattern: "*.bed" - junctionannotation_interact_bed: - type: file - description: Interact bed file - pattern: "*.Interact.bed" + description: channel containing junction annotation interact bed file + structure: + - meta: + type: map + description: groovy map + - bed: + type: file + description: junction annotation interact bed file + pattern: "*.bed" - junctionannotation_xls: - type: file - description: xls file with junction information - pattern: "*.xls" + description: channel containing junction annotation xls file + structure: + - meta: + type: map + description: groovy map + - xls: + type: file + description: junction annotation xls file + pattern: "*.xls" - junctionannotation_pdf: - type: file - description: junction plot - pattern: "*.junction.pdf" + description: channel containing junction annotation pdf file + structure: + - meta: + type: map + description: groovy map + - pdf: + type: file + description: junction annotation pdf file + pattern: "*.pdf" - junctionannotation_events_pdf: - type: file - description: events plot - pattern: "*.events.pdf" + description: channel containing junction annotation events pdf file + structure: + - meta: + type: map + description: groovy map + - pdf: + type: file + description: junction annotation events pdf file + pattern: "*.pdf" - junctionannotation_rscript: - type: file - description: Rscript to reproduce the plots - pattern: "*.r" + description: channel containing junction annotation rscript file + structure: + - meta: + type: map + description: groovy map + - R: + type: file + description: junction annotation rscript file + pattern: "*.R" - junctionannotation_log: - type: file - description: Log file generated by tool - pattern: "*.log" + description: channel containing junction annotation log file + structure: + - meta: + type: map + description: groovy map + - log: + type: file + description: junction annotation log file + pattern: "*.log" - junctionsaturation_all: - type: file - description: All the output files from RSEQC_JUNCTIONSATURATION - pattern: "*.{pdf,R}" + description: channel containing all the output files from RSEQC_JUNCTIONSATURATION + structure: + - meta: + type: map + description: groovy map + - pdf: + type: file + description: PDF file + pattern: "*.pdf" + - R: + type: file + description: R file + pattern: "*.R" - junctionsaturation_pdf: - type: file - description: Junction saturation report - pattern: "*.pdf" + description: channel containing junction saturation pdf file + structure: + - meta: + type: map + description: groovy map + - pdf: + type: file + description: junction saturation pdf file + pattern: "*.pdf" - junctionsaturation_rscript: - type: file - description: Junction saturation R-script - pattern: "*.r" + description: channel containing junction saturation rscript file + structure: + - meta: + type: map + description: groovy map + - R: + type: file + description: junction saturation rscript file + pattern: "*.R" - readdistribution_txt: - type: file - description: the read distribution report - pattern: "*.read_distribution.txt" + description: channel containing read distribution report + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: read distribution report + pattern: "*.txt" - readduplication_all: - type: file - description: All the output files from RSEQC_READDUPLICATION - pattern: "*.{xls,pdf,R}" + description: channel containing all the output files from RSEQC_READDUPLICATION + structure: + - meta: + type: map + description: groovy map + - xls: + type: file + description: SEQ XLS file + pattern: "*.seq.xls" + - pdf: + type: file + description: PDF file + pattern: "*.pdf" + - R: + type: file + description: R file + pattern: "*.R" - readduplication_seq_xls: - type: file - description: Read duplication rate determined from mapping position of read - pattern: "*seq.DupRate.xls" + description: channel containing read duplication seq xls file + structure: + - meta: + type: map + description: groovy map + - xls: + type: file + description: read duplication seq xls file + pattern: "*.xls" - readduplication_pos_xls: - type: file - description: Read duplication rate determined from sequence of read - pattern: "*pos.DupRate.xls" + description: channel containing read duplication pos xls file + structure: + - meta: + type: map + description: groovy map + - xls: + type: file + description: read duplication pos xls file + pattern: "*.xls" - readduplication_pdf: - type: file - description: plot of duplication rate - pattern: "*.pdf" + description: channel containing read duplication pdf file + structure: + - meta: + type: map + description: groovy map + - pdf: + type: file + description: read duplication pdf file + pattern: "*.pdf" - readduplication_rscript: - type: file - description: script to reproduce the plot - pattern: "*.R" + description: channel containing read duplication rscript file + structure: + - meta: + type: map + description: groovy map + - R: + type: file + description: read duplication rscript file + pattern: "*.R" - tin_txt: - type: file - description: TXT file containing tin.py results summary - pattern: "*.txt" + description: channel containing TIN report + structure: + - meta: + type: map + description: groovy map + - txt: + type: file + description: TIN report + pattern: "*.txt" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + description: channel containing versions of the tools used + structure: + - versions: + type: file + description: versions of the tools used + pattern: "versions.yml" authors: - "@drpatelh" - "@kevinmenden" diff --git a/subworkflows/yaml-schema.json b/subworkflows/yaml-schema.json index 25adc0cc7fc..7f23ede49a6 100644 --- a/subworkflows/yaml-schema.json +++ b/subworkflows/yaml-schema.json @@ -53,30 +53,61 @@ "properties": { "type": { "type": "string", - "description": "Type of the input channel" + "description": "Type of the input", + "enum": ["string", "number", "boolean", "array", "object"] }, "description": { "type": "string", "description": "Description of the input channel" }, - "pattern": { - "type": "string", - "description": "Pattern of the input channel, given in Java glob syntax" - }, - "default": { - "type": ["string", "number", "boolean", "array", "object"], - "description": "Default value for the input channel" - }, - "enum": { + "structure": { "type": "array", - "description": "List of allowed values for the input channel", + "description": "Structure of the input channel", "items": { - "type": ["string", "number", "boolean", "array", "object"] - }, - "uniqueItems": true + "type": "object", + "patternProperties": { + ".*": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the input channel" + }, + "description": { + "type": "string", + "description": "Description of the input channel" + }, + "pattern": { + "type": "string", + "description": "Pattern of the input channel, given in Java glob syntax" + }, + "default": { + "type": ["string", "number", "boolean", "array", "object"], + "description": "Default value for the input channel" + }, + "enum": { + "type": "array", + "description": "List of allowed values for the input channel", + "items": { + "type": ["string", "number", "boolean", "array", "object"] + }, + "uniqueItems": true + } + }, + "required": ["type", "description"] + } + } + } } }, - "required": ["description"] + "anyOf": [ + { + "required": ["description", "structure"] + }, + { + "required": ["type", "description"] + } + ] } } } @@ -92,26 +123,57 @@ "properties": { "type": { "type": "string", - "description": "Type of the output channel" + "description": "Type of the output", + "enum": ["string", "number", "boolean", "array", "object"] }, "description": { "type": "string", "description": "Description of the output channel" }, - "pattern": { - "type": "string", - "description": "Pattern of the input channel, given in Java glob syntax" - }, - "enum": { + "structure": { "type": "array", - "description": "List of allowed values for the output channel", + "description": "Structure of the output channel", "items": { - "type": ["string", "number", "boolean", "array", "object"] - }, - "uniqueItems": true + "type": "object", + "patternProperties": { + ".*": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the output channel" + }, + "description": { + "type": "string", + "description": "Description of the output channel" + }, + "pattern": { + "type": "string", + "description": "Pattern of the input channel, given in Java glob syntax" + }, + "enum": { + "type": "array", + "description": "List of allowed values for the output channel", + "items": { + "type": ["string", "number", "boolean", "array", "object"] + }, + "uniqueItems": true + } + }, + "required": ["description"] + } + } + } } }, - "required": ["description"] + "anyOf": [ + { + "required": ["description", "structure"] + }, + { + "required": ["type", "description"] + } + ] } } }