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

fastq > cram using nf-core #17

Open
wants to merge 191 commits into
base: develop
Choose a base branch
from
Open

Conversation

ellendejong
Copy link
Collaborator

@ellendejong ellendejong commented Nov 19, 2024

What has changed?

DxNextflowRNA workflow to create a cram file (output) from fastq files (input).
Since this is a major refactor with current workflow in dev/main, the code review should focus on the new files instead of comparing the differences.

The branch name does not reflect the feature and is not conform our standards, I apologize. :)

Noteworthy in my opinion.

1. Main workflow

I defined two subworkflows;

  • fastq > cram (trimming, filter or rRNA, alignment, removal of duplicates, umi deduplication)
  • QC tools

workflow.OnComplete is responsible to send an email when workflow completed. I used nf-core functionality, which means emails differ from format compared to DxNextflowWES for example. This can be configured using templates, but is considered out-of-scope for v1.0.0.

CRAM output
If cram files will be used as input in follow-up analyses, the same reference files are required to be able to process cram files. Therefore, the reference files used to create the cram files are added to the multiqc report.

2. Naming conventions

I tried to use the naming conventions and guidelines of the nf-core community. As well as the code styling guidelines.
I decided that linting usingruff and pre-commit configuration will be part of future releases.

3. MultiQC

MultiQC is added to the main workflow, to enable a single report per analysis.
Sample grouping is used (available since MultiQC v1.25), although it is not supported for all tools used in this pipeline.

4. Reference files

Instructions to generate/download the required reference files are added to the README.md.

5. Dynamic resources

I used previous versions of the pipeline to calculate dynamic resources, since most tools are used in both pipelines. The current settings might need some tweaking over time.

6. SortMeRNA

SortMeRna is available as module in nf-core. However, I encountered a bug when using this tool. It appears I needed to update it to version >= 4.3.7. Solution: override container via modules.config. Once the update is available in nf-core, I should switch and remove the override again.

Index SortMeRNA.
Runtimes of SortMeRNA are optimized by creating a sortmerna index first. This is done by executing the tool with settings as configured SORTMERNA_INDEX. Convenietly, I created a workflow to do just that. I am not certain if I should add the workflow to this repo, or whether instructions in README.md would be sufficient. Please let me know your opinion :)

7. Completion email

Waiting for fix in nf-core/tools#3304.
Implemented the fixes locally (moved nf-core/utils_nfcore_pipeline to local).
Until pull-request with fix is merged, local implementation is required.

8. Considered out-of-scope for release v1.0.0

  • Email layout adjustments will be something for the future :)
  • docs (usage.md, output.md, README.md). Currently limited to either the template version created by nf-core tools or edited in case of necessary information only.

ellendejong and others added 30 commits December 6, 2023 13:52
@ellendejong ellendejong changed the title DxNextflowRNA fastq > cram using nf-core modules and (sub)workflows fastq > cram using nf-core Nov 19, 2024
@ellendejong ellendejong marked this pull request as draft November 27, 2024 11:04
@ellendejong ellendejong marked this pull request as ready for review December 17, 2024 08:13
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.

2 participants