Skip to content
Merged

Dev #112

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
75efd15
Updates to modules
DLBPointon Aug 4, 2025
4c07238
Update modules
DLBPointon Aug 4, 2025
b48b05a
Update and addition of new subworkflows
DLBPointon Aug 4, 2025
c33946f
Addition of split_telomere var
DLBPointon Aug 4, 2025
3976812
Update to files
DLBPointon Aug 4, 2025
6e69c94
Update CHANGELOG
DLBPointon Aug 4, 2025
fb28918
Removed modules
DLBPointon Aug 4, 2025
e747847
Added GAWK_UPPED_SEQ to main workflow
DLBPointon Aug 4, 2025
1ef9c58
Update subworkflows to remove modules, reorganise files and add split…
DLBPointon Aug 4, 2025
a298944
Update files
DLBPointon Aug 4, 2025
6d6f757
support split_telomere
DLBPointon Aug 4, 2025
88bea91
Additions
DLBPointon Aug 4, 2025
39dc704
Update Version
DLBPointon Aug 4, 2025
4263253
Updated test
DLBPointon Aug 4, 2025
6f1f449
Update tests
DLBPointon Aug 4, 2025
13bd9bb
Updates
DLBPointon Aug 5, 2025
ed7c323
Update tests
DLBPointon Aug 21, 2025
656d9fc
Add GUNZIP
DLBPointon Aug 21, 2025
84fa91e
Minor Updates
DLBPointon Aug 21, 2025
908783f
Adding Data download to setup
DLBPointon Aug 21, 2025
c92706d
Remove now duplicated data download
DLBPointon Aug 21, 2025
848cb1c
Update CHANGELOG
DLBPointon Aug 21, 2025
e335ab8
Update modules
DLBPointon Aug 21, 2025
d549bc5
Update
DLBPointon Aug 21, 2025
eb53abe
Update
DLBPointon Aug 21, 2025
2398af5
Update Tests
DLBPointon Aug 22, 2025
08ff1fa
Prettier!
DLBPointon Aug 22, 2025
6feb191
Prettier
DLBPointon Aug 22, 2025
ab45884
Correct the direction of the telo
DLBPointon Aug 22, 2025
d2ace1f
Update based on comments
DLBPointon Aug 26, 2025
17590d3
Update based on comments
DLBPointon Aug 26, 2025
2c8a271
Update
DLBPointon Aug 26, 2025
f4b52e7
Update CHANGELOG.md
DLBPointon Aug 26, 2025
b005e19
Merge pull request #111 from sanger-tol/split_telo
weaglesBio Aug 27, 2025
ea76b00
Patch
DLBPointon Aug 28, 2025
bb0308d
Patch
DLBPointon Aug 28, 2025
9743879
Merge pull request #113 from sanger-tol/split_telo
DLBPointon Aug 28, 2025
a80391e
Template update for nf-core/tools version 3.3.2
DLBPointon Aug 28, 2025
439411a
Template Update 332
DLBPointon Aug 28, 2025
84d9bb9
Template Update 332
DLBPointon Aug 28, 2025
da3719b
Template merge to dev
DLBPointon Aug 28, 2025
0832a1a
updated ro-crate
DLBPointon Aug 29, 2025
7d8c139
Pre-Commit Prettier
DLBPointon Aug 29, 2025
cebb3ca
Pre-Commit Prettier
DLBPointon Aug 29, 2025
78075a2
Another rocrate update
DLBPointon Aug 29, 2025
521e2d6
Another rocrate update
DLBPointon Aug 29, 2025
26162d7
Update to resources
DLBPointon Sep 15, 2025
e196eaa
Update naming of tracks to match what pretextview expects
DLBPointon Sep 15, 2025
e102e0f
Update nextflow.config
DLBPointon Sep 16, 2025
7abc5a4
Merge pull request #114 from sanger-tol/dp24_template_330
DLBPointon Sep 16, 2025
bd428b3
Add switch for large genomes to switch over to MINIMAP2 rather than e…
DLBPointon Sep 16, 2025
512ac14
Adding AUTO as option
DLBPointon Sep 16, 2025
d7e6c97
TreeVal Parity for the resource configs
DLBPointon Sep 16, 2025
0846295
Fat finger spelling mistake
DLBPointon Sep 16, 2025
f799ad8
Pipeline doesn't support conda
DLBPointon Sep 16, 2025
48f7b5c
Update CHANGELOG
DLBPointon Sep 16, 2025
f39eecf
remove conda this time
DLBPointon Sep 16, 2025
dfa8f0b
Update some text
DLBPointon Sep 19, 2025
39d021f
add line on sample
DLBPointon Sep 19, 2025
be1c692
linting
DLBPointon Sep 19, 2025
8aa5341
Update
DLBPointon Sep 19, 2025
a74b9e1
Pre-commit linting
DLBPointon Sep 19, 2025
b921914
Updates
DLBPointon Sep 19, 2025
2f32cb3
Merge pull request #115 from sanger-tol/config_updates
DLBPointon Sep 22, 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
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,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.

### 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"
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/
84 changes: 0 additions & 84 deletions .github/workflows/ci.yml

This file was deleted.

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
17 changes: 7 additions & 10 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 @@ -16,10 +13,10 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

- name: Set up Python 3.12
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
- name: Set up Python 3.13
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
Loading