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

New package idea, facilitate easily: genomic ranges |> filter_by_overlaps(window) |> plotgardener or Gviz #5

Open
mikelove opened this issue Jul 27, 2023 · 18 comments
Assignees
Labels
good first issue Good for newcomers

Comments

@mikelove
Copy link
Member

mikelove commented Jul 27, 2023

See here for an example of plotgardener for ranges:

https://tidybiology.github.io/tidy-ranges-tutorial/gene-plots.html

It would be nice to hide away some of the layout code in a function, so this could be more a part of an EDA workflow.

@mikelove mikelove added the good first issue Good for newcomers label Jul 27, 2023
@nahid18
Copy link
Member

nahid18 commented Jul 27, 2023

What should be the input options?

Should these be the plotting options?

Image

@mikelove
Copy link
Member Author

mikelove commented Jul 27, 2023 via email

@nahid18
Copy link
Member

nahid18 commented Jul 27, 2023

That sounds fun.

@tbrittoborges
Copy link

I am happy to give a try on this one.

@mikelove
Copy link
Member Author

Sure feel free to assign yourself and start a repo, post URL here. I’m happy to give feedback

@mikelove mikelove transferred this issue from tidyomics/tidy-ranges-tutorial Aug 15, 2023
@nahid18
Copy link
Member

nahid18 commented Aug 28, 2023

Is anyone working on this? @tbrittoborges @mikelove

@mikelove
Copy link
Member Author

I'm not, I can give a few pointers to anyone that wants to

@nahid18
Copy link
Member

nahid18 commented Aug 28, 2023

@tbrittoborges, if you don't want to work on this, I can give it a shot. Although, I am not much experienced.

Thanks.

@nahid18
Copy link
Member

nahid18 commented Aug 29, 2023

@mikelove can you kindly provide the pointers?

Thanks.

@tbrittoborges
Copy link

Hi, @nahid18, sorry I am in a different time-zone it seems. Please go ahead.

@mikelove
Copy link
Member Author

mikelove commented Aug 29, 2023

Sure, so often it is useful to quickly plot some ranges. I'm imagining of a function foobar (made up name) that would be used like:

foobar(<GRanges>)

And would allow some simple customization. What might go on inside the function is:

  • plot the ranges using plotgardener (see here) with some reasonable default settings, if the ranges aren't restricted to one chromosome, maybe the user can specify which chromosome
  • optionally color the ranges using a score (pulling from mcols(ranges) -- plotgardener has some slick code for doing this, e.g. check this code chunk
  • optionally plot the genes or transcripts in the locus

While plotgardener is great for laying out plots for manuscripts, I'm thinking there is an in-between use case for interactive plotting of ranges, where you wouldn't have to specify the absolute positions, but that would be handled by this convenience function.

@nekramer @EricSDavis any other thoughts or suggestions?

@tbrittoborges
Copy link

Please also consider a more transcript level view.

@mikelove
Copy link
Member Author

Sorry, I should have been more clear, you can also easily plot transcripts with plotgardener instead of genes. This would be good to support here.

@nahid18
Copy link
Member

nahid18 commented Aug 29, 2023

@mikelove just started a repo for this https://github.com/nahid18/easyplot
I am new to plotgardener and will learn a lot exploring different plots and datasets.
Anyone else is also welcome to contribute.

@nekramer
Copy link

Love the idea of a convenience function for this! The only other thing I would add to consider when building this is adjusting things like boxHeight, spaceWidth, and spaceHeight with reasonable defaults based on the overall size of the plot you make with this function. This would be good for maximizing the number of ranges/transcripts you can fit in the space so it could work for a variety of dataset sizes without too much fuss. I'd be happy to provide any help in your repo @nahid18.

@nahid18
Copy link
Member

nahid18 commented Aug 29, 2023

Love the idea of a convenience function for this! The only other thing I would add to consider when building this is adjusting things like boxHeight, spaceWidth, and spaceHeight with reasonable defaults based on the overall size of the plot you make with this function. This would be good for maximizing the number of ranges/transcripts you can fit in the space so it could work for a variety of dataset sizes without too much fuss. I'd be happy to provide any help in your repo @nahid18.

Thank you so much! I need to go through the documentation thoroughly.

@mikelove
Copy link
Member Author

mikelove commented Sep 3, 2023

Tagging also @dphansti and @EricSDavis

@jaspitzer
Copy link

Hi, just wanted to check whats the status on this so far? Looks interesting and like something I might like to try my hand at - but I'm not very experienced with package development.
The posted repo seems fairly empty to far... Not trying to throw shade, just want to make sure I don't do work other people have already done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
Status: Todo
Development

No branches or pull requests

5 participants