Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

Commit ee11d0b5 authored by Ryan Herbert's avatar Ryan Herbert
Browse files

stats_decorator.py sample_set.py add GenescanDecorator

Add GenescanDecorator to ensure the values are in the correct order and
with a specific label

See #3498
parent e2a797d4
......@@ -661,13 +661,14 @@ def getStatHeaders():
p = BarDecorator()
bc = BarChartDecorator()
lbc = LabeledBarChartDecorator()
g = GenescanDecorator()
l = LociListDecorator()
return [('sample_sets', 'db', s),
('main_clone', 'parser', m),
('reads', 'parser', m),
('mapped', 'parser', m),
('mapped_percent', 'parser', p),
('genescan', 'parser', lbc),
('genescan', 'parser', g),
#('bool', 'parser', b),
#('bool_true', 'parser', b),
('loci', 'parser', l),
......
......@@ -47,12 +47,25 @@ class LabeledBarChartDecorator(BarChartDecorator):
def decorate(self, data):
bars = []
for key in data:
val = data[key]
bar_span = SPAN(_style="height: %f%%; width: %f%%" % (val, (1.0/len(data))*100), _title="%s" % key, _class="bar")
for t in data:
bar_span = SPAN(_style="height: %f%%; width: %f%%" % (t[1], (1.0/len(data))*100), _title="%s" % t[0], _class="bar")
bars.append(bar_span)
return DIV(*bars, _class="bar_chart")
class GenescanDecorator(LabeledBarChartDecorator):
def __init__(self):
super(GenescanDecorator, self).__init__()
def decorate(self, data):
import operator
sorted_values = sorted(data.items(), key=operator.itemgetter(0))
new_values = []
for t in sorted_values:
new_key = "%d%% at %dbp" % (t[1], t[0])
new_values.append((new_key, t[1]))
return super(GenescanDecorator, self).decorate(new_values)
class SetsDecorator(StatDecorator):
def __init__(self):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment