Andrea Attili (INFN)
Software developed in C++ by the INFN (Istituto Nazionale di Fisica Nucleare) and University of Torino (UniTO, Physics Department) and provides different implementations of some radiobiological models to predict the cell survival after irradiation. The implemented models are (for the moment): LEMI, LEMII, LEMIII, MKM and MCt-MKM.
sudo apt-get install build-essential
sudo apt-get install libgsl-dev
sudo apt-get install libpomp-dev
sudo apt-get install git
sudo yum install gcc-c++ make
sudo yum install gsl-devel
sudo yum install libgomp-devel
sudo yum install git
furhter infos at https://github.com/batuff/Survival/blob/master/INSTALLATION.md
git clone https://github.com/batuff/Survival
cd Survival
make
./survival
cd Survival
make -f Makefile_clang
./survival
You can find a genera overview directly at github: https://github.com/batuff/Survival
A reference manual has been compiled using Doxygen
Survival/Documentation/Survival_USERS_MANUAL.pdf
or directly from github: https://github.com/batuff/Survival/blob/master/Documentation/Survival_USERS_MANUAL.pdf
Survival/Documentation/html/index.html
or directly form github: http://htmlpreview.github.com/?https://github.com/batuff/Survival/blob/master/Documentation/html/index.html
Survival.zip: the source code http://geant4.lngs.infn.it/alghero2018/survival/Survival.zip
exp-data.zip: some cell survival experimental data (human salivary glands, HSG) http://geant4.lngs.infn.it/alghero2018/survival/exp-data.zip
survival_bash_scripts.zip: BASH scripts that show how to call the exetutable “survival” http://geant4.lngs.infn.it/alghero2018/survival/survival_bash_scripts.zip
Edit the file setenv.sh
to set the following system variables:
$install_folder
: the folder where Survival has been downloaded and compiled (to be added to the variable $PATH
)$DATA
: the folder where additional data can be found (e.g. SRIM and some tracks data). Usually found in $install_folder/data
ls data
Be_Srim.dat
C_Srim.dat
F_Srim.dat
H_Srim.dat
Ne_Srim.dat
O_Srim.dat
...
ext_lib
) to be added to $DYLD_LIBRARY_PATH
containing precompiled libraries for GSL and OpenMP.Contains information about the stopping power of different ions in water. It is used by Survival to perform conversions between dE/dx <–> Energy of these particles.
Ion dE/dx dE/dx
Energy Elec. Nuclear
(MeV/u) (MeV/um) (MeV/um)
---------- ---------- ----------
9.090e-04 5.345E-02 6.865E-02
1.000e-03 5.606E-02 6.648E-02
1.090e-03 5.856E-02 6.446E-02
1.181e-03 6.095E-02 6.258E-02
1.272e-03 6.325E-02 6.082E-02
1.363e-03 6.547E-02 5.917E-02
1.454e-03 6.762E-02 5.762E-02
1.545e-03 6.970E-02 5.617E-02
1.636e-03 7.172E-02 5.480E-02
1.818e-03 7.560E-02 5.228E-02
... ... ...
To execute the program the user has to call from the command line:
source setenv.sh
survival -SIMULATION_OPTION CHOSEN_VALUES ...
The user has the possibility to set a number of physical and biological parameters by using the syntax:
-PARAMETER_NAME PARAMETER_VALUE.
Running survival
without arguments displays all the possible input arguments:
survival
Model Parameters:
(MKM and tMKM)
survival -MKM_alpha0 [double]
survival -MKM_beta0 [double]
survival -MKM_rNucleus [double]
survival -MKM_rDomain [double]
...
-projectName It's a string representing the prefix to give at any file and directories that will be created in the simulation. The default value is “NewProject”.
-output The user has the possibility to choose between three kinds of output (and all possible combination between them):
-model It's a string representing the model to be used in the simulation. Five basic models are supported (see the reference paper):
The default value for this option is “MKM”
-calculusType A string identifying the type of calculus to be done. Some possibilities are available:
-calculusType A string identifying the type of calculus to be done. Some possibilities are available:
Note: The cell line in reality is completely determined by the model parameters chosen. This is only a tag to indicate the cell but it isn't used in the simulation.
MKM Parameters
LEMI, LEMII and LEMIII Parameters
-doses The sequence of doses to be delivered. The default is 1 to 6 Gy (step 1), in order to construct a survival curve.
Monoenergetic irradiation
“Mixed fields” irradiation
The spectrum file is a simple ascii file with 6 columns:
Ion Type (1H, 4He, etc..)
Charge
A
Kinetic energy (MeV)
LET (keV/μm)
Weight
-nFraction Supported only by the tMKM model, it require an integer representing the number of fraction in which to divide each nominal dose to be delivered. The default is 1 (single fraction).
-timeSpacing Supported only by the tMKM model, it indicate the time spacing between consecutive fractions, expressed in hours. The default is 0 (no time spacing).
-fracDeliveryTime Supported only by the tMKM model, it indicate the fraction delivery time, expressed in hours. The default is 0 (istantaneous delivering).
-precision Supported only by the MonteCarlo calculusType, it's a double identifying the precision to be reached in the calculation. Two possibilities are provided, as the user can indicate:
-parallelismType A positive integer indicating the level of parallelism to be used in the simulation. The user has the possibility to specify the number of threads to dedicate at the calculation, in particular:
Example of script (run-example1-a.sh
):
#!/bin/bash
# Evaluate a simple survival curve with LEMI, for HSG irradiated with a monoenergetic beam
source Survival/setenv.sh
projectName="Example1-a"
output="meanValues"
model="LEMI"
calculusType="rapidLEM_Scholz2006"
precision=0.015
parallelismType=0
doses="0.5 1 2 3 4 5 6"
cellType="HSG"
LEM_alpha0=0.313
LEM_beta0=0.0615
LEM_rNucleus=5
LEM_Dt=30
ion="C"
trackMode="histogram"
lets="40"
survival -projectName $projectName \
-output $output \
-model $model \
-calculusType $calculusType \
-precision $precision \
-parallelismType $parallelismType \
-doses $doses \
-cellType $cellType \
-LEM_alpha0 $LEM_alpha0 \
-LEM_beta0 $LEM_beta0 \
-LEM_rNucleus $LEM_rNucleus \
-LEM_Dt $LEM_Dt \
-ion $ion \
-trackMode $trackMode \
-lets $lets \
Example file: run-example1-a.sh
file: Example1-a_survival.csv
model | calculusType | cell | alpha_0 | beta_0 | r_nucleus | D_t | radiation_type | particle | meanEnergy | meanEnergy_sigma |
---|---|---|---|---|---|---|---|---|---|---|
LEMI | rapidLEM_Scholz2006 | HSG | 0.313 | 0.0615 | 5 | 30 | Monoenergetic | C | 687.241 | 0 |
LEMI | rapidLEM_Scholz2006 | HSG | 0.313 | 0.0615 | 5 | 30 | Monoenergetic | C | 687.241 | 0 |
LEMI | rapidLEM_Scholz2006 | HSG | 0.313 | 0.0615 | 5 | 30 | Monoenergetic | C | 687.241 | 0 |
meanLET | meanLET_sigma | LETd | LETd_sigma | nFractions | timeSpacing | fracDeliveryTime |
---|---|---|---|---|---|---|
0.04 | 0 | 0.04 | 0 | 1 | 0 | 0 |
0.04 | 0 | 0.04 | 0 | 1 | 0 | 0 |
0.04 | 0 | 0.04 | 0 | 1 | 0 | 0 |
nominal_dose | mean_dose | mean_survival | mean_doseUncertainty | mean_survivalUncertainty |
---|---|---|---|---|
0.001 | 0.001 | 0.9989036 | 0 | 0 |
1.000 | 1.000 | 0.3197383 | 0 | 0 |
2.000 | 2.000 | 0.0937445 | 0 | 0 |
run-example1-b.sh
file: Example1-b_LQparameters_LEMI.csv
model | calculusType | cell | alpha_0 | beta_0 | r_nucleus | D_t | radiation_type | particle |
---|---|---|---|---|---|---|---|---|
LEMI | rapidLEM_Scholz2006 | HSG | 0.313 | 0.0615 | 5 | 30 | Monoenergetic | C |
LEMI | rapidLEM_Scholz2006 | HSG | 0.313 | 0.0615 | 5 | 30 | Monoenergetic | C |
LEMI | rapidLEM_Scholz2006 | HSG | 0.313 | 0.0615 | 5 | 30 | Monoenergetic | C |
meanEnergy | meanEnergy_sigma | meanLET | meanLET_sigma | LETd | LETd_sigma | nFractions | timeSpacing | fracDeliveryTime |
---|---|---|---|---|---|---|---|---|
5553.84 | 0 | 0.0100000 | 0 | 0.0100000 | 0 | 1 | 0 | 0 |
3678.81 | 0 | 0.0122863 | 0 | 0.0122863 | 0 | 1 | 0 | 0 |
2606.32 | 0 | 0.0150952 | 0 | 0.0150952 | 0 | 1 | 0 | 0 |
alpha | beta | alpha_sigma | beta_sigma |
---|---|---|---|
0.578043 | 0.0563536 | 0 | 0 |
0.650056 | 0.0548854 | 0 | 0 |
0.721866 | 0.0533395 | 0 | 0 |
run-example1-c.sh
run-example2-a.sh
run-example2-b.sh
file: Example2-b_survival.csv
model | calculusType | cell | alpha_0 | beta_0 | r_nucleus | r_domain | radiation_type | particle | meanEnergy | meanEnergy_sigma |
---|---|---|---|---|---|---|---|---|---|---|
MKM | MonteCarlo | HSG | 0.313 | 0.0615 | 4 | 0.38 | Monoenergetic | C | 979.415 | 0 |
MKM | MonteCarlo | HSG | 0.313 | 0.0615 | 4 | 0.38 | Monoenergetic | C | 979.415 | 0 |
MKM | MonteCarlo | HSG | 0.313 | 0.0615 | 4 | 0.38 | Monoenergetic | C | 979.415 | 0 |
meanLET | meanLET_sigma | LETd | LETd_sigma | nFractions | timeSpacing | fracDeliveryTime |
---|---|---|---|---|---|---|
0.0303 | 0 | 0.0303 | 0 | 1 | 0 | 0 |
0.0303 | 0 | 0.0303 | 0 | 1 | 0 | 0 |
0.0303 | 0 | 0.0303 | 0 | 1 | 0 | 0 |
nominal_dose | mean_dose | mean_survival | mean_doseUncertainty | mean_survivalUncertainty |
---|---|---|---|---|
1 | 0.9930091 | 0.4917271 | 0.1114103 | 0.0530305 |
2 | 1.9526080 | 0.2167977 | 0.1055546 | 0.0253573 |
3 | 3.2252050 | 0.0687924 | 0.1453497 | 0.0100640 |
file:
Example2-b_survival_data/
000_MonteCarlo_parameters.csv
PARAMETER_NAME | VALUE | |
---|---|---|
1 | Model | MKM |
2 | Parametrization | LQ_noDt |
3 | Calculus | MonteCarlo |
4 | Cell | HSG |
5 | alpha_0 | 0.313 |
6 | beta_0 | 0.061 |
7 | r_nucleus | 4.000 |
8 | r_domain | 0.380 |
…
…
9 | Radiation_type | Monoenergetic |
10 | Particle | C |
11 | ParticleA | 12 |
12 | ParticleZ | 6 |
13 | Track_Type | KieferChatterjee |
14 | Track_Mode | histogram |
15 | Number_of_Fractions | 1 |
16 | Time_Spacing | 0.000 |
17 | Fraction_Delivery_Time | 0.000 |
file:
Example2-b_survival_data/
000_MonteCarlo_survival_data/
dose_survival_30.30(keV-um)_1.00(Gy).dat
dose (Gy) | survival |
---|---|
0.7146526 | 0.6139393 |
1.0488400 | 0.4238110 |
1.0031290 | 0.4842538 |
1.3100990 | 0.3492380 |
1.3288060 | 0.3731056 |
0.9499197 | 0.4629264 |
0.9246260 | 0.5170134 |
0.2349154 | 0.8918953 |
1.5776330 | 0.2439996 |
0.8374691 | 0.5570889 |