Beispiel #1
0
 def grad_descent(self):
     iteration = 0
     mutations = None
     motif_dustbin = []
     while (mutations is None or
            any(fit > 0 for (site,pos,base,fit) in mutations)):
         mutations = self.explore_site_mutations()
         site_idx, pos, base, fit = max(mutations,
                                        key=lambda tup:tup[3])#max by fitness
         self.motif[site_idx] = string_replace(self.motif[site_idx],pos,base)
         print "iteration:",iteration,site_idx,pos,base,fit
         motif_dustbin.append(self.motif[:])
         iteration += 1
Beispiel #2
0
 def mutate_site(self,site_number,position,base):
     site = self.motif[site_number]
     self.motif[site_number] = string_replace(site,position,base)