Genetics, Dna, Ancestry, Simulation, Python.
can only pass X-DNA to M2_0 are shown in purple. Ancestors that can pass X-DNA to both P1_0 and M2_0 are shown in green. Ancestors that cannot pass DNA to P1_0 or M2_0 are greyed out. The notation used for the model made it easy for the simulation to create a variable number of ancestors on-the-fly