-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstats.py
More file actions
73 lines (55 loc) · 1.81 KB
/
Copy pathstats.py
File metadata and controls
73 lines (55 loc) · 1.81 KB
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
65
66
67
68
69
70
71
72
73
import matplotlib.pyplot as plt
import numpy as np
import json
dict_races = {}
dict_race_count_mr_sr = {}#list for each race - 0idx - count of SR, 1 idx - count of MR
count_mr = 0
with open('params_file.json') as f:
params = json.load(f)
f_data = params.get("data_file", 'new_data_geno.txt')
with open(f_data) as in_f:
for line in in_f:
line = line.strip().split(',')
race1 = line[2]
race2 = line[3]
races = [race1, race2 ]
if race1 != race2:
if race1 in dict_race_count_mr_sr:
dict_race_count_mr_sr[race1][1] +=1
else:
dict_race_count_mr_sr[race1] = [0,1]
if race2 in dict_race_count_mr_sr:
dict_race_count_mr_sr[race2][1] += 1
else:
dict_race_count_mr_sr[race2] = [0, 1]
count_mr +=1
else:
if race1 in dict_race_count_mr_sr:
dict_race_count_mr_sr[race1][0] += 1
#dict_race_count_mr_sr[race1] += 1
else:
dict_race_count_mr_sr[race1] = [1, 0]
#dict_race_count_mr_sr[race1] = 1
races = ('_').join(sorted(races))
dict_races[races] = dict_races.get(races, 0) + 1
print(count_mr)
print(len(dict_races))
sorted_dict_races = sorted(dict_races.items(), key=lambda kv: kv[1], reverse=True)
sorted_dict = sorted(dict_race_count_mr_sr.items(), key=lambda kv: kv[1], reverse=True)
sum = 0
x, y = [], []
for key, val in sorted_dict:
value = val[0]+val[1]
x.append(key)
y.append(value)
print(key + '- ' + str(val))
sum += val[0]
plt.figure()
plt.bar(x, y)
plt.xticks(np.arange(len(sorted_dict)), x, rotation='vertical',fontsize=7)
plt.yticks(fontsize=7)
plt.ylabel('Number In Category')
plt.xlabel('Races')
plt.tight_layout()
plt.show()
print(sum)