synergy-jointpdf's People
synergy-jointpdf's Issues
Append correlated variable
We want to add a correlated variable, I am still working on the details how... Essentially this means that the joint PMF is already defined.
Say A is 50/50, if A and B have zero correlation it will become 25/25/25/25 for all states. If A and B have a correlation of 1, it will be 50/0/0/50, and of 0.5 it will be 75/25/25/75.
Find a small gene regulation network (2 variables)
Find a small gene regulation network (2 variables) with differential equations, to give some quantification to synergy.
Build a sampling framework
Build a sampling framework, that draws initial values from normal distributions and does repeated experiments.
Add the option for a random GRN
- Make connections sparse
- Start with a networkx network, use build in function for right properties
- Generate rules
- Add a correlation matrix
- Finish with a system that can be exported to JSON.
Write the update rule
Write the update rule, which uses the ODE system with parameters to integrate to time 0 + dt.
Add plotting functionality
For the discrete case:
- Scatterplot synergy versus nudge impact
- MI profile
- Plot van DJ (impact vs. nudge width)
For the continuous case:
- The training process
- The sample distributions
- The distributions compared in NPEET
- The ODE system over time (3D phase space for 3 dimensional system)
Generate JSONs from real data
First of all, I should ask Rick if he can send me data already...
Scatterplot nudge impact vs. synergy
Not sure... Should I use a different icon for each motif, and then draw multiple starting samples? Or better to just generate a ton of motifs with different correlation matrices?
Do experiments with a bivariate network
Do experiments, varying with the size of dt.
Getting actual data
Follow the advice (glucose is a good place to start)
- Start from MatLab files from the paper
- See if I can build a config to enter these simple systems in my framework
- Enter and answer: is the M and R significantly better than a random system (make this experiment one in my experiments.py)
- See if it can be further optimized
- Make a plot of 3, preferably a 2D/3D plot if it has 2/3 dimensions with a dot for our hopefully outlier
Replace deepen_leafcode by append_var using transition table
I should have used this in the first place, bit stupid, but ah well.
Determine the amount of synergy in the bivariate system
Nudge impact almost always zero
Mail naar Rick:*
Ik ben scatterplots aan het produceren, maar ik loop wat tegen een probleem aan rond het produceren van plots die vergelijkbaar zijn met die van Derkjan. Ik zal even een kort overzicht geven van het probleem en mijn idee voor een oplossing, zou jij kunnen kijken wat je daarvan denkt?
Ik genereer nu random GRNs volgens het volgende schema:
- Kies een aantal connecties tussen 0 en het maximum aantal
- Voor elke connectie, kies een random rule (bijv. XOR)
Wat ik merk is dat in bijna alle random netwerken er veel direct naar een vaste state gaat. Hierdoor is een nudge impact altijd 0: als het systeem compleet deterministisch is kan er immers weinig veranderen, zelfs met een andere joint als start.
Dit is niet super onverwacht: we hebben in eerdere gesprekken het er over gehad dat biologische systemen zowel resilient moeten zijn, als dat ze memory moeten hebben. Dit zijn allemaal voorbeelden van systemen met 0 memory, maar daardoor ook volledige resilience.
Mijn volgende stap is dat ik een discrete implementatie heb gemaakt van de MI vergelijking tussen de staat op t=0 en toekomstige states. Ik ga nu zelf kijken naar mijn oude hypotheses en jouw paper voor hoe ik verder wil gaan.
Hoe ik dat van Derkjan verder op moet pakken weet ik echter niet echt. Random netwerken genereren is dus niet heel effectief, ik denk dat ik dan limieten op de sample space moet leggen, bijvoorbeeld een lager maximaal aantal regels (dus niet het theoretische maximum als het fully connected zou zijn). Ik ben er echter nog niet helemaal uit hoe dit eruit zou moeten zien.
Re-evaluate the scope of my experiments
I want to re-evaluate several things to get a complete view of how I should proceed, as I know am at a point where I can get things done with minimal coding required (at most I need to add a function or a measure, nothing that requires more than 5 minutes).
Why are the preliminary results the way they are?
I see that nudges often have 0 impact, which is (I think) because of how deterministic the system gets (it doesn't matter if there is a nudge if every state ends up the exact same).
Do I do things different from DJ?
In the end I want to continue where DJ left off, I need to see if I am actually using the same approach, otherwise any link between our results is meaningless.
Does it extend Rick's paper well, and is the workload/importance similar?
In the end I both want to extend Rick's paper, and use it as a measuring stick if my results are meaningful.
How does my current structure work with my old hypotheses?
I want to compare to my old hypotheses and still what I can still do.
Discrete nudge toevoegen
This is pretty complex, as we want to nudge the marginal of one or several variables without disturbing the other variables...
Build a good costfunction
Costfunction update following Rick idea: compare nudged and unnudged at t + dt with MSE voor resilience, and compare MI t and t + dt of unnudged for memory
Continuous synergy analysis
- Analytical synergy analysis (trivial case)
- Numerical analysis
Implement an ODE solver
Implement a solver to integrate the changes in concentrations of substances, to evolve the system over time.
Making sure my GRN rule library is correct
I should base my rule library on literature.
Add an application of kNN mutual information
I should find an application of kNN mutual information and set it up so my Python application can import and use it.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.