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 peak-calling with Genrich (fix #108) and multi-mapping read analysis #331

Draft
wants to merge 19 commits into
base: dev
Choose a base branch
from

Conversation

samuelruizperez
Copy link

@samuelruizperez samuelruizperez commented Aug 22, 2023

This PR:


  1. Addresses issue Addition of peak-calling with Genrich #108:

    This version of the pipeline keeps the current pipeline structure the same but adds a separate "branch" for peak-calling with Genrich and its necessary up and downstream processes.

    NOTES:


  1. Adds a parameter --analyze_multimappers <Int> to include multimapping reads (secondary alignments) in Genrich's peak calling process (see Genrich#multimap). Currently, it only works with --aligner bowtie2 or --aligner star, the option with Chromap is a work in progress.

    For example, setting --analyze_multimappers 50, will run Bowtie2 with -k 50 (or STAR with --outFilterMultimapNmax 50 --winAnchorMultimapNmax 100) and Genrich with -s 50. This means the aligner will report 50 distinct valid alignments for each read, and Genrich will keep secondary alignments whose scores are within 50 of the best for peak calling.

    Secondary alignments will still be filtered out with samtools view -q 1 -F 4 -F 256 before calling peaks with MACS2 unless --keep_multi_map is set.

    NOTES:

    • I have tested --analyze_multimappers with all the test datasets without issues, but when using other experimental data I have found that the allocated resources for Bowtie2 alignment (withLabel:process_high) might not be enough. Usually, it runs out of time or memory. Perhaps we could set up a conditional label/process resource allocation when this parameter is used with Bowtie2?

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • Make sure your code lints (nf-core lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

I would really appreciate it if you could take a look at these changes. This is my first attempt at a contribution to nf-core, so please let me know if have made any basic mistakes or if I could do something better to follow the guidelines.

Thanks!

@samuelruizperez

@samuelruizperez samuelruizperez added enhancement New feature or request WIP Work in progress labels Aug 22, 2023
@github-actions
Copy link

github-actions bot commented Aug 22, 2023

nf-core lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 3f103dd

+| ✅ 156 tests passed       |+
!| ❗   3 tests had warnings |!

❗ Test warnings:

  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
  • system_exit - System.exit in WorkflowAtacseq.groovy: System.exit(1) [line 22]
  • system_exit - System.exit in WorkflowAtacseq.groovy: System.exit(1) [line 35]

✅ Tests passed:

Run details

  • nf-core/tools version 2.9
  • Run at 2023-09-08 13:01:36

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant