Release 1.0.0 (dev branch) - #52
Conversation
Add rgi/bwt
* adds in the metro diagram and updated tools to README * fixes path to diagram * fixes path to diagram * adds in other tool links --------- Co-authored-by: baichom1 <baichom1@mskcc.org>
hotfix to module + Adds metro diagram, updates README.md
Add blocks into the figure use true 'light' theme add nf-metro command
Remove trailing spaces and redundant blank lines
Update metro pipeline
attempt 1 at sensible defaults for eggnogmapper
Module updates, version topics, snapshots
Update resource references for HUMANn v4, FMH FunProfiler, and eggNOG-mapper. Changes include: directing HUMANn v4 to official documentation, updating FMH FunProfiler repository to KoslickiLab organization, and pointing eggNOG-mapper to the official GitHub repository instead of the academic paper.
|
❌ nf-test failed with latest Nextflow versionNote Tests with Nextflow's latest version failed but it will not cause a CI workflow failure.
See the full run for details. |
Modules publish to the topic but nothing consumed it, so the MultiQC software versions section was empty. Restores the template's collection block and drops the unused versions/mqc emits from PROFILING.
* Ignore branch.yml in files_unchanged lint The 4.0.3 template renders `HEAD_REPO:` with two spaces while the prettier pin used by prek collapses it to one, so the file can never match the template and CI lint fails. Also drops the stale linting_comment.yml entry, replaced by pr-comment.yml in the 4.0.3 template. * Document local subworkflows in meta.yml (#58) All three still described a samtools sort subworkflow copied from the template. * Drop template TODO comments (#58) Adds real pipeline-specific contribution guidelines in place of the docs/CONTRIBUTING.md placeholder. * Format nf files with nextflow lint -format (#52) Review point 3 from jfy133. Restores the inline comments the formatter drops. * Tidy test_full config (#58) Drops commented-out placeholders, plus outdir (set by awsfulltest) and cleanup (not a param, and unused). * Rebuild schema to drop false defaults (#58) * Fix singularity CI: bump apptainer, allow user namespaces All singularity shards fail with 'Failed to create user namespace: Permission denied'; latest-everything only looks green because it is continue-on-error. Apptainer 1.1.2 (action default) is non-suid and the runner image blocks unprivileged userns. * Collect software versions from the versions topic (#52) Modules publish to the topic but nothing consumed it, so the MultiQC software versions section was empty. Restores the template's collection block and drops the unused versions/mqc emits from PROFILING. * Point test configs at nf-core test-datasets nf-core/test-datasets#2172 is merged, so samplesheets/test.csv and database_full.csv now resolve under pipelines_testdata_base_path. Also drops outdir and cleanup from test.config: both sat inside params, so cleanup never reached the Nextflow directive and outdir is supplied by the caller. * List humann4 modules in profile meta.yml * Update fmhfunprofiler snapshot for new sketch database nf-core/test-datasets#2172 replaced KOs_sketched_scaled_1000_demo.sig.zip on the funcprofiler branch, which is where tests/nextflow.config points pipelines_testdata_base_path. The pipeline-level snapshot already carried the new md5 because it resolves the database through database.csv. * Update outdated nf-core modules and subworkflow diamond 2.1.24 to 2.2.1 and seqkit 2.9.0 to 2.13.0; metaphlan stays on 4.1.1 but drops the pip/setuptools workaround and reports its version through the versions topic. gunzip and untar only gain the apptainer container-engine check. utils_nfschema_plugin renames option keys that this pipeline never sets, since it passes null for both the parameters schema and the CLI typecast. * Revert metaphlan module update, it breaks conda The newer module drops the pip/setuptools dependency, leaving metaphlan on a Python 3.12 env with no distutils. Docker is unaffected.
|
Warning Newer version of the nf-core template is available. Your pipeline is using an old version of the nf-core template: 4.0.3. For more documentation on how to update your pipeline, please see the Synchronisation documentation. |
* Fix DIAMOND database input, read meta and output format The module needs the database as a tuple and --outfmt 6 rather than 102, and publishDir needs the database identity in the read meta. * Regenerate default test snapshot for RGI publish path
* update citations * docs: add remaining tool citations (#65) Signed-off-by: sapunyangkut <302607731+sapunyangkut@users.noreply.github.com> Co-authored-by: sapunyangkut <302607731+sapunyangkut@users.noreply.github.com> * fix lint --------- Signed-off-by: sapunyangkut <302607731+sapunyangkut@users.noreply.github.com> Co-authored-by: sapunyangkut <sapunyangkut@gmail.com> Co-authored-by: sapunyangkut <302607731+sapunyangkut@users.noreply.github.com>
* Fix eggNOG-mapper database wiring The data dir was looked up under an empty entity key, and the search database was passed as a bare path instead of the [ search_mode, db ] tuple the module takes. * Add an eggNOG-mapper test case to the profile subworkflow The test builds its own data dir from the demo eggnog.db, since emapper.py requires --data_dir to be a directory and the shared test data is a bare file. * Test eggNOG-mapper on reads the demo database can annotate The demo search database is the SARS-CoV-2 proteome, so the minigut fixture had no homology to find and the test snapshotted an annotation file holding nothing but its header. Switch the query to the sarscov2 Illumina reads, which annotate 139 reads against the one protein the 61 KB demo eggnog.db carries, and assert the annotations are non-empty so a future empty result fails instead of re-recording clean. Snapshot the unique seed ortholog, OG and description triples rather than one row per read: the read-level rows are 30 KB and their order is not guaranteed stable across thread counts. * Stop publishing the eggNOG-mapper DIAMOND hit table .emapper.hits carries every hit for every query and is an order of magnitude larger than the rest of the pipeline's output: 5.6 GB per sample against 1.1 GB of annotations on a ~5 M read metagenome. Nothing downstream reads it, and reannotating against a newer eggNOG release takes the seed orthologs via -m no_search --annotate_hits_table, so drop it from the publish pattern. The module still emits it; only publishDir changes. * Test DIAMOND against the B. fragilis database Add test case against B. fragilis reference db * Update output.md Original text too verbose
There was a problem hiding this comment.
Still lots of unresolved and open comments from @jfy133 and my side.. Please also address the comments from End of April review
| container = "ghcr.io/vdblab/biobakery-profiler:4.0.5--3.6.1_smaller-pt2" | ||
| } | ||
| withName: METAPHLAN_METAPHLAN { // to trick nexflow inspect | ||
| container = "ghcr.io/vdblab/biobakery-profiler:4.0.5--3.6.1_smaller-pt2" |
There was a problem hiding this comment.
Still open question also from my side
| [[tool: meta.tool, db_name: meta.db_name, db_params: meta.db_params], [entity, path]] | ||
| } | ||
| .groupTuple() | ||
| .map { groupKey, groupTuples -> |
There was a problem hiding this comment.
Optional: Whenever you are operating with grouped tuples, consider using groupKey to speed up downstream processing: https://docs.seqera.io/nextflow/reference/operator#grouptuple
There was a problem hiding this comment.
Thanks for the tip, will use that
Removes three things that were documented or declared but never wired up: the `profileUsesContainers` variable left behind when its guard was deleted, the commented-out igenomes params, and `save_runmerged_reads`, which was in the schema and advertised FASTQ output the pipeline never publishes. Also moves the profile subworkflow helpers below the workflow bodies, trims the eggNOG-mapper publishDir comment, and converts the remaining GitHub-style admonitions in usage.md and output.md to the nf-core website syntax, fixing an unclosed `::` block in the process. Co-authored-by: Jonas Scheid <43858870+jonasscheid@users.noreply.github.com>
Address review follow-ups from PR #52
The default test disabled FASTQC with ext.when = false, so docs/output.md advertised a fastqc/ directory that the snapshot never contained, which is what jonasscheid flagged on nf-core#52. tests/.nftignore already carried the rule to ignore FastQC report contents, so dropping the gate records the paths without making the snapshot depend on unstable file contents. Runtime goes from ~170s to ~366s. Also add the database versions note jfy133 asked for: the pipeline passes db_path straight through and never checks it against the tool version, plus the tool/database combinations exercised on the pilot cohort.
Investigating RGI test problem
PR checklist
nf-core pipelines lint).nextflow run . -profile test,docker --outdir <OUTDIR>).nextflow run . -profile debug,test,docker --outdir <OUTDIR>).docs/usage.mdis updated.docs/output.mdis updated.CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).