thpar / diffany

Diffany is an open-source toolbox for calculating and visualizing differential networks.
7 stars 2 forks source link

[CLOSED] osmotic usecase as cytoscape example #191

Closed diffany-admin closed 9 years ago

diffany-admin commented 9 years ago

Issue by svlandeg Tue Sep 9 20:14:52 2014


TODO Sofie: have input networks readily available for the plugin (done)

diffany-admin commented 9 years ago

Comment by tvparys Wed Oct 29 14:48:31 2014


Apps -> Diffany -> Examples -> OsmoticSampleTest

diffany-admin commented 9 years ago

Comment by tvparys Wed Oct 29 14:52:40 2014


Misunderstanding... added Sample instead of full network...

diffany-admin commented 9 years ago

Comment by tvparys Fri Oct 31 10:53:11 2014


@svlandeg : this is a lot of data to hard code in an Example class. Is there a reason for the used data format? Wouldn't we benefit from a parser, so the data can be included separately? Edit: should these data files be compatible with core.network.io ?

diffany-admin commented 9 years ago

Comment by tvparys Fri Oct 31 14:23:07 2014


Adjusting NetworkIO to support InputStreams in order to read demo data from with the jar files

diffany-admin commented 9 years ago

Comment by svlandeg Fri Oct 31 14:46:23 2014


so I take it you found the parser? ;-)

diffany-admin commented 9 years ago

Comment by svlandeg Fri Oct 31 14:48:16 2014


The data I gave you should be readable with NetworkIO.readGenericInputNetworksFromSubdirs(new File(outputDir), new DefaultNodeMapper(), true);

diffany-admin commented 9 years ago

Comment by tvparys Fri Oct 31 14:49:29 2014


Ow, even better.

diffany-admin commented 9 years ago

Comment by svlandeg Fri Oct 31 14:52:58 2014


cf. example code to read them in the class be.svlandeg.diffany.usecase.arabidopsis.osmotic.RunAnalysis (ctrl F "readGenericInputNetworksFromSubdirs")

diffany-admin commented 9 years ago

Comment by tvparys Fri Oct 31 14:54:08 2014


Thanks. Problem at the moment is the fact that the data should be included in the jar files, which requires readFromInputStream() methods. These were added, but not working yet.

diffany-admin commented 9 years ago

Comment by svlandeg Fri Oct 31 14:55:26 2014


Yep, understood. Can't code myself right now I'm afraid, so please feel free to mess with NetworkIO yourself!

diffany-admin commented 9 years ago

Comment by tvparys Mon Nov 3 15:04:51 2014


Successful loading of networks from (jar) resource. Currently example projects are loaded into memory upon App Start. This use case however takes an unusual long time to load, blocking the complete loading of the Diffany App.

Solution: moving project/configuration initialization into a separate thread, executed when the example is run, rather than on App load time.

diffany-admin commented 9 years ago

Comment by tvparys Mon Nov 3 16:40:17 2014


Fixed in f9956e469cb01e9a21951c9081e33b6dcdad605b @svlandeg : is it safe to turn off cleanInput when loading this use case? It makes loading extremely slow.

diffany-admin commented 9 years ago

Comment by svlandeg Mon Nov 3 19:05:18 2014


Yes. This is obscurely documented in the RunAnalysis class: boolean cleanInputAfterIO = true; // TODO: input should be cleaned before IO in step 3 - but can be set to true to test progresslistener

Basically I generate the input networks from the expression data, clean them, write them to file, and read them in again (and clean them again) to generate the differential output networks. So yes, you can assume they are cleaned. I'm keeping the additional cleaning step in my code to test issues #188 and #193.

diffany-admin commented 9 years ago

Comment by tvparys Mon Nov 3 19:06:57 2014


And on a less optimistic note: have you ever tried to load these networks into Cytoscape before? Simply selecting a loaded network freezes Cytoscape and takes one CPU to 100% for a while.

diffany-admin commented 9 years ago

Comment by svlandeg Mon Nov 3 19:07:36 2014


the input or output networks, or both?

diffany-admin commented 9 years ago

Comment by tvparys Mon Nov 3 19:09:56 2014


