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

Candidate for 2.0.0 #89

Merged
merged 78 commits into from
Jun 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
c8e42b3
Fixed a bug which caused NCBI_FCS_GX to not resume
GallVp Apr 22, 2024
f50728b
Updated modules and sub-workflows
GallVp Apr 22, 2024
15cac9d
Template update for nf-core/tools version 2.13.2.dev0
GallVp Apr 22, 2024
a1fda61
Merged TEMPLATE
GallVp Apr 23, 2024
082df60
Moved input channel init to sub workflow
GallVp Apr 23, 2024
15fdae0
Fixed null versions.yml issue
GallVp Apr 23, 2024
177c007
Updated modules json
GallVp Apr 23, 2024
e9a4637
Updated modules json
GallVp Apr 23, 2024
cdeae20
Restored the original version of nf-core/subworkflows/fastq_trim_fast…
GallVp Apr 23, 2024
0da90dd
Fixed linting issues
GallVp Apr 23, 2024
8f5f2bb
Fixed linting issues
GallVp Apr 23, 2024
ab869d9
Removed .github/CONTRIBUTING.md from linting
GallVp Apr 23, 2024
be0a452
Now using git URL for nf-core/modules
GallVp Apr 23, 2024
5267bab
Fixed n-core linting
GallVp Apr 23, 2024
26cf668
Template update for nf-core/tools version 2.13.1
GallVp Apr 23, 2024
43d5560
Updated nf-core/template to 2.13.1
GallVp Apr 23, 2024
e1ca2d7
Added pfr/modules key
GallVp Apr 23, 2024
d36c50a
Updated linting checks
GallVp Apr 23, 2024
c21e268
Updated tower.yml
GallVp Apr 23, 2024
22bab61
Updated LICENSE
GallVp Apr 29, 2024
f7d5dc3
Removed release-announcements GitHub workflow and added a list of nf-…
GallVp Apr 30, 2024
a537e1c
RUNASSEMBLYVISUALIZER is now single threaded for successful execution…
GallVp May 1, 2024
4c5998b
Added a custom BUNDLELINKS module which respects direction when bundl…
GallVp May 1, 2024
5660e89
Added the ability to create linear synteny plot in addition to the ci…
GallVp May 2, 2024
0cc8a8a
Updated fasta_ltrretriever_lai to fix [ meta, [] ] bug
GallVp May 2, 2024
e64b0a9
Updated CHANGELOG
GallVp May 2, 2024
da09f29
Fixed java memory overflow issues in RUNASSEMBLYVISUALIZER
GallVp May 3, 2024
2f42aef
Updated docs
GallVp May 3, 2024
2301799
Updated docs
GallVp May 5, 2024
7e9872e
Now pipeline can continue if contamination is detected
GallVp May 6, 2024
eaa0cf9
Updated fcs-adaptor to 0.5.0
GallVp May 6, 2024
50a0b5f
Now fasta ids are sorted in natural order for
GallVp May 6, 2024
fc858a2
Added merqury params to schema_input
GallVp May 7, 2024
45d180e
Expanded schema_input
GallVp May 7, 2024
29b76a5
Now using FASTQ_DOWNLOAD_PREFETCH_FASTERQDUMP_SRATOOLS for SRA downloads
GallVp May 8, 2024
6cc2e84
Added MERQURYFK module
GallVp May 16, 2024
9baec0f
Template update for nf-core/tools version 2.14.1
GallVp May 16, 2024
30af6d3
Updated nf-core/template to 2.14.1
GallVp May 16, 2024
62e5896
Fixed linting issues
GallVp May 16, 2024
3f5bb21
Updated fasta_explore_search_plot_tidk
GallVp May 16, 2024
22ca108
Replaced GFF3_VALIDATE sub-workflow with GFF3_GT_GFF3_GFF3VALIDATOR_STAT
GallVp May 16, 2024
77e752a
Replaced local BUSCO module with FASTA_GXF_BUSCO_PLOT
GallVp May 16, 2024
32efaaf
Replaced local NCBI_FCS_ADAPTOR with nf-core module
GallVp May 17, 2024
1e57c36
Added mixed2x test for MERQURY.FK
GallVp May 17, 2024
56777e0
Added module stubs to enable merquryfk in stub test
GallVp May 18, 2024
e4bbd31
Nowing using a single FETCHNGS workflow to download sra
GallVp May 18, 2024
94e80c9
Added phased2x example for merqury.fk analysis
GallVp May 19, 2024
8a7eb13
Enroute to MERQURY.FK trio mode
GallVp May 21, 2024
60433a6
Migrated to merqury
GallVp May 22, 2024
dd743dd
Locally patched MERQURY, MERYL/COUNT and MERYL/UNIONSUM
GallVp May 22, 2024
eb3cf6f
Added stub to merqury
GallVp May 22, 2024
5ff4458
Updated docs and removed meryl patches
GallVp May 22, 2024
c955ad4
Added plotsr
GallVp May 27, 2024
5d3fe26
Upgraded locally merqury
GallVp May 27, 2024
38cdee7
Fixed merqury/merqury import path
GallVp May 27, 2024
57518fc
Fixed a typo
GallVp May 27, 2024
cab93a3
Added JAD labels to tests/stub
GallVp May 27, 2024
f1d5642
Now detecting duplicate sequences with SEQKIT/RMDUP
GallVp May 27, 2024
3837c52
Now imported seqkit/rmdup from nf-core/modules
GallVp May 28, 2024
dc1e176
Updated modules and sub-workflows
GallVp May 28, 2024
04be085
Updated usage doc and pfr/params
GallVp May 28, 2024
699e52c
Updated docs
GallVp May 28, 2024
03a23ea
Added assembly tag to synteny warning message
GallVp May 28, 2024
658d10e
Updated docs
GallVp May 28, 2024
18a8fb2
Updated flowchart
GallVp May 28, 2024
543625a
Fixed a bug in file order for plotsr
GallVp May 28, 2024
3ff806f
Set merqury_skip to false in pfr/params
GallVp May 28, 2024
f590cc2
Increased time limit for MERQURY_HAPMERS
GallVp May 30, 2024
04bfcd1
Fixed merqury version reference
GallVp May 30, 2024
a95d3f0
Disabled legend on dotplot
GallVp May 30, 2024
c9a1a1c
Updated docs
GallVp May 30, 2024
1b713cf
Fixed headers in the merqury qv stats table
GallVp May 30, 2024
3548df4
Removed unnecessary ncbi_fcs_gx_tax_id
GallVp May 31, 2024
019fb37
Updated fasta_ltrretriever_lai
GallVp Jun 3, 2024
04fd4a4
Now copying files in NCBI_FCS_GX_SETUP_SAMPLE rather than symlinking …
GallVp Jun 3, 2024
b101564
Updated FASTA_LTRRETRIEVER_LAI
GallVp Jun 4, 2024
8a6885c
fasta_ltrretriever_lai now supports stub
GallVp Jun 4, 2024
5474d3a
Updated docs
GallVp Jun 4, 2024
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
  •  
  •  
  •  
10 changes: 1 addition & 9 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,7 @@
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/opt/conda/bin/python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.autopep8Path": "/opt/conda/bin/autopep8",
"python.formatting.yapfPath": "/opt/conda/bin/yapf",
"python.linting.flake8Path": "/opt/conda/bin/flake8",
"python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle",
"python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle",
"python.linting.pylintPath": "/opt/conda/bin/pylint"
"python.defaultInterpreterPath": "/opt/conda/bin/python"
},

// Add the IDs of extensions you want installed when the container is created.
Expand Down
29 changes: 22 additions & 7 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,32 @@ 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

# These files are edited and tested upstream in pfr/modules
[/modules/pfr/**]
charset = unset
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset
[/subworkflows/pfr/**]
charset = unset
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset

[/assets/email*]
indent_size = unset

# ignore Readme
[README.md]
indent_style = unset

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

# ignore perl
Expand Down
9 changes: 6 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,11 @@ If you're not used to this workflow with git, you can start with some [docs from

## Tests

You can optionally test your changes by running the pipeline locally. Then it is recommended to use the `debug` profile to
receive warnings about process selectors and other debug info. Example: `nextflow run . -profile debug,test,docker --outdir <OUTDIR>`.
You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command:

```bash
nf-test test --profile debug,test,docker --verbose
```

When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.
Expand Down Expand Up @@ -81,7 +84,7 @@ Once there, use `nf-core schema build` to add to `nextflow_schema.json`.

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.

The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block.
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.

### Naming schemes

Expand Down
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/master/.github/CONTRIBUTING.md)
- [ ] Make sure your code lints (`nf-core lint`) and (`pre-commit run --all`)
- [ ] Make sure your code lints (`nf-core 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
2 changes: 1 addition & 1 deletion .github/workflows/branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
# 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@v2
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
with:
message: |
## This PR is against the `master` branch :x:
Expand Down
27 changes: 20 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,32 @@ jobs:
matrix:
NXF_VER:
- "23.04.0"
RUN_CONFIG:
- "-profile test,docker"
- "-profile docker -c ./tests/stub/stub.config -stub"
- "-profile docker -params-file ./tests/invalid/params.json"
TEST_PARAMS:
- minimal
- invalid
- stub
include:
- OPTION_STUB: ""
- OPTION_STUB: "-stub"
TEST_PARAMS: stub
steps:
- name: Check out pipeline code
uses: actions/checkout@v4
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4

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

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

- name: Run pipeline with test data
run: |
nextflow run ${GITHUB_WORKSPACE} --outdir ./results ${{ matrix.RUN_CONFIG }}
nextflow run \
${GITHUB_WORKSPACE} \
--outdir ./results \
-profile docker \
-params-file \
./tests/${{ matrix.TEST_PARAMS }}/params.json \
${{ matrix.OPTION_STUB }}
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@v9
- 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."
Expand Down
35 changes: 27 additions & 8 deletions .github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,16 @@ name: Test successful pipeline download with 'nf-core download'
# - 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 download."
required: true
default: "dev"
pull_request:
types:
- opened
- edited
- synchronize
branches:
- master
pull_request_target:
Expand All @@ -20,16 +27,19 @@ env:

jobs:
download:
runs-on: ["self-hosted"]
runs-on: ubuntu-latest
steps:
- name: Install Nextflow
uses: nf-core/setup-nextflow@v1
uses: nf-core/setup-nextflow@v2

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

- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
with:
python-version: "3.11"
python-version: "3.12"
architecture: "x64"
- uses: eWaterCycle/setup-singularity@v7
- uses: eWaterCycle/setup-singularity@931d4e31109e875b13309ae1d07c70ca8fbc8537 # v7
with:
singularity-version: 3.8.3

Expand All @@ -42,13 +52,13 @@ jobs:
run: |
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> ${GITHUB_ENV}
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
echo "REPO_BRANCH=${GITHUB_REF#refs/heads/}" >> ${GITHUB_ENV}
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}

- name: Download the pipeline
env:
NXF_SINGULARITY_CACHEDIR: ./
run: |
nf-core download ${{ env.REPO_LOWERCASE }} \
nf-core download ${{ env.REPO_LOWERCASE }} \
--revision ${{ env.REPO_BRANCH }} \
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
--compress "none" \
Expand All @@ -60,8 +70,17 @@ jobs:
- name: Inspect download
run: tree ./${{ env.REPOTITLE_LOWERCASE }}

- name: Run the downloaded pipeline
- name: Run the downloaded pipeline (stub)
id: stub_run_pipeline
continue-on-error: true
env:
NXF_SINGULARITY_CACHEDIR: ./
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
- name: Run the downloaded pipeline (stub run not supported)
id: run_pipeline
if: ${{ job.steps.stub_run_pipeline.status == failure() }}
env:
NXF_SINGULARITY_CACHEDIR: ./
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -profile test,singularity --outdir ./results
59 changes: 50 additions & 9 deletions .github/workflows/fix-linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
types: [created]

jobs:
deploy:
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/') &&
Expand All @@ -13,36 +13,77 @@ jobs:
runs-on: ubuntu-latest
steps:
# Use the @nf-core-bot token to check out so we can push later
- uses: actions/checkout@v4
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # 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 }}

- name: Set up Python 3.11
uses: actions/setup-python@v5
# Install and run pre-commit
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
with:
python-version: 3.11
cache: "pip"
python-version: "3.12"

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

- name: Run pre-commit
run: pre-commit run --all-files || echo "status=fail" >> $GITHUB_ENV
id: pre-commit
run: pre-commit run --all-files
continue-on-error: true

# indication that the linting has finished
- name: react if linting finished succesfully
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
if: env.status == 'fail'
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 linting with pre-commit"
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/plant-food-research-open/assemblyqc/actions/runs/${{ github.run_id }}) for more details.
Loading