-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME.txt
More file actions
52 lines (29 loc) · 2.48 KB
/
Copy pathREADME.txt
File metadata and controls
52 lines (29 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
The included files reproduce the results in "Learning Anisotropic Interaction Rules from Individual Trajectories in a Heterogeneous Cellular Population", DA Messenger, GE Wheeler, X. Liu, DM Bortz, arXiv:2204.14141, 2022. Example datasets can be found at https://doi.org/10.5281/zenodo.6968448
Users have the option of running the first portion of the algorithm remotely in a trivially parallel manner, or use parfor loops on a local machine.
------------------------------------------------------------------------------
PREPARING DATA:
(1) POSITION DATA
- collect trajectories into a cell array 'Xscell' with each cell containing data from independent experiments
- Each cell in Xscell should be an array of dimensions N x d x M for N particles in d dimensions over M (equally spaced) timepoints
- Different cells in Xscell can have different dimensions
(2) TIME POINTS
- collect timepoints into a vector 't'
(3) VELOCITY DATA
- If possible, supply particle velocities in a cell array 'Vscell' matching the dimensions of Xscell
(4) store variables in .mat folder, which will be loaded as 'input_data' in scripts below.
------------------------------------------------------------------------------
DEFINING INPUTS:
(1) SINGLE-CELL MODEL LEARNING
- in 'singlecell_inputs.m': define data subsampling, velocity computation method, neighbor cell sampling, homing cell sampling, WSINDy parameters, forward simulation parameters
(2) CLASSIFICATION OF MODELS
- in 'classify_inputs.m': define validation error metrics, validation simulation parameters, halting criteria
------------------------------------------------------------------------------
RUNNING THE ALGORITHM:
**complete PREPARING DATA and DEFINING INPUTS steps above
-------(Local Machine)
(1) Run 'WSINDy_CellCluster_all.m' with lines 3-6 replaced by appropriate paths to data and desired output folder
-------(Remote Machine with SLURM - see subdirectory 'slurm_scripts')
(1) Run parscript_all.sh (e.g. "sbatch slurm_scripts/parscript_all.sh"), which will submit in sequence the following jobs: precomp.sh, single_cell.sh, consoldata.sh, classify.sh, gentraj.sh. Note that data_dr,input_data,save_dr will need to be changed to the relevant files/directories
------------------------------------------------------------------------------
VISUALIZING TRAJECTORIES:
(1) run 'visualize_trajectories.m' to visualize learned trajectories overlapping original trajectories. Change 'species_ind' and 'traj_inds' for different species and specific trajectories.