http://faculty.washington.edu/herronjc/SoftwareFolder/AlleleA1.html
AlleleA1 2.0 © 2003 by Jon C. Herron
AlleleA1 simulates evolution at a single locus in an ideal population of imaginary organisms. The locus of interest has 2 alleles: A1 and A2. The user enters values for parameters controlling selection, mutation, migration, genetic drift, and inbreeding. As the simulation runs, the software plots a graph showing the frequency of allele A1 over time.
http://www.life.uiuc.edu/ib/405/homework/HW1_Simulation.pdf
http://www.life.uiuc.edu/ib/405/lectures/Migration_Recomb.pdf
Note that immigration causes a change in gene frequencies as opposed to the actual DNA variants, alleles, that are available.