Methods | Software | Purpose | Specifics | Issues and warnings | Link | Reference |
---|---|---|---|---|---|---|

Identity by state tract | Unnamed | Predict observed patterns of Identity by state along a genome by fittingan appropriate, arbitrary complex demographic model | Allows bootstrapping and estimating confidence over parameter estimates with ms | Specific input format (similar to MSMC or ARGWeaver) | https://github.com/kelleyharris/Inferring-demography-from-IBS | (Harris and Nielsen, 2013) |

IBD tract | DoRIS | Testing various demographic scenario | Uses variation in IBD tracts length to test for various demographic models. | IBD must be inferred first with, e.g., BEAGLE. Handles a limited set of demographic scenarios. Modification in the code is required for more complex scenarios | https://github.com/pierpal/DoRIS | (Palamara and Pe’er, 2013) |

Sequentially Markovian coalescent | diCal2 | Testing any arbitrary demographic scenario | Works with smaller, more fragmented datasets than PSMC. Handles more complex demographic models than MSMC (including admixture). | Requires phased whole genome data and a model to be defined | https://sourceforge.net/projects/dical2/ | (Sheehan et al. , 2013) |

Sequentially Markovian coalescent | PSMC | Inferring change in Ne with time using a single diploid genome | Allows to track population size changes in time without a priori. | Limited to one population and one diploid individual. Better used within MSMC. Requires phased whole genome data and masking regions with insufficient sequencing depth | https://github.com/lh3/psmc | (Li and Durbin, 2011) |

Sequentially Markovian coalescent | MSMC | Inferring change in Ne and migration rates with time between two populations | Allows to track population size changes in time without a priori. Allows estimating variation in cross-coalescence rate between two populations | Limited to the study of 8 diploid individuals from 2 populations at once. Requires whole genome phased data and masking regions with insufficient sequencing depth | https://github.com/stschiff/msmc | (Schiffels and Durbin, 2014) |

Bayesian | Migrate-n | Inferring migration rates | Both ML and bayesian methods can be used to estimate parameters | Only estimates population sizes and migration rates. Not suited for large datasets. Private input format | http://popgen.sc.fsu.edu/Migrate/Migrate-n.html | (Beerli and Palczewski, 2010) |

Bayesian | IMa2 | Inferring parameters from an isolation with migration model | Fully bayesian approach, can perform joint estimates of parameters in L-mode and test for nested models | IM model is the only one available. Discrete admixture cannot be tested. Long computation times. Recent splits lead to overestimate migration rates | https://bio.cst.temple.edu/~hey/software/software.htm#IMa2 | (Hey and Nielsen, 2007) |

Bayesian | G-PhoCS | Estimating population divergence and migration parameters using a coalescent framework | Bayesian + MCMC, handles ancient samples | Parameters scaled by mutation rate, no admixture | http://compgen.cshl.edu/GPhoCS/ | (Gronau et al. , 2011) |

Ancestral Recombination Graphs/coalescence | ARGWeaver | Retracing the whole process of recombination and coalescence along a genome | Provides quantitative estimates for TMRCA and topologies at each locus. Estimates effective population size. Provides tools to extract summary statistics for the topologies retrieved. | High computing cost. Requires phased whole-genome data. | https://github.com/mdrasmus/argweaver | (Rasmussen et al. , 2014) |

coalescent simulations | ms, msms, msABC,msnsam | Building any arbitrary scenario using a coalescent framework | Any arbitrary scenario can be implemented. Handles SNP, microsatellites and sequence data. msms can include selection in the model. | Can be difficult to handle for the naive user (but see coala) | http://home.uchicago.edu/rhudson1/source/mksamples.html http://www.mabs.at/ewing/msms/index.shtml http://www.plantsciences.ucdavis.edu/faculty/ross-ibarra/code/files/msnsam.html Scripts for implementing model comparison with ABC, with heterogeneous gene flow across loci: https://github.com/popgenomics/popPhylABC | (Hudson, 2002; Ewing and Hermisson, 2010; Pavlidis et al. , 2010) |

coalescent simulations | scrm | Fast simulation of chromosome-scale sequences | Syntax similar to ms, handles any arbitrary scenario | Does not handle gene conversion and fixed number of segregating sites (unlike ms) | https://scrm.github.io/ | (Staab et al. , 2015) |

coalescent simulations | fastsimcoal2 | Building any arbitrary scenario using a coalescent framework | Any arbitrary scenario can be implemented. Handles SNP, microsatellites and sequence data. | Does not handle selection | http://cmpg.unibe.ch/software/fastsimcoal2/ | (Excoffier and Foll, 2011) |

ABC/Composite Likelihood | fastsimcoal2 | Model comparison and parameters estimation | Performs coalescent simulations, parameter estimation and model testing using a fast likelihood method. Can handle arbitrarily complex scenarios for any type of marker | Summary statistics need to be calculated through Arlequin, slowing down their computation | http://cmpg.unibe.ch/software/fastsimcoal2/ | (Excoffier et al. , 2013) |

ABC/coalescent simulations | coala | Combining coalescent simulators within a single framework | Facilitates the building of scenarios and computes summary statistics for simulations | Includes so far ms, msms and scrm | https://cran.r-project.org/web/packages/coala/index.html | (Staab and Metzler, 2016) |

ABC | abc | Performs all steps for model-checking and parameters estimation for ABC analyses | Informative vignette, allows graphical representation, complete and robust | Does not perform coalescent simulations (but can be used in combination with coala) | https://cran.r-project.org/web/packages/abc/index.html | (Csilléry et al. , 2012) |

ABC | DIYABC | Complete ABC analysis, from simulations to model checking and parameters estimation | User-friendly | Does not allow to model continuous gene flow | http://www1.montpellier.inra.fr/CBGP/diyabc/ | (Cornuet et al. , 2008) |

ABC | ABCToolbox | Complete ABC analysis, from simulations to model checking and parameters estimation | Modular, facilitates the computation of summary statistics | Current version is Beta (15/01/2016) | https://bitbucket.org/phaentu/abctoolbox-public/ | (Wegmann et al. , 2010) |

ABC | PopSizeABC | Inferring change in Ne using whole-genome data | Supposed to better assess recent events. Uses a set of summary statistics for the AFS and LD between markers. Handles multiple individuals | Approximate bayesian approaches relie on summary statistics, not using the full information from observation. | https://forge-dga.jouy.inra.fr/projects/popsizeabc/ | (Boistard et al. , 2016) |

Diffusion approximation of the AFS | ∂a∂i | Model comparison and parameters estimation | Run time does not depend on the number of SNPs included, does not require coalescent simulations, handles arbitrarily complex scenarios | requires some knowledge of Python. Limited to 3 populations | https://bitbucket.org/gutenkunstlab/dadi Scripts for implementing complex demographic histories with heterogeneous gene flow: http://methodspopgen.com/wp-content/uploads/2017/11/tutoriel_dadi.zip http://methodspopgen.com/wp-content/uploads/2017/12/dadi-1.7.0_modif.zip http://datadryad.org/resource/doi:10.5061/dryad.3bc76 | (Gutenkunst et al. , 2009) |

Coalescence/Composite Likelihood | ABLE | Model comparison and parameters estimation | Uses both allele frequency spectrum and linkage disequilibrium within blocks of a pre-specified size. Handles whole-genome data and RAD-seq. | Relies on ms syntax. Determining the most informative size for blocks requires performing pilot runs. | https://github.com/champost/ABLE | (Beeravolu et al., 2016) |

Sequentially Markovian coalescent | SMC++ | Inferring change in Ne with time and splitting time between two populations | Can analyze hundreds of individuals at a time and does not require phasing | Masking regions as in MSMC. The ancestral allele is assumed to be the reference allele by default. Assumes a clean split for populations divergence. Future versions should allow gene flow inference. | https://github.com/popgenmethods/smcpp | (Terhorst et al., 2016) |

Composite Likelihood | Stairway | Inferring change in Ne with time for whole genomes and reduced-representation datasets | Does not require phasing. Fast. | Requires an estimate of the number of invariant sites. Not reliable for ancient history. | https://drive.google.com/file/d/0BwXtJxmTWY_tVkx2NVh4VUxiWnc/view | (Liu and Fu, 2015) |

**References**

Beerli P, Palczewski M (2010). Unified framework to evaluate panmixia and migration direction among multiple sampling locations. *Genetics* **185**: 313–26.

Boistard S, Rodriguez W, Jay F, Mona S, Austerlitz F (2016). Inferring Population Size History from Large Samples of Genome-Wide Molecular Data – An Approximate Bayesian Computation Approach. *PLoS Genet*: 858–865.

Cornuet J-M, Santos F, Beaumont MA, Robert CP, Marin J-M, Balding DJ, *et al.* (2008). Inferring population history with DIY ABC: a user-friendly approach to approximate Bayesian computation. *Bioinformatics* **24**: 2713–9.

Csilléry K, François O, Blum MGB (2012). abc: an R package for approximate Bayesian computation (ABC). *Methods Ecol Evol* **3**: 475–479.

Ewing G, Hermisson J (2010). MSMS: A coalescent simulation program including recombination, demographic structure and selection at a single locus. *Bioinformatics* **26**: 2064–2065.

Excoffier L, Dupanloup I, Huerta-Sanchez E, Sousa VC, Foll M (2013). Robust Demographic Inference from Genomic and SNP Data. *PLoS Genet* **9**.

Excoffier L, Foll M (2011). Fastsimcoal: a Continuous-Time Coalescent Simulator of Genomic Diversity Under Arbitrarily Complex Evolutionary Scenarios. *Bioinformatics* **27**: 1332–4.

Gronau I, Hubisz MJ, Gulko B, Danko CG, Siepel A (2011). Bayesian inference of ancient human demography from individual genome sequences. *Nat Genet* **43**: 1031–1034.

Gutenkunst RN, Hernandez RD, Williamson SH, Bustamante CD (2009). Inferring the joint demographic history of multiple populations from multidimensional SNP frequency data. *PLoS Genet* **5**.

Harris K, Nielsen R (2013). Inferring Demographic History from a Spectrum of Shared Haplotype Lengths. *PLoS Genet* **9**.

Hey J, Nielsen R (2007). Integration within the Felsenstein equation for improved Markov chain Monte Carlo methods in population genetics. *Proc Natl Acad Sci U S A* **104**: 2785–90.

Hudson RR (2002). Generating samples under a Wright–Fisher neutral model of genetic variation. *Bioinformatics* **18**: 337–338.

Li H, Durbin R (2011). Inference of human population history from individual whole-genome sequences. *Nature* **475**: 493–496.

Palamara PF, Pe’er I (2013). Inference of historical migration rates via haplotype sharing. *Bioinformatics* **29**: 180–188.

Pavlidis P, Laurent S, Stephan W (2010). MsABC: A modification of Hudson’s ms to facilitate multi-locus ABC analysis. *Mol Ecol Resour* **10**: 723–727.

Rasmussen MD, Hubisz MJ, Gronau I, Siepel A (2014). Genome-Wide Inference of Ancestral Recombination Graphs. *PLoS Genet* **10**.

Schiffels S, Durbin R (2014). Inferring human population size and separation history from multiple genome sequences. *Nat Genet* **46**: 919–25.

Sheehan S, Harris K, Song YS (2013). Estimating Variable Effective Population Sizes from Multiple Genomes : A Sequentially Markov Conditional Sampling Distribution Approach. *Genetics* **194**: 647–662.

Staab PR, Metzler D (2016). Coala: An R framework for coalescent simulation. *Bioinformatics* **32**: 1903–1904.

Staab PR, Zhu S, Metzler D, Lunter G (2015). Scrm: Efficiently simulating long sequences using the approximated coalescent with recombination. *Bioinformatics* **31**: 1680–1682.

Terhorst J, Kamm JA, Song YS (2016). Robust and scalable inference of population history from hundreds of unphased whole genomes. *Nat Genet* **49**: 303–309.

Wegmann D, Leuenberger C, Neuenschwander S, Excoffier L (2010). ABCtoolbox: a versatile toolkit for approximate Bayesian computations. *BMC Bioinformatics* **11**: 116.