def hgt(pathogen, nto, k): #new_pathogen=pathogen.__deepcopy__() #we change new_pathogen from now on new_eff = EffectorGene() lj = rk.randint(1, nto + 1) #number of targeted genes new_eff.targets = dict(itr.izip(mda.newhost.NEWHOST(lj, k), rk.random(lj))) pathogen.add_effector(new_eff) return pathogen
def hgt(pathogen,nto,k): #new_pathogen=pathogen.__deepcopy__() #we change new_pathogen from now on new_eff=EffectorGene() lj=rk.randint(1,nto+1) #number of targeted genes new_eff.targets=dict(itr.izip(mda.newhost.NEWHOST(lj,k),rk.random(lj))) pathogen.add_effector(new_eff) return pathogen
def NEWPATHOGEN(k,neo,nto,t,size): #size here or move it??? #neo is max number of effectors at time 0,nto max numb of targeted genes for each effector pth=Genome([],t,size) n=rk.randint(1,neo+1) #initial number of effector for j in xrange(n): lj=rk.randint(1,nto+1) #number of targeted genes j=EffectorGene() j.targets=dict(itr.izip(NEWHOST(lj,k),rk.random(lj))) pth.add_effector(j) return pth