Aidan,
(1) There was a bug in 5.0.7 (so I assume that was also in 5.0.4 — the version you used). I updated the GitHub version (
https://github.com/pbeerli/migrate-5.0.7.git). If you are familiar with compiling sources from GitHub, you can use that; otherwise, you will need to wait a few more days so that I can produce a source distribution and an executable for Mac (and hopefully for Windows [I don’t do well with that]). Tests with the single CPU version seem to work. Your example of prior differences seems too similar to make a difference compared to having the same prior.
(2) migrate-n will work fine if you use large prior bounds for M. Still, several difficulties will arise, for assembling percentiles migrate-n will use a histogram so if you use bounds between 0 and 10M with a default histogram setting (bins=1500) then each bin will include a large range of immigration rates, so you wil get a course result for immigration, the larger the range for M it also seems that the power to estimate population size decreases (I did a test with your data and with upper bounds of 2,000,000 your single locus seem to lose all power to estimate accurate populationsize.
The more serious problem is the fact that you simulated the data with M=2,000,000. I assume that your population size Theta is somewhere in the range of your prior 0..0.1; assuming a potentially low population size of theta=0.00001, then your 4Nm=0.00001*2,000,000 = 20, with theta=0.1 (your upper bound), this would be 4Nm=200,000; with immigration rates higher than 4Nm>10, the structured coalescence model is not appropriate (and you should use a single population model. I compared three runs: a. your priors in your parmfile, b. parmfile, but increasing the upper bounds to two million for immigration M. and a single population model, the single population model wins with about 40 log marginal likelihood units (model probability for the single pop model = 1.0 when using these three models. In early papers about migrate-n, you will also find that migrate will underestimate the high immigration rates because you would need to run the MCMC longer than you can or want to wait.
(3) Do not use more than one long chain. Bayesian inference will only run one cold chain (and several hot chains, but that is not defined in the option long-chain). If you want to get better results, run replicates [these can be parallelized]
A single locus will not be very precise for the lengths of sequence data; more loci will be better to estimate population sizes and immigration rates.
If you have more questions please ask
thanks
Peter