New Skyrails Release : The Interactorium

378 views
Skip to first unread message

Yose Widjaja

unread,
Apr 15, 2009, 10:54:11 AM4/15/09
to skyrail...@googlegroups.com, skyr...@googlegroups.com
Hello All,

I've just finished the work on the latest release of Skyrails, but it's not really a release for Skyrails. Rather, it's a tool for biological visualization of the Yeast Interactome. Proper Skyrails release will follow after I clear up which data I can distribute and which can't, and once I clean stuff up..

For those that has no biology background (I didn't too, before I started working on this), basically proteins are the little molecular machines which makes the cells in your body (and animal bodies, bacterias etc) work. Decades of research have produced plenty of data regarding these little molecular machines and how they interact, but there's just so many of them. So people started making protein-protein interaction graphs out of these.

Here, the Interactorium integrates localization information (aka compartments, such as nucleus, nucleolus, bud, mitochondrion) into the visualization. Probably the best way to know is to look at the video:
http://www.youtube.com/watch?v=WTHtYZcH6fk

Flickr photoset:
http://www.flickr.com/photos/14933315@N05/sets/72157610707590708/

Download here:
http://www.cse.unsw.edu.au/~wyos/interactorium/interactoriumdist.zip

Also, you probably need a fast computer for this, if you want to have a good experience. There's 4000 nodes being displayed all at once (actually a bit more than that, when you count the complexes as a node themselves).

Please tell me what you think.

Cheers

--
-- -- -- -- -- -- -- -- -- -- -- -- -- --
Yose Widjaja
CEO @ Jormy Games
www.jormy.com
yo...@y0se.com
-- -- -- -- -- -- -- -- -- -- -- -- -- --

jeffg

unread,
Apr 16, 2009, 9:02:54 AM4/16/09
to skyrails-public
Pure awesomeness!!!
> y...@y0se.com

Yose Widjaja

unread,
Apr 16, 2009, 9:07:00 AM4/16/09
to skyrail...@googlegroups.com
Thanks! Did it work in your computer? (I'm guessing it did)

As it happens we just discovered some flaws in the grouping algos and data sources, and I'm going to fix it tonight..
yo...@y0se.com

dolphin 278

unread,
Apr 16, 2009, 9:08:06 AM4/16/09
to skyrail...@googlegroups.com, skyr...@googlegroups.com
looks really awesome!!
---------
Boris Egorov
skype/gtalk/nickname: dolphin278
mobile: +7 905 728 1543

jeffg

unread,
Apr 16, 2009, 9:55:56 AM4/16/09
to skyrails-public
I'm on my mac at the moment so I didn't give it a try yet, just
watched the video. But I might just wait for the general release,
since I have no particular interest in the bio stuff.

- Jeff
> >http://www.cse.unsw.edu.au/~wyos/interactorium/interactoriumdist.zip<http://www.cse.unsw.edu.au/%7Ewyos/interactorium/interactoriumdist.zip>

Szymon Malinowski

unread,
Apr 16, 2009, 9:27:11 PM4/16/09
to skyrail...@googlegroups.com
2009/4/15 Yose Widjaja <yo...@jormy.com>

Also, you probably need a fast computer for this, if you want to have a good experience. There's 4000 nodes being displayed all at once (actually a bit more than that, when you count the complexes as a node themselves).

Great job!
I've got around 15 fps on my laptop (Acer Aspire 7720Z with 1.46 Pentium DualCore and GeForce 8400M).
It's a bit slow but I can still play with it a bit.

Regards
Szymon Malinowski

Yose Widjaja

unread,
Apr 16, 2009, 9:32:47 PM4/16/09
to skyrail...@googlegroups.com
Awesome, thanks for the info. I have two computers, one windows and one linux, both with the same spec except for the GFX cards. The windows one (with a 9500) runs a bit slower than the linux one (with 9800), and I didn't know the GFX cards would have made so much of a difference..

Would be great to get feedback from those with fast high-end windows computers..

Szymon Malinowski

unread,
Apr 16, 2009, 10:13:38 PM4/16/09
to skyrail...@googlegroups.com
2009/4/17 Yose Widjaja <ywi...@gmail.com>

Awesome, thanks for the info. I have two computers, one windows and one linux, both with the same spec except for the GFX cards. The windows one (with a 9500) runs a bit slower than the linux one (with 9800), and I didn't know the GFX cards would have made so much of a difference..

Would be great to get feedback from those with fast high-end windows computers..

I will check it later on my desktop, and let you know how fast it is running there.

Szymon Malinowski

jeffg

unread,
Apr 17, 2009, 8:55:04 AM4/17/09
to skyrails-public
Yose, I was wondering what prevents skyrails from scaling higher (what
is the performance bottleneck)? While being able to handle 5,000 -
10,000 objects places it equal with most graph programs, there are
several out there that can do 1,000,000 or more objects. The first
thought would be the graphics, but I've been playing with graphing
development and have been able easily handle 500,000 nice
multitextured nodes on my laptop, spinning around in 3d space. So
from what I can tell, high quality gamer graphics are not the main
issue. My performance problems come in when I try to apply physics to
that many objects - I can't find a way to do that efficiently in real
time. So I've been utilizing a precomputed layout. Is this what
limits skyrails? Could it scale higher, if the positions were
precomputed and physics was disabled?

On Apr 16, 9:32 pm, Yose Widjaja <ywid...@gmail.com> wrote:
> Awesome, thanks for the info. I have two computers, one windows and one
> linux, both with the same spec except for the GFX cards. The windows one
> (with a 9500) runs a bit slower than the linux one (with 9800), and I didn't
> know the GFX cards would have made so much of a difference..
>
> Would be great to get feedback from those with fast high-end windows
> computers..
>
> On Fri, Apr 17, 2009 at 11:27 AM, Szymon Malinowski <szymon...@gmail.com>wrote:
>
>
>
> > 2009/4/15 Yose Widjaja <y...@jormy.com>
>
> >> Also, you probably need a fast computer for this, if you want to have a
> >> good experience. There's 4000 nodes being displayed all at once (actually a
> >> bit more than that, when you count the complexes as a node themselves).
>
> > Great job!
> > I've got around 15 fps on my laptop (Acer Aspire 7720Z with 1.46 Pentium
> > DualCore and GeForce 8400M).
> > It's a bit slow but I can still play with it a bit.
>
> > Regards
> > Szymon Malinowski
>
> --
> -- -- -- -- -- -- -- -- -- -- -- -- -- --
> Yose Widjaja
> CEO @ Jormy Gameswww.jormy.com
> y...@y0se.com

