dsl2 port
Continuation of https://github.com/nf-core/methylseq/pull/182 (now from a dedicated branch)
:warning: Breaking change:
The pipeline now requires a sample sheet to be passed to the pipeline with --input:
| sample | fastq_1 | fastq_2 | genome |
|---|
See an example here
The genome column is optional, --genome continues to work as well
Known issues:
- [x] ~workflow summary shows NAs~ -> (fixed by @ewels in https://github.com/nf-core/methylseq/pull/206)
- [x] ~
MultiQCreport is missing some data~ -> (fixed in 0fd1614) - [x] ~
-profile test_fullneeds asamplesheet.csv~ -> (fixed in https://github.com/nf-core/test-datasets/pull/232)
workflow summary shows NAs
Maybe you mean as described in https://github.com/nf-core/tools/issues/971 ? In which case, upstream fix is required.
Thanks for this update @phue ! It looks great 🎉 I did try this and found some errors/fixes
- Gives an error when few samples are single-end and others paired-end. Would be great if it can detect presence of second pair.
- Also, the output bam files in
deduplicatedfolder insidebismarkhas multiple files with namessample_id_1_val_1_bismark_bt2_pe.deduplicated.bamandsample_id.deduplicated.sorted.bam. It is bit confusing and would be great if you can only put the final bam files in. - There seems to be some error in $multicore variable in
modules/local/software/bismark/align/main.nf.. it seems to resolve when I remove that.
Cheers, R
Hi @rbpisupati,
thanks alot for testing this.
1. Gives an error when few samples are single-end and others paired-end. Would be great if it can detect presence of second pair.
Would you be able to share some more information on this? Where does the error occur exactly?
2. Also, the output bam files in `deduplicated` folder inside `bismark` has multiple files with names `sample_id_1_val_1_bismark_bt2_pe.deduplicated.bam` and `sample_id.deduplicated.sorted.bam` . It is bit confusing and would be great if you can only put the final bam files in.
Fixed in 5ad41fe (it copied both the sorted and the unsorted bam into the results directory. It should be enough to keep the former)
3. There seems to be some error in $multicore variable in `modules/local/software/bismark/align/main.nf` .. it seems to resolve when I remove that.
Fixed in df97fa1
If I remember correctly, it is trying to do paired-end mapping with filename null since file path isnt present in the samplesheet.csv.
If I remember correctly, it is trying to do paired-end mapping with filename
nullsince file path isnt present in thesamplesheet.csv.
I tried to reproduce it with this samplesheet but it works as expected. How does your samplesheet look like?
nf-core lint overall result: Passed :white_check_mark:
Posted for pipeline commit 3785c0b
+| ✅ 158 tests passed |+
:white_check_mark: Tests passed:
-
files_exist - File found:
.gitattributes -
files_exist - File found:
.gitignore -
files_exist - File found:
.nf-core.yml -
files_exist - File found:
.editorconfig -
files_exist - File found:
.prettierignore -
files_exist - File found:
.prettierrc.yml -
files_exist - File found:
CHANGELOG.md -
files_exist - File found:
CITATIONS.md -
files_exist - File found:
CODE_OF_CONDUCT.md -
files_exist - File found:
CODE_OF_CONDUCT.md -
files_exist - File found:
LICENSEorLICENSE.mdorLICENCEorLICENCE.md -
files_exist - File found:
nextflow_schema.json -
files_exist - File found:
nextflow.config -
files_exist - File found:
README.md -
files_exist - File found:
.github/.dockstore.yml -
files_exist - File found:
.github/CONTRIBUTING.md -
files_exist - File found:
.github/ISSUE_TEMPLATE/bug_report.yml -
files_exist - File found:
.github/ISSUE_TEMPLATE/config.yml -
files_exist - File found:
.github/ISSUE_TEMPLATE/feature_request.yml -
files_exist - File found:
.github/PULL_REQUEST_TEMPLATE.md -
files_exist - File found:
.github/workflows/branch.yml -
files_exist - File found:
.github/workflows/ci.yml -
files_exist - File found:
.github/workflows/linting_comment.yml -
files_exist - File found:
.github/workflows/linting.yml -
files_exist - File found:
assets/email_template.html -
files_exist - File found:
assets/email_template.txt -
files_exist - File found:
assets/sendmail_template.txt -
files_exist - File found:
assets/nf-core-methylseq_logo_light.png -
files_exist - File found:
conf/modules.config -
files_exist - File found:
conf/test.config -
files_exist - File found:
conf/test_full.config -
files_exist - File found:
docs/images/nf-core-methylseq_logo_light.png -
files_exist - File found:
docs/images/nf-core-methylseq_logo_dark.png -
files_exist - File found:
docs/output.md -
files_exist - File found:
docs/README.md -
files_exist - File found:
docs/README.md -
files_exist - File found:
docs/usage.md -
files_exist - File found:
lib/nfcore_external_java_deps.jar -
files_exist - File found:
lib/NfcoreSchema.groovy -
files_exist - File found:
lib/NfcoreTemplate.groovy -
files_exist - File found:
lib/Utils.groovy -
files_exist - File found:
lib/WorkflowMain.groovy -
files_exist - File found:
main.nf -
files_exist - File found:
assets/multiqc_config.yml -
files_exist - File found:
conf/base.config -
files_exist - File found:
conf/igenomes.config -
files_exist - File found:
.github/workflows/awstest.yml -
files_exist - File found:
.github/workflows/awsfulltest.yml -
files_exist - File found:
lib/WorkflowMethylseq.groovy -
files_exist - File found:
modules.json -
files_exist - File found:
pyproject.toml -
files_exist - File not found check:
Singularity -
files_exist - File not found check:
parameters.settings.json -
files_exist - File not found check:
.nf-core.yaml -
files_exist - File not found check:
bin/markdown_to_html.r -
files_exist - File not found check:
conf/aws.config -
files_exist - File not found check:
.github/workflows/push_dockerhub.yml -
files_exist - File not found check:
.github/ISSUE_TEMPLATE/bug_report.md -
files_exist - File not found check:
.github/ISSUE_TEMPLATE/feature_request.md -
files_exist - File not found check:
docs/images/nf-core-methylseq_logo.png -
files_exist - File not found check:
.markdownlint.yml -
files_exist - File not found check:
.yamllint.yml -
files_exist - File not found check:
lib/Checks.groovy -
files_exist - File not found check:
lib/Completion.groovy -
files_exist - File not found check:
lib/Workflow.groovy -
files_exist - File not found check:
.travis.yml -
nextflow_config - Config variable found:
manifest.name -
nextflow_config - Config variable found:
manifest.nextflowVersion -
nextflow_config - Config variable found:
manifest.description -
nextflow_config - Config variable found:
manifest.version -
nextflow_config - Config variable found:
manifest.homePage -
nextflow_config - Config variable found:
timeline.enabled -
nextflow_config - Config variable found:
trace.enabled -
nextflow_config - Config variable found:
report.enabled -
nextflow_config - Config variable found:
dag.enabled -
nextflow_config - Config variable found:
process.cpus -
nextflow_config - Config variable found:
process.memory -
nextflow_config - Config variable found:
process.time -
nextflow_config - Config variable found:
params.outdir -
nextflow_config - Config variable found:
params.input -
nextflow_config - Config variable found:
params.show_hidden_params -
nextflow_config - Config variable found:
params.schema_ignore_params -
nextflow_config - Config variable found:
manifest.mainScript -
nextflow_config - Config variable found:
timeline.file -
nextflow_config - Config variable found:
trace.file -
nextflow_config - Config variable found:
report.file -
nextflow_config - Config variable found:
dag.file -
nextflow_config - Config variable (correctly) not found:
params.version -
nextflow_config - Config variable (correctly) not found:
params.nf_required_version -
nextflow_config - Config variable (correctly) not found:
params.container -
nextflow_config - Config variable (correctly) not found:
params.singleEnd -
nextflow_config - Config variable (correctly) not found:
params.igenomesIgnore -
nextflow_config - Config variable (correctly) not found:
params.name -
nextflow_config - Config
timeline.enabledhad correct value:true -
nextflow_config - Config
report.enabledhad correct value:true -
nextflow_config - Config
trace.enabledhad correct value:true -
nextflow_config - Config
dag.enabledhad correct value:true -
nextflow_config - Config
manifest.namebegan withnf-core/ -
nextflow_config - Config variable
manifest.homePagebegan with https://github.com/nf-core/ -
nextflow_config - Config
dag.fileended with.html -
nextflow_config - Config variable
manifest.nextflowVersionstarted with >= or !>= -
nextflow_config - Config
manifest.versionends indev:'2.0dev' -
nextflow_config - Config
params.custom_config_versionis set tomaster -
nextflow_config - Config
params.custom_config_baseis set tohttps://raw.githubusercontent.com/nf-core/configs/master - nextflow_config - Lines for loading custom profiles found
-
files_unchanged -
.gitattributesmatches the template -
files_unchanged -
.prettierrc.ymlmatches the template -
files_unchanged -
CODE_OF_CONDUCT.mdmatches the template -
files_unchanged -
LICENSEmatches the template -
files_unchanged -
.github/.dockstore.ymlmatches the template -
files_unchanged -
.github/CONTRIBUTING.mdmatches the template -
files_unchanged -
.github/ISSUE_TEMPLATE/bug_report.ymlmatches the template -
files_unchanged -
.github/ISSUE_TEMPLATE/config.ymlmatches the template -
files_unchanged -
.github/ISSUE_TEMPLATE/feature_request.ymlmatches the template -
files_unchanged -
.github/PULL_REQUEST_TEMPLATE.mdmatches the template -
files_unchanged -
.github/workflows/branch.ymlmatches the template -
files_unchanged -
.github/workflows/linting_comment.ymlmatches the template -
files_unchanged -
.github/workflows/linting.ymlmatches the template -
files_unchanged -
assets/email_template.htmlmatches the template -
files_unchanged -
assets/email_template.txtmatches the template -
files_unchanged -
assets/sendmail_template.txtmatches the template -
files_unchanged -
assets/nf-core-methylseq_logo_light.pngmatches the template -
files_unchanged -
docs/images/nf-core-methylseq_logo_light.pngmatches the template -
files_unchanged -
docs/images/nf-core-methylseq_logo_dark.pngmatches the template -
files_unchanged -
docs/README.mdmatches the template -
files_unchanged -
lib/nfcore_external_java_deps.jarmatches the template -
files_unchanged -
lib/NfcoreSchema.groovymatches the template -
files_unchanged -
lib/NfcoreTemplate.groovymatches the template -
files_unchanged -
.gitignorematches the template -
files_unchanged -
.prettierignorematches the template -
files_unchanged -
pyproject.tomlmatches the template - actions_ci - '.github/workflows/ci.yml' is triggered on expected events
- actions_ci - '.github/workflows/ci.yml' checks minimum NF version
- actions_awstest - '.github/workflows/awstest.yml' is triggered correctly
-
actions_awsfulltest -
.github/workflows/awsfulltest.ymlis triggered correctly -
actions_awsfulltest -
.github/workflows/awsfulltest.ymldoes not use-profile test -
readme - README Nextflow minimum version badge matched config. Badge:
21.10.3, Config:21.10.3 -
readme - README Nextflow minimum version in Quick Start section matched config. README:
21.10.3, Config:21.10.3 - pipeline_todos - No TODO strings found
- pipeline_name_conventions - Name adheres to nf-core convention
- template_strings - Did not find any Jinja template strings (116 files)
- schema_lint - Schema lint passed
- schema_lint - Schema title + description lint passed
- schema_lint - Input mimetype lint passed: 'text/csv'
- schema_params - Schema matched params returned from nextflow config
- actions_schema_validation - Workflow validation passed: awsfulltest.yml
- actions_schema_validation - Workflow validation passed: ci.yml
- actions_schema_validation - Workflow validation passed: linting.yml
- actions_schema_validation - Workflow validation passed: linting_comment.yml
- actions_schema_validation - Workflow validation passed: fix-linting.yml
- actions_schema_validation - Workflow validation passed: branch.yml
- actions_schema_validation - Workflow validation passed: awstest.yml
- merge_markers - No merge markers found in pipeline files
-
modules_json - Only installed modules found in
modules.json - multiqc_config - 'assets/multiqc_config.yml' follows the ordering scheme of the minimally required plugins.
- multiqc_config - 'assets/multiqc_config.yml' contains a matching 'report_comment'.
- multiqc_config - 'assets/multiqc_config.yml' contains 'export_plots: true'.
- modules_structure - modules directory structure is correct 'modules/nf-core/TOOL/SUBTOOL'
Run details
- nf-core/tools version 2.6
- Run at
2022-11-03 23:43:18
Ack, I tried to bring this DSL2 branch back up to date with dev, but now tests are failing and I have no idea why 😰
@phue / anyone else have some time to look at this?
ok I started trying to bring this up to date in https://github.com/nf-core/methylseq/pull/222
I did it as a PR to the dsl2 branch so that I / others can see the changes I've made to the original work from @phue. Hopefully once I get that working we can then move through the remaining PRs to a release relatively quickly.
I think (hope) this is ready to merge into dev. I did make one substantial plumbing change - for the bismark workflow, I elected to sort the bam immediately after mapping. This mirrors the bwa-meth workflow and seems to make everything a bit more consistent. Also, this ensures that preseq receives sorted bam
Hi @njspix,
thanks a bunch for picking this up and pushing it forward, great job!
Though I have to say I'm not particularly happy with the fact that the "one-sample-one-genome"-functionality that I put in to address https://github.com/nf-core/methylseq/issues/181 was lost along the way, I think we had agreed to disagree on that one (x-ref https://github.com/nf-core/modules/pull/129#issuecomment-774755102 https://github.com/nf-core/methylseq/pull/222#issuecomment-961871739).
I have a more serious concern however, about the changes made to the bismark workflow:
If I remember correctly, the bismark tooling requires the bam file to be name-sorted, i.e bismark-methylation-extractor requires paired-end reads to consecutively follow each other in the input bam.
Did you test this on full-sized paired-end data (ideally with and without deduplication) ?
@phue Thanks for reviewing! I am sorry about the per-sample genome functionality, I figured it was probably best to at least start with just basic functionality for a first release. I would be happy to help add in that feature later (I had some ideas about how to structure the channels so we wouldn't have to patch the aligner modules).
Thanks for raising the concern about bismark name sorting. I'll check and make sure.
Yup, Bismark needs BAMs to be sorted by name: https://github.com/FelixKrueger/Bismark/tree/master/Docs#iii-bismark-deduplication-step
I also am partly to blame for dropping the per-sample functionality. I was pushing to not have local copies and made some headway with building new tooling to support patched versions of central modules. But life happened and I never finished it (maybe something else that I can delegate to @mirpedrol at some point!).
Let's keep it as a high priority to add in ASAP via either my or @njspix method. But for now the top priority must be DSL2 conversion and release I think 👍🏻
Don't get me wrong I'm not blaming anyone here, I think what happened is that it got decided by popular vote a while ago. So fine with me, although I would have liked to see that functionality.
Maybe it will come up in other pipelines as well at some point and the necessary changes will make it to nf-core modules so it can be easily added back here (without the need for local modules to implement it)
If we're making a wishlist, I'd love to handle different kits in the same workflow run! :grin: I think the samplesheet opens up for this in the future.
On the topic of #181, maybe we could add the additional fasta functionality in rnaseq. I cat'd them together manually ahead of time to make a reference.
Yup, Bismark needs BAMs to be sorted by name: https://github.com/FelixKrueger/Bismark/tree/master/Docs#iii-bismark-deduplication-step
The previous commits correct this, and also a plumbing issue that was causing preseq to fail.
I also added in the trim_nexseq flag just for funsies...
Let's do it! :shipit:
