(Installation has only been tested on this system; Ryzen 3600 with 32GB )
-
Install Julia, ideally using the free version of JuliaPro (v1.4.0-1) https://juliacomputing.com/products/juliapro/ Alternatively download julia
wget https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.2-linux-x86_64.tar.gz && tar zxvf julia-1.4.2-linux-x86_64.tar.gz
-
Install julia packages - either using the Pkg REPL - see https://docs.julialang.org/en/v1/stdlib/Pkg/ or through running
julia add_packages.jl
Required Julia packages are : ArgParse DifferentialEquations DiffEqCallbacks Random SparseArrays StatsBase Distributions Precise details of complete julia environment used listed injulia_installed_packages.txt
-
Install conda (via https://docs.conda.io/en/latest/miniconda.html ; or
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
) -
Create a new conda environment
conda create -n crossover python=3.7
. This needs to be python3.7 to reproduce image analysis results correctly. -
Activate this conda environment
conda activate crossover
-
Install packages needed
conda install matplotlib scipy statsmodels pandas lxml imageio click
-
Install pip-installable packages
pip install svgutils dtoolbioimage ray
-
Install inkscape (needed for figure generation)
sudo apt-get install inkscape
Alternatively to 4-7, the conda environment can be recreated using
conda env create -f environment.yml
(this specifies the precise versions of packages used by the authors)
-
Run all simulations (takes several hours)
python run_simulations.py
. Modifymy_env['JULIA_NUM_THREADS']='6'
to the appropriate value for your machine (optional). -
Dowload imaging data, placing these large files in a suitable location. For review purposes, these are hosted on Dropbox: https://www.dropbox.com/s/bugx89pwj8y598u/morgan_ox.tar.bz2?dl=0 (5GB) https://www.dropbox.com/s/y58jhqhxcq5as3v/morgan_ux.tar.bz2?dl=0 (3.5GB) https://www.dropbox.com/s/v2o7i142cy7abrg/morgan_wt.tar.bz2?dl=0 (16GB)
-
Decompress (bunzip2) and extract (tar xvf) these imaging files
-
Edit the
data_path = 'xxxx'
line in data_preprocess.py to point to this downloaded data -
python data_preprocess.py
(takes an hour or so). -
Run
bash all_plots.sh
. Figures will be placed inoutput/figures
folder.
- Ensure that Julia and the needed packages are installed (1. and 2. of Installation instructions)
julia new_sim.jl --n 2
(The julia executable may need to be added to your PATH).- Output is written to
test0.1,2.1,360.0,30.0,0.0,false,0.5,1.25,1,100,6.8,1.2,1.1,2000,0.5,1.0,2.2,2.0,1.dat
in the current directory Expected contents:
30.0
0.2372785017168222,6.284171195942124,6.329046064756079,7.549865490959156,8.435706968571894,9.381209050082024,10.395510425758815,12.741535514853943,13.113239238288754,14.658384902385036,16.67253261973717,23.19669145372131,28.55749019507202,29.59999100696399,29.
99713976695841
0.37283953307113954,0.37283953274230386,0.37283953273767434,0.37283953256574376,0.3728395324098933,0.37283953221189337,0.3728395319667844,142.744517700139,0.3728395320097407,0.3728395347390615,0.3728395381395296,0.3728395480086411,0.372839553939854,0.372839554
6504659,0.3728395547785809
This performs a single simulation, with the default parameters and the starting seed 1. Output consists of: l1 - the parameters used l2 - the length of the SC simulated l3 - the positions of the initial RI l4 - HEI10 levels at the RI at the end of the simulation
- Parameter values and simulation results can be modified through command-line options:
julia new_sim.jl --help
for a complete list