fraenkel-lab / OmicsIntegrator2

Prize-Collecting Steiner Forests for Interactomes
https://fraenkel-lab.github.io/OmicsIntegrator2
BSD 3-Clause "New" or "Revised" License
52 stars 24 forks source link

Add mRNA nodes & interactions to forest #33

Open AmandaKedaigle opened 7 years ago

AmandaKedaigle commented 7 years ago

The web tool has support for new kinds of interactions we'd like to include eventually:

The output of Garnet should be changed to indicate what genes were used to predict a TF was important (i.e. these genes are predicted targets of that TF). Then, those genes should be added to the network as new nodes (mRNA nodes, not protein nodes), and edges should be drawn:

"pd" or protein-DNA interaction, from TFs to their target mRNA nodes "tp" or mRNA-protein interactions, from mRNA nodes to their protein products

alexlenail commented 7 years ago

@AmandaKedaigle I'd love some more details on this. First, could you report changes you'd like to see in Garnet on the garnet repo? (https://github.com/fraenkel-lab/GarNet) and then also spell out the changes you'd like to OI2 below? I'll get to working on this next.

AmandaKedaigle commented 7 years ago

OK, so I'll add the first part of this to GarNet as well, but basically, the output of Garnet right now is a file with three columns: "Transcription Factor Slope P-Value". I'd like to have an option to include a fourth, "Targets", which would have a list of the genes used to predict this TF (i.e. what genes were near that TF's motifs and fit the linear regression?).

Then, in OI, I'd like to be able to directly use that Garnet output in OI. If only three columns, interpret as we do now, where slope (I believe?) is prize, and those nodes are TerminalType "TF". If four columns, then after PCSF is run, add "pd" interactions to the resulting networkx objects between TFs and their targets, which will have to be new nodes of TerminalType "mRNA". These nodes should not be included in the PCSF algorithm or underlying interactome, they're just for visualizing the Garnet results afterwards. We should then add "tp" interactions between any mRNA nodes we've added and their protein products (which probably have the same "name" as them, since by default we're currently using GeneSymbol to label protein nodes.

Let me know if that makes sense!

alexlenail commented 7 years ago

@AmandaKedaigle okay, changes have been made to GarNet as part of https://github.com/fraenkel-lab/GarNet/pull/30. On this repo, I started this work as part of #37. I think that you'll be the best suited to bringing it to completion. Let me know how I can help!

AmandaKedaigle commented 7 years ago

Thanks! Just so you know, I'll be out of town and starting this after the 19th

alexlenail commented 7 years ago

np. Have a good trip!