Louis BECQUEY

With stats results

1 # execution outputs: 1 # execution outputs:
2 nohup.out 2 nohup.out
3 -jobstats.csv
4 log_of_the_run.sh 3 log_of_the_run.sh
5 4
5 +# results
6 +results/figures/wadley_plots/
7 +
6 # temporary results files 8 # temporary results files
7 -data/*.npy 9 +data/
8 -data/*.npz
9 -data/olddata
10 10
11 # environment stuff 11 # environment stuff
12 .vscode/ 12 .vscode/
......
This diff is collapsed. Click to expand it.
1 -label,comp_time,max_mem
2 -Realign RF00001 + 733 chains,347.5666003227234,783781888
3 -Realign RF00002 + 138 chains,15.574181318283081,710549504
4 -Realign RF00004 + 10 chains,331.88619780540466,2516779008
5 -Realign RF00005 + 869 chains,2349.9712748527527,6085918720
6 -Realign RF00008 + 9 chains,7.597636461257935,247132160
7 -Realign RF00009 + 4 chains,423.78941464424133,22123020288
8 -Realign RF00010 + 3 chains,167.0309178829193,5554601984
9 -Realign RF00011 + 4 chains,10.090157508850098,996966400
10 -Realign RF00013 + 1 chains,17.571903228759766,474783744
11 -Realign RF00015 + 6 chains,98.247323513031,1385431040
12 -Realign RF00017 + 10 chains,2218.9181191921234,13771866112
13 -Realign RF00020 + 17 chains,23.84590220451355,431484928
14 -Realign RF00023 + 7 chains,1196.2392709255219,7625351168
15 -Realign RF00026 + 20 chains,82.25747513771057,518791168
16 -Realign RF00028 + 5 chains,240.64744520187378,11369852928
17 -Realign RF00029 + 1 chains,62.898540019989014,898707456
18 -Realign RF00032 + 9 chains,7.049402236938477,162136064
19 -Realign RF00037 + 2 chains,0.27519845962524414,108863488
20 -Realign RF00050 + 6 chains,9.991205930709839,397705216
21 -Realign RF00059 + 24 chains,52.07490301132202,532307968
22 -Realign RF00061 + 1 chains,0.3395853042602539,233058304
23 -Realign RF00080 + 4 chains,19.957021474838257,1301696512
24 -Realign RF00100 + 6 chains,415.4162850379944,4435156992
25 -Realign RF00162 + 27 chains,16.753626108169556,408281088
26 -Realign RF00164 + 1 chains,0.05605888366699219,83927040
27 -Realign RF00167 + 48 chains,4.422192573547363,264232960
28 -Realign RF00168 + 16 chains,17.653642892837524,796184576
29 -Realign RF00169 + 11 chains,9.363726615905762,226705408
30 -Realign RF00174 + 2 chains,171.14065551757812,2648383488
31 -Realign RF00177 + 498 chains,2885.531806945801,45187723264
32 -Realign RF00233 + 2 chains,0.16314435005187988,138911744
33 -Realign RF00234 + 37 chains,10.552204132080078,1207234560
34 -Realign RF00250 + 1 chains,0.08687877655029297,83755008
35 -Realign RF00379 + 7 chains,27.468972206115723,655532032
36 -Realign RF00380 + 3 chains,2.397320508956909,245669888
37 -Realign RF00442 + 1 chains,2.0599684715270996,222887936
38 -Realign RF00458 + 7 chains,0.24766230583190918,197394432
39 -Realign RF00488 + 3 chains,1.4626531600952148,850460672
40 -Realign RF00504 + 18 chains,12.249290227890015,366731264
41 -Realign RF00505 + 1 chains,0.06069207191467285,83628032
42 -Realign RF01051 + 17 chains,7.672087907791138,297189376
43 -Realign RF01510 + 16 chains,0.0939493179321289,83746816
44 -Realign RF01689 + 4 chains,1.2797768115997314,400691200
45 -Realign RF01725 + 2 chains,2.976431369781494,294690816
46 -Realign RF01734 + 5 chains,1.8893005847930908,163631104
47 -Realign RF01739 + 4 chains,1.6384203433990479,271265792
48 -Realign RF01750 + 6 chains,8.268307209014893,421974016
49 -Realign RF01763 + 13 chains,0.5894784927368164,135094272
50 -Realign RF01786 + 2 chains,0.8764479160308838,182689792
51 -Realign RF01807 + 1 chains,0.19919967651367188,166801408
52 -Realign RF01826 + 1 chains,0.06825041770935059,83787776
53 -Realign RF01831 + 10 chains,2.0323476791381836,254255104
54 -Realign RF01846 + 2 chains,15.989834308624268,1073623040
55 -Realign RF01852 + 16 chains,4.523370265960693,249016320
56 -Realign RF01854 + 3 chains,8.060775518417358,647757824
57 -Realign RF01857 + 1 chains,3.9880683422088623,587083776
58 -Realign RF01960 + 140 chains,3388.5226855278015,56313212928
59 -Realign RF02001 + 26 chains,22.095701456069946,1335533568
60 -Realign RF02012 + 3 chains,10.277246713638306,796667904
61 -Realign RF02253 + 1 chains,0.2654685974121094,104386560
62 -Realign RF02348 + 2 chains,0.11346197128295898,82419712
63 -Realign RF02519 + 1 chains,0.039333343505859375,81330176
64 -Realign RF02540 + 67 chains,726.7017936706543,48769855488
65 -Realign RF02545 + 3 chains,0.451732873916626,513720320
66 -Realign RF02546 + 1 chains,0.3498055934906006,405676032
67 -Realign RF02553 + 1 chains,1.2360577583312988,281141248
68 -Realign RF02680 + 1 chains,0.09950971603393555,80687104
69 -Realign RF02683 + 1 chains,1.070310115814209,282808320
70 -Realign RF02796 + 6 chains,0.0940089225769043,81862656
1 -rfam_acc,n_seq,maxlength,n_pdb_seqs,total_seqs
2 -RF00001,70460,345,733,71193
3 -RF00002,11746,289,138,11884
4 -RF00004,10251,342,10,10261
5 -RF00005,436080,293,869,436949
6 -RF00008,2383,132,9,2392
7 -RF00009,1217,1029,4,1221
8 -RF00010,6473,812,3,6476
9 -RF00011,787,436,4,791
10 -RF00013,3502,254,1,3503
11 -RF00015,5016,310,6,5022
12 -RF00017,3733,806,10,3743
13 -RF00020,4459,188,17,4476
14 -RF00023,6656,784,7,6663
15 -RF00026,23130,431,20,23150
16 -RF00028,2051,892,5,2056
17 -RF00029,8804,341,1,8805
18 -RF00032,16724,88,9,16733
19 -RF00037,1607,56,2,1609
20 -RF00050,3746,347,6,3752
21 -RF00059,9846,255,24,9870
22 -RF00061,80,261,1,81
23 -RF00080,788,241,4,792
24 -RF00100,7822,636,6,7828
25 -RF00162,4049,375,27,4076
26 -RF00164,63,43,1,64
27 -RF00167,1765,156,48,1813
28 -RF00168,1889,334,16,1905
29 -RF00169,6295,121,11,6306
30 -RF00174,9480,476,2,9482
31 -RF00177,25969,3531,498,26467
32 -RF00233,49,87,2,51
33 -RF00234,930,380,37,967
34 -RF00250,63,60,1,64
35 -RF00379,2637,324,7,2644
36 -RF00380,921,282,3,924
37 -RF00442,770,226,1,771
38 -RF00458,16,215,7,23
39 -RF00488,40,824,3,43
40 -RF00504,3582,249,18,3600
41 -RF00505,21,65,1,22
42 -RF01051,3217,270,17,3234
43 -RF01510,5,63,16,21
44 -RF01689,344,215,4,348
45 -RF01725,767,158,2,769
46 -RF01734,1748,159,5,1753
47 -RF01739,761,273,4,765
48 -RF01750,1513,203,6,1519
49 -RF01763,640,82,13,653
50 -RF01786,496,122,2,498
51 -RF01807,12,218,1,13
52 -RF01826,14,93,1,15
53 -RF01831,614,249,10,624
54 -RF01846,616,537,2,618
55 -RF01852,4469,112,16,4485
56 -RF01854,1707,302,3,1710
57 -RF01857,442,343,1,443
58 -RF01960,27108,5325,140,27248
59 -RF02001,2268,340,26,2294
60 -RF02012,838,191,3,841
61 -RF02253,677,63,1,678
62 -RF02348,77,105,2,79
63 -RF02519,6,33,1,7
64 -RF02540,34679,9019,67,34746
65 -RF02541,35613,8885,689,36302
66 -RF02543,38161,11046,147,38308
67 -RF02545,16,628,3,19
68 -RF02546,18,572,1,19
69 -RF02553,116,188,1,117
70 -RF02680,34,103,1,35
71 -RF02683,229,187,1,230
72 -RF02796,13,70,6,19
1 -#!/usr/bin/python3 1 +#!/usr/bin/python3.8
2 # This file is supposed to propose regression models on the computation time and mem usage of the re-alignment jobs. 2 # This file is supposed to propose regression models on the computation time and mem usage of the re-alignment jobs.
3 # Light jobs are monitored by the Monitor class in RNAnet.py, and the measures are saved in jobstats.csv. 3 # Light jobs are monitored by the Monitor class in RNAnet.py, and the measures are saved in jobstats.csv.
4 # This was done to guess the amount of memory required to re-align the large ribosomal subunit families RF02541 and RF02543. 4 # This was done to guess the amount of memory required to re-align the large ribosomal subunit families RF02541 and RF02543.
5 -# INFO: Our home hardware was a 24-core VM with 50GB RAM + 8GB Swap. 5 +# INFO: Our home hardware was a 32-core VM with 50GB RAM + 8GB Swap.
6 6
7 import matplotlib.pyplot as plt 7 import matplotlib.pyplot as plt
8 import pandas as pd 8 import pandas as pd
9 import numpy as np 9 import numpy as np
10 -import scipy 10 +import scipy, os
11 from sklearn.linear_model import LinearRegression 11 from sklearn.linear_model import LinearRegression
12 from mpl_toolkits.mplot3d import Axes3D 12 from mpl_toolkits.mplot3d import Axes3D
13 13
...@@ -31,105 +31,109 @@ for index, fam in jobstats.iterrows(): ...@@ -31,105 +31,109 @@ for index, fam in jobstats.iterrows():
31 maxlengths.append( 31 maxlengths.append(
32 families.loc[families["rfam_acc"] == rfam_acc, "maxlength"].values[0]) 32 families.loc[families["rfam_acc"] == rfam_acc, "maxlength"].values[0])
33 33
34 -nchains = [x/1000 for x in nchains] # compte en milliers de séquences
35 comptimes = [x/3600 for x in comptimes] # compte en heures 34 comptimes = [x/3600 for x in comptimes] # compte en heures
36 maxlengths = [x/1000 for x in maxlengths] # compte en kB 35 maxlengths = [x/1000 for x in maxlengths] # compte en kB
37 maxmem = [x/1024/1024 for x in maxmem] # compte en MB 36 maxmem = [x/1024/1024 for x in maxmem] # compte en MB
38 37
39 summary = pd.DataFrame({"family": computed_families, "n_chains": nchains, 38 summary = pd.DataFrame({"family": computed_families, "n_chains": nchains,
40 - "max_length": maxlengths, "comp_time": comptimes, "max_mem": maxmem}) 39 + "max_length(kB)": maxlengths, "comp_time(h)": comptimes, "max_mem(MB)": maxmem})
41 -summary.sort_values("max_length", inplace=True) 40 +summary.sort_values("max_length(kB)", inplace=True)
42 -summary.to_csv("summary.csv") 41 +summary.to_csv("results/summary.csv")
43 42
44 # ======================================================== 43 # ========================================================
45 # Plot the data 44 # Plot the data
46 # ======================================================== 45 # ========================================================
47 46
48 -fig = plt.figure(dpi=100) 47 +fig = plt.figure(figsize=(12,8), dpi=100)
48 +
49 plt.subplot(231) 49 plt.subplot(231)
50 -plt.scatter(summary.n_chains, summary.max_mem) 50 +plt.scatter(summary.n_chains, summary["max_mem(MB)"])
51 -plt.xlabel("Number of sequences (x1000 seqs)") 51 +plt.xlabel("Number of sequences")
52 plt.ylabel("Peak memory (MB)") 52 plt.ylabel("Peak memory (MB)")
53 +
53 plt.subplot(232) 54 plt.subplot(232)
54 -plt.scatter(summary.max_length, summary.max_mem) 55 +plt.scatter(summary["max_length(kB)"], summary["max_mem(MB)"])
55 plt.xlabel("Maximum length of sequences (kB)") 56 plt.xlabel("Maximum length of sequences (kB)")
56 plt.ylabel("Peak memory (MB)") 57 plt.ylabel("Peak memory (MB)")
58 +
57 ax = fig.add_subplot(233, projection='3d') 59 ax = fig.add_subplot(233, projection='3d')
58 -ax.scatter(summary.n_chains, summary.max_length, summary.max_mem) 60 +ax.scatter(summary.n_chains, summary["max_length(kB)"], summary["max_mem(MB)"])
59 -ax.set_xlabel("Number of sequences (x1000 seqs)") 61 +ax.set_xlabel("Number of sequences")
60 ax.set_ylabel("Maximum length of sequences (kB)") 62 ax.set_ylabel("Maximum length of sequences (kB)")
61 ax.set_zlabel("Peak memory (MB)") 63 ax.set_zlabel("Peak memory (MB)")
64 +
62 plt.subplot(234) 65 plt.subplot(234)
63 -plt.scatter(summary.n_chains, summary.comp_time) 66 +plt.scatter(summary.n_chains, summary["comp_time(h)"])
64 -plt.xlabel("Number of sequences (x1000 seqs)") 67 +plt.xlabel("Number of sequences")
65 plt.ylabel("Computation time (h)") 68 plt.ylabel("Computation time (h)")
69 +
66 plt.subplot(235) 70 plt.subplot(235)
67 -plt.scatter(summary.max_length, summary.comp_time) 71 +plt.scatter(summary["max_length(kB)"], summary["comp_time(h)"])
68 plt.xlabel("Maximum length of sequences (kB)") 72 plt.xlabel("Maximum length of sequences (kB)")
69 plt.ylabel("Computation time (h)") 73 plt.ylabel("Computation time (h)")
74 +
70 ax = fig.add_subplot(236, projection='3d') 75 ax = fig.add_subplot(236, projection='3d')
71 -ax.scatter(summary.n_chains, summary.max_length, summary.comp_time) 76 +ax.scatter(summary.n_chains, summary["max_length(kB)"], summary["comp_time(h)"])
72 -ax.set_xlabel("Number of sequences (x1000 seqs)") 77 +ax.set_xlabel("Number of sequences")
73 ax.set_ylabel("Maximum length of sequences (kB)") 78 ax.set_ylabel("Maximum length of sequences (kB)")
74 ax.set_zlabel("Computation time (h)") 79 ax.set_zlabel("Computation time (h)")
75 -plt.show()
76 -
77 -# ========================================================
78 -# Linear Regression of max_mem as function of max_length
79 -# ========================================================
80 80
81 -# With scikit-learn 81 +plt.subplots_adjust(wspace=0.4)
82 -model = LinearRegression(normalize=True, n_jobs=-1) 82 +plt.savefig("results/realign_jobs_performance.png")
83 -model.fit(np.array(summary.max_length).reshape(-1, 1), summary.max_mem) 83 +
84 -b0 = model.intercept_ 84 +# # ========================================================
85 -b1 = model.coef_[0] 85 +# # Linear Regression of max_mem as function of max_length
86 -print(f"peak_mem = {b0:.0f} + {b1:.0f} * max_length") 86 +# # ========================================================
87 - 87 +
88 -# with scipy 88 +# # With scikit-learn
89 -coeffs = scipy.optimize.curve_fit(lambda t, B0, B1: B0+np.exp(B1*t), 89 +# model = LinearRegression(normalize=True, n_jobs=-1)
90 - np.array(summary.max_length[:-3]), np.array(summary.max_mem[:-3]))[0] 90 +# model.fit(summary["max_length(kB)"].values.reshape(-1, 1), summary["max_mem(MB)"])
91 -print(f"peak_mem = {coeffs[0]:.0f} + e^({coeffs[1]:.0f} * max_length)") 91 +# b0 = model.intercept_
92 -coeffs_log = scipy.optimize.curve_fit(lambda t, B0, B1: B0+B1*np.log(t), 92 +# b1 = model.coef_[0]
93 - np.array(summary.max_length), np.array(summary.max_mem), p0=(400, 12000))[0] 93 +# print(f"peak_mem = {b0:.0f} + {b1:.0f} * max_length")
94 -print( 94 +
95 - f"peak_mem = {coeffs_log[0]:.0f} + {coeffs_log[1]:.0f} * log(max_length)") 95 +# # with scipy
96 - 96 +# coeffs = scipy.optimize.curve_fit( lambda t, B0, B1: B0+np.exp(B1*t),
97 -# Re-plot 97 +# summary["max_length(kB)"].values,
98 -x = np.linspace(0, 10, 1000) 98 +# summary["max_mem(MB)"].values
99 -plt.figure() 99 +# )[0]
100 -plt.scatter(summary.max_length, summary.max_mem) 100 +# print(f"peak_mem = {coeffs[0]:.0f} + e^({coeffs[1]:.0f} * max_length)")
101 -plt.xlabel("Maximum length of sequences (kB)") 101 +# coeffs_log = scipy.optimize.curve_fit( lambda t, B0, B1: B0+B1*np.log(t),
102 -plt.ylabel("Peak memory (MB)") 102 +# summary["max_length(kB)"].values,
103 -plt.plot(x, b0 + b1*x, "-r", label="linear fit") 103 +# summary["max_mem(MB)"].values,
104 -plt.plot(x, coeffs[0] + np.exp(coeffs[1]*x), "-g", label="expo fit on [:-3]") 104 +# p0=(400, 12000)
105 -plt.plot(x, coeffs_log[0] + coeffs_log[1]*np.log(x), "-b", label="log fit") 105 +# )[0]
106 -plt.ylim(0, 60000) 106 +# print(f"peak_mem = {coeffs_log[0]:.0f} + {coeffs_log[1]:.0f} * log(max_length)")
107 -plt.legend() 107 +
108 -plt.show() 108 +# # Re-plot
109 - 109 +# x = np.linspace(0, 10, 1000)
110 -print("Estimated mem required to compute RF02543 and its 11kB sequences:", 110 +# plt.figure()
111 - model.predict(np.array([11]).reshape(-1, 1))) 111 +# plt.scatter(summary["max_length(kB)"], summary["max_mem(MB)"])
112 - 112 +# plt.xlabel("Maximum length of sequences (kB)")
113 -# ======================================================== 113 +# plt.ylabel("Peak memory (MB)")
114 -# Linear Regression of comp_time as function of n_chains 114 +# plt.plot(x, b0 + b1*x, "-r", label="linear fit")
115 -# ======================================================== 115 +# plt.plot(x, coeffs[0] + np.exp(coeffs[1]*x), "-g", label="expo fit")
116 - 116 +# plt.plot(x, coeffs_log[0] + coeffs_log[1]*np.log(x), "-b", label="log fit")
117 -# With scikit-learn 117 +# plt.legend()
118 -model = LinearRegression(normalize=True, n_jobs=-1) 118 +# plt.savefig("results/regression/memory_linear_model.png")
119 -model.fit(np.array(summary.n_chains).reshape(-1, 1), summary.comp_time) 119 +
120 -b0 = model.intercept_ 120 +# # ========================================================
121 -b1 = model.coef_[0] 121 +# # Linear Regression of comp_time as function of n_chains
122 -print(f"comp_time = {b0:.3f} + {b1:.3f} * n_chains") 122 +# # ========================================================
123 -print("Estimated computation time required for RF02543 and its 38k sequences:", 123 +
124 - model.predict(np.array([38]).reshape(-1, 1))) 124 +# # With scikit-learn
125 - 125 +# model = LinearRegression(normalize=True, n_jobs=-1)
126 -# Re-plot 126 +# model.fit(summary.n_chains.values.reshape(-1, 1), summary["comp_time(h)"])
127 -x = np.linspace(0, 500, 1000) 127 +# b0 = model.intercept_
128 -plt.figure() 128 +# b1 = model.coef_[0]
129 -plt.scatter(summary.n_chains, summary.comp_time) 129 +# print(f"comp_time = {b0:.3f} + {b1:.3f} * n_chains")
130 -plt.xlabel("Number of sequences (x1000)") 130 +
131 -plt.ylabel("Computation time (h)") 131 +# # Re-plot
132 -plt.plot(x, b0 + b1*x, "-r", label="linear fit") 132 +# x = np.linspace(0, 500000, 1000)
133 -plt.ylim(0, 10) 133 +# plt.figure()
134 -plt.legend() 134 +# plt.scatter(summary.n_chains, summary["comp_time(h)"])
135 -plt.show() 135 +# plt.xlabel("Number of sequences")
136 +# plt.ylabel("Computation time (h)")
137 +# plt.plot(x, b0 + b1*x, "-r", label="linear fit")
138 +# plt.legend()
139 +# plt.savefig("results/regression/comp_time_linear_model.png")
......
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
1 +,cWW,tSH,tWH,tHS,other,tWW,tSS,tHW,cSH,cSW,cSS,tSW,cWH,cWS,tWS,tHH,cHW,cHH,cHS
2 +RF00001,61.87%,4.31%,3.21%,1.98%,3.33%,0.42%,0.97%,2.64%,5.30%,5.61%,0.11%,4.14%,0.61%,3.04%,0.93%,0.53%,0.89%,<.01%,0.10%
3 +RF00002,62.36%,5.36%,2.71%,6.11%,1.72%,2.25%,1.23%,2.54%,1.87%,4.10%,0.63%,1.50%,1.14%,0.68%,0.57%,3.20%,1.38%,0.59%,0.05%
4 +RF00004,85.28%,3.30%,5.23%,0.96%,0.69%,0.14%,0 %,0 %,0.28%,0.28%,0 %,0.69%,0.55%,0 %,0 %,0 %,0.28%,0.28%,2.06%
5 +RF00005,70.47%,0.91%,6.92%,0.09%,1.74%,3.56%,0.08%,3.29%,0.53%,0.52%,0.22%,1.75%,1.24%,2.00%,2.31%,1.71%,0.65%,0.48%,1.53%
6 +RF00008,64.74%,4.62%,8.09%,2.89%,1.16%,0 %,0 %,0 %,1.16%,5.20%,0 %,1.16%,0.58%,4.05%,4.62%,1.73%,0 %,0 %,0 %
7 +RF00009,81.68%,0.58%,2.53%,0.58%,0.97%,0 %,0.39%,1.36%,1.17%,2.73%,0.97%,2.34%,0.58%,0.78%,0.78%,0 %,1.36%,0.39%,0.78%
8 +RF00010,69.24%,2.58%,4.60%,0.37%,3.31%,0.55%,1.29%,0.92%,2.03%,2.76%,2.39%,2.76%,0.18%,1.84%,1.66%,0.55%,2.21%,0 %,0.74%
9 +RF00011,64.71%,4.50%,4.50%,1.04%,3.46%,2.08%,2.42%,2.77%,3.11%,1.04%,1.38%,2.08%,2.08%,1.04%,1.04%,1.04%,1.73%,0 %,0 %
10 +RF00013,89.66%,3.45%,0 %,0 %,3.45%,3.45%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
11 +RF00015,86.76%,4.18%,0.70%,3.48%,0.70%,0 %,0 %,0 %,0.70%,0.35%,0 %,1.74%,0.35%,0 %,0 %,0.35%,0 %,0.70%,0 %
12 +RF00017,75.15%,2.90%,3.05%,0.76%,3.35%,2.74%,0.46%,1.68%,1.07%,0.30%,2.13%,2.59%,1.68%,0.30%,0 %,0 %,0.91%,0.91%,0 %
13 +RF00020,88.26%,0.73%,2.39%,0.37%,0.55%,0.73%,0 %,0 %,0.73%,1.10%,1.28%,1.10%,0.37%,1.28%,0 %,0 %,0.73%,0 %,0.37%
14 +RF00023,73.83%,1.87%,12.15%,0.93%,1.87%,0.93%,0 %,0.93%,0 %,1.87%,0 %,0 %,0 %,1.87%,3.74%,0 %,0 %,0 %,0 %
15 +RF00026,81.41%,3.66%,6.15%,1.17%,0.44%,1.17%,0 %,0 %,0.29%,0.44%,0.15%,1.02%,0.29%,0.29%,0.44%,0.15%,0.15%,0.29%,2.49%
16 +RF00028,65.73%,2.86%,2.64%,3.83%,2.16%,1.62%,2.91%,2.05%,3.12%,1.29%,1.94%,0.38%,1.67%,0.54%,1.45%,0.22%,4.58%,0.86%,0.16%
17 +RF00029,80.70%,6.14%,0 %,0 %,0 %,3.51%,0 %,3.51%,0 %,0.88%,0 %,0 %,0.88%,0.88%,0 %,0 %,0.88%,0 %,2.63%
18 +RF00032,100.00%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
19 +RF00037,100.00%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
20 +RF00050,68.39%,3.87%,7.74%,3.87%,2.26%,0.32%,5.48%,0 %,0 %,0 %,5.81%,0 %,0 %,0.32%,0 %,0 %,1.94%,0 %,0 %
21 +RF00059,60.28%,1.50%,4.97%,3.70%,2.54%,1.85%,5.31%,0 %,0 %,0 %,7.16%,4.97%,4.50%,0.35%,0.12%,1.85%,0.23%,0.69%,0 %
22 +RF00061,77.86%,3.05%,2.29%,2.29%,0 %,2.29%,0 %,1.53%,2.29%,0 %,0 %,0.76%,0.76%,2.29%,0 %,1.53%,2.29%,0 %,0.76%
23 +RF00080,84.19%,6.45%,0 %,0 %,2.26%,0 %,1.94%,0 %,4.19%,0 %,0 %,0.65%,0 %,0 %,0 %,0 %,0 %,0 %,0.32%
24 +RF00100,65.22%,0 %,4.35%,0 %,5.07%,0.72%,0 %,8.70%,0 %,0 %,0 %,2.90%,13.04%,0 %,0 %,0 %,0 %,0 %,0 %
25 +RF00162,73.74%,6.90%,0.07%,2.15%,0.96%,0 %,0.59%,0 %,2.52%,2.82%,4.15%,2.37%,0.07%,0.45%,3.04%,0 %,0 %,0.15%,0 %
26 +RF00164,76.19%,4.76%,0 %,0 %,0 %,0 %,0 %,0 %,4.76%,4.76%,9.52%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
27 +RF00167,67.80%,0 %,7.77%,0.23%,2.51%,0 %,0 %,2.63%,2.22%,3.10%,2.63%,2.98%,0 %,5.14%,2.63%,0.29%,0.06%,0 %,0 %
28 +RF00168,76.92%,4.74%,1.95%,2.41%,0.45%,1.20%,1.20%,2.41%,3.23%,1.20%,0.68%,1.43%,0.98%,0 %,0 %,1.20%,0 %,0 %,0 %
29 +RF00169,70.92%,9.56%,3.19%,0.80%,4.78%,0 %,0.40%,9.16%,0 %,0 %,0 %,0 %,0.80%,0 %,0.40%,0 %,0 %,0 %,0 %
30 +RF00174,71.01%,2.90%,5.07%,4.35%,2.90%,0.72%,1.45%,2.17%,0 %,2.17%,2.90%,1.45%,0.72%,2.17%,0 %,0 %,0 %,0 %,0 %
31 +RF00177,63.05%,3.95%,4.48%,2.84%,3.20%,2.13%,2.18%,2.57%,2.50%,2.24%,2.00%,1.72%,2.02%,1.58%,1.44%,0.78%,0.70%,0.34%,0.29%
32 +RF00233,72.06%,1.47%,7.35%,2.94%,0 %,2.94%,0 %,0 %,4.41%,0 %,2.94%,1.47%,2.94%,0 %,0 %,0 %,1.47%,0 %,0 %
33 +RF00234,73.03%,1.96%,0.68%,0.64%,1.28%,1.96%,2.42%,5.29%,2.92%,0.59%,0.41%,7.07%,1.32%,0 %,0.23%,0 %,0.18%,0 %,0 %
34 +RF00250,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
35 +RF00379,71.10%,6.46%,1.46%,7.07%,1.10%,0.12%,3.29%,0.24%,2.93%,1.46%,1.95%,1.59%,0.61%,0 %,0 %,0.12%,0.49%,0 %,0 %
36 +RF00380,64.46%,5.37%,1.24%,2.07%,6.20%,3.31%,2.89%,4.96%,2.48%,1.24%,2.07%,0 %,0 %,1.24%,1.24%,0 %,1.24%,0 %,0 %
37 +RF00382,50.00%,0 %,0 %,0 %,20.59%,0 %,0 %,0 %,0 %,0 %,0 %,2.94%,20.59%,0 %,0 %,0 %,0 %,5.88%,0 %
38 +RF00390,55.17%,0 %,0 %,0 %,6.90%,0 %,0 %,0 %,13.79%,6.90%,0 %,0 %,17.24%,0 %,0 %,0 %,0 %,0 %,0 %
39 +RF00442,56.52%,6.52%,6.52%,2.17%,8.70%,2.17%,2.17%,2.17%,0 %,4.35%,2.17%,0 %,4.35%,0 %,0 %,2.17%,0 %,0 %,0 %
40 +RF00458,70.22%,3.37%,5.06%,0 %,5.34%,1.97%,0 %,1.40%,1.97%,1.97%,0.28%,0.28%,2.81%,1.97%,0.84%,0.84%,0.56%,0.84%,0.28%
41 +RF00488,91.95%,0.20%,0 %,0.20%,0.80%,1.41%,0.10%,0.50%,0.91%,1.21%,0.10%,0.30%,0.70%,0.70%,0 %,0 %,0.30%,0.50%,0.10%
42 +RF00504,72.66%,3.88%,2.59%,7.77%,3.02%,0 %,2.45%,0.29%,2.59%,0 %,1.58%,0 %,0 %,0 %,0.14%,0.14%,2.88%,0 %,0 %
43 +RF00505,100.00%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
44 +RF01051,64.48%,5.37%,0 %,2.84%,4.93%,0 %,2.84%,4.18%,4.33%,2.09%,1.49%,1.94%,0.60%,3.43%,0.60%,0.60%,0 %,0.15%,0.15%
45 +RF01357,80.00%,10.00%,0 %,0 %,0 %,0 %,0 %,0 %,10.00%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
46 +RF01510,85.62%,0 %,0 %,0 %,1.09%,0 %,0 %,0 %,3.27%,0.22%,0 %,0 %,0 %,6.32%,3.49%,0 %,0 %,0 %,0 %
47 +RF01689,75.95%,3.80%,5.06%,0 %,1.27%,5.06%,0 %,0.63%,1.27%,0 %,1.27%,3.16%,0 %,0 %,2.53%,0 %,0 %,0 %,0 %
48 +RF01725,71.25%,7.50%,0 %,0 %,1.25%,0 %,5.00%,0 %,5.00%,0 %,5.00%,2.50%,0 %,0 %,2.50%,0 %,0 %,0 %,0 %
49 +RF01734,75.76%,8.08%,0 %,0 %,0 %,5.05%,3.03%,5.05%,0 %,0 %,1.01%,2.02%,0 %,0 %,0 %,0 %,0 %,0 %,0 %
50 +RF01739,61.06%,3.54%,4.42%,3.54%,7.96%,3.54%,0 %,0 %,3.54%,1.77%,0 %,0 %,3.54%,0 %,0 %,3.54%,3.54%,0 %,0 %
51 +RF01750,79.22%,4.55%,0 %,3.90%,1.30%,0 %,0 %,1.30%,0 %,0 %,3.90%,0 %,1.30%,0 %,0 %,0 %,4.55%,0 %,0 %
52 +RF01763,42.70%,0.28%,5.23%,0 %,12.67%,3.58%,0 %,0 %,2.20%,0 %,3.03%,2.75%,20.94%,6.61%,0 %,0 %,0 %,0 %,0 %
53 +RF01786,76.39%,2.78%,5.56%,2.78%,1.39%,0 %,0 %,2.78%,5.56%,0 %,0 %,0 %,0 %,0 %,2.78%,0 %,0 %,0 %,0 %
54 +RF01807,74.12%,3.53%,2.35%,0 %,2.35%,4.71%,2.35%,1.18%,0 %,1.18%,0 %,1.18%,2.35%,1.18%,0 %,1.18%,0 %,0 %,2.35%
55 +RF01826,50.00%,0 %,8.33%,4.17%,4.17%,4.17%,4.17%,0 %,0 %,0 %,4.17%,0 %,20.83%,0 %,0 %,0 %,0 %,0 %,0 %
56 +RF01831,78.61%,1.19%,2.97%,1.98%,1.19%,0 %,3.56%,3.96%,1.78%,2.38%,0 %,0 %,0 %,0 %,2.38%,0 %,0 %,0 %,0 %
57 +RF01846,86.57%,3.14%,0.43%,1.71%,1.00%,0.57%,0.29%,1.43%,0.29%,1.14%,0 %,1.00%,0.43%,0.57%,0.29%,0.29%,0.86%,0 %,0 %
58 +RF01852,71.41%,0.42%,1.47%,0.10%,4.63%,1.18%,0.06%,4.89%,4.63%,2.20%,0.03%,0.45%,6.65%,0.22%,0.64%,0 %,0.77%,0.06%,0.19%
59 +RF01854,68.87%,5.96%,4.64%,3.97%,3.97%,1.99%,2.65%,2.65%,0 %,0 %,1.99%,0 %,1.32%,0 %,0.66%,0 %,1.32%,0 %,0 %
60 +RF01857,71.35%,4.21%,2.81%,0 %,3.93%,2.25%,2.53%,5.34%,0 %,0.56%,1.97%,1.69%,0.56%,1.12%,1.69%,0 %,0 %,0 %,0 %
61 +RF01960,66.53%,3.35%,3.47%,2.51%,3.10%,2.23%,1.24%,2.17%,1.66%,2.49%,1.75%,1.64%,2.30%,1.38%,1.71%,0.42%,1.34%,0.49%,0.22%
62 +RF01998,56.65%,4.92%,4.37%,6.74%,3.10%,0.91%,7.10%,4.01%,2.73%,1.09%,0 %,0.36%,3.64%,0.36%,0 %,3.46%,0.55%,0 %,0 %
63 +RF02001,74.15%,5.56%,0.28%,5.07%,0.83%,0.07%,4.86%,3.47%,0.14%,0 %,0.07%,0.90%,0.63%,0.35%,0.49%,0 %,2.78%,0 %,0.35%
64 +RF02012,76.03%,5.48%,0 %,4.11%,1.37%,0.68%,0 %,0 %,2.74%,0 %,0 %,0 %,1.37%,2.05%,0 %,0 %,4.11%,1.37%,0.68%
65 +RF02253,100.00%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
66 +RF02348,80.00%,5.00%,0 %,3.33%,0 %,0 %,0 %,1.67%,1.67%,3.33%,0 %,0 %,0 %,0 %,0 %,0 %,5.00%,0 %,0 %
67 +RF02519,66.67%,0 %,0 %,0 %,16.67%,0 %,8.33%,0 %,8.33%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %
68 +RF02540,60.17%,5.14%,3.83%,3.92%,2.79%,2.53%,3.11%,1.90%,2.22%,1.96%,2.38%,2.25%,1.45%,1.79%,1.50%,1.94%,0.55%,0.28%,0.31%
69 +RF02541,62.00%,4.13%,3.68%,3.79%,2.68%,2.55%,2.84%,2.12%,2.25%,1.87%,2.18%,1.89%,1.71%,1.78%,1.53%,1.61%,0.65%,0.35%,0.38%
70 +RF02543,66.82%,3.48%,2.88%,3.00%,2.51%,2.52%,1.61%,2.09%,1.74%,2.13%,1.88%,1.84%,1.95%,1.51%,1.25%,1.41%,0.74%,0.36%,0.26%
71 +RF02545,65.43%,0.82%,4.12%,2.88%,1.23%,3.70%,1.65%,1.65%,2.47%,2.47%,1.23%,1.23%,0.82%,2.47%,3.70%,2.47%,0.82%,0.82%,0 %
72 +RF02546,82.61%,0 %,8.70%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,0 %,4.35%,0 %,0 %,0 %,0 %,4.35%
73 +RF02553,73.68%,2.63%,7.89%,0 %,0 %,2.63%,0 %,0 %,2.63%,0 %,0 %,5.26%,0 %,2.63%,0 %,2.63%,0 %,0 %,0 %
74 +RF02680,88.89%,0 %,2.78%,0 %,2.78%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,5.56%,0 %,0 %,0 %,0 %,0 %,0 %
75 +RF02683,80.56%,2.78%,0 %,5.56%,2.78%,0 %,0 %,0 %,0 %,0 %,0 %,0 %,2.78%,2.78%,0 %,2.78%,0 %,0 %,0 %
76 +RF02796,78.69%,4.92%,0 %,4.92%,4.92%,0 %,0 %,0 %,4.92%,0 %,0 %,1.64%,0 %,0 %,0 %,0 %,0 %,0 %,0 %
77 +TOTAL,63.42%,3.93%,3.83%,3.23%,2.83%,2.35%,2.28%,2.28%,2.26%,2.13%,1.96%,1.88%,1.82%,1.68%,1.46%,1.25%,0.73%,0.35%,0.33%
This diff is collapsed. Click to expand it.