Recurrent Neural Network model for gene regulatory networks Demo of an early GUI interface for building such models. This is a simulation of some decision making network in a single cell Each circle represents a DNA binding protein, the foundations of gene regulation. The growing/shrinking circle in the center of each is the concentration of that protein in the cell. Connections between different proteins represent the interaction one protein has on the rate of production of another DNA-binding protein (regulation of gene expression). Positive weights use an arrow, and negative weights use a flat arrow, and the thickness of the arrow represents the strength of the weight. The rate of production of a protein depends on the concentration of regulating proteins, along with a constant expression rate (constitutive expression) and some decay parameter that models protein degradation. This model will in the future be an extension of reaction diffusion systems, where each node in the network contains a regulatory network like the one shown here, and a subset of the regulatory proteins are allowed to diffuse between cells.
I’m working on a program to edit and simulate gene regulatory networks using recurrent neural networks as a model. Here’s a demo.
This is pretty cool, but is there a reason to use NN rather than differential equations? Seems like it might be more computationally expensive.
Are you using some kind of declarative language to define the networks? Not sure if a standard for that exists yet. There are the standard symbols for genetic circuits though.
Well, it is technically differential equations, but with weighted inputs like a NN. Here’s the equations
for each node (gene/morphogen) i. zi is the concentration of morphogen i, zj is that of j. f(x) is the sigmoid function, k1 is the maximum rate of expression, k2 is the degradation rate, b is the bias. wij is the weight for an edge from j to i.
This is just written in python, so the network is defined by a matrix with each number representing the weight between two of the edges. I ignore the edge if it’s weight is zero.
What are the standard symbols for genetic circuits?
edit: sorry it’s impossible to see the equations if you have a black background.
This is pretty cool, but is there a reason to use NN rather than differential equations? Seems like it might be more computationally expensive.
Are you using some kind of declarative language to define the networks? Not sure if a standard for that exists yet. There are the standard symbols for genetic circuits though.
Well, it is technically differential equations, but with weighted inputs like a NN. Here’s the equations
for each node (gene/morphogen) i. zi is the concentration of morphogen i, zj is that of j. f(x) is the sigmoid function, k1 is the maximum rate of expression, k2 is the degradation rate, b is the bias. wij is the weight for an edge from j to i.
This is just written in python, so the network is defined by a matrix with each number representing the weight between two of the edges. I ignore the edge if it’s weight is zero.
What are the standard symbols for genetic circuits?
edit: sorry it’s impossible to see the equations if you have a black background.