Skip to content
Fourth generation HL60 TF model w/the Adjoint system of equations
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
Network.net
README.md

README.md

Gene regulatory network (GRN) model for ATRA differentiation

This repository contains the model code for an effective GRN model for ATRA-induced HL-60 differentiation implemented in the Julia programming language. The model is described in the publication:

Tasseff et al (2017) An Effective Model of the Retinoic Acid Induced HL-60 Differentiation Program. Sci Reports, 7, Article number: 14327 doi:10.1038/s41598-017-14523-5

Installation and Requirements

You can download this repository as a zip file, or clone/pull it by using the command (from the command-line):

$ git pull https://github.com/varnerlab/(your repository name here).git

or

$ git clone https://github.com/varnerlab/(your repository name here).git

The model code was machine generated using the Gene Regulatory Network in Julia (JuGRN) code generation system. The model code uses several Julia packages:

Package Description Command
ODE Contains the ode23s subroutine to solve the model equations Pkg.add("ODE")
PyPlot Used to make figures (assume you have Python installed) Pkg.add("PyPlot")

How do I solve the model equations?

The model equations can be solved using the Driver.jl script, or by calling the SolveBalances function directly, encoded in SolveBalances.jl:

(T,X) = SolveBalances(time_start,time_stop,time_step_size,data_dictionary)

where:

Argument Type Description
time_start scalar (float/double) Initial simulation time (default time unit is min)
time_stop scalar (float/double) Final simulation time (default time unit is min)
time_step scalar (float/double) Simulation time step (depending upon the solver, the internal time step used during the solution of the GRN equations may be different)
data_dictionary Julia dictionary Instance of the data dictionary structure created by the DataDictionary function
T array (number_of_steps x 1) Output time array (time_state:time_step:time_stop)
X array (number_of_steps x number_of_states) Output state array (solution of the model equations)

How do I solve the adjoint balances?

The adjoint balances can be solved (for a particular parameter index) using the AdjDriver.jl script, or by calling the SolveAdjBalances function encoded in SolveBalances.jl:

(T,X) = SolveAdjBalances(time_start,time_stop,time_step_size,parameter_index,data_dictionary)

where:

Argument Type Description
time_start scalar (float/double) Initial simulation time (default time unit is min)
time_stop scalar (float/double) Final simulation time (default time unit is min)
time_step scalar (float/double) Simulation time step (depending upon the solver, the internal time step used during the solution of the GRN equations may be different)
parameter_index scalar (int) index of the parameter that we are calculating the sensitivity for
data_dictionary Julia dictionary Instance of the data dictionary structure created by the DataDictionary function
T array (number_of_steps x 1) Output time array (time_state:time_step:time_stop)
X array (number_of_steps x (2*number_of_states)) Output state array (solution of the adjoint model equations). The first number of states is the model solution, while the second state block is the sensitivity of the state with respect to the parameter index
You can’t perform that action at this time.