Skip to content
Snippets Groups Projects
Commit 1648ed31 authored by Muller Sacha's avatar Muller Sacha
Browse files

Merge branch 'master' of...

parents 8b0ee1c9 1ebb6d88
No related branches found
No related tags found
No related merge requests found
*.pyc
__pycache__/
\ No newline at end of file
__pycache__/
*.png
\ No newline at end of file
......@@ -25,7 +25,6 @@ def main(N,tmax,pmutation, proportion,brin="plasmid_8k.fasta"):
if individu.score>max:
best=individu
max=individu.score
L.append(max)
plt.plot([i for i in range(tmax)], L)
......
......@@ -8,8 +8,6 @@ P1 = 0.015
class Individu():
def __init__(self, table):
self.table = table
self.score = self.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA")
......@@ -59,4 +57,10 @@ class Individu():
# table = RotTable()
# test = Individu(table)
# test.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA")
# print(test.score)
\ No newline at end of file
# print(test.score)
qqun=Individu(RotTable())
qqun.table.rot_table={'AA': [35.576558502141, 7.433901511509349, -154], 'AC': [33.22048222654215, 5.25191751302917, 143], 'AG': [26.446029097301288, 6.052240462237622, -2], 'AT': [30.47045254036881, 1.333716025628036, 0], 'CA': [34.00734209585039, 33.70710613604862, -64], 'CC': [33.61019622767888, 3.713127032109607, -57], 'CG': [29.664061041382677, 6.725155507162601, 0], 'CT': [26.446029097301288, 6.052240462237622, 2], 'GA': [36.655773481637176, 10.45337581740701, 120], 'GC': [42.26984493493484, 3.5310453395352823, 180], 'GG': [33.61019622767888, 3.713127032109607, -57], 'GT': [33.22048222654215, 5.25191751302917, 143], 'TA': [36.951508786388914, -2.5174751178033303, 0], 'TC': [36.655773481637176, 10.45337581740701, -120], 'TG': [34.00734209585039, 33.70710613604862, -64], 'TT': [35.576558502141, 7.433901511509349, -154]}
qqun.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA")
print(qqun.score)
......@@ -31,7 +31,7 @@ class table_rotation(rotation):
self.dict = {doublet : rotation(doublet) for doublet in ORIGINAL_ROT_TABLE}
table1 = table_rotation()
print(table1.dict["AA"].x)
# print(table1.dict["AA"].x)
#table1.dict --> {'AA': <__main__.rotation object at 0x000001A722E1BAC8>, 'AC': <__main__.rotation object at 0x000001A722E1BB00>, 'AG': <__main__.rotation object at 0x000001A729A66A58>, 'AT': <__main__.rotation object at 0x000001A729A66A20>, 'CA': <__main__.rotation object at 0x000001A729A669E8>, 'CC': <__main__.rotation object at 0x000001A729A66A90>, 'CG': <__main__.rotation object at 0x000001A729A66B00>, 'CT': <__main__.rotation object at 0x000001A729A66B70>, 'GA': <__main__.rotation object at 0x000001A729B88D68>, 'GC': <__main__.rotation object at 0x000001A729B88DA0>, 'GG': <__main__.rotation object at 0x000001A729B88DD8>, 'GT': <__main__.rotation object at 0x000001A729B88E10>, 'TA': <__main__.rotation object at 0x000001A729B88E48>, 'TC': <__main__.rotation object at 0x000001A729B88E80>, 'TG': <__main__.rotation object at 0x000001A729B88EB8>, 'TT': <__main__.rotation object at 0x000001A729B88EF0>}
#table1.dict["AA"] ---> <__main__.rotation object at 0x000001A722E1BAC8> (qui est l'object rotation)
......
import random
from random import random, randint, randrange
from random import *
from individu import Individu
from RotTable import RotTable
from croisement import croisement_un_point, croisement_deux_points
......@@ -45,24 +45,27 @@ class Population:
meilleur = self.indiv[0]
for individu in self.indiv :
if meilleur.score < individu.score:
print("meilleur, individu: ", meilleur.score, individu.score)
meilleur = individu
newself = [meilleur]
vu=set()
t=randrange(0,self.n)
m=randrange(0,self.n)
m=randrange(0,self.n)
non_vu = [i for i in range(0, self.n)]
while len(newself)<p:
while m in vu:
m=randrange(0,self.n)
while t in vu:
t=randrange(0,self.n)
m = choice(non_vu)
non_vu.remove(m)
t = choice(non_vu)
non_vu.remove(t)
x=self.indiv[m]
y=self.indiv[t]
vu.add(t)
vu.add(m)
if x.score>=y.score:
newself.append(x)
else:
newself.append(y)
for i in range(0, len(newself)):
print(newself[i].score)
self = self.modifier_population(newself)
def selection_par_rang(self,p = None):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment