Dear Life Extensioner, This is a program i made for my friend AgeVivo's lifespan tests. If you run the lines of code below under Matlab and that the files *.m of this directory have been copied to your Matlab current directory you will get the graph and statistics showed in LOLES.gif (LOLES = Late Onset Life Extension Studies) If you are preparing/analyzing a lifespan extension study, please feel free to ask for further statistics, Edouard Debonneuil, February 2008 Mathematics: A. GRAPHS - the instantaneous risk to die for C57BL6 mice is well described with the following Gompertz model: r(t) = 5E-6 exp(115 t) where t is the age in days - this leads to survival shapes: S(t) = exp(-integral r dt) = ... (example of C57BL6 survival curves: Colin Selman et al, Evidence for lifespan extension and delayed age-related biomarkers in insulin receptor substrate 1 null mice, FASEB, October 2007) - a treatment can typically extend lifespan by delaying aging (e.g. t is replaced by 0.9*t) or by reducing mortality risk (e.g. r is divided by 2) B. STATISTICS - For a given survival shape, any random number between S=0 and S=1 can be associated to a lifespan - Therefore life spans can be randomly generated - Therefore results of life extension studies can be randomly simulated - For each life extension study comparing 2 groups of animals, the program performs a Logrank statistical test to detect (or not) a difference of lifespan. - On average over many life extension studies we get a percentage of cases where the experiments are able to detect the effect. This percentage is the probability for an experiment to detect the effect (Monte Carlo convergence). %% GRAPH % in black, a typical lifespan curve of C57BL6 mice % in red, the result of a treatment that reduces the death risk by 50%, started at birth % in red, the result of a treatment that reduces the death risk by 50%, started at old age % in green, the result of a treatment that slows the death process by 10%, started at birth % in green, the result of a treatment that slows the death process by 20%, started at old age % in blue, the result of a treatment that slows the death process by 20%, started at birth %p=[0 0.000012 150];%parameters for Wistar %p=[0 0.000007 120];%parameters for C57BL6%decay=GompertzRandomLifespan(p,0.92,1,1,0) p=[0 0.000005 115];%parameters for C57BL6 OldAgeSurvival=0.92;%18months; 0.902:19months%Wistar:0.9354;%19 months n=10000;%number of computer simulations %black standard [S,L]=GompertzRandomSurvival(p,n,1,1,1,1250); for i=1:L;line([i-1 i i],[S(i) S(i) S(i+1)],'LineWidth',1,'Color',[0;0;0],'LineStyle',':');end %red lower risk [S,L]=GompertzRandomSurvival(p,n,1,0.5,1,1250); for i=1:L;line([i-1 i i],[S(i) S(i) S(i+1)],'LineWidth',1,'Color',[1;0;0],'LineStyle','-');end [S,L]=GompertzRandomSurvival(p,n,1,0.5,OldAgeSurvival,1250);S=S*OldAgeSurvival; for i=1:L;line([i-1 i i],[S(i) S(i) S(i+1)],'LineWidth',1,'Color',[1;0;0],'LineStyle','-');end %green slow down [S,L]=GompertzRandomSurvival(p,n,0.9,1,1,1250); for i=1:L;line([i-1 i i],[S(i) S(i) S(i+1)],'LineWidth',1,'Color',[0;1;0],'LineStyle','-');end [S,L]=GompertzRandomSurvival(p,n,0.8,1,OldAgeSurvival,1250);S=S*OldAgeSurvival; for i=1:L;line([i-1 i i],[S(i) S(i) S(i+1)],'LineWidth',1,'Color',[0;1;0],'LineStyle','-');end %blue slow down [S,L]=GompertzRandomSurvival(p,n,0.8,1,1,1500); for i=1:L;line([i-1 i i],[S(i) S(i) S(i+1)],'LineWidth',1,'Color',[0;0;1],'LineStyle','-');end [S,L]=GompertzRandomSurvival(p,n,0.6,1,OldAgeSurvival,1250);S=S*OldAgeSurvival; for i=1:L;line([i-1 i i],[S(i) S(i) S(i+1)],'LineWidth',1,'Color',[0;0;1],'LineStyle','-');end %% STATS n=30000;decay=546;%days for duration=[1:0.5:4] %4 %1:3 disp( [num2str(duration) ' years'] ); for mice=[20:10:70] disp( [num2str(mice) ' mice'] ); disp( 100*mean(GompertzRandomLogrank(n,mice,365*duration,1,0.5,1)>3.84) ); disp( 100*mean(GompertzRandomLogrank(n,mice,365*duration,1,0.5,OldAgeSurvival)>3.84) ); disp( 100*mean(GompertzRandomLogrank(n,mice,365*duration,0.9,1,1)>3.84) ); disp( 100*mean(GompertzRandomLogrank(n,mice,365*duration,0.8,1,OldAgeSurvival)>3.84) ); disp( 100*mean(GompertzRandomLogrank(n,mice,365*duration,0.8,1,1)>3.84) ); disp( 100*mean(GompertzRandomLogrank(n,mice,365*duration,0.6,1,OldAgeSurvival)>3.84) ); end end %Using 20 mice per group, %we have 51.642% chances to detect a 50% reduction of death started at birth %we have 51.773% chances to detect a 50% reduction of death started at old age %we have 50.317% chances to detect a 10% slow down of death started at birth %we have 50.448% chances to detect a 20% slow down of death started at old age %we have 97.585% chances to detect a 20% slow down of death started at birth %Using 30 mice per group, %we have 71.089% chances to detect a 50% reduction of death started at birth %we have 70.99% chances to detect a 50% reduction of death started at old age %we have 70.431% chances to detect a 10% slow down of death started at birth %we have 71.062% chances to detect a 20% slow down of death started at old age %we have 99.8430% chances to detect a 20% slow down of death started at birth %Using 40 mice per group, %we have 83.706% chances to detect a 50% reduction of death started at birth %we have 83.851% chances to detect a 50% reduction of death started at old age %we have 83.465% chances to detect a 10% slow down of death started at birth %we have 84.484% chances to detect a 20% slow down of death started at old age %we have 99.992% chances to detect a 20% slow down of death started at birth %Using 50 mice per group, %we have 91.231% chances to detect a 50% reduction of death started at birth %we have 91.327% chances to detect a 50% reduction of death started at old age %we have 91.262% chances to detect a 10% slow down of death started at birth %we have 91.983% chances to detect a 20% slow down of death started at old age %we have 100% chances to detect a 20% slow down of death started at birth %Using 60 mice per group, %we have 95.385% chances to detect a 50% reduction of death started at birth %we have 95.668% chances to detect a 50% reduction of death started at old age %we have 95.685% chances to detect a 10% slow down of death started at birth %we have 96.058% chances to detect a 20% slow down of death started at old age %we have 100% chances to detect a 20% slow down of death started at birth %Using 70 mice per group, %we have 97.793% chances to detect a 50% reduction of death started at birth %we have 97.723% chances to detect a 50% reduction of death started at old age %we have 97.759% chances to detect a 10% slow down of death started at birth %we have 98.119% chances to detect a 20% slow down of death started at old age %we have 100% chances to detect a 20% slow down of death started at birth %our logrank statistical test is well calibrated (chi2>3.84): %with any number of mice (20, 50 or 80) and any starting age (birth or 19 months) %we have approx 5% risk to detect an effect when the treatment is a placebo: 100*mean(GompertzRandomLogrank(1000,20,1,1,1)>3.84) %returned 4.8, <˜5 100*mean(GompertzRandomLogrank(1000,50,1,1,1)>3.84) %returned 4.6, <˜5 100*mean(GompertzRandomLogrank(1000,80,1,1,1)>3.84) %returned 3.8, <˜5 100*mean(GompertzRandomLogrank(1000,20,1,1,0.9354)>3.84) %returned 4.8, <˜5 100*mean(GompertzRandomLogrank(1000,50,1,1,0.9354)>3.84) %returned 4.6, <˜5 100*mean(GompertzRandomLogrank(1000,80,1,1,0.9354)>3.84) %returned 3.8, <˜5 disp( 100*mean(GompertzRandomLogrank(1000,20,365*2,0.8,1,1)>3.84) );