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

Dev compute matrix strand 20220301 #1128

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

joshtburdick
Copy link

Welcome to deepTools GitHub repository! Please check the following regarding
your pull request :

  • Does the PR contain new feature?
  • Does the PR contain bugfix?
  • Does the PR contain documentation changes?
  • Does the PR contain changes to the galaxy wrapper?

This is my sketch of a way of allowing computeMatrix to deal with stranded pairs of bigWig files (e.g. "...forw.bw" & "...rev.bw"), without having to run it for each strand.

Please note that this is much more a "concrete suggestion" than a stable feature. I haven't added Travis tests; indeed, I haven't sent any pull requests before, to anything.

It adds a class, pyBigWigStranded, which is just a wrapper for a pair of pyBigWig objects. (It might well make sense for this to be part of pyBigWig, but I wasn't sure how to do that.) Having done that, the main other changes to computeMatrix are that:

  • I sketched a command-line option for what names to use for stranded pairs. For things like RNA-seq / PRO-seq data, I've seen .forw.bw & .rev.bw, or .p.bw & .m.bw, or .pl.bw & .mn.bw, or .plus.bw & .minus.bw . So I like the idea of "the user gives the + strand file, and deepTools guesses the - strand file". I realize that may be too complicated.
  • the computeMatrix code guesses whether a file is stranded or not, based on the name, and either creates a regular pyBigWig object, or a pyBigWigStranded object
  • the inner loop just uses whichever object; if the file is stranded, the pyBigWigStranded object forwards the .values() call to the pyBigWig object for that strand

Again, to reiterate: this is very much a sketch, but to me it seems possibly convenient.

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.

4 participants