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 2.2.0 #176

Merged
merged 83 commits into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
fdaa2f9
Version bumped to 2.2.0+dev
GallVp Sep 30, 2024
2c5bbc4
Merge pull request #143 from Plant-Food-Research-Open/bump/version
GallVp Sep 30, 2024
bbb0177
Reduced the GenomeTools stats figures to 300 DPI and set synteny_mumm…
GallVp Oct 1, 2024
bf337ba
Updated params
GallVp Oct 1, 2024
89b9e5a
Merge pull request #144 from Plant-Food-Research-Open/optimise/report
GallVp Oct 1, 2024
98ff46c
Added gfastats
GallVp Oct 1, 2024
fc0f989
Updated changelog
GallVp Oct 1, 2024
fba2ea0
Added description for gfastats_skip
GallVp Oct 1, 2024
dd7bd92
Merge pull request #145 from Plant-Food-Research-Open/add/gfastats
GallVp Oct 1, 2024
87f4f4a
Template update for nf-core/tools version 3.0.0
GallVp Oct 9, 2024
929b11f
Merge branch 'TEMPLATE' into update/template
GallVp Oct 9, 2024
9fc7989
Updated nf-core/template to 3.0.0
GallVp Oct 9, 2024
c81f941
Fixed schema issues
GallVp Oct 9, 2024
2dfe368
Removed unnecessary params
GallVp Oct 9, 2024
8817696
Removed max resource params
GallVp Oct 9, 2024
30b8e2e
Fixed linting issues
GallVp Oct 9, 2024
1404b29
Migrated to [email protected]
GallVp Oct 9, 2024
7afc159
Fixed test_full issues
GallVp Oct 9, 2024
67db39d
Removed validate_params
GallVp Oct 9, 2024
9096eb8
Updated params
GallVp Oct 9, 2024
eeae0f2
Updated CI
GallVp Oct 9, 2024
3946d57
Fixed CI and linting issues
GallVp Oct 9, 2024
717fbf2
Linting fix
GallVp Oct 9, 2024
559266e
Fixed nf-test
GallVp Oct 9, 2024
97df745
Merge pull request #150 from Plant-Food-Research-Open/update/template
GallVp Oct 9, 2024
eeaaf3f
Fixed a bug where Gene score distribution graph did not appear correctly
GallVp Oct 9, 2024
6a77321
Fixed ci and params
GallVp Oct 9, 2024
6eef70b
Merge pull request #148 from Plant-Food-Research-Open/fix/gtplot
GallVp Oct 9, 2024
966c6b2
Template update for nf-core/tools version 3.0.1
GallVp Oct 9, 2024
8fd1b9e
Updated nf-core/template to 3.0.1
GallVp Oct 9, 2024
d2f537c
Updated version checks
GallVp Oct 9, 2024
530734b
Deleted template version comment action
GallVp Oct 9, 2024
b36e868
Removed fix-linting action
GallVp Oct 9, 2024
d7f6715
Updated clean-up issue
GallVp Oct 9, 2024
68444ef
Merge pull request #151 from Plant-Food-Research-Open/update/template301
GallVp Oct 10, 2024
5e4bdf5
Updated samtools faidx to 1.21
GallVp Oct 10, 2024
66f76ce
Merge pull request #152 from Plant-Food-Research-Open/update/modules
GallVp Oct 10, 2024
97928c3
Now using nf-test for pipeline level testing
GallVp Oct 10, 2024
64d0cab
Added missing modules
GallVp Oct 10, 2024
b193a4c
Updated config selectors
GallVp Oct 10, 2024
beb0c7b
Updated snapshots to account for 4 CPUs
GallVp Oct 10, 2024
a03629a
Updated tests
GallVp Oct 10, 2024
4e2e23b
Merge pull request #154 from Plant-Food-Research-Open/tests/pipeline
GallVp Oct 10, 2024
49f9a8a
Added text/html as content mime type for the report file
GallVp Oct 10, 2024
1030136
Merge pull request #155 from Plant-Food-Research-Open/mime/report
GallVp Oct 10, 2024
f98f3c6
Version string
GallVp Oct 13, 2024
fec9135
Merge TEMPLATE version 3.0.2
GallVp Oct 13, 2024
05b9eed
Updated snapshots
GallVp Oct 13, 2024
789ae12
Merge pull request #156 from Plant-Food-Research-Open/update/template
GallVp Oct 13, 2024
af9a257
Added a sequence labels table below the HiC contact map
GallVp Oct 14, 2024
807ff31
Merge pull request #157 from Plant-Food-Research-Open/hic/seqlabels
GallVp Oct 14, 2024
cbbee9d
Increased memory requirement for DNADIFF to avoid SLURM OOM kills wit…
GallVp Oct 14, 2024
fe7b8fc
Merge pull request #158 from Plant-Food-Research-Open/fix/dnadiff
GallVp Oct 15, 2024
27a8d3b
Added explicit revision param to docs
GallVp Oct 25, 2024
62e19f5
Updated changelog
GallVp Oct 25, 2024
abd4695
Merge pull request #164 from Plant-Food-Research-Open/docs/rev
GallVp Oct 25, 2024
c1f83cc
Added parameter hic_samtools_ext_args
GallVp Oct 25, 2024
26025a4
Merge pull request #165 from Plant-Food-Research-Open/hic/filter
GallVp Oct 25, 2024
5c769fa
Added the HiC QC report to the final report
GallVp Oct 31, 2024
5f373d6
Updated outputs
GallVp Oct 31, 2024
14ca56e
Merge pull request #171 from Plant-Food-Research-Open/report/hicqc
GallVp Oct 31, 2024
d4624de
Added the fastp log to the final report
GallVp Oct 31, 2024
d410971
Merge pull request #172 from Plant-Food-Research-Open/report/fastp
GallVp Oct 31, 2024
2e8844d
Added orthofinder
GallVp Nov 2, 2024
3c2c872
Update flowchart
GallVp Nov 3, 2024
936bb2f
Update flowchart
GallVp Nov 3, 2024
fb206c4
Updated docs
GallVp Nov 4, 2024
4f8222e
Fixed a couple of typos
GallVp Nov 4, 2024
10a4bd7
Merge pull request #174 from Plant-Food-Research-Open/add/orthofinder
GallVp Nov 4, 2024
abd8f51
Moved around test_full options
GallVp Nov 4, 2024
c7998d6
Updated pfr params
GallVp Nov 4, 2024
8fcc5ce
Updated pfr_assembly launch script
GallVp Nov 4, 2024
cf11c1b
Version bump and a couple of minor fixes
GallVp Nov 4, 2024
af5c449
Updated PFR's Kraken 2 database to k2_pluspfp_20240904
GallVp Nov 4, 2024
e140509
Increased memory requirement for Kraken 2 to 256.GB
GallVp Nov 4, 2024
d98384a
Updated docs and removed resource limits from test_full
GallVp Nov 4, 2024
0da7cea
Updated synteny_mummer_min_bundle_size for pfr/params
GallVp Nov 4, 2024
e6b968f
Now using _JAVA_OPTIONS in module RUNASSEMBLYVISUALIZER to avoid user…
GallVp Nov 5, 2024
0f9a4ee
Now added user.home property to JAVA_OPTIONS
GallVp Nov 5, 2024
ddc9aae
Fixed version mismatches
GallVp Nov 5, 2024
8a7d09c
Merge pull request #175 from Plant-Food-Research-Open/release/test
GallVp Nov 5, 2024
ab0f094
Excluded included_configs from linting
GallVp Nov 5, 2024
b4ced2a
Merge pull request #177 from Plant-Food-Research-Open/fix/linting
GallVp Nov 5, 2024
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
1 change: 1 addition & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ indent_style = unset
# ignore perl
[*.{pl,pm}]
indent_size = unset
indent_style = unset
14 changes: 7 additions & 7 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ If you'd like to write some code for plant-food-research-open/assemblyqc, the st
1. Check that there isn't already an issue about your idea in the [plant-food-research-open/assemblyqc issues](https://github.com/plant-food-research-open/assemblyqc/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [plant-food-research-open/assemblyqc repository](https://github.com/plant-food-research-open/assemblyqc) to your GitHub account
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
4. Use `nf-core pipelines schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged

If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/).
Expand All @@ -37,7 +37,7 @@ There are typically two types of tests that run:
### Lint tests

`nf-core` has a [set of guidelines](https://nf-co.re/developers/guidelines) which all pipelines must adhere to.
To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core lint <pipeline-directory>` command.
To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core pipelines lint <pipeline-directory>` command.

If any failures or warnings are encountered, please follow the listed URL for more documentation.

Expand Down Expand Up @@ -68,21 +68,21 @@ If you wish to contribute a new step, please use the following coding standards:
2. Write the process block (see below).
3. Define the output channel if needed (see below).
4. Add any new parameters to `nextflow.config` with a default (see below).
5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core schema build` tool).
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`.
9. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.
9. Add a description of the output files and if relevant any appropriate images from the report to `docs/output.md`.

### Default values

Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope.

Once there, use `nf-core schema build` to add to `nextflow_schema.json`.
Once there, use `nf-core pipelines schema build` to add to `nextflow_schema.json`.

### Default processes resource requirements

Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.
Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/main/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.

The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block.

Expand All @@ -95,7 +95,7 @@ Please use the following naming schemes, to make it easy to understand what is g

### Nextflow version bumping

If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core bump-version --nextflow . [min-nf-version]`
If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core pipelines bump-version --nextflow . [min-nf-version]`

### Images and figures

Expand Down
32 changes: 10 additions & 22 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,46 +9,34 @@ body:
description: A clear and concise description of what the bug is.
validations:
required: true

- type: textarea
id: command_used
attributes:
label: Command used and terminal output
description: Steps to reproduce the behaviour. Please paste the command you used
to launch the pipeline and the output from your terminal.
description: Steps to reproduce the behaviour. Please paste the command you used to launch the pipeline and the output from your terminal.
render: console
placeholder: "$ nextflow run ...

placeholder: |
$ nextflow run ...

Some output where something broke

"
- type: textarea
id: files
attributes:
label: Relevant files
description: "Please drag and drop the relevant files here. Create a `.zip` archive
if the extension is not allowed.

Your verbose log file `.nextflow.log` is often useful _(this is a hidden file
in the directory where you launched the pipeline)_ as well as custom Nextflow
configuration files.
description: |
Please drag and drop the relevant files here. Create a `.zip` archive if the extension is not allowed.
Your verbose log file `.nextflow.log` is often useful _(this is a hidden file in the directory where you launched the pipeline)_ as well as custom Nextflow configuration files.

"
- type: textarea
id: system
attributes:
label: System information
description: "* Nextflow version _(eg. 23.04.0)_

description: |
* Nextflow version _(eg. 23.04.0)_
* Hardware _(eg. HPC, Desktop, Cloud)_

* Executor _(eg. slurm, local, awsbatch)_

* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud,
or Apptainer)_

* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_
* OS _(eg. CentOS Linux, macOS, Linux Mint)_

* Version of plant-food-research-open/assemblyqc _(eg. 1.1, 1.5, 1.8.2)_

"
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/plant-food-r
- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add tests!
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/plant-food-research-open/assemblyqc/tree/main/.github/CONTRIBUTING.md)
- [ ] Make sure your code lints (`nf-core lint`).
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
Expand Down
10 changes: 10 additions & 0 deletions .github/include.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
".":
- ./.github/workflows/**
- ./nf-test.config
tests:
- ./assets/*
- ./bin/*
- ./conf/*
- ./main.nf
- ./nextflow_schema.json
- ./nextflow.config
7 changes: 7 additions & 0 deletions .github/version_checks.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/usr/bin/env bash

set -euo pipefail

config_version=$(sed -n "/^\s*version\s*=\s*'/s/version//p" nextflow.config | tr -d "=[:space:]'")
cff_version=$(sed -n '/^version: /s/version: //p' CITATION.cff | tr -d '[:space:]')

Expand All @@ -12,3 +14,8 @@ fi

head -10 CHANGELOG.md | grep "## v$config_version - " >/dev/null \
|| (echo 'Failed to match CHANGELOG version'; exit 1)

# Check .nf-core.yml version

tail -5 .nf-core.yml | grep "version: $config_version" >/dev/null \
|| (echo 'Failed to match .nf-core.yml version'; exit 1)
2 changes: 1 addition & 1 deletion .github/workflows/branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
steps:
# PRs to the nf-core repo main branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
- name: Check PRs
if: github.repository == 'plant-food-research-open/assemblyqc'
if: github.repository == 'Plant-Food-Research-Open/assemblyqc'
run: |
{ [[ ${{ github.event.pull_request.head.repo.full_name }} == Plant-Food-Research-Open/assemblyqc ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]

Expand Down
124 changes: 68 additions & 56 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,88 +1,100 @@
name: nf-core CI
# This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors
on:
push:
branches:
- dev
pull_request:
release:
types: [published]

env:
NXF_ANSI_LOG: false
NFT_WORKDIR: "~"
NFT_DIFF: "pdiff"
NFT_DIFF_ARGS: "--line-numbers --expand-tabs=2"

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

jobs:
test:
name: Run pipeline with test data
# 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 == 'plant-food-research-open/assemblyqc') }}"
nf-test-changes:
name: Check for changes
runs-on: ubuntu-latest
strategy:
matrix:
NXF_VER:
- "23.04.0"
TEST_PARAMS:
- minimal
- invalid
- stub
- noltr
- hicparam
include:
- OPTION_STUB: ""
- OPTION_STUB: "-stub"
TEST_PARAMS: stub
- OPTION_STUB: "-stub"
TEST_PARAMS: hicparam
outputs:
nf_test_files: ${{ steps.list.outputs.components }}
steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4

- name: Install Nextflow
uses: nf-core/setup-nextflow@v2
- uses: actions/[email protected]
with:
version: ${{ matrix.NXF_VER }}
fetch-depth: 0

- name: Disk space cleanup
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
- name: List nf-test files
id: list
uses: adamrtalbot/[email protected]
with:
head: ${{ github.sha }}
base: origin/${{ github.base_ref }}
include: .github/include.yaml

- name: Run pipeline with test data
- name: print list of nf-test files
run: |
nextflow run \
${GITHUB_WORKSPACE} \
--outdir ./results \
-profile docker \
-params-file \
./tests/${{ matrix.TEST_PARAMS }}/params.json \
${{ matrix.OPTION_STUB }}
echo ${{ steps.list.outputs.components }}

nf-test:
name: Run nf-tests
# 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 == 'plant-food-research-open/assemblyqc') }}"
test:
name: ${{ matrix.nf_test_files }} ${{ matrix.profile }} NF-${{ matrix.NXF_VER }}
needs: [nf-test-changes]
if: needs.nf-test-changes.outputs.nf_test_files != '[]'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
NXF_VER:
- "23.04.0"
- "24.04.2"

nf_test_files: ["${{ fromJson(needs.nf-test-changes.outputs.nf_test_files) }}"]
profile:
- "docker"

steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
uses: actions/checkout@v4.2.1

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

- uses: actions/[email protected]
with:
python-version: "3.11"
architecture: "x64"

- name: Install pdiff to see diff between nf-test snapshots
run: |
python -m pip install --upgrade pip
pip install pdiff

- uses: nf-core/[email protected]
with:
version: 0.9.0

- name: Install nf-test
uses: nf-core/[email protected]
- name: Disk space cleanup
if: matrix.nf_test_files == 'tests/stub/main.nf.test'
uses: jlumbroso/[email protected]

- name: Run nf-test
run: |
nf-test test --verbose ${{ matrix.nf_test_files }} --profile "+${{ matrix.profile }}"

confirm-pass:
runs-on: ubuntu-latest
needs: [test]
if: always()
steps:
- name: All tests ok
if: ${{ !contains(needs.*.result, 'failure') }}
run: exit 0
- name: One or more tests failed
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1

- name: Run nf-tests
- name: debug-print
if: always()
run: |
nf-test \
test \
--verbose \
tests
echo "toJSON(needs) = ${{ toJSON(needs) }}"
echo "toJSON(needs.*.result) = ${{ toJSON(needs.*.result) }}"
6 changes: 3 additions & 3 deletions .github/workflows/clean-up.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ jobs:
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # 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."
close-issue-message: "This issue was closed because it has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor and then staled for 20 days with no activity."
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback. 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. Remove stale label or add a comment if it is still useful."
close-issue-message: "This issue was closed because it has been tagged as awaiting-changes or awaiting-feedback and then staled for 20 days with no activity."
days-before-stale: 30
days-before-close: 20
days-before-pr-close: -1
Expand Down
Loading
Loading