methylseq
methylseq copied to clipboard
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] ~
MultiQC
report is missing some data~ -> (fixed in 0fd1614) - [x] ~
-profile test_full
needs 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
deduplicated
folder insidebismark
has multiple files with namessample_id_1_val_1_bismark_bt2_pe.deduplicated.bam
andsample_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
null
since 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:
LICENSE
orLICENSE.md
orLICENCE
orLICENCE.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.enabled
had correct value:true
-
nextflow_config - Config
report.enabled
had correct value:true
-
nextflow_config - Config
trace.enabled
had correct value:true
-
nextflow_config - Config
dag.enabled
had correct value:true
-
nextflow_config - Config
manifest.name
began withnf-core/
-
nextflow_config - Config variable
manifest.homePage
began with https://github.com/nf-core/ -
nextflow_config - Config
dag.file
ended with.html
-
nextflow_config - Config variable
manifest.nextflowVersion
started with >= or !>= -
nextflow_config - Config
manifest.version
ends indev
:'2.0dev'
-
nextflow_config - Config
params.custom_config_version
is set tomaster
-
nextflow_config - Config
params.custom_config_base
is set tohttps://raw.githubusercontent.com/nf-core/configs/master
- nextflow_config - Lines for loading custom profiles found
-
files_unchanged -
.gitattributes
matches the template -
files_unchanged -
.prettierrc.yml
matches the template -
files_unchanged -
CODE_OF_CONDUCT.md
matches the template -
files_unchanged -
LICENSE
matches the template -
files_unchanged -
.github/.dockstore.yml
matches the template -
files_unchanged -
.github/CONTRIBUTING.md
matches the template -
files_unchanged -
.github/ISSUE_TEMPLATE/bug_report.yml
matches the template -
files_unchanged -
.github/ISSUE_TEMPLATE/config.yml
matches the template -
files_unchanged -
.github/ISSUE_TEMPLATE/feature_request.yml
matches the template -
files_unchanged -
.github/PULL_REQUEST_TEMPLATE.md
matches the template -
files_unchanged -
.github/workflows/branch.yml
matches the template -
files_unchanged -
.github/workflows/linting_comment.yml
matches the template -
files_unchanged -
.github/workflows/linting.yml
matches the template -
files_unchanged -
assets/email_template.html
matches the template -
files_unchanged -
assets/email_template.txt
matches the template -
files_unchanged -
assets/sendmail_template.txt
matches the template -
files_unchanged -
assets/nf-core-methylseq_logo_light.png
matches the template -
files_unchanged -
docs/images/nf-core-methylseq_logo_light.png
matches the template -
files_unchanged -
docs/images/nf-core-methylseq_logo_dark.png
matches the template -
files_unchanged -
docs/README.md
matches the template -
files_unchanged -
lib/nfcore_external_java_deps.jar
matches the template -
files_unchanged -
lib/NfcoreSchema.groovy
matches the template -
files_unchanged -
lib/NfcoreTemplate.groovy
matches the template -
files_unchanged -
.gitignore
matches the template -
files_unchanged -
.prettierignore
matches the template -
files_unchanged -
pyproject.toml
matches 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.yml
is triggered correctly -
actions_awsfulltest -
.github/workflows/awsfulltest.yml
does 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: