aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/show_trait/SampleList.py97
1 files changed, 49 insertions, 48 deletions
diff --git a/wqflask/wqflask/show_trait/SampleList.py b/wqflask/wqflask/show_trait/SampleList.py
index dc45a954..e7fbc19b 100644
--- a/wqflask/wqflask/show_trait/SampleList.py
+++ b/wqflask/wqflask/show_trait/SampleList.py
@@ -133,31 +133,32 @@ class SampleList:
"AND CaseAttributeXRefNew.InbredSetId = %s "
"ORDER BY CaseAttribute.Id", (str(self.dataset.group.id),)
)
- self.attributes = {}
- for attr, values in itertools.groupby(
- cursor.fetchall(), lambda row: (row[0], row[1], row[2])
- ):
- key, name, description = attr
- self.attributes[key] = Bunch()
- self.attributes[key].id = key
- self.attributes[key].name = name
- self.attributes[key].description = description
- self.attributes[key].distinct_values = [
- item.Value for item in values]
- self.attributes[key].distinct_values = natural_sort(
- self.attributes[key].distinct_values)
- all_numbers = True
- for value in self.attributes[key].distinct_values:
- try:
- val_as_float = float(value)
- except:
- all_numbers = False
- break
- if all_numbers:
- self.attributes[key].alignment = "right"
- else:
- self.attributes[key].alignment = "left"
+ self.attributes = {}
+ for attr, values in itertools.groupby(
+ cursor.fetchall(), lambda row: (row[0], row[1], row[2])
+ ):
+ key, name, description = attr
+ self.attributes[key] = Bunch()
+ self.attributes[key].id = key
+ self.attributes[key].name = name
+ self.attributes[key].description = description
+ self.attributes[key].distinct_values = [
+ item[3] for item in values]
+ self.attributes[key].distinct_values = natural_sort(
+ self.attributes[key].distinct_values)
+ all_numbers = True
+ for value in self.attributes[key].distinct_values:
+ try:
+ val_as_float = float(value)
+ except:
+ all_numbers = False
+ break
+
+ if all_numbers:
+ self.attributes[key].alignment = "right"
+ else:
+ self.attributes[key].alignment = "left"
def get_extra_attribute_values(self):
if self.attributes:
@@ -175,30 +176,30 @@ class SampleList:
"ORDER BY SampleName", (self.dataset.group.id,)
)
- for sample_name, items in itertools.groupby(
- cursor.fetchall(), lambda row: row[0]
- ):
- attribute_values = {}
- # Make a list of attr IDs without values (that have values for other samples)
- valueless_attr_ids = [self.attributes[key].id for key in self.attributes.keys()]
- for item in items:
- sample_name, _id, value = item
- valueless_attr_ids.remove(_id)
- attribute_value = value
-
- # If it's an int, turn it into one for sorting
- # (for example, 101 would be lower than 80 if
- # they're strings instead of ints)
- try:
- attribute_value = int(attribute_value)
- except ValueError:
- pass
-
- attribute_values[str(_id)] = attribute_value
- for attr_id in valueless_attr_ids:
- attribute_values[str(attr_id)] = ""
-
- self.sample_attribute_values[sample_name] = attribute_values
+ for sample_name, items in itertools.groupby(
+ cursor.fetchall(), lambda row: row[0]
+ ):
+ attribute_values = {}
+ # Make a list of attr IDs without values (that have values for other samples)
+ valueless_attr_ids = [self.attributes[key].id for key in self.attributes.keys()]
+ for item in items:
+ sample_name, _id, value = item
+ valueless_attr_ids.remove(_id)
+ attribute_value = value
+
+ # If it's an int, turn it into one for sorting
+ # (for example, 101 would be lower than 80 if
+ # they're strings instead of ints)
+ try:
+ attribute_value = int(attribute_value)
+ except ValueError:
+ pass
+
+ attribute_values[str(_id)] = attribute_value
+ for attr_id in valueless_attr_ids:
+ attribute_values[str(attr_id)] = ""
+
+ self.sample_attribute_values[sample_name] = attribute_values
def get_first_attr_col(self):
first_attr_col = 4