IMa3 on ACCESS1.13IMa3p - 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.13_expanse"0number_nodes12scheduler.confperl$specify_numchains < 256 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 >= 256 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":"" 50A 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_popsplit70Please see the manual for further information about the -m option.outfile_nameOutput file name perl(defined $value) ? "-o $value":"" 5specify_seedRandom number seed (-s default is taken from current time)perl(defined $value) ? "-s $value":"" 50specify_popsplitMaximum time of population splitting (-t)perl(defined $value) ? "-t $value":"" 51run_optionsRun Optionsrun_option0Load genealogies from previous run(s) (-r0)perl($value)? "-r0":"" 30specify_tinameBase name (no extension) of *.ti files with genealogy data perl$run_option0perl"-v genealogies"32specify_tifile1Select your *.ti fileperl$run_option0genealogies1.out.tispecify_tifile2Select your second *.ti fileperl$run_option0 && defined $specify_tifile1genealogies2.out.tispecify_tifile3Select your third *.ti fileperl$run_option0 && defined $specify_tifile2genealogies3.out.tirun_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":"" markovchainstate_filenameEnter the mcf file name (-f)perl$run_option3perl"-f statefile.mcf"To use this option, -r3 must be invoked.specify_mcffileSpecify the first *.mcf fileperl$run_option3statefile.mcf.0specify_mcffile2Specify the second *.mcf fileperldefined $specify_mcffilestatefile.mcf.1specify_mcffile3Specify the third *.mcf fileperldefined $specify_mcffile2statefile.mcf.2specify_mcffile4Specify the fourth *.mcf fileperldefined $specify_mcffile3statefile.mcf.3run_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_option7Load mcf if present, AND save to mcf (-r7)perl($value)? "-r7":"" 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":"" calc_option2Joint posterior density calculations, for LLR tests of nested models (-c2)perl$run_option0perl($value)? "-c2":"" 34specify_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":"" 36The -c2 option requres a file with nested models via -wperl$calc_option2 && !defined $specify_nestmodcalc_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_option0 && !$run_option7 12Please choose the burnin methodperl!defined $choose_burninstepsThe -b value is ignored when R7 is used.specify_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":""20Please 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 4perl$specify_numchains < 4specify_firstheatparamSpecify the first heating parameter (-ha; sigmoid or geometric)perldefined $value ? "-ha$value":""40This 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)perldefined $value ? "-hb$value":""41This 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_runduration1specify_runduration2bNumber of times the genealogies are sampledperl!$model_option0 && !$run_option0perldefined $value ? "-L $value":""Please choose the number of genealogies to saveperl!$model_option0 && !$run_option0 && !defined $specify_runduration2b The (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":""30Please 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":"" 60output_option1Turn off plots of marginal curves in outfile (-p1)perl($value)? "-p1":"" 60output_option2Print TMRCA histogram for each genealogy (-p2)perl!$run_option0perl($value)? "-p2":"" 60output_option3Print histogram of splitting times divided by prior (-p3)perl!$model_option0perl($value)? "-p3":"" 60Sorry 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":"" 160specify_mutratescalarMutation rate scalar for relevant loci -for use with -p3 (-y) perl$output_option3perl(defined $value) ? "-y $value":"" 60output_option4Turn off printing estimates and histograms of population migration rate (-p4)perl($value)? "-p4":"" 60Please 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":"" 60output_option6Print histograms of the number of migration events (-p6)perl!$model_option0perl($value)? "-p6":"" 60output_option7Print joint estimate for splitting times (-p7)perl!$model_option0perl($value)? "-p7":"" 60results*