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

Big Bakta update #235

Merged
merged 11 commits into from Mar 10, 2023
Merged

Big Bakta update #235

merged 11 commits into from Mar 10, 2023

Conversation

jasmezz
Copy link
Collaborator

@jasmezz jasmezz commented Mar 3, 2023

  • Version bump to bakta 1.7.0
  • Incl. the parameter params.annotation_bakta_db_light to be able to switch between the light (1.3 GB) and full (33.1 GB) version of the Bakta DB
  • Switched off unnecessary Bakta annotation steps by default.

Closes #234
Closes #214

PR checklist

  • 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- [ ] If necessary, also make a PR on the nf-core/funcscan branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

@github-actions
Copy link

github-actions bot commented Mar 3, 2023

nf-core lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 3bebde1

+| ✅ 157 tests passed       |+
!| ❗   1 tests had warnings |!

❗ Test warnings:

  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your prefered methods description, e.g. add publication citation for this pipeline

✅ Tests passed:

Run details

  • nf-core/tools version 2.7.2
  • Run at 2023-03-10 10:10:43

nextflow.config Outdated
@@ -27,23 +27,25 @@ params {
annotation_prodigal_forcenonsd = false

annotation_bakta_db = null
annotation_bakta_db_light = null
Copy link
Contributor

@louperelo louperelo Mar 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am a bit confused about the new parameter:
--annotation_bakta_db expects a path to a local DB (might be full or light, depends on what the user downloaded himself)
while --annotation_bakta_db_light determines in the modules.config, if in BAKTA_BAKTADBDOWNLOAD the ext.args --type will be set to full or light:
params.annotation_bakta_db_light ? '--type light' : '--type full'
Shouldn't this then be a boolean parameter with default false instead of null? If no path to an existing baktaDB ist given via --annotation_bakta_db, then the full bakta_db is downloaded unless annotation_bakta_db_light was set to true.
Do we want the light or the full version to be default when downloading?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh yes, that's why reviews are important :D The new parameter should of course be boolean.
I remember my reason for having null was that there was an issue with nf-core schema build when putting false as default, but forgot to check/fix that.
Default: I would go for full DB, but can test if there are big differences to the light DB in the output. If not, let's use light of course.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe consider renaming --annotation_bakta_db to make clear that this is for a local installation. Something like --annotation_bakta_db_path or --annotation_bakta_db_local?
I agree with the full db as default. Then the parameter --annotation_bakta_db_light can just stay as it is.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, we should disambiguate, and default should be set to a boolean not null. Another suggestion:

--annotation_bakta_downloadlightdb
--annotation_bakta_localdbpath

Or something?

Copy link
Member

@jfy133 jfy133 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly agreeing with @louperelo and couple of extra

CHANGELOG.md Outdated Show resolved Hide resolved
nextflow.config Outdated
@@ -27,23 +27,25 @@ params {
annotation_prodigal_forcenonsd = false

annotation_bakta_db = null
annotation_bakta_db_light = null
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, we should disambiguate, and default should be set to a boolean not null. Another suggestion:

--annotation_bakta_downloadlightdb
--annotation_bakta_localdbpath

Or something?

nextflow_schema.json Outdated Show resolved Hide resolved
nextflow_schema.json Outdated Show resolved Hide resolved
workflows/funcscan.nf Outdated Show resolved Hide resolved
@jasmezz jasmezz requested a review from jfy133 March 8, 2023 14:16
Copy link
Contributor

@louperelo louperelo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me
I liked James suggestion for the parameters better than mine, though:
--annotation_bakta_downloadlightdb
--annotation_bakta_localdbpath

nextflow.config Outdated Show resolved Hide resolved
Copy link
Member

@jfy133 jfy133 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with Lousia, I find the current parameters too similar in the naming scheme, which I Worry may confuse people that they are for related functions (e.g. maybe _local means download the full database, as it has the same camel case structure as indicating the download type).

Alternatively, we could replace the boolean for the light with a string:

--annotation_bakta_db_localpath '/path/to/'
--annotation_bakta_db_downloadtype 'light' ## where default is 'full'

Other than the naming, I think the code looks fine 👍

CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
docs/usage.md Outdated Show resolved Hide resolved
nextflow.config Outdated Show resolved Hide resolved
@jasmezz
Copy link
Collaborator Author

jasmezz commented Mar 10, 2023

@nf-core-bot fix linting

@jasmezz jasmezz requested a review from jfy133 March 10, 2023 11:21
Copy link
Member

@jfy133 jfy133 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last change ovtherwise LGTM

docs/usage.md Outdated Show resolved Hide resolved
Co-authored-by: James A. Fellows Yates <jfy133@gmail.com>
@jasmezz jasmezz merged commit b7fb255 into dev Mar 10, 2023
@jasmezz jasmezz deleted the bakta-update branch March 10, 2023 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Increase module version of Bakta to v1.7 Add parameter to BAKTA : --skip-plot
4 participants