Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
e4eea9d
add prefix to singularity container for report
nschan May 22, 2025
e148a95
Merge branch 'nf-core:dev' into dev
nschan May 22, 2025
51281c7
Merge branch 'nf-core:dev' into dev
nschan Jun 2, 2025
5f9eb5b
prepare pipeline initialization for sample-wise parameterization
nschan Jun 27, 2025
e5e614f
refactor assemble and assemble subworkflows for sample-wise parameter…
nschan Jun 27, 2025
26d09c1
checks, typos
nschan Jul 1, 2025
7a454eb
Improve reference input check (#166)
nschan Jun 26, 2025
533baa7
Important! Template update for nf-core/tools v3.3.1 (#164)
nf-core-bot Jul 1, 2025
4a8362a
refactor assemble and assemble subworkflows for sample-wise parameter…
nschan Jun 27, 2025
b47e923
intermediate WIP commit
nschan Jul 2, 2025
4d10d67
WIP commit
nschan Jul 4, 2025
f5ce812
first attemp done
nschan Jul 4, 2025
5292f4c
bugfix commit 1
nschan Jul 7, 2025
6f84424
bugfix commit 2
nschan Jul 7, 2025
649094b
bugfix commit 3
nschan Jul 7, 2025
3c12920
report modifications 1; add groups
nschan Jul 7, 2025
518d4c7
WIP commit
nschan Jul 8, 2025
329d54a
WIP commit
nschan Jul 8, 2025
33f7ff5
bugfix commit, update configs for sample-wise args
nschan Jul 9, 2025
f462800
running up until including medaka
nschan Jul 9, 2025
7ec611d
running up until including pilon
nschan Jul 9, 2025
3508bfb
running up until including pilon (fixed)
nschan Jul 9, 2025
d705cf9
running up until report, schema update
nschan Jul 9, 2025
2ccba63
docs update
nschan Jul 9, 2025
ac46b92
working pipeline (no report
nschan Jul 9, 2025
b80cc44
adding additional control for merqury, nanoq, for reporting; WIP
nschan Jul 10, 2025
daf62ee
Awk regex (#167)
nschan Jul 1, 2025
8ccd707
add mawk to gfa2fa env (#168)
nschan Jul 1, 2025
34629b0
Gfa2fa env (#169)
nschan Jul 3, 2025
b261c34
Important! Template update for nf-core/tools v3.3.2 (#170)
nf-core-bot Jul 11, 2025
bc1a301
refactor assemble and assemble subworkflows for sample-wise parameter…
nschan Jun 27, 2025
2b65c82
Important! Template update for nf-core/tools v3.3.1 (#164)
nf-core-bot Jul 1, 2025
7748a97
params.md
nschan Jul 11, 2025
801c3b8
less blocking
nschan Jul 11, 2025
3e49546
wip commit
nschan Jul 21, 2025
33c83e7
use groups in prepare
nschan Jul 29, 2025
df4ee27
cleanup
nschan Jul 29, 2025
bcb7b88
switch to fastplong
nschan Aug 7, 2025
bb33a6a
fastplong report
nschan Aug 7, 2025
69705eb
bugfixes and schema update
nschan Aug 8, 2025
40eaf2f
report updating
nschan Aug 26, 2025
f0bc538
finish refactoring, update report for fastplong
nschan Aug 28, 2025
a7b8822
report fixes
nschan Aug 28, 2025
262888b
maxime comments
nschan Jul 11, 2025
6807c74
comments Daniel Lundin
nschan Jul 21, 2025
f7374d8
update release date
nschan Jul 21, 2025
b241b83
refactor assemble and assemble subworkflows for sample-wise parameter…
nschan Jun 27, 2025
293e9ca
Important! Template update for nf-core/tools v3.3.1 (#164)
nf-core-bot Jul 1, 2025
750ead3
less blocking
nschan Jul 11, 2025
35bc8ab
Improve reference input check (#166)
nschan Jun 26, 2025
caff8c5
Important! Template update for nf-core/tools v3.3.1 (#164)
nf-core-bot Jul 1, 2025
2d5fd52
prepare pipeline initialization for sample-wise parameterization
nschan Jun 27, 2025
0fe8560
refactor assemble and assemble subworkflows for sample-wise parameter…
nschan Jun 27, 2025
f348601
Important! Template update for nf-core/tools v3.3.1 (#164)
nf-core-bot Jul 1, 2025
35f7421
less blocking
nschan Jul 11, 2025
73e6d1a
revert rebase
nschan Aug 28, 2025
4a779ac
some more conflicts
nschan Aug 28, 2025
fb2e7b2
reverting changes
nschan Aug 28, 2025
e90a6a2
back to working state
nschan Aug 29, 2025
1a1d219
docs update
nschan Aug 29, 2025
f229e77
add check if longreads should go into fastplong
nschan Aug 29, 2025
d44ebb9
bug collection
nschan Sep 4, 2025
b0418da
remove jellyfish dump
nschan Sep 4, 2025
6580030
report grouping fixes
nschan Sep 11, 2025
4ff6da1
no more plotly for merqury plots
nschan Sep 11, 2025
756fe4b
fix report grouping
nschan Sep 19, 2025
f1ec8f7
add comments to main and assemble workflow
nschan Sep 19, 2025
957c1ed
fix flye-flye scaffolding code
nschan Oct 1, 2025
5a33b14
update report format, refactor document, document format
nschan Oct 23, 2025
9323e52
update assemble subworkflow: split flye assembly process by read type
nschan Oct 23, 2025
18408c4
remove schema.md
nschan Oct 23, 2025
0d22a9c
minor cleanup
nschan Oct 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions .editorconfig

This file was deleted.

3 changes: 2 additions & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ If you wish to contribute a new step, please use the following coding standards:
5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core pipelines schema build` tool).
6. Add sanity checks and validation for all relevant parameters.
7. Perform local tests to validate that the new code works as expected.
8. If applicable, add a new test command in `.github/workflow/ci.yml`.
8. If applicable, add a new test in the `tests` directory.
9. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.

### Default values

Expand Down
69 changes: 69 additions & 0 deletions .github/actions/get-shards/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: "Get number of shards"
description: "Get the number of nf-test shards for the current CI job"
inputs:
max_shards:
description: "Maximum number of shards allowed"
required: true
paths:
description: "Component paths to test"
required: false
tags:
description: "Tags to pass as argument for nf-test --tag parameter"
required: false
outputs:
shard:
description: "Array of shard numbers"
value: ${{ steps.shards.outputs.shard }}
total_shards:
description: "Total number of shards"
value: ${{ steps.shards.outputs.total_shards }}
runs:
using: "composite"
steps:
- name: Install nf-test
uses: nf-core/setup-nf-test@v1
with:
version: ${{ env.NFT_VER }}
- name: Get number of shards
id: shards
shell: bash
run: |
# Run nf-test with dynamic parameter
nftest_output=$(nf-test test \
--profile +docker \
$(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \
--dry-run \
--ci \
--changed-since HEAD^) || {
echo "nf-test command failed with exit code $?"
echo "Full output: $nftest_output"
exit 1
}
echo "nf-test dry-run output: $nftest_output"

# Default values for shard and total_shards
shard="[]"
total_shards=0

# Check if there are related tests
if echo "$nftest_output" | grep -q 'No tests to execute'; then
echo "No related tests found."
else
# Extract the number of related tests
number_of_shards=$(echo "$nftest_output" | sed -n 's|.*Executed \([0-9]*\) tests.*|\1|p')
if [[ -n "$number_of_shards" && "$number_of_shards" -gt 0 ]]; then
shards_to_run=$(( $number_of_shards < ${{ inputs.max_shards }} ? $number_of_shards : ${{ inputs.max_shards }} ))
shard=$(seq 1 "$shards_to_run" | jq -R . | jq -c -s .)
total_shards="$shards_to_run"
else
echo "Unexpected output format. Falling back to default values."
fi
fi

# Write to GitHub Actions outputs
echo "shard=$shard" >> $GITHUB_OUTPUT
echo "total_shards=$total_shards" >> $GITHUB_OUTPUT

# Debugging output
echo "Final shard array: $shard"
echo "Total number of shards: $total_shards"
111 changes: 111 additions & 0 deletions .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: "nf-test Action"
description: "Runs nf-test with common setup steps"
inputs:
profile:
description: "Profile to use"
required: true
shard:
description: "Shard number for this CI job"
required: true
total_shards:
description: "Total number of test shards(NOT the total number of matrix jobs)"
required: true
paths:
description: "Test paths"
required: true
tags:
description: "Tags to pass as argument for nf-test --tag parameter"
required: false
runs:
using: "composite"
steps:
- name: Setup Nextflow
uses: nf-core/setup-nextflow@v2
with:
version: "${{ env.NXF_VERSION }}"

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.13"

- name: Install nf-test
uses: nf-core/setup-nf-test@v1
with:
version: "${{ env.NFT_VER }}"
install-pdiff: true

- name: Setup apptainer
if: contains(inputs.profile, 'singularity')
uses: eWaterCycle/setup-apptainer@main

- name: Set up Singularity
if: contains(inputs.profile, 'singularity')
shell: bash
run: |
mkdir -p $NXF_SINGULARITY_CACHEDIR
mkdir -p $NXF_SINGULARITY_LIBRARYDIR

- name: Conda setup
if: contains(inputs.profile, 'conda')
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3
with:
auto-update-conda: true
conda-solver: libmamba
conda-remove-defaults: true

# TODO Skip failing conda tests and document their failures
# https://github.com/nf-core/modules/issues/7017
- name: Run nf-test
shell: bash
env:
NFT_WORKDIR: ${{ env.NFT_WORKDIR }}
run: |
nf-test test \
--profile=+${{ inputs.profile }} \
$(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \
--ci \
--changed-since HEAD^ \
--verbose \
--tap=test.tap \
--shard ${{ inputs.shard }}/${{ inputs.total_shards }}

# Save the absolute path of the test.tap file to the output
echo "tap_file_path=$(realpath test.tap)" >> $GITHUB_OUTPUT

- name: Generate test summary
if: always()
shell: bash
run: |
# Add header if it doesn't exist (using a token file to track this)
if [ ! -f ".summary_header" ]; then
echo "# 🚀 nf-test results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Status | Test Name | Profile | Shard |" >> $GITHUB_STEP_SUMMARY
echo "|:------:|-----------|---------|-------|" >> $GITHUB_STEP_SUMMARY
touch .summary_header
fi

if [ -f test.tap ]; then
while IFS= read -r line; do
if [[ $line =~ ^ok ]]; then
test_name="${line#ok }"
# Remove the test number from the beginning
test_name="${test_name#* }"
echo "| ✅ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
elif [[ $line =~ ^not\ ok ]]; then
test_name="${line#not ok }"
# Remove the test number from the beginning
test_name="${test_name#* }"
echo "| ❌ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
fi
done < test.tap
else
echo "| ⚠️ | No test results found | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
fi

- name: Clean up
if: always()
shell: bash
run: |
sudo rm -rf /home/ubuntu/tests/
4 changes: 2 additions & 2 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
run-platform:
name: Run AWS full tests
# run only if the PR is approved by at least 2 reviewers and against the master/main branch or manually triggered
if: github.repository == 'nf-core/genomeassembler' && github.event.review.state == 'approved' && (github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch'
if: github.repository == 'nf-core/genomeassembler' && github.event.review.state == 'approved' && (github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch' || github.event_name == 'release'
runs-on: ubuntu-latest
steps:
- name: Set revision variable
Expand All @@ -40,7 +40,7 @@ jobs:
}
profiles: test_full

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: Seqera Platform debug log file
path: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/awstest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
}
profiles: test

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: Seqera Platform debug log file
path: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
strategy:
matrix:
NXF_VER:
- "24.04.2"
- "24.10.5"
- "latest-everything"
ASSEMBLER:
- "hifi_flye"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clean-up.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
issues: write
pull-requests: write
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9
with:
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful."
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,6 @@ on:
required: true
default: "dev"
pull_request:
types:
- opened
- edited
- synchronize
branches:
- main
- master
pull_request_target:
branches:
- main
- master
Expand Down Expand Up @@ -52,9 +44,9 @@ jobs:
- name: Disk space cleanup
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
python-version: "3.13"
architecture: "x64"

- name: Setup Apptainer
Expand Down Expand Up @@ -120,6 +112,7 @@ jobs:
echo "IMAGE_COUNT_AFTER=$image_count" >> "$GITHUB_OUTPUT"

- name: Compare container image counts
id: count_comparison
run: |
if [ "${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}" -ne "${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}" ]; then
initial_count=${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}
Expand All @@ -132,3 +125,10 @@ jobs:
else
echo "The pipeline can be downloaded successfully!"
fi

- name: Upload Nextflow logfile for debugging purposes
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: nextflow_logfile.txt
path: .nextflow.log*
include-hidden-files: true
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ jobs:
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}

# Install and run pre-commit
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Install pre-commit
run: pip install pre-commit
Expand Down
15 changes: 6 additions & 9 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ name: nf-core linting
# It runs the `nf-core pipelines lint` and markdown lint tests to ensure
# that the code meets the nf-core guidelines.
on:
push:
branches:
- dev
pull_request:
release:
types: [published]
Expand All @@ -17,9 +14,9 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

- name: Set up Python 3.12
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Install pre-commit
run: pip install pre-commit
Expand All @@ -36,13 +33,13 @@ jobs:
- name: Install Nextflow
uses: nf-core/setup-nextflow@v2

- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
python-version: "3.13"
architecture: "x64"

- name: read .nf-core.yml
uses: pietrobolcato/action-read-yaml@1.1.0
uses: pietrobolcato/action-read-yaml@9f13718d61111b69f30ab4ac683e67a56d254e1d # 1.1.0
id: read_yml
with:
config: ${{ github.workspace }}/.nf-core.yml
Expand Down Expand Up @@ -74,7 +71,7 @@ jobs:

- name: Upload linting log file artifact
if: ${{ always() }}
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: linting-logs
path: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linting_comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download lint results
uses: dawidd6/action-download-artifact@20319c5641d495c8a52e688b7dc5fada6c3a9fbc # v8
uses: dawidd6/action-download-artifact@4c1e823582f43b179e2cbb49c3eade4e41f992e2 # v10
with:
workflow: linting.yml
workflow_conclusion: completed
Expand All @@ -21,7 +21,7 @@ jobs:
run: echo "pr_number=$(cat linting-logs/PR_number.txt)" >> $GITHUB_OUTPUT

- name: Post PR comment
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
number: ${{ steps.pr_number.outputs.pr_number }}
Expand Down
Loading