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

Adding single-read functionality to RAW and CLEAN #80

Open
wants to merge 97 commits into
base: harmon_fix_gh_actions_test
Choose a base branch
from

Conversation

simonleandergrimm
Copy link
Collaborator

@simonleandergrimm simonleandergrimm commented Oct 28, 2024

This PR adds support for single-read (single-end) sequencing data to the RAW and CLEAN stages of the pipeline while maintaining existing paired-end functionality. This allows the pipeline to process both single-end and paired-end sequencing data using the same workflow infrastructure.

Key Changes

  • Amended generate_samplesheet.sh so it can also take in single-read data.
  • Added the run_dev_se.nf workflow, which will be the workflow in which single-read functionality is added up until all steps of the pipeline have single-read functionality. At that point, we can replace run.nf with run_dev_se.nf.
  • Added read_type parameter ("single_end" or "paired_end") in run_dev_se.config to control pipeline behavior
  • Split FASTP process into FASTP_SINGLE and FASTP_PAIRED variants
  • Split TRUNCATE_CONCAT process into _SINGLE and _PAIRED variants
  • Edited RAW, CLEAN, QC, and HV_SCREEN subworkflows to either take in the single_end or paired_end version of processes.
    • Edited HV_SCREEN only because it would otherwise fail due to not identifying the fastp process correctly.
  • Updated bin/summarize-multiqc-single.R so it takes in a read-type variable, which triggers if/else branches throughout the script to change data processing accordingly.

Testing

I added test directories with example data for both single and paired-end cases

  • test-single-read/ - Contains single-end test data and configuration
  • test-paired-end/ - Contains paired-end test data and configuration

I validated the pipeline changes in this notebook: https://data.securebio.org/simons-notebook/posts/2024-10-24-mgs-single-read-eval/

…on. Renamed Multiqc to not be confusing regardings its naming as "Single"
… paired-end read version of SUMMARIZE_MULTIQC
… pair information for single read data. Also dropped some code which combines values across read pairs, for single read data.

I dropped the renaming of tab_tsv to tab_tsv_2 for paired end data, so I didn't have to create two different versions of the combine step at the end of the subscript.
```
 tab <- tab_json %>% inner_join(tab_tsv, by="sample")
```
…ead data, as I instead amended the existing script to be able to handle both single read paired end data.
…ad version. Renamed Multiqc to not be confusing regardings its naming as "Single""

This reverts commit 01ea0c5.
Copy link
Collaborator

@harmonbhasin harmonbhasin 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 think this is ready for Will.

@simonleandergrimm simonleandergrimm changed the base branch from dev to harmon_fix_gh_actions_test December 5, 2024 18:47
@harmonbhasin harmonbhasin self-requested a review December 9, 2024 15:23
Copy link
Collaborator

@harmonbhasin harmonbhasin left a comment

Choose a reason for hiding this comment

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

Left some feedback, looking overall pretty good.

.github/workflows/end-to-end.yml Outdated Show resolved Hide resolved
@@ -7,12 +7,15 @@ params {

// Directories
base_dir = "s3://nao-mgs-wb/test-batch" // Parent for working and output directories (can be S3)
ref_dir = "s3://nao-mgs-wb/index-20241113/output" // Reference/index directory (generated by index workflow)
ref_dir = "s3://nao-mgs-wb/index-20241113/output" // Reference/index directory (generated by index workflow)
Copy link
Collaborator

Choose a reason for hiding this comment

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

outdated index

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

waiting for Will to create new index.

test-data/nextflow.config Outdated Show resolved Hide resolved
workflows/run_dev_se.nf Outdated Show resolved Hide resolved
modules/local/fastp/main.nf Outdated Show resolved Hide resolved
Copy link
Collaborator

@harmonbhasin harmonbhasin left a comment

Choose a reason for hiding this comment

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

Make this update, then this looks good to me.

workflows/run_dev_se.nf Outdated Show resolved Hide resolved
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.

3 participants