Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
55ee070
Template update for nf-core/tools version 3.2.1
nf-core-bot Apr 30, 2025
0a0063d
Template update for nf-core/tools version 3.3.1
nf-core-bot Jun 3, 2025
f6e0d6f
Template update for nf-core/tools version 3.3.2
nf-core-bot Jul 8, 2025
da41054
Template update for nf-core/tools version 3.4.1
nf-core-bot Oct 16, 2025
1c17fa4
Template update for nf-core/tools version 3.5.1
nf-core-bot Nov 20, 2025
a9e7d0a
Update README.md with right nextflow badge
MeriamOs Feb 4, 2026
efaead0
Update README.md with extra info on HPC containers and working offline
MeriamOs Feb 4, 2026
4a8a207
Update README.md fixed bold header
MeriamOs Feb 4, 2026
d1b6f36
Update README.md fixed bold header
MeriamOs Feb 4, 2026
e37b24c
Update README.md fix trailing white space
MeriamOs Feb 4, 2026
ed35274
Update README.md small style changes
MeriamOs Feb 5, 2026
31a3c67
fixed prettier issue
Feb 5, 2026
2c04b82
Merge pull request #93 from nf-core/MeriamOs-JOSS-review-2-1
MeriamOs Feb 5, 2026
aa671f4
bump version to 2.0.1 patch release
Feb 5, 2026
155bc3a
change download pipeline test to use right nextflow version
Feb 5, 2026
6d50b93
Merge pull request #96 from nf-core/MeriamOs-JOSS-review-2-1
MeriamOs Feb 5, 2026
4a1280c
Update CHANGELOG.md
MeriamOs Feb 6, 2026
974980f
Merge pull request #97 from nf-core/MeriamOs-JOSS-review-2-1
MeriamOs Feb 6, 2026
5426df9
Merge branch 'dev' into nf-core-template-merge-3.5.1
jfy133 Feb 6, 2026
d51a4f3
More updates
jfy133 Feb 6, 2026
de17f2a
Try fix mqc linitng
jfy133 Feb 6, 2026
717650f
Update samt2lca so pipeline executes
jfy133 Feb 6, 2026
67f3352
[automated] Fix code linting
nf-core-bot Feb 6, 2026
8e298b2
Add basic snapshot - file names only no md5sums
jfy133 Feb 6, 2026
29ad3f6
Merge branch 'nf-core-template-merge-3.5.1' of github.com:nf-core/cop…
jfy133 Feb 6, 2026
c5823bb
[automated] Fix code linting
nf-core-bot Feb 6, 2026
5c0201b
Repair sourcepredict patch
jfy133 Feb 11, 2026
cf893af
Merge branch 'nf-core-template-merge-3.5.1' of github.com:nf-core/cop…
jfy133 Feb 11, 2026
e21cedd
[automated] Fix code linting
nf-core-bot Feb 11, 2026
95bf7c2
Add missing input and update patch
jfy133 Feb 11, 2026
0408f3e
Merge branch 'nf-core-template-merge-3.5.1' of github.com:nf-core/cop…
jfy133 Feb 11, 2026
a81bdaf
Final port of patched changes
jfy133 Feb 11, 2026
027147f
[automated] Fix code linting
nf-core-bot Feb 11, 2026
42d47f3
Update snapshot
jfy133 Feb 11, 2026
7c6bbab
Merge branch 'nf-core-template-merge-3.5.1' of github.com:nf-core/cop…
jfy133 Feb 11, 2026
642cce2
Add tools update to CHANGELOG and retrieve old pipeline Chagnelog
jfy133 Feb 11, 2026
c57a5bc
Add tools update to CHANGELOG and retrieve old pipeline Chagnelog
jfy133 Feb 11, 2026
1c63bc8
Merge pull request #89 from nf-core/nf-core-template-merge-3.5.1
MeriamOs Feb 15, 2026
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
28 changes: 14 additions & 14 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
{
"name": "nfcore",
"image": "nfcore/gitpod:latest",
"remoteUser": "gitpod",
"runArgs": ["--privileged"],
"image": "nfcore/devcontainer:latest",

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/opt/conda/bin/python"
},
"remoteUser": "root",
"privileged": true,

// Add the IDs of extensions you want installed when the container is created.
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
}
"remoteEnv": {
// Workspace path on the host for mounting with docker-outside-of-docker
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
},

"onCreateCommand": "./.devcontainer/setup.sh",

"hostRequirements": {
"cpus": 4,
"memory": "16gb",
"storage": "32gb"
}
}
13 changes: 13 additions & 0 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

# Customise the terminal command prompt
echo "export PROMPT_DIRTRIM=2" >> $HOME/.bashrc
echo "export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '" >> $HOME/.bashrc
export PROMPT_DIRTRIM=2
export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '

# Update Nextflow
nextflow self-update

# Update welcome message
echo "Welcome to the nf-core/coproid devcontainer!" > /usr/local/etc/vscode-dev-containers/first-run-notice.txt
43 changes: 0 additions & 43 deletions .editorconfig

This file was deleted.

2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ 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. Update MultiQC config `assets/multiqc_config.yml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module.
10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.

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@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
with:
python-version: "3.14"

- 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
channels: conda-forge
channel-priority: strict
conda-remove-defaults: true

- 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/
22 changes: 10 additions & 12 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ name: nf-core AWS full size tests
# It runs the -profile 'test_full' on AWS batch

on:
pull_request:
branches:
- main
- master
workflow_dispatch:
pull_request_review:
types: [submitted]
release:
types: [published]

jobs:
run-platform:
Expand Down Expand Up @@ -46,21 +44,21 @@ jobs:
- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@v2
with:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
workspace_id: ${{ vars.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/coproid/work-${{ github.sha }}
compute_env: ${{ vars.TOWER_COMPUTE_ENV }}
revision: ${{ steps.revision.outputs.revision }}
workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/coproid/work-${{ steps.revision.outputs.revision }}
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/coproid/results-${{ github.sha }}"
"outdir": "s3://${{ vars.AWS_S3_BUCKET }}/coproid/results-${{ steps.revision.outputs.revision }}"
}
profiles: test_full

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: Seqera Platform debug log file
path: |
seqera_platform_action_*.log
seqera_platform_action_*.json
tower_action_*.log
tower_action_*.json
14 changes: 7 additions & 7 deletions .github/workflows/awstest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ jobs:
- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@v2
with:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
workspace_id: ${{ vars.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
compute_env: ${{ vars.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/coproid/work-${{ github.sha }}
workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/coproid/work-${{ github.sha }}
parameters: |
{
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/coproid/results-test-${{ github.sha }}"
"outdir": "s3://${{ vars.AWS_S3_BUCKET }}/coproid/results-test-${{ github.sha }}"
}
profiles: test

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: Seqera Platform debug log file
path: |
seqera_platform_action_*.log
seqera_platform_action_*.json
tower_action_*.log
tower_action_*.json
Loading
Loading