-
Notifications
You must be signed in to change notification settings - Fork 1
/
sequence_analysis.py
64 lines (55 loc) · 2.2 KB
/
sequence_analysis.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import sys
import os
import string
import time
import copy
import types
import ConfigParser
from config import configuration
from log_analysis import SerialList
__MAX_SERIAL_COUNT__ = 5
if __name__ == '__main__':
print '========== SERIAL ANALYSIS =========='
configs = configuration()
log_file_root = configs.get_log_analysis_path()
waiting_tasks = os.listdir(log_file_root)
serial_list = SerialList()
serials = {}
for task in waiting_tasks:
print '===== FOR TASK: '+ task
serial_list_dict = serial_list.get_serial_list(task)
print '===== FIRST ANALYSIS: SEQUENCE AND PROPERBILITY ====='
for i in range(0, __MAX_SERIAL_COUNT__):
print 'FOR THE TIME:' + str(i)
time.sleep(2)
for key, values in serial_list_dict.items():
keyarray = key.split('\t')
if (len(keyarray) == (__MAX_SERIAL_COUNT__-i)):
if (len(values) == 3 and values[2] == '0'):
continue
'''print '---------------'
print '\n'.join(keyarray)'''
for j in range(0, __MAX_SERIAL_COUNT__-i-1):
del keyarray[-1]
newkey = '\t'.join(keyarray)
toaddv1 = '0,'
toaddv2 = '0%,'
if serial_list_dict.has_key(newkey):
vs = serial_list_dict.get(newkey)
if (len(vs) != 3):
vs.append('0')
serial_list_dict[newkey] = vs
toaddv1 = vs[0] + ','
toaddv2 = vs[1].strip('\n') + ','
values[0] = toaddv1 + values[0]
values[1] = toaddv2 + values[1]
'''print values[0]
print values[1]'''
serials[key] = values
print '============'
for key, values in serials.items():
print '------'
print '\n'.join(key.split('\t'))
print '--'
print values[0]
print values[1]