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

Add store_bdg, SPMR, broad parameters for calling peaks using MACS3 #329

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

beyondpie
Copy link
Collaborator

Hi Kai,

I add three parameters for peak calling.

  1. On bed graph generation:

    • SPMR and store_bdg, I open the two parameters since we notice that MACS2/3 can generate the smoothed bedgraphs for our later deep learning model usage.
  2. On broad peak calling:

    • add broad to allow broad peak calling. We typically use this for broad peak calling on some histone modifications.

But I am not sure if this is enough for the peak calling function since I notice that you actually have a rust layer for the real task.
Another question I have: there is nomodel parameter in the list. According the MACS3 README, it seems to be needed for extsize parameter.

By default, I set all of them false in order to keep the default behavior of your function.

Thanks!
Songpeng

@kaizhang
Copy link
Owner

Thanks for the pull request!

  1. I suggest remove store_bdg, SPMR. And implement bedgraph smoothing in https://kzhang.org/SnapATAC2/api/_autosummary/snapatac2.ex.export_coverage.html. This should be easy.
  2. Have you check if the broad peaks called by macs3 and snapatac2 agree with each other?

@beyondpie
Copy link
Collaborator Author

beyondpie commented Aug 28, 2024

Hi Kai,
Thanks for your suggestions!

  1. I will give it a look. In MACS2/3, it allows us to shift and extend the fragments, not sure if your function of export_coverage support this. I think this is the main reason why we choose MACS2, otherwise, deepTools or bedtools also provide the generation of tracks with more parameters.

  2. I did not use SnapATAC2 for peak calling later since in our current pipeline, we use bam files to directly call peaks. But Johnny(@zwang0715) recently used SnapATAC2 for peak calling. Maybe he can give us some comments here.
    BTW, is the parameter nomodel used in your peak calling pipeline?

Thanks!
Songpeng

@kaizhang
Copy link
Owner

kaizhang commented Sep 2, 2024

yes, nomodel is used

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