Sodródás szimulálása Python program segítségével
A sodródás egy alapvetően sztochasztikus, a véletlenen alapuló folyamat, amelynek konkrét viselkedését számítógépes szimulációkkal lehet jól vizsgálni. Akinek van kedve az eljátszadozhat az alábbi Python programmal.
A Python egy könnyen megtanulható, biológusoknak kimondottan ajánlott programnyelv. Az alábbi program a 3.x-es verzióval és a Matplotlib segítségével készült.
##########################################
from random import choice,randint; import matplotlib.pyplot as plt PopulationSize = 50; Generations = 300; Ismetles = 4; Figures, Grafok = plt.subplots(2, sharex=True) for ii in range(Ismetles): Population = [] #A populáció feltöltése Aa genotípussal. Ha más kezdeti gyakoriságot szeretnétek ide más kell jöjjön for nn in range(PopulationSize): Population.append('Aa') #A populációs ciklus, véletlen párosodást valósít meg Heterozigocia = [1] Gyakorisag_A = [0.5] for tt in range(Generations): Population2 = [] for nn in range(PopulationSize): Population2.append(choice(Population)[randint(0,1)]+choice(Population)[randint(0,1)]) Population = list(Population2); Heterozigocia.append((Population.count('Aa')+Population.count('aA'))/PopulationSize) #Heterozigóták összeszámolása Gyakorisag_A.append(''.join(str(elem) for elem in Population).count('A')/2/PopulationSize); #A gyakoriságának meghatározása Grafok[0].plot(range(Generations+1),Heterozigocia); Grafok[1].plot(range(Generations+1),Gyakorisag_A); #Mindenféle beállítása a grafikonnak Grafok[0].set_xlim([0,Generations]); Grafok[0].set_ylim([0.0,1.0]); Grafok[0].set_xlabel('Generációk',fontsize=22) Grafok[0].set_ylabel('Heterozigócia',fontsize=22) Grafok[1].set_xlabel('Generációk',fontsize=22) Grafok[1].set_ylabel('A gyakorisága',fontsize=22) plt.show();
##########################################
Az eredmény például ilyen lehet: