Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
e2d1f46
modules and subworkflows
Mar 24, 2025
30cb314
Merge pull request #110 from avantonder/dev
avantonder Mar 24, 2025
3c23f52
add snp-sites
sainsachiko Mar 24, 2025
3b144be
add filtlong
sainsachiko Mar 24, 2025
f639c3f
add nanoq
sainsachiko Mar 24, 2025
f7e68e7
add porechop
sainsachiko Mar 24, 2025
72f1438
add porechop/abi
sainsachiko Mar 24, 2025
6ea3aa7
Configure added modules
sainsachiko Mar 24, 2025
7074045
Merge pull request #116 from sainsachiko/add-modules
avantonder Mar 24, 2025
4dfd9ce
modules : add bctools filter module
MareikeJaniak Mar 24, 2025
94b5aed
reverse manual bcftools filter addition
MareikeJaniak Mar 24, 2025
c789058
adding bcftools filter module from nf-core modules
MareikeJaniak Mar 24, 2025
eeb0b00
feat: samplesheet schema update
project-defiant Mar 24, 2025
5eeb8ba
Add RASUSA module
sgsutcliffe Mar 24, 2025
6779c79
Merge pull request #117 from MareikeJaniak/dev
avantonder Mar 24, 2025
d20d35a
Merge pull request #118 from sgsutcliffe/dev
avantonder Mar 24, 2025
b8d16f6
add cat module from nf-core modules
MareikeJaniak Mar 24, 2025
40bedec
feat: add samplesheet
project-defiant Mar 24, 2025
1da20c3
test: test and full test config
project-defiant Mar 24, 2025
e64c8f0
Add CLAIR3 module
sgsutcliffe Mar 24, 2025
c6a1f70
Merge pull request #1 from nf-core/dev
sgsutcliffe Mar 24, 2025
8a2d50e
feat: add reference parameter
project-defiant Mar 24, 2025
1166d6a
feat: make sure new samplesheet params are required
project-defiant Mar 24, 2025
3430b9c
feat: test config
project-defiant Mar 24, 2025
2083e93
Merge pull request #122 from sgsutcliffe/dev
project-defiant Mar 24, 2025
5479d9d
feat: ensure reference param exists in nextflow-schema.json
project-defiant Mar 24, 2025
364b59a
chore: apply nf-core linting
project-defiant Mar 24, 2025
07178f9
initial commit
opetryk Mar 25, 2025
4f6929b
merge dev
opetryk Mar 25, 2025
31dc71c
Merge branch 'dev' into dev
avantonder Mar 25, 2025
d0e41ed
Merge pull request #120 from MareikeJaniak/dev
avantonder Mar 25, 2025
a74c65c
Merge pull request #121 from project-defiant/104-nf-core-test-2
avantonder Mar 25, 2025
6c9176c
Merge pull request #123 from project-defiant/linting
avantonder Mar 25, 2025
819e68b
avt update 250325
Mar 25, 2025
df15f81
Add minimap2 to the pipeline
opetryk Mar 25, 2025
45ad519
Merge pull request #1 from opetryk/minimap2
opetryk Mar 25, 2025
67793ef
Merge upstream origin dev to lcal dev
opetryk Mar 25, 2025
8773814
Update workflows/bactmap.nf
avantonder Mar 25, 2025
1ff6216
Update workflows/bactmap.nf
avantonder Mar 25, 2025
294ee6b
Merge pull request #125 from avantonder/dev
avantonder Mar 25, 2025
aa93729
Merge pull request #126 from opetryk/dev
avantonder Mar 25, 2025
c165c42
chore: formatting typos
project-defiant Mar 25, 2025
0e21b1f
Merge pull request #130 from project-defiant/szsz-formatting-typos
avantonder Mar 25, 2025
364cf4b
add fastp & bcftools stats
Mar 25, 2025
c7975c8
Merge pull request #131 from avantonder/dev
avantonder Mar 25, 2025
02d9c79
chore: remove redundand path segment
project-defiant Mar 25, 2025
a7a747a
chore: remove redundand path segment
project-defiant Mar 25, 2025
41e0a66
Merge pull request #132 from project-defiant/szsz-fix-test-dataset-path
avantonder Mar 25, 2025
ae60872
Add bwamem2/mem
QuadjoLegend Mar 25, 2025
823ca24
Add files via upload
QuadjoLegend Mar 25, 2025
8b2879a
working to test
Mar 25, 2025
4750077
Merge pull request #134 from avantonder/dev
project-defiant Mar 25, 2025
9a11658
Update and rename modules/nf-core/bwamem2/mem/git to modules/nf-core/…
QuadjoLegend Mar 25, 2025
199ce9d
Add files via upload
QuadjoLegend Mar 25, 2025
e59d2e4
Create tags.yml
QuadjoLegend Mar 25, 2025
1b96a98
Create main.nf.test
QuadjoLegend Mar 25, 2025
5b06153
Create main.nf.test.snap
QuadjoLegend Mar 25, 2025
0912140
Create environment.yml
QuadjoLegend Mar 25, 2025
73e8b60
Create main.nf
QuadjoLegend Mar 25, 2025
82231cd
Create meta.yml
QuadjoLegend Mar 25, 2025
15a2e72
Create tags.yml
QuadjoLegend Mar 25, 2025
02fd26f
Create main.nf.test
QuadjoLegend Mar 25, 2025
2ea0e16
Create main.nf.test.snap
QuadjoLegend Mar 25, 2025
a583f10
Create environment.yml
QuadjoLegend Mar 25, 2025
0e44cce
Create main.nf
QuadjoLegend Mar 25, 2025
65a38d5
Create meta.yml
QuadjoLegend Mar 25, 2025
b1c5f9a
adding modules for consensus_bcftools workflow
MareikeJaniak Mar 25, 2025
804c94c
Merge branch 'dev' into dev
avantonder Mar 25, 2025
eae1ceb
Merge pull request #135 from QuadjoLegend/dev
avantonder Mar 25, 2025
e6d14a6
Merge pull request #136 from MareikeJaniak/dev
avantonder Mar 25, 2025
5898c0b
Added the prototype for a subworkflow consensus_bcftools
sgsutcliffe Mar 25, 2025
bff9557
Added the prototype for a subworkflow consensus_bcftools
sgsutcliffe Mar 25, 2025
9b60e80
Merge branch 'dev' of https://github.com/sgsutcliffe/bactmap into dev
sgsutcliffe Mar 25, 2025
0656cfb
Accidently commited my codespace devcontainer
sgsutcliffe Mar 25, 2025
9783907
hard-coded for bcftools_consensus subworkflow. mainly the problem was…
IsmaelHC1994 Mar 25, 2025
9a25b15
fix: ensure the logic of ONT parsing is correct
project-defiant Mar 26, 2025
49e18f6
chore: drop redundant null defaults
project-defiant Mar 26, 2025
fec4f36
Merge pull request #139 from project-defiant/empty-array-in-fastq_2
avantonder Mar 26, 2025
5b281eb
first pipeline run
Mar 26, 2025
c0ad3d1
Add single process label
sgsutcliffe Mar 26, 2025
760a87c
nf-core formatted channels & remove commented code
sgsutcliffe Mar 26, 2025
30a3f91
Merge pull request #140 from avantonder/dev
avantonder Mar 26, 2025
0c91758
Merge pull request #141 from IsmaelHC1994/dev
avantonder Mar 26, 2025
4192017
Merge branch 'dev' into dev
avantonder Mar 26, 2025
758ac60
Merge pull request #138 from sgsutcliffe/dev
avantonder Mar 26, 2025
b521575
Longread mapping creation
Mar 26, 2025
4a178b1
Update schema
Mar 26, 2025
2e88f0f
Update schema
Mar 26, 2025
2bfd1dc
hot-fix: add missing closure to modules.config
sainsachiko Mar 26, 2025
95e152d
add module seqtk_comp
sainsachiko Mar 26, 2025
f9da5f5
Update multiqc_config.yml
QuadjoLegend Mar 26, 2025
8e29a7e
Merge pull request #144 from nf-core/QuadjoLegend-patch-2
avantonder Mar 27, 2025
b4264ea
Merge pull request #143 from sainsachiko/dev
avantonder Mar 27, 2025
393c4f8
Merge branch 'dev' into longest-mapping
avantonder Mar 27, 2025
d8ad5f6
Merge pull request #142 from opetryk/longest-mapping
avantonder Mar 27, 2025
6a29d01
avt update 270325
Mar 27, 2025
69386ba
Merge pull request #145 from avantonder/dev
avantonder Mar 31, 2025
157483b
remove error-causing comma
sainsachiko Mar 31, 2025
3166779
add mapping_statistics subworkflow
sainsachiko Mar 31, 2025
b3f1cb3
Merge branch 'nf-core:dev' into dev
sainsachiko Mar 31, 2025
9099bc7
Merge pull request #146 from sainsachiko/dev
avantonder Mar 31, 2025
5747916
first working version
Apr 25, 2025
7a42da6
Update CHANGELOG.md
avantonder May 7, 2025
434e211
Update CHANGELOG.md
avantonder May 7, 2025
b2df224
Update CHANGELOG.md
avantonder May 7, 2025
9fd41c4
Update CHANGELOG.md
avantonder May 7, 2025
ac4c97e
Update README.md
avantonder May 7, 2025
526e9bb
Update README.md
avantonder May 7, 2025
49ebc23
Update workflows/bactmap.nf
avantonder May 7, 2025
0cc9983
Update subworkflows/local/consensus_bcftools/main.nf
avantonder May 7, 2025
9d9f36f
Update README.md
avantonder May 7, 2025
f619996
Update bin/calculate_fraction_of_non_GATC_bases.py
avantonder May 7, 2025
bb1f6c3
avt update 050825
avantonder Aug 5, 2025
99027ab
avt update 050825
avantonder Aug 5, 2025
8694ff4
modules update
avantonder Aug 5, 2025
dfd850a
modules update
avantonder Aug 5, 2025
89746b3
modules update
avantonder Aug 5, 2025
e94e8ba
fix linting issues
avantonder Aug 5, 2025
34d3639
fix linting issues
avantonder Aug 7, 2025
56474d8
fix linting issues
avantonder Aug 7, 2025
71d22e4
fix linting issues
avantonder Aug 7, 2025
d560b13
fix linting issues
avantonder Aug 7, 2025
9b91181
fix linting issues
avantonder Aug 7, 2025
eb42aa9
fix linting issues
avantonder Aug 7, 2025
7fe52eb
fix linting issues
avantonder Aug 7, 2025
62760f8
fix multiqc config
avantonder Aug 28, 2025
b1e8ae4
fix multiqc config
avantonder Aug 28, 2025
7ad7502
fix linting issues
avantonder Aug 28, 2025
5462765
ready for review
avantonder Sep 3, 2025
d2d829b
ready for review
avantonder Sep 11, 2025
8c7d6b1
ready for review
avantonder Sep 11, 2025
8930ae0
ready for review
avantonder Sep 11, 2025
4117249
ready for review
avantonder Sep 12, 2025
ef7a39e
ready for review
avantonder Sep 12, 2025
d36f13c
Merge pull request #151 from avantonder/dev
avantonder Sep 12, 2025
547d15c
pre-release dev
avantonder Sep 15, 2025
86eb7ee
Merge pull request #152 from avantonder/dev
avantonder Sep 15, 2025
b8e625f
post pre-release review
avantonder Oct 9, 2025
7ffbd78
Merge pull request #154 from avantonder/dev
avantonder Oct 9, 2025
c12748d
update template files
avantonder Oct 20, 2025
90990b8
update template files
avantonder Oct 20, 2025
c3051a0
Merge pull request #156 from avantonder/dev
avantonder Oct 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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 @@ -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/
46 changes: 11 additions & 35 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,64 +4,40 @@ 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:
name: Run AWS full tests
# run only if the PR is approved by at least 2 reviewers and against the master branch or manually triggered
if: github.repository == 'nf-core/bactmap' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
# 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/bactmap' && 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: Get PR reviews
uses: octokit/request-action@v2.x
if: github.event_name != 'workflow_dispatch'
id: check_approvals
continue-on-error: true
with:
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews?per_page=100
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check for approvals
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
run: |
echo "No review approvals found. At least 2 approvals are required to run this action automatically."
exit 1

- name: Check for enough approvals (>=2)
id: test_variables
if: github.event_name != 'workflow_dispatch'
- name: Set revision variable
id: revision
run: |
JSON_RESPONSE='${{ steps.check_approvals.outputs.data }}'
CURRENT_APPROVALS_COUNT=$(echo $JSON_RESPONSE | jq -c '[.[] | select(.state | contains("APPROVED")) ] | length')
test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required
echo "revision=${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') && github.sha || 'dev' }}" >> "$GITHUB_OUTPUT"

- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@v2
# TODO nf-core: You can customise AWS full pipeline tests as required
# Add full size test data (but still relatively small datasets for few samples)
# on the `test_full.config` test runs with only one set of parameters
with:
workspace_id: ${{ secrets.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/bactmap/work-${{ github.sha }}
revision: ${{ steps.revision.outputs.revision }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/bactmap/work-${{ steps.revision.outputs.revision }}
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/bactmap/results-${{ github.sha }}"
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/bactmap/results-${{ steps.revision.outputs.revision }}"
}
profiles: test_full

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: Seqera Platform debug log file
path: |
Expand Down
87 changes: 0 additions & 87 deletions .github/workflows/ci.yml

This file was deleted.

Loading