This is a test version of Biostars. For the public version, visit https://www.biostars.org.
[R] UpSetR - How to make UpSetPlot only show the highest level interactions?

I'm generating UpSetPlots with a large number of interactions (15 groups). There are several hundred interactions within that group. Consequently, when I try to plot that, it's a total mess.

I know how to reduce and increase the number of points shown, but when I reduce it, the plot only shows the lowest level interactions (i.e., overlap only between 2 or 3 groups are shown).

Can I rearrange it so it only shows overlap where, let's say, more than 12 of the 15 groups are present in that interaction?

r upsetr upsetplots

2 answers

I found the ComplexUpset package very handy when you have multiple interaction plots, you can choose which interaction you want to plot and it is easy to manually arrange your plot : https://krassowski.github.io/complex-upset/index.html

I ended up just brute-forcing it. I summed up the hits of all my interactions, then sorted that column largest to smallest and deleted all hits under a certain threshold.

It's pretty inelegant but it works in a pinch.

If anyone knows of any better alternatives, I'd appreciate the input.

Log in to answer this question.