tidyomics / genomics-todos

0 stars 0 forks source link

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

Open mikelove opened 1 year ago

mikelove commented 1 year ago

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.

nahid18 commented 1 year ago

What should be the input options?

Should these be the plotting options?

Image

mikelove commented 1 year ago

I can sketch this out a bit more in a few days

Input is GRanges, output is a plot of those ranges in context of genes.

So it’s basically some sensible defaults and options to make this easy and part of EDA. You don’t want to have to go thru the level of detail laying out the plot as you do when making a journal figure

nahid18 commented 1 year ago

That sounds fun.

tbrittoborges commented 1 year ago

I am happy to give a try on this one.

mikelove commented 1 year ago

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

nahid18 commented 1 year ago

Is anyone working on this? @tbrittoborges @mikelove

mikelove commented 1 year ago

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

nahid18 commented 1 year ago

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

Thanks.

nahid18 commented 1 year ago

@mikelove can you kindly provide the pointers?

Thanks.

tbrittoborges commented 1 year ago

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

mikelove commented 1 year ago

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:

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 commented 1 year ago

Please also consider a more transcript level view.

mikelove commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Tagging also @dphansti and @EricSDavis

jaspitzer commented 3 months ago

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.