Tarraf et al, MBE, 2021 - Supplementary material:
Python software for model solving, 
Sobol analysis and calibration to experimental data
==========================================================
AUTHORS:
B. Tarraf, M. Leguèbe
==========================================================

Requirements:
-------------
1/ a standard Python3 installation on a Unix system (not tested
   on other OSes). The following modules are necessary 
   (most of them are already in the standard install)
   - numpy, scipy, matplotlib (to do some science!)
   - multiprocessing, socket, pickle, itertools (parallel computing)
   - getpass, shlex, shutil, re (interaction with OS)
   - configparser (management of parameter files)
   - SALib (Sobol analysis)
   The last package can be installed via pip
   Further information on the library at:
   https://salib.readthedocs.io/en/latest/getting-started.html
2/ Set your Python path to include the content of this module.
   This can be done by either 
   - uncommenting the path commands at the top of the scripts
   - using the environment variable PYTHONPATH:
     `export PYTHONPATH=$PYTHONPATH:/path/to/where/pyCompMito/is/located`
3/ A LateX installation is needed for the plots
   to be correctly generated

Contents
--------
scripts:
  01-fitAndPlotFluxes.py:
     routines used to fit our new expressions to previous
     flux functions
  02-runSingleTCLD.py: 
     lets you try a single run of the ODE system
  03-sobolOnWholeModel.py: 
     perform the global sensitivity analysis with
     discrepancy with exp data as cost function
  04-geneticCalibration.py:
     calibrates the remaining parameters using 
     a simple genetic algorithm

experimentalData: 
  oxygen concentration during five experiments,
  extracted from the original data in a numpy array format.
  First column is time in minutes, second is oxygen in nmol/mg prot 
parameterFiles:
  parameters corresponding to the experimental data.
  Time and concentrations of ADP additions are given
  in those files.
pyCompMito:
  module files containing our algorithms and the definition
  of our model 

Remarks
-------
- The number of samples for Sobol analysis and calibration
  are set very low in these file to let you test the software
  before launching a large computation.
  A reasonnable number of samples N is around 1000 for the
  sensitivity analysis and ~100 for the genetic algorithm.
  (In fact, SALib generates 2*N*(nparams+1) samples)
- Our routines were suited to the environment of our usual
  computing cluster. You will probably need to adapt these
  routines.
  
