diff --git a/RotTable.py b/RotTable.py index 2617e5334c8ab9d27bb2e1319cf30a2d14c99c4c..37762b4121d2412f728194a4da8245389cc6a30a 100644 --- a/RotTable.py +++ b/RotTable.py @@ -85,7 +85,7 @@ class RotTable: ################### -# table1 = RotTable() -# print(table1.orta()) +table1 = RotTable() +print(table1.orta()) -# print(table1.rot_table["AA"]) +print(table1.rot_table["AA"]) diff --git a/__pycache__/RotTable.cpython-37.pyc b/__pycache__/RotTable.cpython-37.pyc index 306bef3707a8dfe8d997aa52208ffe660f6a4161..05beb1065b7ec82c0c9134821bc9c0f226cfd40d 100644 Binary files a/__pycache__/RotTable.cpython-37.pyc and b/__pycache__/RotTable.cpython-37.pyc differ diff --git a/__pycache__/Traj3D.cpython-37.pyc b/__pycache__/Traj3D.cpython-37.pyc index 9089d353fd2661eb0e1c444fe75a6b707a6ecd10..865cc612f429be0814ee850289aa455b69755f50 100644 Binary files a/__pycache__/Traj3D.cpython-37.pyc and b/__pycache__/Traj3D.cpython-37.pyc differ diff --git a/__pycache__/population.cpython-37.pyc b/__pycache__/population.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..14e980ef62041555b1d3d28efc6dd1b0cc4e3b90 Binary files /dev/null and b/__pycache__/population.cpython-37.pyc differ diff --git a/algogenetique.py b/algogenetique.py new file mode 100644 index 0000000000000000000000000000000000000000..9b91cb95af25a08044e3ecc9e682ca1e82153211 --- /dev/null +++ b/algogenetique.py @@ -0,0 +1,39 @@ +import mathutils +import math +import numpy +import RotTable +from individu import Individu +from population import Population +import croisement +from Traj3D import * +from random import random +import matplotlib.pyplot as plt + + +def main(N,tmax,pmutation, proportion,brin="plasmid_8k.fasta"): + '''lineList = [line.rstrip('\n') for line in open(brin)] + brin = ''.join(lineList[1:])''' + L=[] + People=Population(N) + for i in range(tmax): + max=0 + best=None + for individu in People.indiv: + individu.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA") + People.reproduction(p = proportion) + for individu in People.indiv: + individu.mutation(pmutation) + for individu in People.indiv: + individu.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA") + if individu.score>max: + best=individu + max=individu.score + L.append(max) + print(L) + plt.plot([i for i in range(tmax)], L) + plt.show() + return(individu) + + +main(100,50,0.015,2) + diff --git a/population.py b/population.py index 66aa2f050839e2fc0d5ab03dd5eb6d607baef418..1af8dc965318864929e1462d992a0bd7bc746fa5 100644 --- a/population.py +++ b/population.py @@ -153,7 +153,7 @@ def test(): print("\n REPRODUCTION \n") afficher(popu) -# test() +#test()