-
Notifications
You must be signed in to change notification settings - Fork 814
New module for contamination screening: Sylph #1616
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
base: dev
Are you sure you want to change the base?
Conversation
|
Warning Newer version of the nf-core template is available. Your pipeline is using an old version of the nf-core template: 3.3.2. For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation. |
|
Also, for now I did not put tests of the file extensions for the sylph database/taxonomy in the nextflow schema, but that could be an enhancement. |
pinin4fjords
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice work, thanks!
Yes, let's wait for the MultiQC module (I've nudged Phil but he's crazy busy)
We'll also have to figure out what's going on with the failing tests.
| // | ||
| def sylphArgumentsWithoutSylphUsageWarn() { | ||
| log.warn "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" + | ||
| " Sylph related arguments have been provided without setting contaminant\n" + |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not do this. There's lots of cases where the params contains unused options, we don't need to warn the user each time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll comment here that this is in line with Kraken2. It is a bit different from params containing unused options in that if a person provides a Sylph database/taxonomy to the the pipeline but contaminant-screening is not set to sylph, then sylph will not run even though the database has been provided. I could making the wording a bit more clear or just follow through and delete it entirely
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should delete it from kraken as well then. I think if I'm a user I expect to be able to turn something off an not get warnings about excess params.
Resolves #1615. I have mostly implemented the addition of Sylph into the nf-core rnaseq pipeline for contamination screening. We may want to wait for Sylphtax to be added to MultiQC and then for that to be updated in the pipeline, see my PR there. Sylph has similar precision and much lower compute requirements than Kraken2/Bracken; the main disadvantage in my eyes is that it cannot do individual read assignments. In any case, I think it would be a very useful tool for contamination screening as an alternative to the Kraken2/Bracken combination and was mentioned as an alternative when that was added (see here).
PR checklist
nf-core pipelines lint).nextflow run . -profile test,docker --outdir <OUTDIR>).nextflow run . -profile debug,test,docker --outdir <OUTDIR>).docs/usage.mdis updated.docs/output.mdis updated.CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).