From 45ebe51fbee7da1617b01cff7b9ab404d6ad1aa7 Mon Sep 17 00:00:00 2001 From: Artem Tarasov Date: Thu, 18 Jun 2015 20:05:49 +0300 Subject: fix all_samples_ordered move duplicated code into a method, handle the case of missing f1/f12 correctly --- wqflask/base/data_set.py | 6 ++++++ wqflask/base/trait.py | 9 +-------- wqflask/wqflask/show_trait/show_trait.py | 9 +-------- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py index acfee3d4..b17396e5 100755 --- a/wqflask/base/data_set.py +++ b/wqflask/base/data_set.py @@ -392,6 +392,12 @@ class DatasetGroup(object): Redis.set(key, json.dumps(self.samplelist)) Redis.expire(key, 60*5) + def all_samples_ordered(self): + result = [] + lists = (self.parlist, self.f1list, self.samplelist) + [result.extend(l) for l in lists if l] + return result + def read_genotype_file(self): '''Read genotype from .geno file instead of database''' #if self.group == 'BXD300': diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py index 7f1170a9..2e0e86fb 100755 --- a/wqflask/base/trait.py +++ b/wqflask/base/trait.py @@ -251,14 +251,7 @@ class GeneralTrait(object): # Todo: is this necessary? If not remove self.data.clear() - if self.dataset.group.parlist: - all_samples_ordered = (self.dataset.group.parlist + - self.dataset.group.f1list + - self.dataset.group.samplelist) - elif self.dataset.group.f1list: - all_samples_ordered = self.dataset.group.f1list + self.dataset.group.samplelist - else: - all_samples_ordered = self.dataset.group.samplelist + all_samples_ordered = self.dataset.group.all_samples_ordered() if results: for item in results: diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py index bd827086..61305e9b 100755 --- a/wqflask/wqflask/show_trait/show_trait.py +++ b/wqflask/wqflask/show_trait/show_trait.py @@ -1148,14 +1148,7 @@ class ShowTrait(object): def make_sample_lists(self, this_trait): - if self.dataset.group.parlist: - all_samples_ordered = (self.dataset.group.parlist + - self.dataset.group.f1list + - self.dataset.group.samplelist) - elif self.dataset.group.f1list: - all_samples_ordered = self.dataset.group.f1list + self.dataset.group.samplelist - else: - all_samples_ordered = list(self.dataset.group.samplelist) + all_samples_ordered = self.dataset.group.all_samples_ordered() primary_sample_names = list(all_samples_ordered) -- cgit v1.2.3