Not talking about running the algorithm yet. The networks are loading nicely and at an acceptable speed. But once they are loaded, every action, from selecting the Reference Network to simply clicking the view of another network, takes lots of time and CPU. No memory problems though...

diffany-admin commented 9 years ago

Comment by svlandeg Mon Nov 3 19:11:29 2014


Ah, I was afraid that might happen. I've seen Cytoscape freeze up with large networks before. Not quite sure what to do about this, other than simplify the use-case and perhaps only load a subset of the networks which I known to contain the interesting edges....

diffany-admin commented 9 years ago

Comment by tvparys Mon Nov 3 19:14:41 2014


Afraid that will be necessary. I'll check if the Diffany plugin has anything to do with it by simply loading the networks manually, but I'm afraid it's just pushing the limits of Cytoscape itself.

diffany-admin commented 9 years ago

Comment by svlandeg Mon Nov 3 19:16:35 2014


Yea, I'm quite sure this is a Cytoscape issue ... I will look into this when I'm back next week! #208

diffany-admin commented 9 years ago

Comment by tvparys Mon Nov 3 19:50:42 2014


Mon Nov 03 20:11:04 CET 2014 : Analysing the reference and condition-specific network(s) 
Mon Nov 03 20:11:08 CET 2014 :  Full cleaning of Reference network
Mon Nov 03 20:11:12 CET 2014 :  Removing redundant edges from network Reference network
Mon Nov 03 20:13:11 CET 2014 :  Full cleaning of Network_1.5h
Mon Nov 03 20:13:14 CET 2014 :  Removing redundant edges from network Network_1.5h
Mon Nov 03 20:14:10 CET 2014 :  Full cleaning of Network_24h
Mon Nov 03 20:14:16 CET 2014 :  Removing redundant edges from network Network_24h
Mon Nov 03 20:15:20 CET 2014 :  Full cleaning of Network_3h
Mon Nov 03 20:15:24 CET 2014 :  Removing redundant edges from network Network_3h
Mon Nov 03 20:16:22 CET 2014 :  Full cleaning of Network_12h
Mon Nov 03 20:16:26 CET 2014 :  Removing redundant edges from network Network_12h
Mon Nov 03 20:17:41 CET 2014 : Calculating the differential and consensus network between Reference network and Network_1.5h
Mon Nov 03 20:19:07 CET 2014 :  Removing redundant edges from network diff_Network_1.5h
Mon Nov 03 20:20:23 CET 2014 :  Full cleaning of consensus_Network_1.5h_Reference network
Mon Nov 03 20:20:32 CET 2014 :  Removing redundant edges from network consensus_Network_1.5h_Reference network
Mon Nov 03 20:23:18 CET 2014 : Calculating the differential and consensus network between Reference network and Network_3h
Mon Nov 03 20:24:12 CET 2014 :  Removing redundant edges from network diff_Network_3h
Mon Nov 03 20:25:16 CET 2014 :  Full cleaning of consensus_Network_3h_Reference network
Mon Nov 03 20:25:25 CET 2014 :  Removing redundant edges from network consensus_Network_3h_Reference network
Mon Nov 03 20:27:08 CET 2014 : Calculating the differential and consensus network between Reference network and Network_24h
Mon Nov 03 20:28:08 CET 2014 :  Removing redundant edges from network diff_Network_24h
Mon Nov 03 20:29:28 CET 2014 :  Full cleaning of consensus_Network_24h_Reference network
Mon Nov 03 20:29:35 CET 2014 :  Removing redundant edges from network consensus_Network_24h_Reference network
Mon Nov 03 20:31:45 CET 2014 : Calculating the differential and consensus network between Reference network and Network_12h
Mon Nov 03 20:32:38 CET 2014 :  Removing redundant edges from network diff_Network_12h
Mon Nov 03 20:33:47 CET 2014 :  Full cleaning of consensus_Network_12h_Reference network
Mon Nov 03 20:33:55 CET 2014 :  Removing redundant edges from network consensus_Network_12h_Reference network
Mon Nov 03 20:36:32 CET 2014 : Done!
diffany-admin commented 9 years ago

Comment by svlandeg Mon Nov 3 19:52:38 2014


Looking good :+1: