diff --git a/RotTable.py b/RotTable.py index ae2a83b202eef1af57c50fe80c3c33243a82a4eb..7516cf592bc24eddc28dc0dc0f9d7bb8341a80bc 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__/croisement.cpython-37.pyc b/__pycache__/croisement.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..98b13d554544eea09ac20c1e882b98c4ee553e0c Binary files /dev/null and b/__pycache__/croisement.cpython-37.pyc differ diff --git a/__pycache__/individu.cpython-37.pyc b/__pycache__/individu.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1c9eaac8adf3f0912697d410ab3a2309c5c10947 Binary files /dev/null and b/__pycache__/individu.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 5fe490a6d715086ff6e363f27c68d0f47d01110f..f395d5d5de3b21d6d05697b1413670cce8e6c32d 100644 --- a/population.py +++ b/population.py @@ -156,7 +156,7 @@ def test(): print("\n REPRODUCTION \n") afficher(popu) -test() +#test()