Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔖 release v0.6.2 #79

Open
wants to merge 88 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
b7f3833
:recycle: display current chrom with samtools/depth
bunop Apr 11, 2024
2b4bb01
:arrow_up: upgrade picard/markduplicates module
bunop Jul 11, 2024
40e0bfb
:memo: update changelog
bunop Jul 11, 2024
c8388ac
:green_heart: attempt to fix CI tests
bunop Jul 11, 2024
703017b
:twisted_rightwards_arrows: Merge pull request #78 from cnr-ibba/issu…
bunop Jul 11, 2024
ecb2223
:wrench: test profile using remote input
bunop Jan 7, 2025
2ef0df0
:memo: update README
bunop Jan 7, 2025
5b887c6
:bug: fix test file URLs
bunop Jan 7, 2025
38a3539
:memo: simplify documentation
bunop Jan 7, 2025
9254b45
:construction_worker: update the GitHub actions
bunop Jan 7, 2025
1693318
:green_heart: attempt to update nf-core tools used in linting workflow
bunop Jan 7, 2025
52945b6
:rotating_light: fix issues related to linter
bunop Jan 8, 2025
e830419
:wrench: update the .nf-core.yml configuration file
bunop Jan 8, 2025
d869535
:memo: update changelog
bunop Jan 8, 2025
d75529b
:twisted_rightwards_arrows: Merge pull request #83 from cnr-ibba/issu…
bunop Jan 8, 2025
f962d8f
:rotating_light: attempt to solve linter warning
bunop Jan 8, 2025
7d7a2db
:green_heart: attempt to fix download pipeline workflow
bunop Jan 8, 2025
8e584c8
:green_heart: attempt to fix download pipeline workflow
bunop Jan 8, 2025
24e7c7b
:construction_worker: remove conda tests from CI
bunop Jan 8, 2025
c1bed33
:sparkles: pristine institutional config
bunop Jan 9, 2025
e0e89b6
:bug: add missing institutional configuration
bunop Jan 9, 2025
9f463e0
:see_no_evil: update gitignore
bunop Jan 13, 2025
b61ff5f
:sparkles: concatenate vcf chunks by chromosomes
bunop Jan 13, 2025
b62490f
:heavy_plus_sign: add bcftools/sort dependency
bunop Jan 14, 2025
1ea602f
:recycle: minor refactoring to nextflow schema
bunop Jan 14, 2025
2a59900
:pushpin: Update nextflow to version 24.04.0
bunop Jan 14, 2025
d521e83
:sparkles: add freebayes normalize step
bunop Jan 14, 2025
b462617
:bug: fix issues with module names and config
bunop Jan 14, 2025
3335e58
:wrench: configure prefix using modules.conf
bunop Jan 14, 2025
5bb1125
:memo: update changelog
bunop Jan 14, 2025
cd2c99d
:heavy_plus_sign: add bcftools/concat process
bunop Jan 15, 2025
7393880
:sparkles: concatenate chromosome VCF
bunop Jan 15, 2025
d525670
:recycle: refactor tabix/tabix steps
bunop Jan 15, 2025
1eb6897
:rotating_light: fix issues with linter
bunop Jan 15, 2025
d347e05
:wrench: update nextflow.config
bunop Jan 15, 2025
b00f06d
:bug: fix issue with institutional configuration
bunop Jan 16, 2025
653e404
:fire: drop the gitpod profile
bunop Jan 16, 2025
229c61b
:memo: update README
bunop Jan 16, 2025
c13c786
:twisted_rightwards_arrows: Merge pull request #84 from cnr-ibba/issu…
bunop Jan 16, 2025
8f9ce9e
:sparkles: add custom options for freebayes
bunop Jan 16, 2025
c3a3317
:memo: update README
bunop Jan 16, 2025
e82d0c8
:green_heart: fix issues with linters
bunop Jan 16, 2025
11a188b
:twisted_rightwards_arrows: Merge pull request #85 from cnr-ibba/issu…
bunop Jan 16, 2025
296ea86
:truck: move REMOVE_OVERLAP into CRAM_FREEBAYES_PARALLEL workflow
bunop Jan 20, 2025
336a8fd
:sparkles: start pipeline_initialization subworkflow
bunop Jan 20, 2025
bb333e4
:art: set custom indentation in editorconfig
bunop Jan 20, 2025
4150829
:truck: move stuff in workflow
bunop Jan 20, 2025
df1e1fa
:arrow_up: update MultiQC module
bunop Jan 20, 2025
996f065
:arrow_up: update snpeff/download
bunop Jan 20, 2025
13005f6
:wrench: update .editorconfig
bunop Jan 20, 2025
be05526
:arrow_up: update snpeff/snpeff
bunop Jan 20, 2025
e150eb2
:fire: remove REMOVE_OVERLAP
bunop Jan 20, 2025
e5d09cb
:wrench: refactor modules.config
bunop Jan 20, 2025
d56e5a3
:wrench: pin snpeff/download and snpeff/snpeff
bunop Jan 20, 2025
79fab26
:arrow_up: update modules
bunop Jan 20, 2025
f27db93
:rotating_light: solve issues with linters
bunop Jan 20, 2025
1791752
:arrow_up: upgrade bcftools-based modules
bunop Jan 21, 2025
8288957
:bug: fix conda container declaration in local modules
bunop Jan 21, 2025
ad1172d
:rotating_light: attempt to solve issues with linters
bunop Jan 21, 2025
064f163
:construction_worker: update CI files
bunop Jan 21, 2025
64d0f8a
:arrow_up: update freebayes container
bunop Jan 22, 2025
9f362b9
:poop: attempt to fix FREEBAYES_NORM step
bunop Jan 22, 2025
00c1817
:bug: fix freebayes container version
bunop Jan 22, 2025
c2b05d5
:bug: fix process.shell in nextflow.config
bunop Jan 22, 2025
755c935
:recycle: pass indexes between subworkflows
bunop Jan 22, 2025
f12b6a2
:rotating_light: ignore diff files with prettier
bunop Jan 22, 2025
a882551
:twisted_rightwards_arrows: Merge branch 'issue-86' into issue-88
bunop Jan 22, 2025
ef6b347
:wrench: relax bcftools normalization parameters
bunop Jan 22, 2025
d5a9759
:rotating_light: ignore diff file with .editorconfig
bunop Jan 22, 2025
cbe1b0c
:sparkles: replace vcfallelicprimitives with vcfwave
bunop Jan 22, 2025
12170db
:wrench: using a custom container for vcfwave
bunop Jan 31, 2025
50493fe
:rotating_light: fix issue related with linter
bunop Jan 31, 2025
bd27f28
:arrow_up: upgrade nf-core version
bunop Jan 31, 2025
236083e
:twisted_rightwards_arrows: Merge pull request #87 from cnr-ibba/issu…
bunop Feb 3, 2025
07b4d13
:twisted_rightwards_arrows: Merge pull request #89 from cnr-ibba/issu…
bunop Feb 3, 2025
5fc0894
:recycle: update vcfwave version
bunop Feb 3, 2025
0795203
:truck: rename BCFTOOLS_CONCAT in NORMALIZED_CONCAT in main workflow
bunop Feb 3, 2025
5c16162
:fire: remove cnr-ibba/bcftools/concat
bunop Feb 3, 2025
1b914e6
:truck: rename FREEBAYES_CONCAT as CONCATENATE_CHROMS
bunop Feb 3, 2025
2a3d026
:sparkles: concatenate freebayes results if required
bunop Feb 3, 2025
8f9659d
:recycle: annotate concatenated vcf file
bunop Feb 3, 2025
03e7063
:art: fix code format
bunop Feb 3, 2025
554adc4
:sparkles: skip normalization with a parameter
bunop Feb 3, 2025
b7d9f2e
:sparkles: test for gvcf related parameters
bunop Feb 4, 2025
ecd83d9
:memo: update README
bunop Feb 4, 2025
21314c8
:rewind: Revert ":recycle: update vcfwave version"
bunop Feb 5, 2025
a0596f4
:rotating_light: fix issues related with linter
bunop Feb 5, 2025
02e6160
:twisted_rightwards_arrows: Merge pull request #91 from cnr-ibba/issu…
bunop Feb 5, 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
26 changes: 20 additions & 6 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@ charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_size = 2
indent_size = 4
indent_style = space

[*.{yml,yaml}]
indent_size = 2
[*.diff]
indent_size = unset
trim_trailing_whitespace = unset

[*.json]
insert_final_newline = unset
[*.{md,yml,yaml,html,css,scss,js}]
indent_size = 2

# These files are edited and tested upstream in nf-core/modules
[/modules/nf-core/**]
Expand All @@ -21,7 +22,20 @@ end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset
indent_size = unset
[/subworkflows/nf-core/**]
charset = unset
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset

[/assets/email*]
indent_size = unset

# ignore python and markdown
[*.{py,md,cff}]
indent_style = unset

# ignore ro-crate metadata files
[**/ro-crate-metadata.json]
insert_final_newline = unset
46 changes: 46 additions & 0 deletions .github/workflows/branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: nf-core branch protection
# This workflow is triggered on PRs to `main`/`master` branch on the repository
# It fails when someone tries to make a PR against the nf-core `main`/`master` branch instead of `dev`
on:
pull_request_target:
branches:
- main
- master

jobs:
test:
runs-on: ubuntu-latest
steps:
# PRs to the nf-core repo main/master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
- name: Check PRs
if: github.repository == 'cnr-ibba/nf-resequencing-mem'
run: |
{ [[ ${{github.event.pull_request.head.repo.full_name }} == cnr-ibba/nf-resequencing-mem ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]

# If the above check failed, post a comment on the PR explaining the failure
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
- name: Post PR comment
if: failure()
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
with:
message: |
## This PR is against the `${{github.event.pull_request.base.ref}}` branch :x:

* Do not close this PR
* Click _Edit_ and change the `base` to `dev`
* This CI test will remain failed until you push a new commit

---

Hi @${{ github.event.pull_request.user.login }},

It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) ${{github.event.pull_request.base.ref}} branch.
The ${{github.event.pull_request.base.ref}} branch on nf-core repositories should always contain code from the latest release.
Because of this, PRs to ${{github.event.pull_request.base.ref}} are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch.

You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page.
Note that even after this, the test will continue to show as failing until you push a new commit.

Thanks again for your contribution!
repo-token: ${{ secrets.GITHUB_TOKEN }}
allow-repeats: false
46 changes: 36 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,63 @@ on:
pull_request:
release:
types: [published]
workflow_dispatch:

env:
NXF_ANSI_LOG: false
NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity
NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity

concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true

jobs:
test:
name: Run pipeline with test data
name: "Run pipeline with test data (${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }})"
# Only run on push if this is the nf-core dev branch (merged PRs)
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'cnr-ibba/nf-resequencing-mem') }}"
runs-on: ubuntu-latest
strategy:
matrix:
NXF_VER:
- "23.04.0"
- "24.04.0"
- "latest-everything"
profile:
- "docker"
- "singularity"
test_name:
- "test"
isMaster:
- ${{ github.base_ref == 'master' }}
# Exclude singularity on dev
exclude:
- isMaster: false
profile: "singularity"
steps:
- name: Check out pipeline code
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0

- name: Install Nextflow
uses: nf-core/setup-nextflow@v1
- name: Set up Nextflow
uses: nf-core/setup-nextflow@v2
with:
version: "${{ matrix.NXF_VER }}"

- name: Run pipeline with test data
# TODO nf-core: You can customise CI pipeline run tests as required
# For example: adding multiple test runs with different parameters
# Remember that you can parallelise this by using strategy.matrix
- name: Set up Apptainer
if: matrix.profile == 'singularity'
uses: eWaterCycle/setup-apptainer@main

- name: Set up Singularity
if: matrix.profile == 'singularity'
run: |
mkdir -p $NXF_SINGULARITY_CACHEDIR
mkdir -p $NXF_SINGULARITY_LIBRARYDIR

- name: Clean up Disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- name: "Run pipeline with test data ${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }}"
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results
134 changes: 134 additions & 0 deletions .github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Test successful pipeline download with 'nf-core pipelines download'

# Run the workflow when:
# - dispatched manually
# - when a PR is opened or reopened to main/master branch
# - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev.
on:
workflow_dispatch:
inputs:
testbranch:
description: "The specific branch you wish to utilize for the test execution of nf-core pipelines download."
required: true
default: "dev"
pull_request:
types:
- opened
- edited
- synchronize
branches:
- main
- master
pull_request_target:
branches:
- main
- master

env:
NXF_ANSI_LOG: false

jobs:
configure:
runs-on: ubuntu-latest
outputs:
REPO_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPO_LOWERCASE }}
REPOTITLE_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPOTITLE_LOWERCASE }}
REPO_BRANCH: ${{ steps.get_repo_properties.outputs.REPO_BRANCH }}
steps:
- name: Get the repository name and current branch
id: get_repo_properties
run: |
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> "$GITHUB_OUTPUT"
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> "$GITHUB_OUTPUT"
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> "$GITHUB_OUTPUT"

