Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
bb12704
Template update for nf-core/tools version 3.3.1
nf-core-bot Jun 3, 2025
52687c8
Update to pixelator 0.21.0
johandahlberg Jun 24, 2025
e3ec22f
Update pixelator to 0.21.0
johandahlberg Jun 24, 2025
3fb32ec
Bump pixelator version to 0.21.1
johandahlberg Jun 24, 2025
602fe36
Update pixelator to 0.21.2
johandahlberg Jun 26, 2025
d73cb47
Update test snapshots
johandahlberg Jun 26, 2025
6d14f00
Update report snapshot test
johandahlberg Jun 26, 2025
86d93ee
Adding denoise module
johandahlberg Jun 26, 2025
90a5369
Hook up denoise in the workflow
johandahlberg Jun 26, 2025
9c76cf0
Update changelog
johandahlberg Jun 26, 2025
41fe09a
Fix test snapshot
johandahlberg Jun 26, 2025
57417d7
Add module configs for denoise
johandahlberg Jun 27, 2025
f2e4d85
Update snapshots and add tags
johandahlberg Jun 30, 2025
e15408e
Add denoise to output docs
johandahlberg Jun 30, 2025
882e670
Apply suggestions from code review
johandahlberg Jun 30, 2025
2333cc9
Remove deprecated tags.yml file
johandahlberg Jun 30, 2025
0ac9b3f
Merge pull request #140 from PixelgenTechnologies/feature/pna-1036-ad…
johandahlberg Jun 30, 2025
6bfaf9c
Update README and metromap
johandahlberg Jun 30, 2025
a8de119
Merge pull request #141 from PixelgenTechnologies/add-denoise-to-read…
johandahlberg Jun 30, 2025
7fcd4c0
Fix PNA reports not running
fbdtemme Jul 2, 2025
6cf70df
Update snapshots
fbdtemme Jul 2, 2025
6029df5
Merge pull request #142 from PixelgenTechnologies/fix-pna-generate-re…
johandahlberg Jul 2, 2025
cfed6d2
Template update for nf-core/tools version 3.3.2
nf-core-bot Jul 8, 2025
4ac336f
Merge branch 'dev' into nf-core-template-merge-3.3.2
fbdtemme Jul 28, 2025
281c64c
remove invalid dump_channels param
fbdtemme Jul 28, 2025
54219d6
update snapshots
fbdtemme Jul 28, 2025
d4e0a69
remove unused default workflow test
fbdtemme Jul 28, 2025
533f8fa
fix snapshot
fbdtemme Jul 28, 2025
eccc535
fixup formatting
fbdtemme Jul 28, 2025
405ddcf
fix linting errors
fbdtemme Jul 28, 2025
e6448e1
update ro-crate-metadata.json
fbdtemme Jul 28, 2025
19e39eb
update CONTRIBUTING.md
fbdtemme Jul 28, 2025
4917b29
ignore missing default.nf.test
fbdtemme Jul 28, 2025
9510f1f
fix config syncing issue
fbdtemme Jul 28, 2025
3f7cf29
update snapshots again
fbdtemme Jul 28, 2025
69a677f
fix unnecessary `!= null` check
fbdtemme Jul 28, 2025
5dd53eb
Merge pull request #143 from nf-core/nf-core-template-merge-3.3.2
fbdtemme Jul 28, 2025
0a5f867
Adding experiment-summary to workflow
johandahlberg Aug 22, 2025
8cbca46
Fix schema file
johandahlberg Aug 25, 2025
81d1296
Remove used param
johandahlberg Aug 25, 2025
b81c22c
Skip experiment summary in demux tests
johandahlberg Aug 25, 2025
f04003e
Fix up test input
johandahlberg Aug 25, 2025
2fd713c
Update test snapshot
johandahlberg Aug 26, 2025
342ff05
Fix more snapshots
johandahlberg Aug 26, 2025
90ba61a
Add experiment summary tests
johandahlberg Aug 26, 2025
81e2485
update ro create metadata
johandahlberg Aug 26, 2025
3c59e7c
Fix path to input data
johandahlberg Aug 26, 2025
612634d
Fix input paths on stub tests
johandahlberg Aug 26, 2025
5a98dfc
Update experiment summary to 0.4.3
johandahlberg Aug 27, 2025
e0d7d61
Update CHANGELOG
johandahlberg Aug 27, 2025
e8434fd
Merge pull request #144 from PixelgenTechnologies/feature/pna-1320-ad…
johandahlberg Aug 27, 2025
01cf407
Update metromap
johandahlberg Aug 28, 2025
93d2c01
Update pixelator to 0.21.4
johandahlberg Aug 28, 2025
f12ef07
Update test snapshots
johandahlberg Aug 28, 2025
a376793
Make sure test profile generates es
johandahlberg Aug 28, 2025
d117afd
Make sure docs mention we do not support conda
johandahlberg Aug 28, 2025
8f75d2d
Remove conda profile from tests
johandahlberg Aug 28, 2025
4b07f82
Fix demux snapshot
johandahlberg Aug 28, 2025
d2e69a8
Simplify analysis tests
johandahlberg Aug 28, 2025
5a50b23
Simplify analysis tests more
johandahlberg Aug 28, 2025
1279e13
Simplify annotate tests
johandahlberg Aug 28, 2025
d2d2ead
Merge pull request #146 from PixelgenTechnologies/feature/pna-1342-up…
johandahlberg Aug 29, 2025
903e38a
Merge pull request #145 from PixelgenTechnologies/update-metro-map
johandahlberg Aug 29, 2025
46ecd15
switch layout process label to process_high
ptajvar Aug 29, 2025
61aeec8
Update CHANGELOG.md
ptajvar Aug 29, 2025
82136d2
Merge pull request #147 from nf-core/reduce-layout-memory-allocation
ptajvar Aug 29, 2025
e8c8214
Bump version to 2.1.0
johandahlberg Sep 1, 2025
6877a86
Update test snapshots
johandahlberg Sep 1, 2025
e0d3d8a
Prepare the changelog
johandahlberg Sep 1, 2025
bbba5ff
Merge pull request #148 from PixelgenTechnologies/prepare-2.1.0-release
johandahlberg Sep 1, 2025
94446da
Fix full test samplesheet path
johandahlberg Sep 1, 2025
ea5bcc9
Remove hard-coded version in ES stub
johandahlberg Sep 17, 2025
a2ce064
Refactor PNA_GENERATE_REPORT subworkflow
fbdtemme Sep 17, 2025
5a8670a
Merge pull request #150 from PixelgenTechnologies/refactor-generate-r…
fbdtemme Sep 17, 2025
f4fee3b
Fix experiment-summary running on MPX samples
fbdtemme Sep 17, 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.

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"
109 changes: 109 additions & 0 deletions .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
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

- 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/pixelator' && 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/pixelator' && 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 @@ -37,7 +37,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
Loading