H I S T O R Y    O F      M I G R A T E 


[people] in brackets helped with resources or reported problems.
------------------------------------------------------------------------
                                     2001
-------------------------------------------------------------------------
August 15   Migrate-n 1.2.4 fix for geographic distance file option, some older versions [most likely
             version that were newer than 1.1] were using
                  a similarity matrix instead of a distance matrix.
August 9       Migrate-n 1.2.3 On Compaq alpha the program crashed with
               underflows (exp(-1000)=NaN and not 0 as everywhere else),
               now every exp() will be safeguarded on Compaq alphas.
August 8       Migrate 1.2.2 Several minor fixes to "beautify" outfile and
               menu printing.
July 28        Migrate-n 1.2.1 changes to the menu to incorporate AIC for
               migration model selection, needs documentation.
July 15        Migrate-n 1.2 Reworking of microsat likelihood calculation.
               It seems that my change on April 15 was only doing half
               of the job, the conditional likelihood calculation
               were not taking into account unobserved alleles above and
               below the smallest and largest repeatnumber.
               Everybody using microsatellite data should upgrade. 
April 30       Migrate-n 1.1 Reworking of likelihood calculation,
               should speed up parameter estimation about 10-20%.
               Inconsistency between manual likelihood-ratio description
               and program fixed, manual is now at version 1.1.
               If you want to use likelihood ratio test you should
               run 'long' runs or then use replication or heating.        
April 20       Migrate-n 1.0.4 Harmonizing the use of end-of-line
               characters,  migrate had several problems 
               reading files that were moved between different
               operating systems, hope this is all fixed now. 
               Fix of FAST and QUICK profile options [Raphaelle Chaix].  