download:
runs-on: ubuntu-latest
needs: configure
steps:
- name: Install Nextflow
uses: nf-core/setup-nextflow@v2

- name: Disk space cleanup
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

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

- name: Setup Apptainer
uses: eWaterCycle/setup-apptainer@4bb22c52d4f63406c49e94c804632975787312b3 # v2.0.0
with:
apptainer-version: 1.3.4

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install git+https://github.com/nf-core/tools.git@dev

- name: Make a cache directory for the container images
run: |
mkdir -p ./singularity_container_images

- name: Download the pipeline
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
run: |
nf-core pipelines download ${{ needs.configure.outputs.REPO_LOWERCASE }} \
--revision ${{ needs.configure.outputs.REPO_BRANCH }} \
--outdir ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }} \
--compress "none" \
--container-system 'singularity' \
--container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io/library/" \
--container-cache-utilisation 'amend' \
--download-configuration 'yes'

- name: Inspect download
run: tree ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}

- name: Inspect container images
run: tree ./singularity_container_images | tee ./container_initial

- name: Count the downloaded number of container images
id: count_initial
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Initial container image count: $image_count"
echo "IMAGE_COUNT_INITIAL=$image_count" >> "$GITHUB_OUTPUT"

- name: Run the downloaded pipeline (stub)
id: stub_run_pipeline
continue-on-error: true
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
- name: Run the downloaded pipeline (stub run not supported)
id: run_pipeline
if: ${{ steps.stub_run_pipeline.outcome == 'failure' }}
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -profile test,singularity --outdir ./results

- name: Count the downloaded number of container images
id: count_afterwards
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Post-pipeline run container image count: $image_count"
echo "IMAGE_COUNT_AFTER=$image_count" >> "$GITHUB_OUTPUT"

- name: Compare container image counts
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 }}
final_count=${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}
difference=$((final_count - initial_count))
echo "$difference additional container images were \n downloaded at runtime . The pipeline has no support for offline runs!"
tree ./singularity_container_images > ./container_afterwards
diff ./container_initial ./container_afterwards
exit 1
else
echo "The pipeline can be downloaded successfully!"
fi
89 changes: 89 additions & 0 deletions .github/workflows/fix-linting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Fix linting from a comment
on:
issue_comment:
types: [created]

jobs:
fix-linting:
# Only run if comment is on a PR with the main repo, and if it contains the magic keywords
if: >
contains(github.event.comment.html_url, '/pull/') &&
contains(github.event.comment.body, '@nf-core-bot fix linting') &&
github.repository == 'cnr-ibba/nf-resequencing-mem'
runs-on: ubuntu-latest
steps:
# Use the @nf-core-bot token to check out so we can push later
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
token: ${{ secrets.nf_core_bot_auth_token }}

# indication that the linting is being fixed
- name: React on comment
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
with:
comment-id: ${{ github.event.comment.id }}
reactions: eyes

# Action runs on the issue comment, so we don't get the PR by default
# Use the gh cli to check out the PR
- name: Checkout Pull Request
run: gh pr checkout ${{ github.event.issue.number }}
env:
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}

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

- name: Install pre-commit
run: pip install pre-commit

- name: Run pre-commit
id: pre-commit
run: pre-commit run --all-files
continue-on-error: true

# indication that the linting has finished
- name: react if linting finished successfully
if: steps.pre-commit.outcome == 'success'
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
with:
comment-id: ${{ github.event.comment.id }}
reactions: "+1"

- name: Commit & push changes
id: commit-and-push
if: steps.pre-commit.outcome == 'failure'
run: |
git config user.email "[email protected]"
git config user.name "nf-core-bot"
git config push.default upstream
git add .
git status
git commit -m "[automated] Fix code linting"
git push

- name: react if linting errors were fixed
id: react-if-fixed
if: steps.commit-and-push.outcome == 'success'
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
with:
comment-id: ${{ github.event.comment.id }}
reactions: hooray

- name: react if linting errors were not fixed
if: steps.commit-and-push.outcome == 'failure'
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
with:
comment-id: ${{ github.event.comment.id }}
reactions: confused

- name: react if linting errors were not fixed
if: steps.commit-and-push.outcome == 'failure'
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
with:
issue-number: ${{ github.event.issue.number }}
body: |
@${{ github.actor }} I tried to fix the linting errors, but it didn't work. Please fix them manually.
See [CI log](https://github.com/cnr-ibba/nf-resequencing-mem/actions/runs/${{ github.run_id }}) for more details.
Loading
Loading