IMa3 on XSEDE1.11IMa3p - Parallel MCMC and inference of ancient demography under the Isolation with Migration (IM) modelJody Hey, Rasmus Nielsen, Sang Chul Choi, Vitor Sousa, Janeen Pisciotta, Yujin Chung and Arun SethuramanArun Sethuraman and Jody Hey (2016) IMa2p - Parallel MCMC and inference of ancient demography under the Isolation with Migration (IM) model Mol Ecol Resour. 2016 Jan; 16(1): 206–215. Hey, J., Chung, Y., Sethuraman, A., Lachance, J., Tishkoff, S., Sousa, V. C., and Wang, Y. (2018) Phylogeny Estimation by Integration over Isolation with Migration Models. Molecular Biology and Evolution 35, 2805-2818Phylogeny / Alignmentima3_xsedeima2p_invoke2perl"ima3_1.11_expanse"0number_nodes12scheduler.confperl$specify_numchains < 128 perl
"nodes=1\\n" .
"node_exclusive=0\\n" .
"cpus-per-task=1\\n" .
"mem=" . (int(($specify_numchains * 0.5)*(248/128))) . "G\\n" .
"jobtype=mpi\\n" .
"mpi_processes=" . $specify_numchains * 0.5 . "\\n"
number_nodes22scheduler.confperl$specify_numchains >= 128 perl
"nodes=1\\n" .
"node_exclusive=1\\n" .
"jobtype=mpi\\n" .
"cpus-per-task=1\\n" .
"mem=243G\\n" .
"mpi_processes=128\\n"
infileInputinfile.txtperl"-i infile.txt"1runtime1scheduler.confMaximum Hours to Run (up to 168 hours)0.5The maximum hours to run must be less than 168perl$runtime > 168.0The maximum hours to run must be greater than 0.05perl$runtime < 0.05perl"runhours=$value\\n"The job will run on $specify_numchains * 0.5 processors as configured. If it runs for the entire configured time, it will consume $specify_numchains * 0.5 x $runtime cpu hoursperl$specify_numchains < 256The job will run on 128 processors as configured. If it runs for the entire configured time, it will consume 128 x $runtime cpu hoursperl$specify_numchains >= 256WARNING: This job will consume 3,000-6,000 CPU hours if it runs for the entire configured time. Are you sure you want to do this?perl$specify_numchains >= 256 && $runtime >= 24 && $runtime < 48WARNING: This job will consume 6,000-9,000 CPU hours if it runs for the entire configured time. Are you sure you want to do this?perl$specify_numchains >= 256 && $runtime >= 48 && $runtime < 72WARNING: This job will consume 9,000-12,000 CPU hours if it runs for the entire configured time. Are you sure you want to do this?perl$specify_numchains >= 256 && $runtime >= 72 && $runtime < 96WARNING: This job will consume 12,000-15,000 CPU hours if it runs for the entire configured time. Are you sure you want to do this?perl$specify_numchains >= 256 && $runtime >= 96 && $runtime < 120WARNING: This job will consume 15,000-18,000 CPU hours if it runs for the entire configured time. Are you sure you want to do this?perl$specify_numchains >= 256 && $runtime >= 120 && $runtime < 144WARNING: This job will consume 18,000-21,000 CPU hours if it runs for the entire configured time. Are you sure you want to do this?perl$specify_numchains >= 256 && $runtime >= 144 && $runtime <= 168Estimate the maximum time your job will need to run. We recommend testing initially with a < 0.5hr test run because Jobs set for 0.5 h or less depedendably run immediately in the "debug" queue.
Once you are sure the configuration is correct, you then increase the time. The reason is that jobs > 0.5 h are submitted to the "normal" queue, where jobs configured for 1 or a few hours times may
run sooner than jobs configured for the full 168 hours.
max_popsizeMaximum for population size parameters (-q, 4Nu)perl(defined $value) ? "-q $value":"" A value may be required for Maximum for population sizeperl!defined $max_popsizemigration_priorMigration prior value (-m, maximum for uniform, mean if exponential distribution is used)perl(defined $value) ? "-m $value":"" A value may be required for Migration prior value (-m)perl!defined $specify_popsplitPlease see the manual for further information about the -m option.outfile_nameOutput file name perl(defined $value) ? "-o $value":"" specify_seedRandom number seed (-s default is taken from current time)perl(defined $value) ? "-s $value":"" specify_popsplitMaximum time of population splitting (-t)perl(defined $value) ? "-t $value":"" run_optionsRun Optionsrun_option0Load genealogies from previous run(s) (-r0)perl($value)? "-r0":"" specify_tinameBase name (no extension) of *.ti files with genealogy data perl$run_option0perl(defined $value) ? "-v $value":"" specify_tifileSelect your *.ti fileperl$run_option0run_option1Do not save genealogies to a file (-r1)perl!$run_option0perl($value)? "-r1":"" run_option2Save the state of the Markov chain in a file (-r2)perl($value)? "-r2":"" run_option3Start run by loading a previously saved *.mcf file (-r3)perl($value)? "-r3":"" specify_mcffileSpecify the first *.mcf fileperl$run_option3perl(defined $value) ? "-f statefile1.mcf":"" statefile1.mcf.0specify_mcffile2Specify the second *.mcf fileperl$specify_mcffilestatefile1.mcf.1run_option4Write all mutation related rates to stdout.txt (-r4)perl($value)? "-r4":"" run_option5Print burntrend file at end of burnin period (-r5)perl!$run_option0perl($value)? "-r5":"" run_option6When loading mcf files (-r3,-r7), use previous run as burnin (-r6)perl($value)? "-r6":"" run_option8Use unique IMburn/run files with outfilename as a prefix (-r8)perl($value)? "-r8":"" specify_numstepsSpecify the number of steps between geneology saving (-d)perl!$run_option0perldefined $value ? "-d $value":""100The -d option is ignored when sampling phylogeniescalculation_optionsCalculation Optionscalc_option0Likelihood of data functions return a constant -posterior should equal prior (-c0)perl($value)? "-c0":"" calc_option1Include ranges on mutation rates as priors on mutation rate scalars (-c1)perl($value)? "-c1":"" specify_nestmodFile with nested models to be tested (LOAD-GENEALOGY mode only), invokes -c2 (-w)perl$calc_option2nested_models.txtperl(defined $value) ? "-w nested_models.txt":"" The -c2 option requres a file with nested models via -wperl$calc_option2 && !defined $specify_nextmodcalc_option3Get prior distribution terms from file (-c3)perl($value)? "-c3":"" datatype5_fileSelect file with parameter priorsperl$calc_option3 perl(defined $value)? "-g imapriors.txt":"" imapriors.txtSorry, you cant specify a parameter prior file AND specify a prior via -mperldefined $migration_prior && defined $datatype5_fileTo use this option, calculation option 3, -c3 must be invokedset_burninSet Burninchoose_burninstepsBurn duration (-b) is in:perl!$run_option012Please choose the burnin methodperl!defined $choose_burninstepsspecify_burninstepsSpecify the number of burnin steps (-b integer)perl$choose_burninsteps == 1perl(defined $value) ? "-b $value":"" specify_burntrendHours between writing of burntrend file (there must be a decimal)perl!$run_option0 && $choose_burninsteps == 2 perl(defined $value) ? "-b $value":"" heating_termsHeating Termsspecify_numchainsNumber of chains, all models (-hn)perldefined $value ? "-hn$value":""Please specify the number of chainsperl!defined $specify_numchainsThe number of chains must be a multiple of 2perl((($specify_numchains) % 2) != 0)The number of chains must be no greater than 256perl$specify_numchains > 256The number of chains must be no less than 2perl$specify_numchains < 2specify_firstheatparamSpecify the first heating parameter (-ha; sigmoid or geometric)perl!$run_option0perldefined $value ? "-ha$value":""This value should be between 0 and 1. Values near 1 will be near Even, values near 0.95 will be sigmoid, specify_secondheatparamSpecify the second heating parameter (-hb; geometric only)perl!$run_option0 perldefined $value ? "-hb$value":""This option is required for the Geometric modelmodel_optionsModel Optionsmodel_option0Estimate population topology: 3 populations required (-j0)perl($value)? "-j0":"" specify_topologyprSpecify population topology prior (-x)perl$model_option0perl(defined $value) ? "-x $value":""Set phylogeny priors for clades of sampled populations (requires -j0), can have multiple -x terms
each -x terms must be followed by two or more population integers and a positive floating point value
e.g. -x 0 1 2 0.5 sets relative prior on trees with clade consisting of 0,1,2 to 0.5 (default is 1)model_option1Add a non-sampled ghost population to the model (-j1)perl!$model_option0perl($value)? "-j1":"" model_option2Migration prior follows exponential distribution (-j2)perl($value)? "-j2":"" model_option3Use hyperpriors specified by -q and -m (-j3)perl($value)? "-j3":"" model_option4Migration only between sister populations (-j4)perl!$model_option0perl($value)? "-j4":"" model_option5One migration parameter for each pair of populations (-j5)perl!$model_option0perl($value)? "-j5":"" model_option6Migration only between sampled populations (-j6)perl!$model_option0perl($value)? "-j6":"" model_option7Period specific parameters (-j7)perl!$model_option0perl($value)? "-j7":"" model_option8No migration in the model (-j8)perl!$model_option0perl($value)? "-j8":"" model_option9One single migration parameter for all pairs of populations (-j9)perl!$model_option0perl($value)? "-j9":"" model_optionxOne single population size parameter for all populations (-jx)perl!$model_option0perl($value)? "-jx":"" Sorry you cant use this option together with Population topology updating and estimationperl$model_option0 && $model_optionxset_rundurationSet Run Durationspecify_hoursTime in hours of the sampling period (must have a decimal) (-L)perl!$run_option0 && $choose_runmethod == 2 perl(defined $value) ? "-L $value":"" Must have a decimal.specify_runduration1Number of phylogenies to save:perl$model_option0perldefined $value ? "-L $value":""Please choose the number of phylogenies to saveperl$model_option0 && !defined $specify_runduration1Must have a decimal.specify_runduration2Number of times the topologies are sampledperl!$model_option0perldefined $value ? "-L $value":""Please choose the number of topologies to saveperl$model_option0 && !defined $specify_runduration2The (number of topologies to save) x (-d) value sets the # of steps in the chain after burninspecify_runduration2bNumber of times the genealogies are sampledperl!$run_option0perldefined $value ? "-L $value":""Please choose the number of genealogies to saveperl!$model_option0 && !defined $specify_runduration2bThe (number of geneologies to save) x (-d) value sets the # of steps in the chain after burninspecify_runduration3Number of genealogies to load from fileperl$run_option0perldefined $value ? "-L $value":""Please choose the number of genealogies to load from fileperl$run_option0 && !defined $specify_runduration3The (number of geneologies to save) x (-d) value sets the # of steps in the chain after burninoutput_optionsOutput Optionsoutput_option0Turn off trend plots in outfile (-p0)perl($value)? "-p0":"" output_option1Turn off plots of marginal curves in outfile (-p1)perl($value)? "-p1":"" output_option2Print TMRCA histogram for each genealogy (-p2)perl!$run_option0perl($value)? "-p2":"" output_option3Print histogram of splitting times divided by prior (-p3)perl!$model_option0perl($value)? "-p3":"" Sorry you cant use this option together with Population topology updating and estimationperl$model_option0 && $model_option3specify_gentimeGeneration time in years (-u for use with -p3; default is 1) perl(defined $value) ? "-u $value":"" 1specify_mutratescalarMutation rate scalar for relevant loci -for use with -p3 (-y) perl$output_option3perl(defined $value) ? "-y $value":"" output_option4Turn off printing estimates and histograms of population migration rate (-p4)perl($value)? "-p4":"" Please turn off extimates of 2NM (option -p4) to use a single migration parameter (-j5)perl!$output_option4 && $model_option5output_option5Print pairwise probabilities that one parameter is greater than another (-p5)perl($value)? "-p5":"" output_option6Print histograms of the number of migration events (-p6)perl!$model_option0perl($value)? "-p6":"" output_option7Print joint estimate for splitting times (-p7)perl!$model_option0perl($value)? "-p7":"" results*