Migrate estimates effective population sizes,past migration rates between n population assuming a migration matrix model with asymmetric migration rates and different subpopulation sizes, and population divergences or admixture. Migrate uses Bayesian inference to jointly estimate all parameters. It can use the following data: Sequence data with or without site rate variation, single nucleotide polymorphism data (sequence-like data input, HAPMAP-like data), Microsatellite data using brownian motion approximation to the stepwise mutation model (using the repeatlength input format or the fragment-length input), and also Electrophoretic data using an 'infinite' allele model. The output can contain: Tables of mode, average, median, and credibility intervals for all paramters, histograms approximating the marginal posterior probability density of each parameter. Marginal likelihoods of the model to allow comparison of different MIGRATE runs to select be best model.