Yose Widjaja

unread,
Apr 17, 2009, 10:11:10 AM4/17/09
to skyrail...@googlegroups.com
Well, there's a few answers to that.. but what program are you talking about that can handle 500k multitextured nodes?

First, my guess is that those programs that can do 1mil nodes are probably static 2D ones that don't need recalculation all the time for the node positioning, and since they stand still, one could take snapshots of the graph (so it's only drawn once). When that happens, layouting won't even need to be worried about, and drawing would be done only when they're out of range..

As for the bottleneck, it probably is the layout engine. I just tried enabling all the edges in the interactorium (the cell version), and then running through them with and without the layout engine.

A while ago I actually made an optimisation to the layout engine, which didn't change any algorithms, but rather to put all the layout calculation data into a memory pool as opposed to their own objects. What surprised me was that this led to a huge improvement in speed (of the layout engine).

If the positions are precomputed, Skyrails can scale pretty high, but then the graphics will become the bottleneck. I did some view culling, but they're nothing special, it just works. Things like putting the edges in a vertex array or a display list won't work though, since the nodes and edges are billboards which need recalculation when the positions change.

I'm thinking of playing with those CUDA things for layout calculation, but it looks like integrating it will be messy.
yo...@y0se.com

Jeff G

unread,
Apr 17, 2009, 11:10:56 AM4/17/09
to skyrail...@googlegroups.com
Yose, The program that I described that can handle 500k multitextured nodes in interactive 3d is one I developed myself, and is not available (and unfortunately never will be since I developed it on company time and its for private use).  I got up to 600k @ 60fps (full screen resolution) before my laptop graphics card started to decrease below my vsync (1mil took me down to 15fps).  Right now I'm running a test with around 30,000 edges and 20,000 nodes, which are all visible (I cull the text labels).  I'm also able to do 3d picking on them, bring up menus, highlight paths, etc.  It's not as visually impressive and complete as Skyrails, but the scaling limitations of Skyrails removed it as an option for me (and since it's not open I couldn't improve on it).

You have to do things on the video card to get that type of performance (vertex arrays, VBO, display lists).  I overcame the billboarding by using GLSL shaders, which significantly boosted performance and removed the rotation issues.  At the moment, the only thing I have to manually rotate is the labels (and I reduce this to only what is in a good viewable range).

Yose Widjaja

unread,
Apr 18, 2009, 2:08:55 AM4/18/09
to skyrail...@googlegroups.com
Hmm, interesting.. billboarding using GLSL, I might give that a try. I'll see what I can do with improving scalability. From this conversation I actually got an idea :D

Curiously, what kind of data have you been visualizing? Also, did 600k nodes imply a similar amount of edges? That'd be a bit more taxing to visualize I'd guess.

As for opening skyrails up, well, there's 50,000 lines of C++ code there that I coded throughout the years. I have a feeling opening them will take a huge amount of effort.. and a messy one at that.

Jeff G

unread,
Apr 18, 2009, 9:51:05 AM4/18/09
to skyrail...@googlegroups.com
When I was testing the 600k (which were randomly placed with random labels), that was just nodes, no edges.  So, yes, that would decrease it a bit, but at the moment I'm not applying textures to my edges.  I'm just using a display list, line width of 2 (colored per category), when a node is selected, connected edges have additional lines applied to give them a glowing effect.  So I don't make a ton of calls to the video card. For the nodes, I'm using a display list and apply my textures to a quad, but I think I should be able to get better performance possibly with using VBO and point sprites.  Haven't gotten there yet.  The data that I'm currently viewing is related to botnets and phishing.

Yose Widjaja

unread,
Apr 18, 2009, 10:05:04 AM4/18/09
to skyrail...@googlegroups.com
Ah, botnet visualization. Is it possible to summarise the data so that instead of drawing large numbers of nodes, you'd just visualize grouped clusters of them?

Is this how the data currently look like? http://www.impactlab.com/wp-content/uploads/2008/04/botnet-attack.jpg

Also, is it possible to monitor botnets in real time? I guess you probably have to own the botnet ;) I'd love to make a real-time monitor of botnets, so the thing from http://xkcd.com/350/ can come true.. heh

jeffg

unread,
Apr 20, 2009, 10:57:12 AM4/20/09
to skyrails-public
I would like to do summarization so I can group the data, but likely
as a means to add more data and make important relationships stand
out. I love how skyrails is able to group and focus on a group or
category - an outstanding feature.

I may end up with a picture that looks like the one you provided, but
I'm trying to get a layout that spaces things far enough apart that I
don't end up with a massive cluster. I'm also keeping the alpha on
the lines fairly transparent. I figure I'm working in an infinite
virtual space, why bunch things up.

