diff --git a/doc/CDmetaPOPhistory.txt b/doc/CDmetaPOPhistory.txt index 374ac91..01cda07 100644 --- a/doc/CDmetaPOPhistory.txt +++ b/doc/CDmetaPOPhistory.txt @@ -1,3 +1,25 @@ +Changes v3.09.2026.03.02.2026 ell +0) Added PopVars maturation parameters to cdclimate. +a) add _pass call to mat pars + defaultMature_pass = batchVars['mature_default'][ibatch] + mat_slope_pass = batchVars['mature_eqn_slope'][ibatch] + mat_int_pass = batchVars['mature_eqn_int'][ibatch] +b) Read in defaultMature,mat_slope,mat_int, to Preprocess, moved the tupVal in mainloop calls for sexsplit mat values. Here, just need the first values for _set, _slope and _int for each sex chromo option for initialization. Code updated in PreProcess + FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set=[val for val in process_disp(defaultMature, 0, sexchromo, defaultMature)] + + # Logistic equation for maturation as a function of size - slope + FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope = [val for val in process_disp(mat_slope, 0, sexchromo, mat_slope)] + + # Logistic equation for maturation as a function of size - intercept + FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int= [val for val in process_disp(mat_int, 0, sexchromo, mat_int)] +c) Next read in the _pass to cdclimate and extract the _set, _slope, and _int pars for each sexchromo option here. +defaultMature_pass,mat_slope_pass,mat_int_pass read into cdclimate, calls added to CDClimate: + FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set=[val for val in process_disp(defaultMature_pass, icdtime, sexchromo, cdclimgentime)] + FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope = [val for val in process_disp(mat_slope_pass, icdtime, sexchromo, cdclimgentime)] + FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int= [val for val in process_disp(mat_int_pass, icdtime, sexchromo, cdclimgentime)] +d) These variables read out of cdclimate and into main loop FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set,FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope,FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int + + <<<<<<< Updated upstream ======= Changes v3.08.2025.07.22 ell / A&M diff --git a/example_files/popvars/PopVars.csv b/example_files/popvars/PopVars.csv index 330a579..3b123fc 100644 --- a/example_files/popvars/PopVars.csv +++ b/example_files/popvars/PopVars.csv @@ -1,5 +1,5 @@ xyfilename,mate_cdmat,matemoveno,matemoveparA,matemoveparB,matemoveparC,matemovethresh,migrateout_cdmat,migratemoveOutno,migratemoveOutparA,migratemoveOutparB,migratemoveOutparC,migratemoveOutthresh,migrateback_cdmat,migratemoveBackno,migratemoveBackparA,migratemoveBackparB,migratemoveBackparC,migratemoveBackthresh,stray_cdmat,StrayBackno,StrayBackparA,StrayBackparB,StrayBackparC,StrayBackthresh,disperseLocal_cdmat,disperseLocalno,disperseLocalparA,disperseLocalparB,disperseLocalparC,disperseLocalthresh,HomeAttempt,sex_chromo,sexans,selfans,Freplace,Mreplace,AssortativeMate_Model,AssortativeMate_Factor,mature_default,mature_eqn_slope,mature_eqn_int,offno,offans_InheritClassVars,equalClutchSize,Egg_Freq_Mean,Egg_Freq_StDev,Egg_Mean_ans,Egg_Mean_par1,Egg_Mean_par2,Egg_Mortality,Egg_Mortality_StDev,Egg_FemaleProb,startGenes,loci,alleles,muterate,mutationtype,mtdna,cdevolveans,startSelection,implementSelection,betaFile_selection,plasticgeneans,plasticSignalResponse,plasticBehavioralResponse,startPlasticgene,implementPlasticgene,cdinfect,transmissionprob,growth_option,growth_Loo,growth_R0,growth_temp_max,growth_temp_CV,growth_temp_t0,popmodel,popmodel_par1,correlation_matrix,subpopmort_file,egg_delay,egg_add,implement_disease -patchvars/PatchVars.csv,cdmats/Patch7_CdmatrixS1.csv,6,1.346,202.4846,6,6000,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_CdmatrixS1.csv,1,0.01,0.01,0,max,cdmats/Patch7_Probmatrix_Dispersal.csv,9,0.01,0.01,0,max,mortality,2,Y,N,Y,Y,1,1,age6,0.0539,-6.313,2,random,N,1,1,linear,-445,3.78,N,0,0.5,0,2,2,0.5|0.25|0,random,N,N,0,Out:Back,N,N,0,0,0,Back:0,N,0,temperature,400,0.47,10.5,0.33,-0.075,packing,-0.6821,N,N,0,mating,N -patchvars/PatchVars_anadromy.csv,cdmats/Patch7_CdmatrixS1.csv,6,1.346,202.4846,6,6000,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_CdmatrixS1.csv,1,0.01,0.01,0,max,cdmats/Patch7_Probmatrix_Dispersal.csv,9,0.01,0.01,0,max,mortality,2,Y,N,Y,Y,1,1,age3,0.0539,-6.313,2,random,N,1,1,linear,-445,3.78,0.62,0,0.5,0,2,2,0.5|0.25|0,random,N,N,0,Out:Back,N,N,0,0,0,Back:0,N,0,temperature,400,0.47,10.5,0.33,-0.075,anadromy,-0.6821,N,N,0,mating,N +patchvars/PatchVars.csv,cdmats/Patch7_CdmatrixS1.csv,6,1.346,202.4846,6,6000,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_CdmatrixS1.csv,1,0.01,0.01,0,max,cdmats/Patch7_Probmatrix_Dispersal.csv,9,0.01,0.01,0,max,mortality,2,Y,N,Y,Y,1,1,age3|age6|age3,0.13~0.06|0.13~0.06|0.13~0.06,-20.28~-8.09|-20.28~-8.09|-20.28~-8.09,2,random,N,1,1,linear,-445,3.78,N,0,0.5,0,2,2,0,random,N,N,0,Out:Back,N,N,0,0,0,Back:0,N,0,temperature,400,0.47,10.5,0.33,-0.075,packing,-0.6821,N,N,0,mating,N +patchvars/PatchVars_anadromy.csv,cdmats/Patch7_CdmatrixS1.csv,6,1.346,202.4846,6,6000,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,4,0,0,0,max~max,cdmats/Patch7_CdmatrixS1.csv,1,0.01,0.01,0,max,cdmats/Patch7_Probmatrix_Dispersal.csv,9,0.01,0.01,0,max,mortality,2,Y,N,Y,Y,1,1,age3,0.0539,-6.313,2,random,N,1,1,linear,-445,3.78,0.62,0,0.5,0,2,2,0,random,N,N,0,Out:Back,N,N,0,0,0,Back:0,N,0,temperature,400,0.47,10.5,0.33,-0.075,anadromy,-0.6821,N,N,0,mating,N patchvars/PatchVars.csv,cdmats/Patch7_CdmatrixS1.csv,4,1.346,202.4846,6,6000,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,9,0,0,0,max~max,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,9,0,0,0,max~max,cdmats/Patch7_CdmatrixS1.csv,4,0.01,0.01,0,max,cdmats/Patch7_CdmatrixS1.csv,2,0.01,0.01,0,max,mortality,2,Y,N,Y,Y,1,1,size300,0.13~0.06,-20.28~-8.09,2,random,N,1,0,exp,126.07,0.0061,0.62,0.18,0.5,0,2,2,0,random,N,N,0,Eggs,N,N,0,0,0,Back,N,1.5,temperature,250,0.57,12,0.25,-0.196,logistic_back,-0.6821,N,N,0,mating,N patchvars/PatchVars.csv,cdmats/Patch7_CdmatrixS1.csv,6,1.346,202.4846,6,6000,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,9,0,0,0,max~max,cdmats/Patch7_Probmatrix_onewayBarriersXRiverineS1.csv,9,0,0,0,max~max,cdmats/Patch7_CdmatrixS1.csv,2,0.01,0.01,0,max,cdmats/Patch7_CdmatrixS1.csv,2,0.01,0.01,0,max,mortality,2,H,0.5,Y,Y,1,1,N,0.13~0.06,-20.28~-8.09,2,random,N,0.5,0.1,exp,126.07,0.0061,0,0,0.5,0,2,2,0,random,N,N,0,Back,N,N,0,0,0,Back,N,1.5,temperature,250,0.57,12,0.25,-0.196,N,-0.6821,N,N,0,mating,N diff --git a/src/CDmetaPOP_PreProcess.py b/src/CDmetaPOP_PreProcess.py index 495827d..98501e5 100644 --- a/src/CDmetaPOP_PreProcess.py +++ b/src/CDmetaPOP_PreProcess.py @@ -1099,12 +1099,12 @@ def ReadXY(xyfilename): #End::ReadXY() # --------------------------------------------------------------------------------------------------- -def DoCDClimate(datadir,icdtime,cdclimgentime,matecdmatfile,dispOutcdmatfile,dispBackcdmatfile,straycdmatfile,matemoveno_pass,dispmoveOutno,dispmoveBackno,StrBackno,matemovethresh,dispmoveOutthresh,dispmoveBackthresh,StrBackthresh,matemoveparA,matemoveparB,matemoveparC,dispmoveOutparA,dispmoveOutparB,dispmoveOutparC,dispmoveBackparA,dispmoveBackparB,dispmoveBackparC,StrBackparA,StrBackparB,StrBackparC,MgOut_patch_prob,Str_patch_prob,K,outsizevals,backsizevals,outgrowdays,backgrowdays,fitvals,popmort_back,popmort_out,eggmort,Kstd,popmort_back_sd,popmort_out_sd,eggmort_sd,outsizevals_sd,backsizevals_sd,outgrowdays_sd,backgrowdays_sd,pop_capture_back,pop_capture_out,cdevolveans,N0_pass,allefreqfiles_pass,classvarsfiles_pass,assortmateModel_pass,assortmateC_pass,subpopmort_pass,PopTag,dispLocalcdmatfile,dispLocalno,dispLocalparA,dispLocalparB,dispLocalparC,dispLocalthresh,comp_coef_pass,betaFile_selection,xvars_betas_pass,outhabvals_pass,backhabvals_pass,plastic_signalresp_pass,plastic_behaviorresp_pass,plasticans,muterate_pass,sexchromo,MgBack_patch_prob,Disperse_patch_prob,alldiseaseVars_files,implementdisease,pathogen_load,disease_fitvals_pass): +def DoCDClimate(datadir,icdtime,cdclimgentime,matecdmatfile,dispOutcdmatfile,dispBackcdmatfile,straycdmatfile,matemoveno_pass,dispmoveOutno,dispmoveBackno,StrBackno,matemovethresh,dispmoveOutthresh,dispmoveBackthresh,StrBackthresh,matemoveparA,matemoveparB,matemoveparC,dispmoveOutparA,dispmoveOutparB,dispmoveOutparC,dispmoveBackparA,dispmoveBackparB,dispmoveBackparC,StrBackparA,StrBackparB,StrBackparC,MgOut_patch_prob,Str_patch_prob,K,outsizevals,backsizevals,outgrowdays,backgrowdays,fitvals,popmort_back,popmort_out,eggmort,Kstd,popmort_back_sd,popmort_out_sd,eggmort_sd,outsizevals_sd,backsizevals_sd,outgrowdays_sd,backgrowdays_sd,pop_capture_back,pop_capture_out,cdevolveans,N0_pass,allefreqfiles_pass,classvarsfiles_pass,assortmateModel_pass,assortmateC_pass,subpopmort_pass,PopTag,dispLocalcdmatfile,dispLocalno,dispLocalparA,dispLocalparB,dispLocalparC,dispLocalthresh,comp_coef_pass,betaFile_selection,xvars_betas_pass,outhabvals_pass,backhabvals_pass,plastic_signalresp_pass,plastic_behaviorresp_pass,plasticans,muterate_pass,sexchromo,MgBack_patch_prob,Disperse_patch_prob,alldiseaseVars_files,implementdisease,pathogen_load,disease_fitvals_pass,defaultMature_pass,mat_slope_pass,mat_int_pass): ''' DoCDCliamte() Reads in cost distance matrices and converts to probabilities. ''' - + # ------------------------------- # Extract cdclimate values here # ------------------------------- @@ -1351,6 +1351,11 @@ def DoCDClimate(datadir,icdtime,cdclimgentime,matecdmatfile,dispOutcdmatfile,dis # Add Beta0 tempbetas_selection.append(0.0 if not betavals[0][0] else float(betavals[0][0])) + # Maturation values - split by sexchromo possible - _set, _slope, _int + FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set=[val for val in process_disp(defaultMature_pass, icdtime, sexchromo, cdclimgentime)] + FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope = [val for val in process_disp(mat_slope_pass, icdtime, sexchromo, cdclimgentime)] + FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int= [val for val in process_disp(mat_int_pass, icdtime, sexchromo, cdclimgentime)] + # ---------------------- # Patch based parameters # ---------------------- @@ -1489,7 +1494,7 @@ def DoCDClimate(datadir,icdtime,cdclimgentime,matecdmatfile,dispOutcdmatfile,dis FXXdispmoveBackno,MXYdispmoveBackno,MYYdispmoveBackno,FYYdispmoveBackno,\ FXXStrno,MXYStrno,MYYStrno,FYYStrno,\ FXXdispLocalno,MXYdispLocalno,MYYdispLocalno,FYYdispLocalno,\ - tempMgOut_patch_prob,tempStr_patch_prob,tempoutsize,tempbacksize,tempoutgrow,tempbackgrow,tempfitvals,tempK,temppopmort_back,temppopmort_out,tempeggmort,tempKstd,temppopmort_back_sd,temppopmort_out_sd,tempeggmort_sd,tempoutsize_sd,tempbacksize_sd,tempoutgrow_sd,tempbackgrow_sd,temppopCapBack,temppopCapOut,tempN0,tempAllelefile,tempClassVarsfile,assortmateModel, assortmateC,subpopmort_mat,tempcompcoef,tempbetas_selection,tempxvars_betas,tempouthabvals,tempbackhabvals,plastic_signalresp,plastic_behaviorresp,muterate,age_percmort_out,age_percmort_out_sd,age_percmort_back,age_percmort_back_sd,size_percmort_out,size_percmort_out_sd,size_percmort_back,size_percmort_back_sd,age_MgOUT,age_MgBACK,age_S,age_DispProb,age_mature,age_mu,age_sigma,f_leslie,f_leslie_std,age_cap_out,age_cap_back,tempMgBack_patch_prob,tempDisperse_patch_prob,tupDisease_Vars + tempMgOut_patch_prob,tempStr_patch_prob,tempoutsize,tempbacksize,tempoutgrow,tempbackgrow,tempfitvals,tempK,temppopmort_back,temppopmort_out,tempeggmort,tempKstd,temppopmort_back_sd,temppopmort_out_sd,tempeggmort_sd,tempoutsize_sd,tempbacksize_sd,tempoutgrow_sd,tempbackgrow_sd,temppopCapBack,temppopCapOut,tempN0,tempAllelefile,tempClassVarsfile,assortmateModel, assortmateC,subpopmort_mat,tempcompcoef,tempbetas_selection,tempxvars_betas,tempouthabvals,tempbackhabvals,plastic_signalresp,plastic_behaviorresp,muterate,age_percmort_out,age_percmort_out_sd,age_percmort_back,age_percmort_back_sd,size_percmort_out,size_percmort_out_sd,size_percmort_back,size_percmort_back_sd,age_MgOUT,age_MgBACK,age_S,age_DispProb,age_mature,age_mu,age_sigma,f_leslie,f_leslie_std,age_cap_out,age_cap_back,tempMgBack_patch_prob,tempDisperse_patch_prob,tupDisease_Vars,FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set,FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope,FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int return tupClimate # End::DoCDClimate() @@ -1800,7 +1805,7 @@ def DoStochasticUpdate(K_mu,K_std,popmort_back_mu,popmort_back_sd,popmort_out_mu #End::DoStochasticUpdate() # --------------------------------------------------------------------------------------------------- -def DoPreProcess(outdir,datadir,irun,ithmcrun,xyfilename,loci,alleles,gen,logfHndl,cdevolveans,subpopemigration,subpopimmigration,sizeans,burningen_cdevolve,cor_mat_ans,inheritans_classfiles,sexans,spcNO,ibatch,betaFile_selection,FXXmat_set,FXXmat_int,FXXmat_slope,MXYmat_set,MXYmat_int,MXYmat_slope,MYYmat_set,MYYmat_int,MYYmat_slope,FYYmat_set,FYYmat_int,FYYmat_slope,sexchromo,eggFreq_mu,eggFreq_sd,implementdisease): +def DoPreProcess(outdir,datadir,irun,ithmcrun,xyfilename,loci,alleles,gen,logfHndl,cdevolveans,subpopemigration,subpopimmigration,sizeans,burningen_cdevolve,cor_mat_ans,inheritans_classfiles,sexans,spcNO,ibatch,betaFile_selection,defaultMature,mat_slope,mat_int,sexchromo,eggFreq_mu,eggFreq_sd,implementdisease): ''' DoPreProcess() @@ -1915,9 +1920,18 @@ def DoPreProcess(outdir,datadir,irun,ithmcrun,xyfilename,loci,alleles,gen,logfHn cor_mat = np.asarray(np.asarray(cor_mat)[1:,1:],dtype='float') # ----------------------------------------------------------------------------- - # Extract variables needed for initialization that vary with cdclimategen (bar) + # Extract variables needed for initialization that vary with cdclimategen (bar) # ----------------------------------------------------------------------------- - #pdb.set_trace() + + # Check Deterministic mature set value either age or size - split by bar and sex options, icdtime = 0 and length of cdclimate just needs to match the split par length + FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set=[val for val in process_disp(defaultMature, 0, sexchromo, defaultMature)] + + # Logistic equation for maturation as a function of size - slope + FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope = [val for val in process_disp(mat_slope, 0, sexchromo, mat_slope)] + + # Logistic equation for maturation as a function of size - intercept + FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int= [val for val in process_disp(mat_int, 0, sexchromo, mat_int)] + K, Kstd, pop_capture_back, N0, allefreqfiles, classvarsfiles, tempdiseaseVarsfile = [],[],[],[],[],[],[] for isub in range(len(K_temp)): mu = int(K_temp[isub].split('|')[0]) diff --git a/src/CDmetaPOP_mainloop.py b/src/CDmetaPOP_mainloop.py index 13a7ec6..a18d9e0 100644 --- a/src/CDmetaPOP_mainloop.py +++ b/src/CDmetaPOP_mainloop.py @@ -106,9 +106,12 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt size_eqn_1 = batchVars['growth_temp_max'][ibatch]# Check sex ratios size_eqn_2 = batchVars['growth_temp_CV'][ibatch]# Check sex ratios size_eqn_3 = batchVars['growth_temp_t0'][ibatch]# Check sex ratios - #mat_set = batchVars['mature_length_set'][ibatch] - mat_slope = batchVars['mature_eqn_slope'][ibatch] - mat_int = batchVars['mature_eqn_int'][ibatch] + + #Maturation pars + defaultMature_pass = batchVars['mature_default'][ibatch] + mat_slope_pass = batchVars['mature_eqn_slope'][ibatch] + mat_int_pass = batchVars['mature_eqn_int'][ibatch] + eggFreq_mu = float(batchVars['Egg_Freq_Mean'][ibatch]) eggFreq_sd = float(batchVars['Egg_Freq_StDev'][ibatch]) egg_mean_ans = batchVars['Egg_Mean_ans'][ibatch] @@ -120,7 +123,6 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt packans = batchVars['popmodel'][ibatch] packpar1 = float(batchVars['popmodel_par1'][ibatch]) cor_mat_ans = batchVars['correlation_matrix'][ibatch] - defaultMature = batchVars['mature_default'][ibatch] subpopmort_pass = batchVars['subpopmort_file'][ibatch] egg_delay = int(batchVars['egg_delay'][ibatch]) egg_add = batchVars['egg_add'][ibatch] @@ -155,19 +157,20 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt # For Sex ratios option splits # ---------------------------- validate(sexchromo not in [2, 3, 4], 'Number of sex chromosomes must be 2, 3,or 4.') - + + ''' # Check Deterministic mature set value either age or size - tupVal = sexsplit(defaultMature, sexchromo) + tupVal = sexsplit(defaultMature_pass, sexchromo) FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set = tupVal[0], tupVal[1], tupVal[2], tupVal[3] # Logistic equation for maturation as a function of size - slope - tupVal = sexsplit(mat_slope, sexchromo) + tupVal = sexsplit(mat_slope_pass, sexchromo) FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope = tupVal[0],tupVal[1],tupVal[2],tupVal[3] # Logistic equation for maturation as a function of size - intercept - tupVal = sexsplit(mat_int, sexchromo) + tupVal = sexsplit(mat_int_pass, sexchromo) FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int= tupVal[0],tupVal[1],tupVal[2],tupVal[3] - + ''' # ------------------------------------- # Error checking # ------------------------------------- @@ -224,9 +227,10 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt # Inherit answer can only be: validate(not (inheritans_classfiles == 'random' or inheritans_classfiles == 'Hindex' or inheritans_classfiles == 'mother'),'Inherit answer for multiple class files is not correct: enter either random or Hindex.') - + # If inherit answer uses Hindex, mutation can't be on - if isinstance(muterate_pass, list): + #if isinstance(muterate_pass, list): + if len(muterate_pass) > 1: validate(sum(np.asarray(muterate_pass,dtype=float)) != 0.0 and (inheritans_classfiles == 'Hindex' or inheritans_classfiles == 'mother'),'Mutation is not operating with Hindex inheritance options in this version.') else: validate(sum(np.asarray([muterate_pass],dtype=float)) != 0.0 and (inheritans_classfiles == 'Hindex' or inheritans_classfiles == 'mother'),'Mutation is not operating with Hindex inheritance options in this version.') @@ -249,13 +253,7 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt valid_values = ['N','Both','Back','Out'] validate(implementcomp not in valid_values, 'Implement disease value incorrect.') - ''' - # Error check here for runtiming and 4 mats - if len(dispBackcdmatfile) > 1: - validate(cdevolveans == 'runtiming' and len(dispBackcdmatfile[0].split('~')[0].split(';')) != 4, 'runtiming CDEvolve answer specified, 4 migrate back cdmats required.') - else: - validate(cdevolveans == 'runtiming' and len(dispBackcdmatfile.split('~')[0].split(';')) != 4, 'runtiming CDEvolve answer specified, 4 migrate back cdmats required.') - ''' + # --------------------------------------------- # Begin Monte-Carlo Looping # --------------------------------------------- @@ -315,7 +313,7 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt # Call function tupPreProcess = DoPreProcess(outdir,datadir,irun,ithmcrun,\ xyfilename,loci,alleles,0,logfHndl,cdevolveans,\ - subpopemigration,subpopimmigration,sizeans,burningen_cdevolve,cor_mat_ans,inheritans_classfiles,sexans,spcNO,ibatch,betaFile_selection,FXXmat_set,FXXmat_int,FXXmat_slope,MXYmat_set,MXYmat_int,MXYmat_slope,MYYmat_set,MYYmat_int,MYYmat_slope,FYYmat_set,FYYmat_int,FYYmat_slope,sexchromo,eggFreq_mu,eggFreq_sd,implementdisease) + subpopemigration,subpopimmigration,sizeans,burningen_cdevolve,cor_mat_ans,inheritans_classfiles,sexans,spcNO,ibatch,betaFile_selection,defaultMature_pass,mat_slope_pass,mat_int_pass,sexchromo,eggFreq_mu,eggFreq_sd,implementdisease) ithmcrundir = tupPreProcess[0] fitvals_pass = tupPreProcess[1] # sex ratio check throughout allelst = tupPreProcess[2] @@ -468,12 +466,12 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt # --------------------------------- # Timing events: start start_time1 = datetime.datetime.now() - #pdb.set_trace() + # Check gen time equal to cdclimgentime for icdtime in range(len(cdclimgentime)): if gen == int(cdclimgentime[icdtime]): tupClimate = DoCDClimate(datadir,icdtime,cdclimgentime,matecdmatfile,dispOutcdmatfile,\ - dispBackcdmatfile,straycdmatfile,matemoveno,dispmoveOutno,dispmoveBackno,StrBackno,matemovethreshval,dispmoveOutthreshval,dispmoveBackthreshval,StrBackthreshval,matemoveparA,matemoveparB,matemoveparC,dispmoveOutparA,dispmoveOutparB,dispmoveOutparC,dispmoveBackparA,dispmoveBackparB,dispmoveBackparC,StrBackparA,StrBackparB,StrBackparC,MgOut_patch_pass,Str_patch_pass,Kmu_pass,outsizevals_pass,backsizevals_pass,outgrowdays_pass,backgrowdays_pass,fitvals_pass,popmort_back_pass,popmort_out_pass,eggmort_pass,Kstd_pass,popmort_back_sd_pass,popmort_out_sd_pass,eggmort_sd_pass,outsizevals_sd_pass,backsizevals_sd_pass,outgrowdays_sd_pass,backgrowdays_sd_pass,pop_capture_back_pass,pop_capture_out_pass,cdevolveans,N0_pass,allefreqfiles_pass,classvarsfiles_pass,assortmateModel_pass,assortmateC_pass,subpopmort_pass,PopTag,dispLocalcdmatfile,dispLocalno,dispLocalparA,dispLocalparB,dispLocalparC,dispLocalthreshval,comp_coef_pass,betaFile_selection,xvars_betas_pass,outhabvals_pass,backhabvals_pass,plastic_signalresp_pass,plastic_behaviorresp_pass,plasticans,muterate_pass,sexchromo,MgBack_patch_prob_pass,Disperse_patch_prob_pass,alldiseaseVars_files,implementdisease,pathogen_load_pass,disease_fitvals_pass) + dispBackcdmatfile,straycdmatfile,matemoveno,dispmoveOutno,dispmoveBackno,StrBackno,matemovethreshval,dispmoveOutthreshval,dispmoveBackthreshval,StrBackthreshval,matemoveparA,matemoveparB,matemoveparC,dispmoveOutparA,dispmoveOutparB,dispmoveOutparC,dispmoveBackparA,dispmoveBackparB,dispmoveBackparC,StrBackparA,StrBackparB,StrBackparC,MgOut_patch_pass,Str_patch_pass,Kmu_pass,outsizevals_pass,backsizevals_pass,outgrowdays_pass,backgrowdays_pass,fitvals_pass,popmort_back_pass,popmort_out_pass,eggmort_pass,Kstd_pass,popmort_back_sd_pass,popmort_out_sd_pass,eggmort_sd_pass,outsizevals_sd_pass,backsizevals_sd_pass,outgrowdays_sd_pass,backgrowdays_sd_pass,pop_capture_back_pass,pop_capture_out_pass,cdevolveans,N0_pass,allefreqfiles_pass,classvarsfiles_pass,assortmateModel_pass,assortmateC_pass,subpopmort_pass,PopTag,dispLocalcdmatfile,dispLocalno,dispLocalparA,dispLocalparB,dispLocalparC,dispLocalthreshval,comp_coef_pass,betaFile_selection,xvars_betas_pass,outhabvals_pass,backhabvals_pass,plastic_signalresp_pass,plastic_behaviorresp_pass,plasticans,muterate_pass,sexchromo,MgBack_patch_prob_pass,Disperse_patch_prob_pass,alldiseaseVars_files,implementdisease,pathogen_load_pass,disease_fitvals_pass,defaultMature_pass,mat_slope_pass,mat_int_pass) # Cdmatrix values cdmatrix_mate, cdmatrix_FXXOut, cdmatrix_MXYOut, cdmatrix_MYYOut, cdmatrix_FYYOut, cdmatrix_FXXBack, cdmatrix_MXYBack, cdmatrix_MYYBack, cdmatrix_FYYBack, cdmatrix_FXXStr, cdmatrix_MXYStr, cdmatrix_MYYStr, cdmatrix_FYYStr, cdmatrix_FXXLD, cdmatrix_MXYLD, cdmatrix_MYYLD, cdmatrix_FYYLD = tupClimate[:17] @@ -506,13 +504,15 @@ def main_loop(spcNO,fileans,irun,datadir,sizeans,constMortans,mcruns,looptime,nt age_percmort_out_mu,age_percmort_out_sd,age_percmort_back_mu,age_percmort_back_sd,size_percmort_out_mu,size_percmort_out_sd,size_percmort_back_mu,size_percmort_back_sd,age_MgOUT, age_MgBACK,age_S,age_DispProb,age_mature,age_mu,age_sigma,f_leslie_mu,f_leslie_std,age_capture_out,age_capture_back = tupClimate[171:190] MgBack_patch_prob, Disperse_patch_prob = tupClimate[190:192] disease_vars = tupClimate[192] + # Matruation vars + FXXmat_set, MXYmat_set, MYYmat_set, FYYmat_set,FXXmat_slope,MXYmat_slope,MYYmat_slope,FYYmat_slope,FXXmat_int,MXYmat_int,MYYmat_int,FYYmat_int = tupClimate[193:205] # ---------------------------------------- # Introduce new individuals # ---------------------------------------- if (gen != 0 and len(N0_pass[0].split('|')) > 1): SubpopIN = AddIndividuals(SubpopIN,tempN0,tempAllelefile,tempClassVarsfile,datadir,loci,alleles,sizeans,cdevolveans,burningen_cdevolve,fitvals,dtype,N0,natal_patches,gen,PopTag,sexans,logfHndl,FXXmat_set,FXXmat_int,FXXmat_slope,MXYmat_set,MXYmat_int,MXYmat_slope,MYYmat_set,MYYmat_int,MYYmat_slope,FYYmat_set,FYYmat_int,FYYmat_slope,sexchromo,eggFreq_mu,eggFreq_sd,disease_vars) - #pdb.set_trace() + # ------------------------------------------- # Update stochastic parameters each year here # ------------------------------------------- diff --git a/src/__pycache__/CDmetaPOP_Disease.cpython-312.pyc b/src/__pycache__/CDmetaPOP_Disease.cpython-312.pyc index c0e8dcb..1aad656 100644 Binary files a/src/__pycache__/CDmetaPOP_Disease.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_Disease.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Disease.cpython-313.pyc b/src/__pycache__/CDmetaPOP_Disease.cpython-313.pyc new file mode 100644 index 0000000..ebb560e Binary files /dev/null and b/src/__pycache__/CDmetaPOP_Disease.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Emigration.cpython-312.pyc b/src/__pycache__/CDmetaPOP_Emigration.cpython-312.pyc index b9d0294..5c0a43e 100644 Binary files a/src/__pycache__/CDmetaPOP_Emigration.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_Emigration.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Emigration.cpython-313.pyc b/src/__pycache__/CDmetaPOP_Emigration.cpython-313.pyc new file mode 100644 index 0000000..d63e2bf Binary files /dev/null and b/src/__pycache__/CDmetaPOP_Emigration.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Immigration.cpython-312.pyc b/src/__pycache__/CDmetaPOP_Immigration.cpython-312.pyc index bc6348e..1d06c31 100644 Binary files a/src/__pycache__/CDmetaPOP_Immigration.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_Immigration.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Immigration.cpython-313.pyc b/src/__pycache__/CDmetaPOP_Immigration.cpython-313.pyc new file mode 100644 index 0000000..90ef158 Binary files /dev/null and b/src/__pycache__/CDmetaPOP_Immigration.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Mate.cpython-312.pyc b/src/__pycache__/CDmetaPOP_Mate.cpython-312.pyc index 278979c..ca49e08 100644 Binary files a/src/__pycache__/CDmetaPOP_Mate.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_Mate.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Mate.cpython-313.pyc b/src/__pycache__/CDmetaPOP_Mate.cpython-313.pyc new file mode 100644 index 0000000..531942c Binary files /dev/null and b/src/__pycache__/CDmetaPOP_Mate.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Modules.cpython-312.pyc b/src/__pycache__/CDmetaPOP_Modules.cpython-312.pyc index b4ce5dc..992da08 100644 Binary files a/src/__pycache__/CDmetaPOP_Modules.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_Modules.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Modules.cpython-313.pyc b/src/__pycache__/CDmetaPOP_Modules.cpython-313.pyc new file mode 100644 index 0000000..27861c9 Binary files /dev/null and b/src/__pycache__/CDmetaPOP_Modules.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Mortality.cpython-312.pyc b/src/__pycache__/CDmetaPOP_Mortality.cpython-312.pyc index 4703598..5db8914 100644 Binary files a/src/__pycache__/CDmetaPOP_Mortality.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_Mortality.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Mortality.cpython-313.pyc b/src/__pycache__/CDmetaPOP_Mortality.cpython-313.pyc new file mode 100644 index 0000000..1c7d90f Binary files /dev/null and b/src/__pycache__/CDmetaPOP_Mortality.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Offspring2.cpython-312.pyc b/src/__pycache__/CDmetaPOP_Offspring2.cpython-312.pyc index 71a11ac..4824e72 100644 Binary files a/src/__pycache__/CDmetaPOP_Offspring2.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_Offspring2.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_Offspring2.cpython-313.pyc b/src/__pycache__/CDmetaPOP_Offspring2.cpython-313.pyc new file mode 100644 index 0000000..6822eef Binary files /dev/null and b/src/__pycache__/CDmetaPOP_Offspring2.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_PostProcess.cpython-312.pyc b/src/__pycache__/CDmetaPOP_PostProcess.cpython-312.pyc index be97291..72b0c6f 100644 Binary files a/src/__pycache__/CDmetaPOP_PostProcess.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_PostProcess.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_PostProcess.cpython-313.pyc b/src/__pycache__/CDmetaPOP_PostProcess.cpython-313.pyc new file mode 100644 index 0000000..412eec4 Binary files /dev/null and b/src/__pycache__/CDmetaPOP_PostProcess.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_PreProcess.cpython-312.pyc b/src/__pycache__/CDmetaPOP_PreProcess.cpython-312.pyc index 4afde95..516de62 100644 Binary files a/src/__pycache__/CDmetaPOP_PreProcess.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_PreProcess.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_PreProcess.cpython-313.pyc b/src/__pycache__/CDmetaPOP_PreProcess.cpython-313.pyc new file mode 100644 index 0000000..300682e Binary files /dev/null and b/src/__pycache__/CDmetaPOP_PreProcess.cpython-313.pyc differ diff --git a/src/__pycache__/CDmetaPOP_mainloop.cpython-312.pyc b/src/__pycache__/CDmetaPOP_mainloop.cpython-312.pyc index 0704b4f..f9cb210 100644 Binary files a/src/__pycache__/CDmetaPOP_mainloop.cpython-312.pyc and b/src/__pycache__/CDmetaPOP_mainloop.cpython-312.pyc differ diff --git a/src/__pycache__/CDmetaPOP_mainloop.cpython-313.pyc b/src/__pycache__/CDmetaPOP_mainloop.cpython-313.pyc new file mode 100644 index 0000000..2273de2 Binary files /dev/null and b/src/__pycache__/CDmetaPOP_mainloop.cpython-313.pyc differ