diff --git a/.github/workflows/linting.yaml b/.github/workflows/linting.yaml index 8cfd0348..84bfc3db 100644 --- a/.github/workflows/linting.yaml +++ b/.github/workflows/linting.yaml @@ -1,5 +1,5 @@ name: Run Linting -on: [push, pull_request] +on: {} env: NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity diff --git a/.github/workflows/nf-test.yaml b/.github/workflows/nf-test.yaml index 14dfa3f0..6c0f70e9 100644 --- a/.github/workflows/nf-test.yaml +++ b/.github/workflows/nf-test.yaml @@ -1,5 +1,16 @@ name: NF Tests -on: [push, pull_request] +on: + push: + branches: + - main + paths-ignore: + - "**/meta.yml" + + pull_request: + branches: + - main + paths-ignore: + - "**/meta.yml" env: NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity diff --git a/modules/ensembl/annotation/dumpanno/main.nf b/modules/ensembl/annotation/dumpanno/main.nf index 0c26e02c..14f9e1fd 100644 --- a/modules/ensembl/annotation/dumpanno/main.nf +++ b/modules/ensembl/annotation/dumpanno/main.nf @@ -24,7 +24,7 @@ process ANNOTATION_DUMPANNO { output: tuple val(db), val("functional_annotation"), path("*.json"), emit: functional_annotation - path "versions.yml", emit: versions + path "versions.yml", emit: versions, topic: versions when: task.ext.when == null || task.ext.when diff --git a/modules/ensembl/annotation/dumpanno/meta.yml b/modules/ensembl/annotation/dumpanno/meta.yml index e474f326..c32f1666 100644 --- a/modules/ensembl/annotation/dumpanno/meta.yml +++ b/modules/ensembl/annotation/dumpanno/meta.yml @@ -1,51 +1,41 @@ ---- -name: "annotation_dumpanno" - -description: This module is used to dump the functional annotation of a genome from core databases. - +name: annotation_dumpanno +description: This module is used to dump the functional annotation of a genome from + core databases. keywords: - - container - - core_database - - docker - - ensembl-legacy-scripts - - fasta - +- container +- core_database +- docker +- ensembl-legacy-scripts +- fasta tools: - - "annotation": - homepage: "https://github.com/Ensembl/nextflow_modules" - description: "This module handles all annotation-related interactions with the core database, including annotation dumping and processing" - license: ['Apache License version 2.0'] - +- annotation: + homepage: https://github.com/Ensembl/nextflow_modules + description: This module handles all annotation-related interactions with the + core database, including annotation dumping and processing + licence: + - Apache License version 2.0 input: - # Only when we have meta - - meta: - type: map - description: | - A meta map including 'core database information'. - e.g. [ id:'db_name', server_details:[ host:'db' ] ] - pattern: "[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*" - +- db: + type: map + description: Channel element db. output: - - meta: - type: map - description: | - Database containing meta information. - e.g. [ id:'db_name', server_details:[ host:'db' ] ] - pattern: "[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*" - - - functional_annotation.json: - type: map - description: | - Functional annotation file containing biotypes. - e.g [ db:'database name', file("*.json") ] - pattern: ".json" - - - versions: + functional_annotation: + - - db: + type: map + description: Channel element db. + - functional_annotation: + type: string + description: Channel element functional_annotation. + - '*.json': + type: file + description: Channel element *.json. + pattern: '*.json' + versions: + - versions.yml: type: file description: File containing software versions. - pattern: "versions.yml" - + pattern: versions.yml authors: - - "@ensembl-dev" +- '@ensembl-dev' maintainers: - - "@ensembl-dev" +- '@ensembl-dev' diff --git a/modules/ensembl/annotation/dumpanno/tests/main.nf.test b/modules/ensembl/annotation/dumpanno/tests/main.nf.test index 02d526ce..ff546079 100644 --- a/modules/ensembl/annotation/dumpanno/tests/main.nf.test +++ b/modules/ensembl/annotation/dumpanno/tests/main.nf.test @@ -21,6 +21,8 @@ nextflow_process { tag "annotation" tag "annotation/dumpanno" + tag "modules_ensembl" + tag "modules" test("Dump functional annotation ") { diff --git a/modules/ensembl/database/dbfactory/meta.yml b/modules/ensembl/database/dbfactory/meta.yml index d0cb82f5..7c8848b1 100644 --- a/modules/ensembl/database/dbfactory/meta.yml +++ b/modules/ensembl/database/dbfactory/meta.yml @@ -1,41 +1,43 @@ ---- -name: "database_dbfactory" -description: Generate a list of one or more databases plus some associated meta table information. - +name: database_dbfactory +description: Generate a list of one or more databases plus some associated meta table + information. keywords: - - container - - core_database - - docker - - database - - ensembl-genomio - +- container +- core_database +- docker +- database +- ensembl-genomio tools: - - database: - description: "Modules which function to read or write information from core databases." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- database: + description: Modules which function to read or write information from core databases. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - server: - type: map - description: "Groovy Map containing mysql server host, port, user and password - meta and file of JSON database filter information." - e.g. [[ host:"mysql-host-test-prod" ], [ filter_map:"dbrename_re" ]] - - filtermap: +- - server: type: map - description: "Prefix to filter core databases. [default: none]" + description: 'Groovy Map containing MySQL server host, port, user and password + metadata, plus the JSON database filter information. + + Example: [[ host:"mysql-host-test-prod" ], [ filter_map:"dbrename_re" ]] + + ' + - filter_map: + type: map + description: Channel element filter_map. output: - - dbs_meta_json: + dbs_meta_json: + - dbs.json: type: file - description: "JSON file containing database metadata." - pattern: "dbs.json" - - versions: + description: JSON file containing database metadata. + pattern: dbs.json + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/download/assemblydata/meta.yml b/modules/ensembl/download/assemblydata/meta.yml index 0f93a868..82bfb905 100644 --- a/modules/ensembl/download/assemblydata/meta.yml +++ b/modules/ensembl/download/assemblydata/meta.yml @@ -1,46 +1,135 @@ ---- -name: "download_assemblydata" -description: Generate a list of one or more databases plus some associated meta table information. - +name: download_assemblydata +description: Generate a list of one or more databases plus some associated meta table + information. keywords: - - ensembl-genomio - - container - - docker - - download - - genome - - gzip - - INSDC - +- ensembl-genomio +- container +- docker +- download +- genome +- gzip +- INSDC tools: - - download: - description: "Modules which function to download information or various data from externally hosted resources." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- download: + description: Modules which function to download information or various data from + externally hosted resources. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - meta: - type: map - description: | - Groovy Map containing A single INSDC GCA or NCBI 'amended' GCF genome assembly accession meta information. - e.g. `[ accession:'GCA_000000000.1' ]` +- meta: + type: map + description: 'Groovy Map containing A single INSDC GCA or NCBI ''amended'' GCF + genome assembly accession meta information. + + e.g. `[ accession:''GCA_000000000.1'' ]` + ' output: - - min_set: - type: map - description: "Groovy Map including various genome assembly data files (.txt, .fna, .gbff) into compressed Gzip archives." - e.g. [ accession:'GCA_000000000.1', file("*_assembly_report.txt"), file("*_genomic.fna.gz"), file("*_genomic.gbff.gz") ] - pattern: (*.txt, *.fna.gz, *.gbff.gz) - - opt_set: - type: map - description: "Groovy Map including various genome assembly data files (.txt, .faa, .gff) into compressed Gzip archives." - e.g. [ accession:'GCA_000000000.1', file("*_assembly_report.txt"), file("*_genomic.gff.gz"), file("*_genomic.gbff.gz") ] - pattern: (*.txt, *.fna.gz, *.gbff.gz) - - versions: + min_set: + - - meta: + type: map + description: 'Groovy Map including various genome assembly data files (.txt, + .fna, + + .gbff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.fna.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,fna.gz,gbff.gz}' + - '*_assembly_report.txt': + type: file + description: 'Groovy Map including various genome assembly data files (.txt, + .fna, + + .gbff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.fna.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,fna.gz,gbff.gz}' + - '*_genomic.fna.gz': + type: file + description: 'Groovy Map including various genome assembly data files (.txt, + .fna, + + .gbff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.fna.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,fna.gz,gbff.gz}' + - '*_genomic.gbff.gz': + type: file + description: 'Groovy Map including various genome assembly data files (.txt, + .fna, + + .gbff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.fna.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,fna.gz,gbff.gz}' + opt_set: + - - meta: + type: map + description: 'Groovy Map including various genome assembly data files (.txt, + .faa, + + .gff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.gff.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,gff.gz,gbff.gz}' + - '*_genomic.gff.gz': + type: file + description: 'Groovy Map including various genome assembly data files (.txt, + .faa, + + .gff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.gff.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,gff.gz,gbff.gz}' + - '*_protein.faa.gz': + type: file + description: 'Groovy Map including various genome assembly data files (.txt, + .faa, + + .gff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.gff.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,gff.gz,gbff.gz}' + - '*_genomic.gbff.gz': + type: file + description: 'Groovy Map including various genome assembly data files (.txt, + .faa, + + .gff) into compressed Gzip archives. + + Example: [ accession:''GCA_000000000.1'', file("*_assembly_report.txt"), + file("*_genomic.gff.gz"), file("*_genomic.gbff.gz") ] + + ' + pattern: '*.{txt,gff.gz,gbff.gz}' + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/download/genbank/meta.yml b/modules/ensembl/download/genbank/meta.yml index 79b8e316..cff9526d 100644 --- a/modules/ensembl/download/genbank/meta.yml +++ b/modules/ensembl/download/genbank/meta.yml @@ -1,39 +1,39 @@ ---- -name: "download_genbank" +name: download_genbank description: Download a single sequence from NCBI GenBank. - keywords: - - core_database - - container - - docker - - ensembl-genomio - - genbank - - genomics - +- core_database +- container +- docker +- ensembl-genomio +- genbank +- genomics tools: - - download: - description: "Modules which function to download information or various data from externally hosted resources." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- download: + description: Modules which function to download information or various data from + externally hosted resources. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - accession: - type: map - description: Meta map including sequence accession. Sequence record associated with - NCBI accession (e.g. NC_0-9+, NM_0-9+, NT_0-9+, NP_0-9+) - e.g. [[ accession:'NC_12341']] - +- meta: + type: map + description: Channel element meta. output: - - gb_sequence: - type: file - description: A sequence record outfile in genbank format. - pattern: "output.gb" - - versions: + gb_sequence: + - - meta: + type: map + description: A sequence record outfile in genbank format. + pattern: output.gb + - output.gb: + type: file + description: A sequence record outfile in genbank format. + pattern: output.gb + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/dump/genomestats/meta.yml b/modules/ensembl/dump/genomestats/meta.yml index 65ebf0ac..77db4c74 100644 --- a/modules/ensembl/dump/genomestats/meta.yml +++ b/modules/ensembl/dump/genomestats/meta.yml @@ -1,38 +1,54 @@ ---- -name: "dump_genomestats" +name: dump_genomestats description: A module for dumping a core database keywords: - - container - - core_database - - docker - - ensembl-genomio - - json - +- container +- core_database +- docker +- ensembl-genomio +- json tools: - - dump: - description: "Modules which function to dump various forms of data from a core database." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- dump: + description: Modules which function to dump various forms of data from a core + database. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - db: - type: map - description: "A meta map including 'core database name'." - e.g. [[ db:'genus_species_gca00000000v1_core_110_1', species:'Genus species', ...]] - pattern: "[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*" +- db: + type: map + description: 'A meta map including the core database name. + Example: [[ db:''genus_species_gca00000000v1_core_110_1'', species:''Genus species'', + ...]] + + ' + pattern: '[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*' output: - - core_stats: - type: map - description: "JSON file containing core database statistics (assembly and annotation)." - e.g [ db:"database name", file("core_stats.json") ] - pattern: "core_stats.json" - - versions: + core_stats: + - - db: + type: map + description: 'JSON file containing core database statistics (assembly and + annotation). + + Example: [ db:"database name", file("core_stats.json") ] + + ' + pattern: core_stats.json + - core_stats.json: + type: file + description: 'JSON file containing core database statistics (assembly and + annotation). + + Example: [ db:"database name", file("core_stats.json") ] + + ' + pattern: core_stats.json + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/fasta/dumpfastanuc/meta.yml b/modules/ensembl/fasta/dumpfastanuc/meta.yml index 09f29c11..8275d067 100644 --- a/modules/ensembl/fasta/dumpfastanuc/meta.yml +++ b/modules/ensembl/fasta/dumpfastanuc/meta.yml @@ -1,40 +1,61 @@ ---- -name: "fasta_dumpfastanuc" +name: fasta_dumpfastanuc description: A module for dumping core database gene module nucleotide fasta seqs - keywords: - - container - - database - - docker - - ensembl-genomio - - ensembl-legacy-scripts - - fasta - +- container +- database +- docker +- ensembl-genomio +- ensembl-legacy-scripts +- fasta tools: - - "fasta": - description: "Modules which function to facilitate data deposition/retrieval of fasta sequences." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- fasta: + description: Modules which function to facilitate data deposition/retrieval of + fasta sequences. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - db: - type: map - description: "A meta map including 'core database name'." - e.g. [[ db:'genus_species_gca00000000v1_core_110_1', species:'Genus species', ...]] - pattern: "[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*" +- db: + type: map + description: 'A meta map including the core database name. + Example: [[ db:''genus_species_gca00000000v1_core_110_1'', species:''Genus species'', + ...]] + + ' + pattern: '[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*' output: - - nucleotide_fasta: - type: map - description: "Fasta file containing nucleotide sequence(s)." - e.g [ db:'database name', file("*_fasta_dna.fasta") ] - pattern: "*_fasta_dna.fasta" - - versions: + nucleotide_fasta: + - - db: + type: map + description: 'FASTA file containing nucleotide sequence(s). + + Example: [ db:''database name'', file("*_fasta_dna.fasta") ] + + ' + pattern: '*_fasta_dna.fasta' + - fasta_dna: + type: string + description: 'FASTA file containing nucleotide sequence(s). + + Example: [ db:''database name'', file("*_fasta_dna.fasta") ] + + ' + pattern: '*_fasta_dna.fasta' + - '*.fasta': + type: file + description: 'FASTA file containing nucleotide sequence(s). + + Example: [ db:''database name'', file("*_fasta_dna.fasta") ] + + ' + pattern: '*_fasta_dna.fasta' + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/fasta/dumpfastapeptide/meta.yml b/modules/ensembl/fasta/dumpfastapeptide/meta.yml index a4f81eb1..a29cf35d 100644 --- a/modules/ensembl/fasta/dumpfastapeptide/meta.yml +++ b/modules/ensembl/fasta/dumpfastapeptide/meta.yml @@ -1,40 +1,61 @@ ---- -name: "fasta_dumpfastapeptide" +name: fasta_dumpfastapeptide description: A module for dumping peptide FASTA sequences from core databases - keywords: - - container - - database - - docker - - ensembl-genomio - - ensembl-legacy-scripts - - fasta - +- container +- database +- docker +- ensembl-genomio +- ensembl-legacy-scripts +- fasta tools: - - "fasta": - description: "Modules which function to facilitate data deposition/retrieval of fasta sequences." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- fasta: + description: Modules which function to facilitate data deposition/retrieval of + fasta sequences. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - db: - type: map - description: "A meta map including 'core database name'." - e.g. [[ db:'genus_species_gca00000000v1_core_110_1', species:'Genus species', ...]] - pattern: "[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*" +- db: + type: map + description: 'A meta map including the core database name. + Example: [[ db:''genus_species_gca00000000v1_core_110_1'', species:''Genus species'', + ...]] + + ' + pattern: '[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*' output: - - peptide_fasta: - type: map - description: "Fasta file containing peptide sequence(s)." - e.g [ db:'database name', file("*_fasta_pep.fasta") ] - pattern: "*_fasta_pep.fasta" - - versions: + peptide_fasta: + - - db: + type: map + description: 'FASTA file containing peptide sequence(s). + + Example: [ db:''database name'', file("*_fasta_pep.fasta") ] + + ' + pattern: '*_fasta_pep.fasta' + - fasta_pep: + type: string + description: 'FASTA file containing peptide sequence(s). + + Example: [ db:''database name'', file("*_fasta_pep.fasta") ] + + ' + pattern: '*_fasta_pep.fasta' + - '*.fasta': + type: file + description: 'FASTA file containing peptide sequence(s). + + Example: [ db:''database name'', file("*_fasta_pep.fasta") ] + + ' + pattern: '*_fasta_pep.fasta' + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/fasta/recombine/main.nf b/modules/ensembl/fasta/recombine/main.nf index d0ae2406..1f1d1957 100644 --- a/modules/ensembl/fasta/recombine/main.nf +++ b/modules/ensembl/fasta/recombine/main.nf @@ -27,7 +27,7 @@ process FASTA_RECOMBINE { record(meta: Map, fasta_manifest: Path, agp: Path?) output: - record(meta: meta, recombined_fasta: file("${meta.id}.fa")) + recombined_fasta = record(meta: meta, recombined_fasta: file("${meta.id}.fa")) topic: tuple(task.process, 'fasta_recombine', eval("fasta_recombine --version 2>/dev/null || echo unknown")) >> 'versions' diff --git a/modules/ensembl/fasta/recombine/tests/main.nf.test.snap b/modules/ensembl/fasta/recombine/tests/main.nf.test.snap index 59a7453a..00fbc19d 100644 --- a/modules/ensembl/fasta/recombine/tests/main.nf.test.snap +++ b/modules/ensembl/fasta/recombine/tests/main.nf.test.snap @@ -9,13 +9,21 @@ }, "recombined_fasta": "test.fa:md5,c40116e7d725da4662e6bdd654f70075" } + ], + "recombined_fasta": [ + { + "meta": { + "id": "test" + }, + "recombined_fasta": "test.fa:md5,c40116e7d725da4662e6bdd654f70075" + } ] } ], - "timestamp": "2026-09-29T12:53:47.242818", + "timestamp": "2026-10-19T12:18:14.056577866", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } }, "stub outputs: header mode": { @@ -28,13 +36,21 @@ }, "recombined_fasta": "test.fa:md5,c40116e7d725da4662e6bdd654f70075" } + ], + "recombined_fasta": [ + { + "meta": { + "id": "test" + }, + "recombined_fasta": "test.fa:md5,c40116e7d725da4662e6bdd654f70075" + } ] } ], - "timestamp": "2026-09-29T12:53:44.690151", + "timestamp": "2026-10-19T12:18:11.23778328", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/ensembl/fasta/split/main.nf b/modules/ensembl/fasta/split/main.nf index 1fb560cc..a9cd0edc 100644 --- a/modules/ensembl/fasta/split/main.nf +++ b/modules/ensembl/fasta/split/main.nf @@ -26,7 +26,7 @@ process FASTA_SPLIT { record(meta: Map, fasta: Path, longest_seq_bp: Long) output: - record( + split = record( meta: meta, fastas: files("splits/**/*.fa"), agp: file("splits/*.agp", optional: true) @@ -35,7 +35,6 @@ process FASTA_SPLIT { topic: tuple(task.process, 'fasta_split', eval("fasta_split --version 2>/dev/null || echo unknown")) >> 'versions' - script: def args = [] diff --git a/modules/ensembl/fasta/split/meta.yml b/modules/ensembl/fasta/split/meta.yml index ec2c04b7..74f6ca96 100644 --- a/modules/ensembl/fasta/split/meta.yml +++ b/modules/ensembl/fasta/split/meta.yml @@ -31,25 +31,19 @@ input: description: Length in base pairs of the longest sequence in the input FASTA. output: - fastas: + split: - - meta: type: map description: | Groovy Map containing meta information e.g. `[ id:'accession1' ]` - - splits/**/*.fa: + - fastas: type: file description: Split FASTA files. pattern: "splits/**/*.fa" ontologies: - edam: "http://edamontology.org/format_1929" # FASTA - agp: - - - meta: - type: map - description: | - Groovy Map containing meta information - e.g. `[ id:'accession1' ]` - - splits/*.agp: + - agp: type: file description: Optional AGP file describing split sequence chunks. pattern: "splits/*.agp" diff --git a/modules/ensembl/fasta/stats/main.nf b/modules/ensembl/fasta/stats/main.nf index 3456982d..b6287b3c 100644 --- a/modules/ensembl/fasta/stats/main.nf +++ b/modules/ensembl/fasta/stats/main.nf @@ -27,7 +27,7 @@ process FASTA_STATS { record(meta: Map, fasta: Path) output: - record(meta: meta, stats: file("${fasta.simpleName}.stats.json")) + stats = record(meta: meta, stats: file("${fasta.simpleName}.stats.json")) topic: tuple(task.process, 'fasta_stats', eval("fasta_stats --version 2>/dev/null || echo unknown")) >> 'versions' diff --git a/modules/ensembl/fasta/stats/tests/main.nf.test.snap b/modules/ensembl/fasta/stats/tests/main.nf.test.snap index e2bbf566..c2d57614 100644 --- a/modules/ensembl/fasta/stats/tests/main.nf.test.snap +++ b/modules/ensembl/fasta/stats/tests/main.nf.test.snap @@ -9,13 +9,21 @@ }, "stats": "input.stats.json:md5,d41d8cd98f00b204e9800998ecf8427e" } + ], + "stats": [ + { + "meta": { + "id": "test" + }, + "stats": "input.stats.json:md5,d41d8cd98f00b204e9800998ecf8427e" + } ] } ], - "timestamp": "2026-09-29T12:53:55.741606", + "timestamp": "2026-10-19T12:20:59.659318033", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/ensembl/features/combine_json/main.nf b/modules/ensembl/features/combine_json/main.nf index bf4488d2..356fac26 100644 --- a/modules/ensembl/features/combine_json/main.nf +++ b/modules/ensembl/features/combine_json/main.nf @@ -31,7 +31,7 @@ process FEATURES_COMBINE_JSON { ) output: - record(meta: meta, combined_json: file("${meta.id}.${analysis}.json")) + combined_json = record(meta: meta, combined_json: file("${meta.id}.${analysis}.json")) topic: tuple(task.process, 'features_combine_json', eval("features_combine_json --version 2>/dev/null || echo unknown")) >> 'versions' diff --git a/modules/ensembl/features/combine_json/tests/main.nf.test.snap b/modules/ensembl/features/combine_json/tests/main.nf.test.snap index 795b77f1..7d790925 100644 --- a/modules/ensembl/features/combine_json/tests/main.nf.test.snap +++ b/modules/ensembl/features/combine_json/tests/main.nf.test.snap @@ -9,13 +9,21 @@ "id": "test" } } + ], + "combined_json": [ + { + "combined_json": "test.features.json:md5,8a80554c91d9fca8acb82f023de02f11", + "meta": { + "id": "test" + } + } ] } ], - "timestamp": "2026-09-29T12:53:58.29327", + "timestamp": "2026-10-19T12:23:49.238647631", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/ensembl/features/convert_to_json/main.nf b/modules/ensembl/features/convert_to_json/main.nf index daa640ab..f1e32a49 100644 --- a/modules/ensembl/features/convert_to_json/main.nf +++ b/modules/ensembl/features/convert_to_json/main.nf @@ -33,7 +33,7 @@ process FEATURES_CONVERT_TO_JSON { ) output: - record(meta: meta, features_json: file("${meta.id}.${analysis_logic_name}.features.json")) + features_json = record(meta: meta, features_json: file("${meta.id}.${analysis_logic_name}.features.json")) topic: tuple(task.process, 'features_convert_to_genomio_json', eval("features_convert_to_genomio_json --version 2>/dev/null || echo unknown")) >> 'versions' diff --git a/modules/ensembl/features/convert_to_json/tests/main.nf.test.snap b/modules/ensembl/features/convert_to_json/tests/main.nf.test.snap index 0dc7c071..97aa3a9e 100644 --- a/modules/ensembl/features/convert_to_json/tests/main.nf.test.snap +++ b/modules/ensembl/features/convert_to_json/tests/main.nf.test.snap @@ -9,13 +9,21 @@ "id": "test" } } + ], + "features_json": [ + { + "features_json": "test.repeatmask_customlib.features.json:md5,8a80554c91d9fca8acb82f023de02f11", + "meta": { + "id": "test" + } + } ] } ], - "timestamp": "2026-09-29T12:54:04.437296", + "timestamp": "2026-10-19T12:23:58.024921293", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } }, "Stub wires RepeatMasker Repbase input mode": { @@ -28,13 +36,21 @@ "id": "test" } } + ], + "features_json": [ + { + "features_json": "test.repeatmasker_repbase.features.json:md5,8a80554c91d9fca8acb82f023de02f11", + "meta": { + "id": "test" + } + } ] } ], - "timestamp": "2026-09-29T12:54:02.363885", + "timestamp": "2026-10-19T12:23:55.069267917", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } }, "Stub wires TRF input mode": { @@ -47,13 +63,21 @@ "id": "test" } } + ], + "features_json": [ + { + "features_json": "test.trf.features.json:md5,8a80554c91d9fca8acb82f023de02f11", + "meta": { + "id": "test" + } + } ] } ], - "timestamp": "2026-09-29T12:54:00.329076", + "timestamp": "2026-10-19T12:23:52.218780934", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/ensembl/features/red/main.nf b/modules/ensembl/features/red/main.nf index 3ab40fb2..a746c1ea 100644 --- a/modules/ensembl/features/red/main.nf +++ b/modules/ensembl/features/red/main.nf @@ -26,7 +26,7 @@ process FEATURES_RED { record(meta: Map, fasta: Path) output: - record(meta: meta, bed: file("rpt/*.bed")) + bed = record(meta: meta, bed: file("rpt/*.bed")) topic: tuple(task.process, 'red', eval("conda list red --json | python -c 'import sys,json; print(json.load(sys.stdin)[0][\"version\"])' || echo 2.0")) >> 'versions' diff --git a/modules/ensembl/features/red/tests/main.nf.test.snap b/modules/ensembl/features/red/tests/main.nf.test.snap index 7648c3c3..06561c62 100644 --- a/modules/ensembl/features/red/tests/main.nf.test.snap +++ b/modules/ensembl/features/red/tests/main.nf.test.snap @@ -9,13 +9,21 @@ "id": "test" } } + ], + "bed": [ + { + "bed": "test.bed:md5,aa604b48150afc506072a1f9656b6bb7", + "meta": { + "id": "test" + } + } ] } ], - "timestamp": "2026-09-29T12:54:06.783701", + "timestamp": "2026-10-19T12:24:00.376023273", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/ensembl/features/trf/main.nf b/modules/ensembl/features/trf/main.nf index 514b040a..fba2d48f 100644 --- a/modules/ensembl/features/trf/main.nf +++ b/modules/ensembl/features/trf/main.nf @@ -26,7 +26,7 @@ process FEATURES_TRF { record(meta: Map, fasta: Path) output: - record(meta: meta, dat: file("*.dat")) + dat = record(meta: meta, dat: file("*.dat")) topic: tuple(task.process, 'trf', eval("trf -v 2>&1 | grep -oE '[0-9]+(\\.[0-9]+)+(rc[0-9]+)?(-[0-9]+)?' || echo 4.10.0")) >> 'versions' diff --git a/modules/ensembl/features/trf/tests/main.nf.test.snap b/modules/ensembl/features/trf/tests/main.nf.test.snap index 92300cd3..1091add2 100644 --- a/modules/ensembl/features/trf/tests/main.nf.test.snap +++ b/modules/ensembl/features/trf/tests/main.nf.test.snap @@ -9,13 +9,21 @@ "id": "test" } } + ], + "dat": [ + { + "dat": "dummy.fa.dat:md5,7afa5cc8da76212b28fe6a2c4db74917", + "meta": { + "id": "test" + } + } ] } ], - "timestamp": "2026-09-29T12:54:08.817888", + "timestamp": "2026-10-19T12:24:02.655480303", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/ensembl/genbank/extractgb/meta.yml b/modules/ensembl/genbank/extractgb/meta.yml index 9ddcd0fc..e588d5c1 100644 --- a/modules/ensembl/genbank/extractgb/meta.yml +++ b/modules/ensembl/genbank/extractgb/meta.yml @@ -1,60 +1,87 @@ ---- -name: "genbank_extractgb" -description: Parse a GenBank file and create cleaned up files and validate generated JSON files. - +name: genbank_extractgb +description: Parse a GenBank file and create cleaned up files and validate generated + JSON files. keywords: - - container - - database - - docker - - ensembl-genomio - - genbank - - genomics - +- container +- database +- docker +- ensembl-genomio +- genbank +- genomics tools: - - "genbank": - description: "Modules with functions related to work with Genbank related data files." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- genbank: + description: Modules with functions related to work with Genbank related data + files. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - meta: +- - meta: type: map - description: | - Groovy Map containing genome database meta information - e.g. `[ accession:'NC_XXXX.X' ]` + description: 'Groovy Map containing genome database meta information + + e.g. `[ accession:''NC_XXXX.X'' ]` + + ' - gb_file: type: file - description: | - File path to genbank formatted input file (*.gb) + description: 'File path to genbank formatted input file (*.gb) + e.g. `[gb_file("genome.gb")]` + ' output: - - genome: - type: file - description: Genome metadata (JSON) - pattern: "genome.json" - - seq_regions: - type: file - description: Sequence region(s) meta (JSON) - pattern: "seq_region.json" - - dna_fasta: - type: file - description: Genome nucleotide sequence(s) (FASTA) - pattern: "dna.fasta" - - gene_gff: - type: file - description: Gene model information (GFF3) - pattern: "*.gff" - - pep_fasta: - type: file - description: Genome protein-coding gene amino acid sequence(s) (FASTA) - pattern: "pep.fasta" - - versions: + genome: + - - meta: + type: map + description: Genome metadata (JSON) + pattern: genome.json + - genome.json: + type: file + description: Genome metadata (JSON) + pattern: genome.json + seq_regions: + - - meta: + type: map + description: Sequence region(s) meta (JSON) + pattern: seq_region.json + - seq_region.json: + type: file + description: Sequence region(s) meta (JSON) + pattern: seq_region.json + dna_fasta: + - - meta: + type: map + description: Genome nucleotide sequence(s) (FASTA) + pattern: dna.fasta + - dna.fasta: + type: file + description: Genome nucleotide sequence(s) (FASTA) + pattern: dna.fasta + gene_gff: + - - meta: + type: map + description: Gene model information (GFF3) + pattern: '*.gff' + - '*.gff': + type: file + description: Gene model information (GFF3) + pattern: '*.gff' + pep_fasta: + - - meta: + type: map + description: Genome protein-coding gene amino acid sequence(s) (FASTA) + pattern: pep.fasta + - pep.fasta: + type: file + description: Genome protein-coding gene amino acid sequence(s) (FASTA) + pattern: pep.fasta + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/gff3/dumpgff3/meta.yml b/modules/ensembl/gff3/dumpgff3/meta.yml index 1d27a3c3..2a228f71 100644 --- a/modules/ensembl/gff3/dumpgff3/meta.yml +++ b/modules/ensembl/gff3/dumpgff3/meta.yml @@ -1,39 +1,60 @@ ---- -name: "gff3_dumpgff3" +name: gff3_dumpgff3 description: write your description here - keywords: - - container - - database - - docker - - ensembl-legacy-scripts - - gff3 - +- container +- database +- docker +- ensembl-legacy-scripts +- gff3 tools: - - "gff3": - description: "Modules for GFF3 validation, data deposition and retrieval from/into GFF3 file format" - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- gff3: + description: Modules for GFF3 validation, data deposition and retrieval from/into + GFF3 file format + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - db: - type: map - description: "A meta map including 'core database name'." - e.g. [[ db:'genus_species_gca00000000v1_core_110_1', species:'Genus species', ...]] - pattern: "[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*" +- db: + type: map + description: 'A meta map including the core database name. + Example: [[ db:''genus_species_gca00000000v1_core_110_1'', species:''Genus species'', + ...]] + + ' + pattern: '[a-z]+_[a-z]_gc[af][0-9]v[0-9]+_core_*' output: - - gff3: - type: map - description: "GFF3 file containing gene model(s)." - e.g [ db:'database name', file("*.gff3") ] - pattern: "*.gff3" - - versions: + gff3: + - - db: + type: map + description: 'GFF3 file containing gene model(s). + + Example: [ db:''database name'', file("*.gff3") ] + + ' + pattern: '*.gff3' + - gff3: + type: string + description: 'GFF3 file containing gene model(s). + + Example: [ db:''database name'', file("*.gff3") ] + + ' + pattern: '*.gff3' + - '*.gff3': + type: file + description: 'GFF3 file containing gene model(s). + + Example: [ db:''database name'', file("*.gff3") ] + + ' + pattern: '*.gff3' + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/gff3/validation/meta.yml b/modules/ensembl/gff3/validation/meta.yml index 344861b4..f356540c 100644 --- a/modules/ensembl/gff3/validation/meta.yml +++ b/modules/ensembl/gff3/validation/meta.yml @@ -1,49 +1,50 @@ ---- -name: "gff3_validation" +name: gff3_validation description: Check for proper validation of the GFF3 using GenomeTools. - keywords: - - ensembl - - integrity - - genomics - - genomio - - gff3 - - validation - +- ensembl +- integrity +- genomics +- genomio +- gff3 +- validation tools: - - "gff3": - description: "Modules for GFF3 validation, data deposition and retrieval from/into GFF3 file format" - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- gff3: + description: Modules for GFF3 validation, data deposition and retrieval from/into + GFF3 file format + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - meta: +- - meta: type: map - description: | - Groovy Map containing meta information - e.g. `[ id:'accession1' ]` - + description: 'Groovy Map containing meta information + + e.g. `[ id:''accession1'' ]` + + ' - gene_models: type: file description: GFF3 files - pattern: "*.{gff3}" - + pattern: '*.{gff3}' output: - - meta: - type: map - description: | - Groovy Map containing meta information - e.g. `[ id:'accession1' ]` - - gene_models: - type: file - description: All files used as entry - pattern: "*.{gff3}" - - versions: + gene_models: + - - meta: + type: map + description: 'Groovy Map containing meta information + + e.g. `[ id:''accession1'' ]` + + ' + - gene_models.gff3: + type: file + description: All files used as entry + pattern: '*.{gff3}' + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/infernal/cmscan/main.nf b/modules/ensembl/infernal/cmscan/main.nf index 9cea45fe..65dd7c4d 100644 --- a/modules/ensembl/infernal/cmscan/main.nf +++ b/modules/ensembl/infernal/cmscan/main.nf @@ -19,9 +19,7 @@ process CMSCAN { label 'process_high' conda "bioconda::infernal=1.1.5" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/infernal:1.1.5--pl5321h7b50bb2_4' : - 'quay.io/biocontainers/infernal:1.1.5--pl5321h7b50bb2_4' }" + container "quay.io/biocontainers/infernal:1.1.5--pl5321h7b50bb2_4" input: record( @@ -31,17 +29,13 @@ process CMSCAN { ) output: - record( + tblout = record( meta: meta, tblout: file("*.tblout") ) topic: - tuple( - task.process, - 'infernal', - eval("cmscan -h 2>&1 | sed -nE 's/^# INFERNAL ([^ ]+).*/\\1/p'") - ) >> 'versions' + tuple('cmscan', eval("cmscan --version 2>/dev/null || echo unknown")) >> 'versions' script: def prefix = task.ext.prefix diff --git a/modules/ensembl/infernal/cmscan/meta.yml b/modules/ensembl/infernal/cmscan/meta.yml index 50fb7ec3..7d59f469 100644 --- a/modules/ensembl/infernal/cmscan/meta.yml +++ b/modules/ensembl/infernal/cmscan/meta.yml @@ -12,6 +12,9 @@ tools: homepage: http://eddylab.org/infernal/ documentation: http://eddylab.org/infernal/ licence: ["BSD-3-Clause"] + +authors: + - "@ensembl-dev" input: - - meta: type: map @@ -33,8 +36,12 @@ output: type: file description: Tabular cmscan hits for the input chunk. pattern: "*.tblout" + +topics: versions: - - versions.yml: - type: file - description: File containing software versions. - pattern: "versions.yml" + - - cmscan: + type: string + description: The name of the tool. + - ? cmscan --version 2>/dev/null || echo unknown + : type: eval + description: The expression to obtain the version of the tool. diff --git a/modules/ensembl/infernal/cmscan/tests/main.nf.test b/modules/ensembl/infernal/cmscan/tests/main.nf.test index e30908ab..336709cc 100644 --- a/modules/ensembl/infernal/cmscan/tests/main.nf.test +++ b/modules/ensembl/infernal/cmscan/tests/main.nf.test @@ -62,7 +62,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert process.out.size() == 1 }, + { assert process.out.size() == 2 }, { assert process.out[0][0].meta.id == 'test' }, { assert path(process.out[0][0].tblout instanceof List ? process.out[0][0].tblout[0] : process.out[0][0].tblout).fileName.toString().endsWith('.tblout') }, { assert snapshot(process.out).match() } diff --git a/modules/ensembl/infernal/cmscan/tests/main.nf.test.snap b/modules/ensembl/infernal/cmscan/tests/main.nf.test.snap index be701214..913b631a 100644 --- a/modules/ensembl/infernal/cmscan/tests/main.nf.test.snap +++ b/modules/ensembl/infernal/cmscan/tests/main.nf.test.snap @@ -9,10 +9,18 @@ }, "tblout": "test.1.tblout:md5,d41d8cd98f00b204e9800998ecf8427e" } + ], + "tblout": [ + { + "meta": { + "id": "test" + }, + "tblout": "test.1.tblout:md5,d41d8cd98f00b204e9800998ecf8427e" + } ] } ], - "timestamp": "2026-09-25T18:22:53.008883237", + "timestamp": "2026-10-19T12:25:58.306427968", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" diff --git a/modules/ensembl/manifest/integrity/meta.yml b/modules/ensembl/manifest/integrity/meta.yml index 44b8ec6a..6388ea27 100644 --- a/modules/ensembl/manifest/integrity/meta.yml +++ b/modules/ensembl/manifest/integrity/meta.yml @@ -1,57 +1,61 @@ ---- -name: "manifest_integrity" +name: manifest_integrity description: Check the data integrity of a set of genomic files, listed by their manifest. keywords: - - ensembl - - genomics - - genomio - - integrity - - validation - +- ensembl +- genomics +- genomio +- integrity +- validation tools: - - "manifest": - description: "Nextflow modules for genomic data file manifest comparison/checking" - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- manifest: + description: Nextflow modules for genomic data file manifest comparison/checking + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - meta: +- - meta: type: map - description: | - Groovy Map containing meta information - e.g. `[ id:'accession1' ]` + description: 'Groovy Map containing meta information + + e.g. `[ id:''accession1'' ]` + + ' - manifest_files: type: file description: Set of genomic data files - pattern: "*.{gff3,fasta,json}" - + pattern: '*.{gff3,fasta,json}' output: - - meta: - type: map - description: | - Groovy Map containing meta information - e.g. `[ id:'accession1' ]` + all_files: + - - meta: + type: map + description: 'Groovy Map containing meta information - - all_files: - type: file - description: All files used as entry. - pattern: "*.{gff3,fasta,json}" + e.g. `[ id:''accession1'' ]` - - integrity_file: - type: file - description: Captures potential errors detected during the integrity check of a manifest file (manifest.json). - pattern: "integrity.out" + ' + - '*.*': + type: file + description: All files used as entry. + pattern: '*.{gff3,fasta,json}' + error_log: + - - meta: + type: map + description: 'Groovy Map containing meta information - - error_log: - type: file - description: Integrity error log if it failed - pattern: "integrity.out" - - versions: + e.g. `[ id:''accession1'' ]` + + ' + - integrity_file: + type: file + description: Captures potential errors detected during the integrity check + of a manifest file (manifest.json). + pattern: integrity.out + versions: + - versions.yml: type: file description: File containing information on module software version - pattern: "versions.yml" - + pattern: versions.yml authors: - - "@ensembl-dev" +- '@ensembl-dev' maintainers: - - "@ensembl-dev" +- '@ensembl-dev' diff --git a/modules/ensembl/manifest/maker/main.nf b/modules/ensembl/manifest/maker/main.nf index 41ef1136..958816d8 100644 --- a/modules/ensembl/manifest/maker/main.nf +++ b/modules/ensembl/manifest/maker/main.nf @@ -25,7 +25,7 @@ process MANIFEST_MAKER { tuple val(meta), path(file_name) output: - tuple val(meta), path("*.{gff3,fasta,json}", includeInputs: true) + tuple val(meta), path("*.{gff3,fasta,json}", includeInputs: true), emit: manifest path "versions.yml", emit: versions when: diff --git a/modules/ensembl/manifest/maker/meta.yml b/modules/ensembl/manifest/maker/meta.yml index 0f56d39c..0b250ea2 100644 --- a/modules/ensembl/manifest/maker/meta.yml +++ b/modules/ensembl/manifest/maker/meta.yml @@ -1,50 +1,44 @@ ---- -name: "manifest_maker" -description: Generate a manifest and validate its JSON schema using provided input files and metadata. +name: manifest_maker +description: Generate a manifest and validate its JSON schema using provided input + files and metadata. keywords: - - ensembl - - genomics - - genomio - - integrity - - validation +- ensembl +- genomics +- genomio +- integrity +- validation tools: - - "manifest_maker": - description: "Nextflow modules for genomic data file manifest comparison/checking." - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- manifest_maker: + description: Nextflow modules for genomic data file manifest comparison/checking. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - meta: +- - meta: type: map - description: | - Groovy Map containing meta information - e.g. `[ accession:'accession01' ]` - - manifest_files: - type: file - description: Set of genomic data files - pattern: "*.{gff3,fasta,json}" + description: 'Groovy Map containing meta information -output: - - meta: - type: map - description: | - Groovy Map containing meta information - e.g. `[ accession:'accession1' ]` + e.g. `[ accession:''accession01'' ]` - - all_files: - type: file - description: All files used as entry - pattern: "*.{gff3,fasta,json}" - - error_log: + ' + - file_name: type: file - description: Integrity error log if it failed - pattern: "integrity.out" - - versions: - type: file - description: File containing information on module software version - pattern: "versions.yml" - + description: Channel element file_name. +output: + manifest: + - - meta: + type: map + description: Groovy Map containing manifest metadata. + - '*.{gff3,fasta,json}': + type: file + description: Generated manifest and input files. + pattern: '*.{gff3,fasta,json}' + versions: + - versions.yml: + type: file + description: File containing information on module software version. + pattern: 'versions.yml' authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/manifest/maker/tests/main.nf.test.snap b/modules/ensembl/manifest/maker/tests/main.nf.test.snap index fd7670c5..797c9253 100644 --- a/modules/ensembl/manifest/maker/tests/main.nf.test.snap +++ b/modules/ensembl/manifest/maker/tests/main.nf.test.snap @@ -14,15 +14,24 @@ "1": [ "versions.yml:md5,b2d9940151b29e7881ddbf8e3df6db49" ], + "manifest": [ + [ + { + "id": "test", + "single_end": false + }, + "manifest.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], "versions": [ "versions.yml:md5,b2d9940151b29e7881ddbf8e3df6db49" ] } ], - "timestamp": "2026-02-24T21:05:18.307649581", + "timestamp": "2026-10-19T12:28:43.967112538", "meta": { - "nf-test": "0.9.4", - "nextflow": "24.10.3" + "nf-test": "0.9.5", + "nextflow": "26.04.0" } }, "Maker check stub": { @@ -42,15 +51,26 @@ "1": [ "versions.yml:md5,b2d9940151b29e7881ddbf8e3df6db49" ], + "manifest": [ + [ + { + "id": "test" + }, + [ + "genes.gff3:md5,5e2fd50352e7d2ebec2bdccaa352e541", + "manifest.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], "versions": [ "versions.yml:md5,b2d9940151b29e7881ddbf8e3df6db49" ] } ], - "timestamp": "2026-02-24T21:05:04.068850359", + "timestamp": "2026-10-19T12:28:40.977854791", "meta": { - "nf-test": "0.9.4", - "nextflow": "24.10.3" + "nf-test": "0.9.5", + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/ensembl/metadata/amendgenome/meta.yml b/modules/ensembl/metadata/amendgenome/meta.yml index 7864827f..9bb45503 100644 --- a/modules/ensembl/metadata/amendgenome/meta.yml +++ b/modules/ensembl/metadata/amendgenome/meta.yml @@ -1,58 +1,56 @@ ---- -name: "metadata_amendgenome" -description: Extends genome metadata using input files and validates the output against a genome schema. +name: metadata_amendgenome +description: Extends genome metadata using input files and validates the output against + a genome schema. keywords: - - amend - - genome - - metada - - validation - +- amend +- genome +- metada +- validation tools: - - "metadata_amendgenome": - description: "This module processes genome metadata by incorporating additional data from assembly reports and GenBank files, ensuring compliance with the genome schema" - homepage: "https://github.com/Ensembl/nextflow_modules" - licence: ['Apache License version 2.0'] - +- metadata_amendgenome: + description: This module processes genome metadata by incorporating additional + data from assembly reports and GenBank files, ensuring compliance with the genome + schema + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - meta: +- - meta: type: map - description: - Groovy Map containing meta information - e.g. `[ accession:'accession01' ] + description: Groovy Map containing meta information e.g. `[ accession:'accession01' + ] - genome_json: type: file - description: "JSON file containing genome metadata." - pattern: "*.json" + description: JSON file containing genome metadata. + pattern: '*.json' - asm_report: type: file - description: "Assembly report file with genomic metadata." - pattern: "*.txt" + description: Assembly report file with genomic metadata. + pattern: '*.txt' - genomic_fna: type: file - description: "FASTA file containing genomic sequences." - pattern: "*.{fna,fasta,fa}" - + description: FASTA file containing genomic sequences. + pattern: '*.{fna,fasta,fa}' - genbank_gbff: type: file - description: "GenBank file containing genome annotations." - pattern: "*.{gbff,gb}" - + description: GenBank file containing genome annotations. + pattern: '*.{gbff,gb}' output: - - meta: - type: map - description: - Groovy Map containing meta information - e.g. `[ accession:'accession01' ] - - amended_json: - description: "JSON file containing genome metadata." - pattern: "*.json" - - versions: + amended_json: + - - meta: + type: map + description: Groovy Map containing meta information e.g. `[ accession:'accession01' + ] + - genome.json: + description: JSON file containing genome metadata. + pattern: '*.json' + type: file + versions: + - versions.yml: type: file - description: "File containing information on module software version." - pattern: "versions.yml" - - + description: File containing information on module software version. + pattern: versions.yml authors: - - "@ensembl-dev" +- '@ensembl-dev' maintainers: - - "@ensembl-dev" +- '@ensembl-dev' diff --git a/modules/ensembl/metadata/genomesummary/meta.yml b/modules/ensembl/metadata/genomesummary/meta.yml index f3901006..107476bb 100644 --- a/modules/ensembl/metadata/genomesummary/meta.yml +++ b/modules/ensembl/metadata/genomesummary/meta.yml @@ -1,56 +1,57 @@ ---- -name: "metadata_genomesummary" -description: Extract genome meta info from am NCBI datasets-cli 'genome summary' JSON. - A structured query JSON is also input and used to extract the key meta from the genome summary JSON. +name: metadata_genomesummary +description: 'Extract genome metadata from an NCBI datasets-cli ''genome summary'' + JSON. + + A structured query JSON is also input and used to extract key metadata. + + ' keywords: - - container - - docker - - datasets - - ensembl-genomio - - genome - - metadata +- container +- docker +- datasets +- ensembl-genomio +- genome +- metadata tools: - - "metadata": - description: Modules which function to generate,fetch or otherwise work \ - with metadata curation or preparation. - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- metadata: + description: Modules which generate, fetch, or otherwise work with metadata curation + or preparation. + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - accession: +- - meta: type: map - description: Meta map including sequence accession. Sequence record associated with - NCBI accession (e.g. NC_0-9+, NM_0-9+, NT_0-9+, NP_0-9+) - e.g. [[ accession:'NC_12341']] + description: Channel element meta. - input_query: type: file - description: Input query to parse an NCBI genome summary JSON - pattern: "*-query.json" + description: Input query to parse an NCBI genome summary JSON. + pattern: '*-query.json' - genome_summary_json: type: file - description: A genome summary JSON file downloaded via datasets-cli (NCBI) \ - containing 1> genome summaries '{reports: {}}' - pattern: "*.json" + description: 'A genome summary JSON file downloaded via datasets-cli (NCBI), + + containing one or more genome summaries. + ' + pattern: '*.json' output: - - meta: - type: map - description: | - Meta map including sequence accession. Sequence record associated with - NCBI accession (e.g. NC_0-9+, NM_0-9+, NT_0-9+, NP_0-9+) - e.g. [[ accession:'NC_12341']] - - meta_json: - - "genome-meta.json": - type: file - description: Genome metadata queried from complete NCBI datasets genome summary JSON. - pattern: "*-meta.json" - - versions: - - "versions.yml": + meta_json: + - - meta: + type: map + description: "Meta map including sequence accession. Sequence record associated\ + \ with \nNCBI accession (e.g. NC_0-9+, NM_0-9+, NT_0-9+, NP_0-9+)\ne.g.\ + \ [[ accession:'NC_12341']]\n" + - genome.json: type: file - description: File containing software versions - pattern: "versions.yml" - + description: Channel element genome.json. + pattern: genome.json + versions: + - versions.yml: + type: file + description: Channel element versions.yml. + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/schema/json/meta.yaml b/modules/ensembl/schema/json/meta.yaml deleted file mode 100644 index c70ecc3e..00000000 --- a/modules/ensembl/schema/json/meta.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# See the NOTICE file distributed with this work for additional information -# regarding copyright ownership. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: "schema_json" -description: Validate the schema for JSON files -keywords: - - validate - - JSON - - schema -tools: - - "Schema": - description: "Nextflow modules for Ensembl pipelines" - homepage: "https://github.com/Ensembl/nextflow_modules" - # documentation: "" - # tool_dev_url: "" - # doi: "" - licence: "Apache License 2.0" -input: - # Only when we have meta - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - - json: - type: file - description: JSON file to validate - pattern: "*.{json}" - -output: - # Only when we have meta - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1', single_end:false ]` - - versions: - type: file - description: File containing ensembl-genomio versions - pattern: "versions.yml" - - json: - type: file - description: verified_json file - pattern: "*.{json}" - -authors: - - "ensembl-dev@ebi.ac.uk" -maintainers: - - "ensembl-dev@ebi.ac.uk" \ No newline at end of file diff --git a/modules/ensembl/schema/json/meta.yml b/modules/ensembl/schema/json/meta.yml new file mode 100644 index 00000000..042f10f6 --- /dev/null +++ b/modules/ensembl/schema/json/meta.yml @@ -0,0 +1,44 @@ +name: schema_json +description: Validate the schema for JSON files +keywords: +- validate +- JSON +- schema +tools: +- Schema: + description: Nextflow modules for Ensembl pipelines + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License 2.0 +input: +- - meta: + type: map + description: 'Groovy Map containing sample information + + e.g. `[ id:''sample1'', single_end:false ]` + + ' + - json_file: + type: file + description: Channel element json_file. +output: + verified_json: + - - meta: + type: map + description: 'Groovy Map containing sample information + + e.g. `[ id:''sample1'', single_end:false ]` + + ' + - json_file: + type: file + description: Channel element json_file. + versions: + - versions.yml: + type: file + description: File containing ensembl-genomio versions + pattern: versions.yml +authors: +- ensembl-dev@ebi.ac.uk +maintainers: +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/seqregion/processseqregions/meta.yml b/modules/ensembl/seqregion/processseqregions/meta.yml index a135d0e2..a09297d7 100644 --- a/modules/ensembl/seqregion/processseqregions/meta.yml +++ b/modules/ensembl/seqregion/processseqregions/meta.yml @@ -1,55 +1,58 @@ ---- -name: "seqregion_processseqregions" +name: seqregion_processseqregions description: Construct a sequence region metadata file from INSDC files. keywords: - - container - - ensembl-genomio - - genomics - - sequence_regions - - validation - +- container +- ensembl-genomio +- genomics +- sequence_regions +- validation tools: - - "seqregion": - description: "Nextflow modules for sequence region validation" - homepage: "https://github.com/Ensembl/nextflow_modules" - license: ['Apache License version 2.0'] - +- seqregion: + description: Nextflow modules for sequence region validation + homepage: https://github.com/Ensembl/nextflow_modules + licence: + - Apache License version 2.0 input: - - meta: +- - meta: type: map - description: | - Groovy Map containing meta information - e.g. `[ db: 'dummy_core_110_1', species:'homo_sapiens' ]` + description: 'Groovy Map containing meta information + + e.g. `[ db: ''dummy_core_110_1'', species:''homo_sapiens'' ]` + + ' - genome_json: type: file description: JSON file containing assembly, annotation and taxonomy meta info - pattern: "genome.json" + pattern: genome.json - assembly_report: type: file description: Genome assembly report file assoicated with INSDC deposited assembly - pattern: "*_assembly_report.txt" + pattern: '*_assembly_report.txt' - genomic_gbff: type: file - description: Assoicated GBFF file with DDBJ/ENA/GenBank feature table linked + description: Assoicated GBFF file with DDBJ/ENA/GenBank feature table linked to INSDC deposited assembly - pattern: "*.gbff.gz|*.gbff" - + pattern: '*.gbff.gz|*.gbff' output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ db: 'dummy_core_110_1', species:'homo_sapiens' ]` - - seq_region: - type: file - description: Sole output file of sequence region metadata, validated with JSON 'seq_region' schema - pattern: "seq_region.json" - - versions: + seq_region: + - - meta: + type: map + description: 'Groovy Map containing sample information + + e.g. `[ db: ''dummy_core_110_1'', species:''homo_sapiens'' ]` + + ' + - seq_region.json: + type: file + description: Sole output file of sequence region metadata, validated with + JSON 'seq_region' schema + pattern: seq_region.json + versions: + - versions.yml: type: file description: File containing software versions - pattern: "versions.yml" - + pattern: versions.yml authors: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk maintainers: - - "ensembl-dev@ebi.ac.uk" +- ensembl-dev@ebi.ac.uk diff --git a/modules/ensembl/urls/extract/meta.yml b/modules/ensembl/urls/extract/meta.yml index beb0f0cb..142a09f7 100644 --- a/modules/ensembl/urls/extract/meta.yml +++ b/modules/ensembl/urls/extract/meta.yml @@ -1,49 +1,55 @@ ---- -name: "URLS_EXTRACT" +name: URLS_EXTRACT description: Extracts MySQL arguments from a URL string keywords: - - url - - mysql - - parse - +- url +- mysql +- parse +tools: +- urls: + description: Extract connection parameters from a MySQL URL. + homepage: https://github.com/Ensembl/nextflow_modules input: - - meta: +- - meta: type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] + description: 'Groovy Map containing sample information + + e.g. [ id:''test'', single_end:false ] + + ' - url_string: type: string description: MySQL URL string to parse - output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - user: - type: string - description: Extracted username from the URL - - password: - type: string - description: Extracted password from the URL (if present) - - host: - type: string - description: Extracted host from the URL - - port: - type: string - description: Extracted port from the URL - - database: - type: string - description: Extracted database name from the URL (if present) - - versions: + connection_info: + - - meta: + type: map + description: 'Groovy Map containing sample information + + e.g. [ id:''test'', single_end:false ] + + ' + - user: + type: string + description: Extracted username from the URL + - host: + type: string + description: Extracted host from the URL + - port: + type: string + description: Extracted port from the URL + - password: + type: string + description: Extracted password from the URL (if present) + - database: + type: string + description: Extracted database name from the URL (if present) + versions: + - versions.yml: type: file description: File containing software versions - pattern: "versions.yml" - + pattern: versions.yml authors: - - "@ensembl-dev" - - "@Salome-Brunon" +- '@ensembl-dev' +- '@Salome-Brunon' maintainers: - - "@ensembl-dev" +- '@ensembl-dev' diff --git a/modules/ensembl/urls/generate/meta.yml b/modules/ensembl/urls/generate/meta.yml index b9d97ad0..dabffe43 100644 --- a/modules/ensembl/urls/generate/meta.yml +++ b/modules/ensembl/urls/generate/meta.yml @@ -1,18 +1,16 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json -name: "urls_generate" +name: urls_generate description: Generates a URL for database connections based on input parameters keywords: - - url - - database - - connection +- url +- database +- connection tools: - - bash: - description: The module uses Bash scripting to generate the URL - homepage: https://www.gnu.org/software/bash/ - documentation: https://www.gnu.org/software/bash/manual/ +- bash: + description: The module uses Bash scripting to generate the URL + homepage: https://www.gnu.org/software/bash/ + documentation: https://www.gnu.org/software/bash/manual/ input: - - meta: +- - meta: type: map description: Metadata map - protocol: @@ -34,19 +32,20 @@ input: type: string description: The name of the database to connect to (optional) output: - - meta: - type: map - description: Metadata map - - base_url: - type: string - description: The generated URL for the database connection - - versions: + url_sql: + - - meta: + type: map + description: Metadata map + - base_url: + type: string + description: The generated URL for the database connection + versions: + - versions.yml: type: file description: File containing software versions - pattern: "versions.yml" - + pattern: versions.yml authors: - - "@ensembl-dev" - - "@Salome-Brunon" +- '@ensembl-dev' +- '@Salome-Brunon' maintainers: - - "@ensembl-dev" +- '@ensembl-dev'