def run_atomic_light(len_str, len_alpha, nb_part, nb_run, extremum): nb_different_motifs = [] nb_occurs = [] nb_occurs_avg = [] nb_occurs_sd = [] for _ in xrange(nb_run): rstr = Rstr_max() rs = random_string(len_str, len_alpha) lp = cut_str(rs, nb_part) for substring in lp: rstr.add_str(substring) r = rstr.go() nb_different_motifs_run = len(r.keys()) nb_different_motifs.append(nb_different_motifs_run) l_nb_occ = [nb for (_, nb) in r.keys()] sum_nb_occ = sum(l_nb_occ) nb_occurs_avg.append(float(sum_nb_occ) / nb_different_motifs_run) nb_occurs_sd.append(tm.standart_deviation(l_nb_occ)) nb_occurs.append(sum_nb_occ) if extremum > 0: nb_different_motifs.sort() nb_different_motifs = nb_different_motifs[extremum:-extremum] nb_occurs.sort() nb_occurs = nb_occurs[extremum:-extremum] nb_occurs_avg.sort() nb_occurs_avg = nb_occurs[extremum:-extremum] # sd_motifs = tm.standart_deviation(nb_different_motifs) # sd_occurs = tm.standart_deviation(nb_occurs) moy = sum(nb_different_motifs) / len(nb_different_motifs) moy_occur = sum(nb_occurs) / len(nb_occurs) avg_occur = sum(nb_occurs_avg) / len(nb_occurs_avg) sd_occur = sum(nb_occurs_sd) / len(nb_occurs_sd) # return moy, moy_occur, avg_occur, sd_motifs, sd_occurs, dic_occ_len, dic_mot_len return moy, moy_occur, avg_occur, sd_occur
def run_atomic_light(len_str, len_alpha, nb_part, nb_run, extremum) : nb_different_motifs = [] nb_occurs = [] nb_occurs_avg = [] nb_occurs_sd = [] for _ in xrange(nb_run) : rstr = Rstr_max() rs = random_string(len_str,len_alpha) lp = cut_str(rs,nb_part) for substring in lp : rstr.add_str(substring) r = rstr.go() nb_different_motifs_run = len(r.keys()) nb_different_motifs.append(nb_different_motifs_run) l_nb_occ = [nb for (_, nb) in r.keys()] sum_nb_occ = sum(l_nb_occ) nb_occurs_avg.append(float(sum_nb_occ) / nb_different_motifs_run) nb_occurs_sd.append(tm.standart_deviation(l_nb_occ)) nb_occurs.append(sum_nb_occ) if extremum > 0 : nb_different_motifs.sort() nb_different_motifs = nb_different_motifs[extremum:-extremum] nb_occurs.sort() nb_occurs = nb_occurs[extremum:-extremum] nb_occurs_avg.sort() nb_occurs_avg = nb_occurs[extremum:-extremum] # sd_motifs = tm.standart_deviation(nb_different_motifs) # sd_occurs = tm.standart_deviation(nb_occurs) moy = sum(nb_different_motifs) / len(nb_different_motifs) moy_occur = sum(nb_occurs) / len(nb_occurs) avg_occur = sum(nb_occurs_avg) / len(nb_occurs_avg) sd_occur = sum(nb_occurs_sd) / len(nb_occurs_sd) # return moy, moy_occur, avg_occur, sd_motifs, sd_occurs, dic_occ_len, dic_mot_len return moy, moy_occur, avg_occur, sd_occur
#!/usr/bin/env python # -*- coding: utf-8 -*- import tool_math as tma rep = [0,1,2,3,4,5,6] print 'rep ::', rep av = tma.avg(rep) print 'av ::', av sd = tma.standart_deviation(rep) print 'sd ::', sd ev = tma.expected_value(rep) print 'ev ::', ev regr = tma.regression_lineaire_simple(rep) print 'regr ::',regr
def run_atomic(len_str, len_alpha, nb_part, nb_run, extremum): nb_different_motifs = [] nb_occurs = [] nb_occurs_avg = [] nb_occurs_sd = [] stat_alpha = [] dic_zipf = {} dic_occ_len = {} dic_mot_len = {} for _ in xrange(nb_run): rstr = Rstr_max() rs = random_string(len_str, len_alpha) lp = cut_str(rs, nb_part) for substring in lp: rstr.add_str(substring) r = rstr.go() list_zipf = [] cpt = 0 for (_, nb), (l, _) in r.iteritems(): if l not in dic_occ_len: dic_occ_len[l] = 0. if l not in dic_mot_len: dic_mot_len[l] = 0. dic_occ_len[l] += float(nb) / nb_run dic_mot_len[l] += 1. / nb_run list_zipf.append(nb) cpt += 1 list_zipf.sort() for i in xrange(1, cpt + 1): val = list_zipf[-i] if i not in dic_zipf: dic_zipf[i] = 0. dic_zipf[i] += float(val) / nb_run nb_different_motifs_run = len(r.keys()) nb_different_motifs.append(nb_different_motifs_run) l_nb_occ = [nb for (_, nb) in r.keys()] sum_nb_occ = sum(l_nb_occ) nb_occurs_avg.append(float(sum_nb_occ) / nb_different_motifs_run) nb_occurs_sd.append(tm.standart_deviation(l_nb_occ)) nb_occurs.append(sum_nb_occ) if extremum > 0: nb_different_motifs.sort() nb_different_motifs = nb_different_motifs[extremum:-extremum] nb_occurs.sort() nb_occurs = nb_occurs[extremum:-extremum] nb_occurs_avg.sort() nb_occurs_avg = nb_occurs[extremum:-extremum] # sd_motifs = tm.standart_deviation(nb_different_motifs) # sd_occurs = tm.standart_deviation(nb_occurs) moy = sum(nb_different_motifs) / len(nb_different_motifs) moy_occur = sum(nb_occurs) / len(nb_occurs) avg_occur = sum(nb_occurs_avg) / len(nb_occurs_avg) sd_occur = sum(nb_occurs_sd) / len(nb_occurs_sd) # return moy, moy_occur, avg_occur, sd_motifs, sd_occurs, dic_occ_len, dic_mot_len return moy, moy_occur, avg_occur, sd_occur, dic_occ_len, dic_mot_len, dic_zipf
def run_atomic(len_str, len_alpha, nb_part, nb_run, extremum) : nb_different_motifs = [] nb_occurs = [] nb_occurs_avg = [] nb_occurs_sd = [] stat_alpha = [] dic_zipf = {} dic_occ_len= {} dic_mot_len= {} for _ in xrange(nb_run) : rstr = Rstr_max() rs = random_string(len_str,len_alpha) lp = cut_str(rs,nb_part) for substring in lp : rstr.add_str(substring) r = rstr.go() list_zipf = [] cpt = 0 for (_,nb),(l,_) in r.iteritems() : if l not in dic_occ_len : dic_occ_len[l] = 0. if l not in dic_mot_len : dic_mot_len[l] = 0. dic_occ_len[l] += float(nb) / nb_run dic_mot_len[l] += 1. / nb_run list_zipf.append(nb) cpt += 1 list_zipf.sort() for i in xrange(1,cpt+1) : val = list_zipf[-i] if i not in dic_zipf : dic_zipf[i] = 0. dic_zipf[i] += float(val) / nb_run nb_different_motifs_run = len(r.keys()) nb_different_motifs.append(nb_different_motifs_run) l_nb_occ = [nb for (_, nb) in r.keys()] sum_nb_occ = sum(l_nb_occ) nb_occurs_avg.append(float(sum_nb_occ) / nb_different_motifs_run) nb_occurs_sd.append(tm.standart_deviation(l_nb_occ)) nb_occurs.append(sum_nb_occ) if extremum > 0 : nb_different_motifs.sort() nb_different_motifs = nb_different_motifs[extremum:-extremum] nb_occurs.sort() nb_occurs = nb_occurs[extremum:-extremum] nb_occurs_avg.sort() nb_occurs_avg = nb_occurs[extremum:-extremum] # sd_motifs = tm.standart_deviation(nb_different_motifs) # sd_occurs = tm.standart_deviation(nb_occurs) moy = sum(nb_different_motifs) / len(nb_different_motifs) moy_occur = sum(nb_occurs) / len(nb_occurs) avg_occur = sum(nb_occurs_avg) / len(nb_occurs_avg) sd_occur = sum(nb_occurs_sd) / len(nb_occurs_sd) # return moy, moy_occur, avg_occur, sd_motifs, sd_occurs, dic_occ_len, dic_mot_len return moy, moy_occur, avg_occur, sd_occur, dic_occ_len, dic_mot_len, dic_zipf