April 18       Migrate-N 1.0.3. More fixes, plots should work now 
               [Steven Irvin], windows binary now is compiled with 
               correct set of C-files and not old ones [Mats Bjo"rklund].
April 15       Migrate-N 1.0.2 Serious problem in microsatellite code
               found and fixed: the stepwise-mutation model was only 
               approximated due to a programming error. The probability 
               of the number if steps for a given length of time was only
               too crudely approximated. Without the error reports of
               Steven Irvin and Raphaelle Chaix I would not have found 
               this. Problem with "?" as the last character in a file
               transported between different operating systems fixed 
               [R. Chaix]. Error in new replicate-summarizing code fixed
               [S. Irvin].
April 11       Migrate-N 1.0.1 Glitch in single locus likelihood ratio test
               fixed (technically you should not use this anyway).
               Some small formatting issues when saving parmfile.
April 10       MIGRATE-N 1.0 several memory leaks fixed, plotting
               option changed and will plot only over all loci.
               Many internal changes/speedups that should not affect users,
               although may introduce no bugs. Gamma deviated mutation rate
               among loci changed considerably but still has difficulties
               to converge. Sumfile run with "allelic" data broke,    
               fixed now.
February 12    MIGRATE-N 0.9.14 some cleanup on freeing memory in profile
               evaluation. Fixed a bug in the heating code when the dataset
               is "allelic data" [Robb Brumfield].
------------------------------------------------------------------------
                                     2000
-------------------------------------------------------------------------
December 16    MIGRATE-N 0.9.13 Speed up: memcpy() in site rate category code
               is replaced by pointer swapping [C++ newsgroup contribution],
               more precalculation of parts of the acceptance-ratio 
               calculation. Can use now a geographical distance file to 
               specify a kind of an isolation by distance model. 
               Rearrangement of likelihood ratio test menu [Steven Irvine], 
               removal of the l-ratio=LOCUS option, l-ratio=MEAN is replace 
               by l-ratio=MLE, this actually should not break old parmfiles. 
December 05    MIGRATE-N 0.9.12 Bug fix: I broke the infinite allele code
               and it is fixed now again [Ron Goldthwaite]
November 26    MIGRATE-N 0.9.11 Bug fix: when compiled optimized on SUNs
               the program showed odd and wrong behavior, and did not
               accept any new genealogy after a while, perhaps it is
               a compiler problem, because it does not occur on Linux
               Intel and I have not found a memory problem. A more
               restrictive array copying seems to remedy the problem.
               Additions: Adapted for compiles in a MAC OS X terminal
               window, it runs about twice as fast as in MAC OS 9.
               Addition of an option for more accurate calculations 
               during the data likelihood calculations with large data
               sets where the individual probabilities underflow and the
               program crashes, this option is not necesary for many 
               data sets, but slows the down run around 20-40%.   
October 18     MIGRATE-N 0.9.10 Bug fix: Multiple microsatellite loci analyzed
               with Brownian motion model, populations with no data, and a
               missing value in at least one of the sampled populations 
               crashed, because the whole locus was discarded, it should 
               work properly now [Martin Damus] 
October 13     MIGRATE-N 0.9.9 Bug fix: Parallele evaluation on symmetric 
               multiprocessor machines now works with rate categories (more 
               than one process wrote to the same unguarded memory).
               Further redesign to easy transition to parallele processing 
               of loci. 
October 6      MIGRATE-N 0.9.8 Bug fix: The reanalysis of a sumfile
               with one locus failed in the profile likelihood calculation.
               Addition of saveguards for machines (Dec Alphas) 
               that return for exp(-1000) = NaN instead of a very small 
               number or zero. 
               Addition of a sequencing error 
               possibility [see under Datatype with Sequence data]. 
               Heating scheme expanded from 4 chains to n<20 chains.
July 28        MIGRATE-N 0.9.7 Bug fix: in cases where a population size
               cannot be well estimated (the likelihood surface is flat)
               the reset function failed to calculate an average size, 
               and returned 0.0 which resulted in erratic behavior
               [Patricia Brito].
July 22        MIGRATE-N 0.9.6 Addition of a logfile option, 
               the Gamma-deviated mutation rate among loci seems to work
               but needs more rigorous testing, so sometimes it will still
               fail. 
July 11        MIGRATE-N 0.9.5 Bug fixes: the addition of a null population
               should work now for all datatypes [Martin Damus], 
               under some conditions the maximizer
               gave up too quickly, and (an embarassing one) for profile 
               likelihood percentiles miscalculation of percentile values: 
               some of the  old percentiles were wrong, To see what impact it
               had on your conclusions see below 
               correct/:1%   5%   10% 25%   50% 75%   90% 95%   99%
               wrong/old:  0.5% 2.5%  5% 12.5% 50% 87.5% 95% 97.5% 99.5%
               The old tables were using the 1,5,10... labels but calculated
               values under "wrong/old".
               [the likelihood ratio tests are not affected by this]
               The new profile tables are set so that you can generate
               99%, 95%, 90%, 50% confidence intervals. 
               [mutation=Gamma is still broken, sigh]  
May 30         MIGRATE-N 0.9.4
               Fixed a bug in reading and writing summary files
               (options affected were write-summary and datatype=genealogy).
               mutation=Gamma is still broken [Eric Simandle], 
               do not use it.
May 12         MIGRATE-N 0.9.3
               embarrased to say but the last fixed introduced a problem,
               in the likelihood calculation, hopefully  fixed now.
               mutation=Gamma is still broken [Eric Simandle], 
               do not use it.
April 22       MIGRATE-N 0.9.2
               inconsistency in likelihood calculation with replication
               fixed.
April 21       MIGRATE-N 0.9.1
               Bug in Mac-version of automatic random number seed
               generation, and in recording start migration parameters fixed,
               and migration start parameter mix up in parmfile 
               fixed [all Ken Wahrheit]. 
               Heating scheme changed, implemented a 4 parallel chain
               heating scheme (simulated tempering) based on Geyer and
               Thompson. The Tempered transition method (Neal) will 
               be reimplemented in a later version.
               Fixes: ttratio now works for different values 
               [Judite Alves],
               Registered users: 423 
                                 (tried to find this time all doubles)
March 3        MIGRATE-N 0.9
               First introduction of estimation of parameters 
               over multiple chains or multiple runs. 
               Problems: Multiple chain/runs 
               with the combination of gamma deviated mutation rate 
               does not work yet. Heating scheme is broken.
------------------------------------------------------------------------
                                     1999
-------------------------------------------------------------------------
December 10    MIGRATE-N 0.8.5
               Change of defaults: plot=FALSE, moved eventloop()
               in plot routine for Macintosh.
December 2     MIGRATE-N 0.8.4
               Revision of likelihood ratio test output. Change
               of "burn-in" default from 200 to 10000.
               Minor speedups in several functions.
November 23    MIGRATE-N 0.8.3
               Revision of heating scheme. But still needs more testing.
November 5     MIGRATE-N 0.8.2
               Addition of a convergence criterium: Gelman's R,
               (use progress=verbose)
               Added material to the 
               likelihood ratio test documentation.  
               Several minor bugfixes (sumfile related [Tonya Bitner],
               Profile Quantile table, verbose Progress reporting)
               Registered users: 372 
September 7    MIGRATE-N 0.8.1
               More cleanup of C-code, incorporation of new spline
               routine ( but this is still experimental). Improvement
               of documentation.
August 20      MIGRATE-N 0.8
               A problem with the UPGMA starting tree fixed,
               with many individuals the starting tree contained 
               some silly ordering, that produced uneven number of
               migration events on this tree and needs rather a long
               time to recover from this.
               profile likelihood speed improvements when there is a
               custom-migration matrix with zeroes.
               Registered users: 322
June 4         MIGRATE-N 0.7.1
               Division by 0 bug fixed in fst-calculation, this seems
               to bother only DEC Alphas.
June 1         MIGRATE-N 0.7
               Updated documentation, several minor things, warnings and error
               reporting should be more consistent, I am adding a section to
               the manual that describes all error/warning messages [partly
               done], the plotting graphics are more flexible now, but still
               need more work. You can specify the range and type of 
               axes (log-scale, std-scale), and if the migration parameter
               shall be plotted as M=m/mu or 4Nm. Fix of inconsistency 
               in migration value menu input [Reinaldo Brito]. 
               Fix of an error in the
               profile-method=FAST (it will need now more time to finish,
               because it is doing the final maximization over all other
               parameters), if you want its old behavior, that assumes that 
               Theta and M are not correlated [not a too bad assumption], 
               then use profile=YES:QUICK.  
March 8        MIGRATE-N 0.6.3
               Updated documentation (fixed errors in description of
               random-seed options, added important material 
               to profile-likelihood) , 
               inclusion of improved man page,
               fixed configure for SGI's with out gcc. 
Feb 14         MIGRATE-N 0.6.2 
               Tree traversal debug code removed,
               this killed runs with many individuals [Lisle Gibbs]
               Configure for SGI changed, does it work?
               MIGRATE-0.4: no change.
               Registered users: 280.
------------------------------------------------------------------------
                                     1998
-------------------------------------------------------------------------
December 29    MIGRATE-N 0.6.1 Multilocus estimates are all wrong 
               in version 0.6, silly programming mistake found an fixed.
               If you have used microsatellites or electrophoretic markers
               or several sequence loci you need to rerun that analysis.
               Result table should print now nicer with population numbers 
               above 3.  
               MIGRATE-0.4: no change.
               Registered users: 234
Oct 29         MIGRATE-N 0.6
               Addition of datatype=n that is for single nucleotide
               polymorphism data, no simulation with this kind of data
               is yet done, so I do not know about biases etc. 
               Profile tables now report 4Nm instead of m/mu for
               the migration parameters.
               Documentation changed and contains now more about 
               how to read the outfile and what you can and 
               cannot do with the reported log(likelihood) values 
               [Mats Bjorklund].
               Binaries for OPENSTEP available [thanks to Magnus Nordborg
               giving me an account on his machine].
               Registered users: 206
Sep 1          MIGRATE-N 0.4/0.5 [was not released, was too busy with 
               other things]
               FST start values work now also for microsatellite data
               but I still need to check  the correctedness of the FST table
               when the data are microsatellites.
               Fixed wrong emmigration plots. Fixed wrong start 
               calculations for allelic data when a delimiter was used,
               and several minor bug fixes. Profile-method
               "uncorrelated" from version alpha.1 recovered.
               Registered users: 197
June 14        MIGRATE-N alpha.3 and MIGRATE-0.4.2
               Several minor changes in migrate-n: menu addition for
               -profile method: 
               profile-method=<Spline | Percentiles | Discrete>
               Spline: uses 1-dimensional splines to find percentiles,
               faster than the "Percentiles" option but not so accurate,
               "Discrete" evaluates at "fixed" (0.02, 0.1, 0.2, 0.5, 1, 2,
               5, 10, 50) * MLE of parameter.
               -with progress=yes you can see now a rough prognosed time 
               of end of sampling genealogies and if you use profiles 
               an estimated time of finishing.
               -Fix of reading in intermediate results (sumfile).
               -Most importantly a (hopefully) stable compile for 
               Windows, I failed to find the cause why the program
               compiled with WATCOM failed to finish with "bigger" data sets,
               it is now compiled with mingw32/gcc-win32, this is
               a windows port of the same system I am using on my workstation.
               Please report failures, I can only try a limited set of 
               examples.
               Migrate-0.4.2: new windows binary (using mingw32/gcc-win32)
               Registered users: 163
May 30         MIGRATE-N alpha.2 and MIGRATE-0.4.1
               With more than 2 sequence loci, there was a problem
               with the T/T-ratio, when the ratio was not specified 
               for each locus.
               Start parameter problems with microsatellite data fixed
               [Mats Bjorklund]. 
               Persistent problems with Windows executable
               sometimes I get floating point errors, on all other systems
               this does not occur.
               Registered users: 153
May 29         MIGRATE-N alpha.1 and MIGRATE-0.4
               Memory bug in FST calculation found and fixed
               [Daniel Yeh] 
               No change of Migrate-0.4
               Registered users: 148.
May 26         MIGRATE-N and MIGRATE-0.4
               This release has the two population version (Migrate-0.4) 
               and an alpha-version of Migrate-n that can solve migration
               matrix population model with unequal population sizes and
               unequal migration rates for n populations, I tried up to 10
               and the results where fine, but I am pretty sure that if 
               you try to feed in all your date of 100 subpopulation it
               will (a) probably crash, but more importantly (b) will
               need TERRIBLY long to run. 
               I would like to get some 
               feedback about what you want to see in the outfile,
               menu etc. Registered Users: ~138.
February 25    MIGRATE 0.4 (was not put up onto the website, I was to busy)
               More complex sequence evolution models (categories,
               weights, autocorrelation etc.) should work now, 
               it was broken. Cleanup of some output file lines, and
               some menu entries. The FST estimation (Remember FST is only 
               used to generate start parameter values) is 
               in pre 0.4 versions logically flawed. It estimates 
               2 parameters per population using F_within and F_between,
	       but there is only 1 F_between. Correctly, we can
               only estimate maximally 3 parameters with 1 locus for
               two populations. I added an option into the MENU and into
               the PARMFILE (fst-type=<Theta | Migration >) with which you 
               can decide which parameter is considered the same for both
               populations.
	       Registered users:89
------------------------------------------------------------------------
                                     1997
------------------------------------------------------------------------
August 20      MIGRATE 0.3.1
               Confusing menu entries for start theta and 4Nm values
               fixed [Carol Reeb], the start migration values are now
               4Nm and *not* m/mu values as before. Automatic Random
               number seed on Macs and perhaps on other Systems 
               delivered sometimes negative values, now fixed 
               [Carol Reeb], although I would recommend to use your
               own random number seeds: best values are 4n + 1 in the 
               range of 5 .. 2147483647, so there are plenty of 
               start random number seeds. Menu entry for
               usertree options should be now more clear, the usertree
               options needs a genealogy with migration events on
               it [Tony Metcalf]. Currently MIGRATE can construct 
               those, or you have to do it by hand, if you need to do 
               this send me email, because the doc is not updated. 
               Registered users:52
June 20        MIGRATE 0.3.0. 
               Brownian motion approximation to stepwise mutation
	       model for microsatellites added.  Solved problems:
	       Input problems with microsatellites data, major memory
	       allocation problem for datasets with more than 100
	       gene copies fixed [Carol Reeb].  Update of some
	       citation  and FST output tables [Byron Adams].
	       Persistent problems: Long sequences AND high number of
	       individuals need nuch longer chains than the proposed
	       default. Try ten times longer "long" chains. Or use
	       the option "moving-steps".  
               Registered users:38
May 12         MIGRATE 0.2.1a. 
               Fixed problems: Interleaved sequence data
	       should work now, last character of individual names is
	       now printing, and printing of second population data
	       should work, too, although the EP data printout is
	       still ugly.  [Allen Rodrigo]. Memory problem with some
	       Allelic data fixed.  
               Registered users: 30
April 30       MIGRATE 0.2a released.
	       Fixed problems or changes:  Corrections of several
	       minor problems, Printing of the data fixed, but still
	       ugly; Memory problem with large sequences fixed.
	       Options: treefile added, can write now a genealogy
	       with migrations; the option progress=Verbose for more
	       information during a run, the progress=Yes gives now
	       less information than before. Output: covariance
	       matrix for combined loci now prints, too.  Persistent
	       problems:  -Long sequences need very long chains to
	       remove the starting conditions for the migration rate
	       from the first tree (see documentation).
	       -Microsatellites still have probably a bias downwards
	       in Theta, but I need more simulations to make this
	       more clear.  
               Registered users: 8
March 4        First trial release of MIGRATE 0.1a
	       This release is not announced widely, because I have
	       to test, almost everything including all HTMLs,
	       registration, and the program itself: simulations need
	       time.  Registered users: 1




--------
$Id: HISTORY,v 1.39 2001/05/17 23:55:29 beerli Exp $


