Skip to content

Release 1.0.0 (dev branch) - #52

Open
vinisalazar wants to merge 333 commits into
mainfrom
dev
Open

Release 1.0.0 (dev branch)#52
vinisalazar wants to merge 333 commits into
mainfrom
dev

Conversation

@vinisalazar

@vinisalazar vinisalazar commented Apr 28, 2026

Copy link
Copy Markdown
Collaborator

Investigating RGI test problem

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/funcprofiler branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

nickp60 and others added 30 commits March 13, 2026 09:48
* 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
attempt 1 at sensible defaults for eggnogmapper
Module updates, version topics, snapshots
nickp60 and others added 6 commits July 23, 2026 15:30
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.
@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 8726325

+| ✅ 209 tests passed       |+
#| ❔   5 tests were ignored |#
!| ❗   2 tests had warnings |!
Details

❗ Test warnings:

  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in CHANGELOG.md: ## v1.0.0 - [unreleased replace with date on release ]

❔ Tests ignored:

  • files_unchanged - File ignored due to lint config: .github/PULL_REQUEST_TEMPLATE.md
  • files_unchanged - File ignored due to lint config: .github/workflows/branch.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting.yml
  • files_unchanged - File ignored due to lint config: assets/nf-core-funcprofiler_logo_light.png
  • files_unchanged - File ignored due to lint config: .gitignore or .prettierignore

✅ Tests passed:

Run details

  • nf-core/tools version 4.1.0
  • Run at 2026-08-05 06:43:46

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown

❌ nf-test failed with latest Nextflow version

Note

Tests with Nextflow's latest version failed but it will not cause a CI workflow failure.
Please check if the failure is expected with newer (edge-)releases of Nextflow or if it needs fixing.

  • singularity | latest-everything | Shard 7/19

See the full run for details.

vinisalazar added a commit to vinisalazar/funcprofiler that referenced this pull request Jul 28, 2026
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.
@vinisalazar vinisalazar mentioned this pull request Jul 28, 2026
* 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.
@github-actions

Copy link
Copy Markdown

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.
Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the Synchronisation documentation.

@nickp60
nickp60 requested review from jfy133 and jonasscheid July 30, 2026 20:30
vinisalazar and others added 3 commits July 31, 2026 09:55
* 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

@jonasscheid jonasscheid left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still lots of unresolved and open comments from @jfy133 and my side.. Please also address the comments from End of April review

Comment thread .hooks/block_pipeline_outdir.sh
Comment thread conf/base.config
Comment thread conf/modules.config Outdated
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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still open question also from my side

Comment thread conf/modules.config Outdated
Comment thread conf/test.config
Comment thread conf/test.config Outdated
Comment thread assets/schema_input.json Outdated
Comment thread assets/schema_database.json Outdated
Comment thread nextflow.config Outdated
[[tool: meta.tool, db_name: meta.db_name, db_params: meta.db_params], [entity, path]]
}
.groupTuple()
.map { groupKey, groupTuples ->

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional: Whenever you are operating with grouped tuples, consider using groupKey to speed up downstream processing: https://docs.seqera.io/nextflow/reference/operator#grouptuple

@vinisalazar vinisalazar Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the tip, will use that

nickp60 and others added 5 commits August 4, 2026 12:15
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>
vinisalazar added a commit to vinisalazar/funcprofiler that referenced this pull request Aug 5, 2026
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants