def quasistable(self, quasi_stable_strain_ids=None, surviving_strain_ids=None):
"""
Stability check.
If stable return True, else return False
"""
if quasi_stable_strain_ids is not None:
i_1 = int(self.t / 3.)
i_2 = 2 * i_1
max_diff = n_max(absolute(
divide(
n_sum(self._counts_over_time[i_1:i_2], axis=0), n_sum(self._counts_over_time[i_2:], axis=0)
)[quasi_stable_strain_ids]
))
if abs(1 - max_diff) >= 0.02:
return False
else:
print 'quasistable at t= ', self.t
return True
if surviving_strain_ids is not None:
if not count_nonzero(self._counts_over_time[int(self.t)][surviving_strain_ids]):
print 'protected strain died out at t= ', self.t
return True
else:
return False
return False
评论列表
文章目录