On Apr 18, 10:05 am, Yose Widjaja <ywid...@gmail.com> wrote:
> Ah, botnet visualization. Is it possible to summarise the data so that
> instead of drawing large numbers of nodes, you'd just visualize grouped
> clusters of them?
>
> Is this how the data currently look like?http://www.impactlab.com/wp-content/uploads/2008/04/botnet-attack.jpg
>
> Also, is it possible to monitor botnets in real time? I guess you probably
> have to own the botnet ;) I'd love to make a real-time monitor of botnets,
> so the thing fromhttp://xkcd.com/350/can come true.. heh
>
>
>
> On Sat, Apr 18, 2009 at 11:51 PM, Jeff G <jeffgem...@gmail.com> wrote:
> > When I was testing the 600k (which were randomly placed with random
> > labels), that was just nodes, no edges.  So, yes, that would decrease it a
> > bit, but at the moment I'm not applying textures to my edges.  I'm just
> > using a display list, line width of 2 (colored per category), when a node is
> > selected, connected edges have additional lines applied to give them a
> > glowing effect.  So I don't make a ton of calls to the video card. For the
> > nodes, I'm using a display list and apply my textures to a quad, but I think
> > I should be able to get better performance possibly with using VBO and point
> > sprites.  Haven't gotten there yet.  The data that I'm currently viewing is
> > related to botnets and phishing.
>
> > On Sat, Apr 18, 2009 at 2:08 AM, Yose Widjaja <ywid...@gmail.com> wrote:
>
> >> Hmm, interesting.. billboarding using GLSL, I might give that a try. I'll
> >> see what I can do with improving scalability. From this conversation I
> >> actually got an idea :D
>
> >> Curiously, what kind of data have you been visualizing? Also, did 600k
> >> nodes imply a similar amount of edges? That'd be a bit more taxing to
> >> visualize I'd guess.
>
> >> As for opening skyrails up, well, there's 50,000 lines of C++ code there
> >> that I coded throughout the years. I have a feeling opening them will take a
> >> huge amount of effort.. and a messy one at that.
>
> >> On Sat, Apr 18, 2009 at 1:10 AM, Jeff G <jeffgem...@gmail.com> wrote:
>
> >>> Yose, The program that I described that can handle 500k multitextured
> >>> nodes in interactive 3d is one I developed myself, and is not available (and
> >>> unfortunately never will be since I developed it on company time and its for
> >>> private use).  I got up to 600k @ 60fps (full screen resolution) before my
> >>> laptop graphics card started to decrease below my vsync (1mil took me down
> >>> to 15fps).  Right now I'm running a test with around 30,000 edges and 20,000
> >>> nodes, which are all visible (I cull the text labels).  I'm also able to do
> >>> 3d picking on them, bring up menus, highlight paths, etc.  It's not as
> >>> visually impressive and complete as Skyrails, but the scaling limitations of
> >>> Skyrails removed it as an option for me (and since it's not open I couldn't
> >>> improve on it).
>
> >>> You have to do things on the video card to get that type of performance
> >>> (vertex arrays, VBO, display lists).  I overcame the billboarding by using
> >>> GLSL shaders, which significantly boosted performance and removed the
> >>> rotation issues.  At the moment, the only thing I have to manually rotate is
> >>> the labels (and I reduce this to only what is in a good viewable range).
>
> >>> On Fri, Apr 17, 2009 at 10:11 AM, Yose Widjaja <ywid...@gmail.com>wrote:
>
> >>>> Well, there's a few answers to that.. but what program are you talking
> >>>> about that can handle 500k multitextured nodes?
>
> >>>> First, my guess is that those programs that can do 1mil nodes are
> >>>> probably static 2D ones that don't need recalculation all the time for the
> >>>> node positioning, and since they stand still, one could take snapshots of
> >>>> the graph (so it's only drawn once). When that happens, layouting won't even
> >>>> need to be worried about, and drawing would be done only when they're out of
> >>>> range..
>
> >>>> As for the bottleneck, it probably is the layout engine. I just tried
> >>>> enabling all the edges in the interactorium (the cell version), and then
> >>>> running through them with and without the layout engine.
>
> >>>> A while ago I actually made an optimisation to the layout engine, which
> >>>> didn't change any algorithms, but rather to put all the layout calculation
> >>>> data into a memory pool as opposed to their own objects. What surprised me
> >>>> was that this led to a huge improvement in speed (of the layout engine).
>
> >>>> If the positions are precomputed, Skyrails can scale pretty high, but
> >>>> then the graphics will become the bottleneck. I did some view culling, but
> >>>> they're nothing special, it just works. Things like putting the edges in a
> >>>> vertex array or a display list won't work though, since the nodes and edges
> >>>> are billboards which need recalculation when the positions change.
>
> >>>> I'm thinking of playing with those CUDA things for layout calculation,
> >>>> but it looks like integrating it will be messy.
>

jeffg

unread,
May 6, 2009, 3:11:31 PM5/6/09
to skyrails-public
Ok.. May 5th has passed. Can't wait to see the release. :-) Hope
your paper went well.

- Jeff

On Apr 20, 10:57 am, jeffg <jeffgem...@gmail.com> wrote:
> I would like to do summarization so I can group the data, but likely
> as a means to add more data and make important relationships stand
> out.  I love how skyrails is able to group and focus on a group or
> category - an outstanding feature.
>
> I may end up with a picture that looks like the one you provided, but
> I'm trying to get a layout that spaces things far enough apart that I
> don't end up with a massive cluster.  I'm also keeping the alpha on
> the lines fairly transparent.  I figure I'm working in an infinite
> virtual space, why bunch things up.
>
> On Apr 18, 10:05 am, Yose Widjaja <ywid...@gmail.com> wrote:
>
> > Ah, botnet visualization. Is it possible to summarise the data so that
> > instead of drawing large numbers of nodes, you'd just visualize grouped
> > clusters of them?
>
> > Is this how the data currently look like?http://www.impactlab.com/wp-content/uploads/2008/04/botnet-attack.jpg
>
> > Also, is it possible to monitor botnets in real time? I guess you probably
> > have to own the botnet ;) I'd love to make a real-time monitor of botnets,
> > so the thing fromhttp://xkcd.com/350/cancome true.. heh

Yose Widjaja

unread,
May 7, 2009, 12:27:03 AM5/7/09
to skyrail...@googlegroups.com
It'll take a while to find out whether the paper made it through. As for a new skyrails release, bear with me, in the middle of gamedev works.. will get back to it when I have time :)
yo...@y0se.com
Reply all
Reply to author
Forward
0 new messages