Пример #1
0
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
Пример #2
0
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
Пример #3
0
#!/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
Пример #4
0
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
Пример #5
0
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