Electronic Supplementarymaterial
Script used for the modelingapproach (to be run in Scilab)
clear
//Parameters used in the function:
//sj: juvenile annual survival (disease free)
//ssub: subadult annual survival
//sad: adult annual survival
//rep: reproductive rate
//CC: carrying capacity
//nbysub: number of years spent as subadults
//VC: vaccination coverage (percentage of sensitive females vaccinated annually)
//MR: parasite induced mortality rate of juveniles
//HL: half life of maternal antibodies
//wkepiz: number of the week (after birth) at the end of which the epizootic takes place
//years: duration of the simulation, in years
function[albipop]=albi(sj, ssub, sad, rep, CC, nbysub, VC, MR, HL, wkepid, years)
//Obtain a stable age structured population to begin the simulation
//10 000 years simulation without parasite and vaccination
//lesliemat: Leslie matrix for the population
//vecpop: vector describing the age structured population (Nt in the main text)
vecpop=[0;0;100]
fori=1:10000
pop=sum(vecpop,"r")
lesliemat=[00((CC-pop)/CC)*rep;sjssub*((nbysub-1)/nbysub)0;0ssub/nbysubsad]
vecpop=lesliemat*vecpop
end
//albipop: vector describing the population of albatross with
//row 1-3: sensitive females
//row 4-6: protected females (either vaccinated or temporarily protected by maternal antibodies)
albipop=[vecpop;zeros(3,1)]
albimat=[sum(albipop,"r")]
//protec: lengths in days of the protection by maternal antibodies, 2 half lives
protec=2*HL
//Determine at which date the epizootic will take place
dayepid=wkepid*7
//Interannual cycle
fori=1:years,
pop=sum(albipop,"r")
lesliemat=[00((CC-pop)/CC)*rep;sjssub*((nbysub-1)/nbysub)0;0ssub/nbysubsad]
lesliem=[lesliematzeros(3,3);zeros(3,3)lesliemat]
//Calculation of the number of new vaccination required to achieve the vaccination coverage
needf=VC*(albipop(3,:)+albipop(6,:))-albipop(6,:)
ifneedf0,
needf=0
end
//Vaccination of the required number of sensitive females
//Vaccinated females are subsequently added to the resistant population, and remain there for the remainder of their life
albipop(6,:)=albipop(6,:)+needf
albipop(3,:)=albipop(3,:)-needf
//Reproduction of vaccinated and non vaccinated females
albipop=lesliem*albipop
//Tackle the special case of non persistent maternal antibodies
ifprotec==0,
albipop(1,:)=albipop(1,:)+albipop(4,:)
albipop(4,:)=0
end
//Intra-annual cycle : decay of maternal antibodies and annual epizootic
//duration of the intra-annual cycle : 365 days
forj=1:365
//Epizootic: sensitive newborns die given the parasite induced mortality rate
//Protected newborns do not suffer any increased mortality
ifj==dayepid,
albipop(1,:)=albipop(1,:)*(1-MR)
end
//Loss of maternal antibodies after 2 half lives
ifj==protec,
albipop(1,:)=albipop(1,:)+albipop(4,:)
albipop(4,:)=0
end
//End of the intra-annual cycle
end
albimat=[albimatsum(albipop,"r")]
//End of the interannual cycle
end
plot(albimat)
endfunction
//Epidemic after 4 weeks, half life of antibodies of 25 days, vaccination coverage of //40%
albi(0.7,0.87,0.95,0.3,300,6,0.4,0.7,25,4,300)
//Epidemic after 4 weeks, half life of antibodies of 5 days, vaccination coverage of //40%
albi(0.7,0.87,0.95,0.3,300,6,0.4,0.7,5,4,300)
//Epidemic after 4 weeks, half life of antibodies of 25 days, no vaccination coverage
albi(0.7,0.87,0.95,0.3,300,6,0,0.7,25,4,300)
//No parasite
albi(0.7,0.87,0.95,0.3,300,6,0,0,25,4,300)