diff options
author | zsloan | 2015-07-20 21:21:02 +0000 |
---|---|---|
committer | zsloan | 2015-07-20 21:21:02 +0000 |
commit | afa09962dcdfcd172d98339be9d70187bdb22d61 (patch) | |
tree | 1dd8f79374c87f223f716d994c4b04f9b390a161 /wqflask/base/data_set.py | |
parent | 28d88c740c52386ae464b0f03d1db7058b3ddcf9 (diff) | |
download | genenetwork2-afa09962dcdfcd172d98339be9d70187bdb22d61.tar.gz |
Fixed the code that generates the dataset selection drop-down for correlations
Made changes to the tables of correlation results, collections, and search results:
- Added resizeable columns to correlation results and collections, but not to search results
because it seems that it requires Y scrolling to be set (I'll check if it makes sense to add scrolling
to the search results)
- Correlation results and collections are now in scrolling tables
- The style is the same across all of these tables now
Remaining issues:
- It doesn't seem like I can set the column width when initializing dataTables in
correlation results. I don't know why this is; it might be due to the table already being the size
of a full page. I want to be able to default to some good widths, even if the user can resize them
- I tried adding hoverForMore, but it doesn't seem to cooperate with datatable cells; I think this is
due to having to put the text in a div.
Diffstat (limited to 'wqflask/base/data_set.py')
-rwxr-xr-x | wqflask/base/data_set.py | 58 |
1 files changed, 39 insertions, 19 deletions
diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py index a572a607..c60efe65 100755 --- a/wqflask/base/data_set.py +++ b/wqflask/base/data_set.py @@ -277,7 +277,7 @@ class DatasetGroup(object): """ def __init__(self, dataset): """This sets self.group and self.group_id""" - print("dataset name:", dataset.name) + print("DATASET NAME2:", dataset.name) self.name, self.id = g.db.execute(dataset.query_for_group).fetchone() if self.name == 'BXD300': self.name = "BXD" @@ -306,13 +306,13 @@ class DatasetGroup(object): self.markers = marker_class(self.name) def datasets(self): - key = "group_dataset_menu:v1:" + self.name - print("key is:", key) - with Bench("Loading cache"): - result = Redis.get(key) - if result: - self._datasets = pickle.loads(result) - return self._datasets + key = "group_dataset_menu:v2:" + self.name + print("key is2:", key) + #with Bench("Loading cache"): + # result = Redis.get(key) + #if result: + # self._datasets = pickle.loads(result) + # return self._datasets dataset_menu = [] print("[tape4] webqtlConfig.PUBLICTHRESH:", webqtlConfig.PUBLICTHRESH) @@ -342,18 +342,37 @@ class DatasetGroup(object): self.name, webqtlConfig.PUBLICTHRESH, "%" + self.name + "%", webqtlConfig.PUBLICTHRESH)) - for tissue_name, dataset in itertools.groupby(results.fetchall(), itemgetter(0)): + the_results = results.fetchall() + + #for tissue_name, dataset in itertools.groupby(the_results, itemgetter(0)): + for dataset_item in the_results: + tissue_name = dataset_item[0] + dataset = dataset_item[1] + dataset_short = dataset_item[2] if tissue_name in ['#PublishFreeze', '#GenoFreeze']: - for item in dataset: - dataset_menu.append(dict(tissue=None, datasets=[item[1:]])) + dataset_menu.append(dict(tissue=None, datasets=[(dataset, dataset_short)])) else: dataset_sub_menu = [item[1:] for item in dataset] - dataset_menu.append(dict(tissue=tissue_name, - datasets=dataset_sub_menu)) + + tissue_already_exists = False + tissue_position = None + for i, tissue_dict in enumerate(dataset_menu): + if tissue_dict['tissue'] == tissue_name: + tissue_already_exists = True + tissue_position = i + break + + if tissue_already_exists: + print("dataset_menu:", dataset_menu[i]['datasets']) + dataset_menu[i]['datasets'].append((dataset, dataset_short)) + else: + dataset_menu.append(dict(tissue=tissue_name, + datasets=[(dataset, dataset_short)])) Redis.set(key, pickle.dumps(dataset_menu, pickle.HIGHEST_PROTOCOL)) Redis.expire(key, 60*5) self._datasets = dataset_menu + return self._datasets def get_f1_parent_strains(self): @@ -499,6 +518,8 @@ class DataSet(object): self.group.get_samplelist() self.species = species.TheSpecies(self) + print("TESTING!!!") + def get_desc(self): """Gets overridden later, at least for Temp...used by trait's get_given_name""" @@ -699,13 +720,13 @@ class PhenotypeDataSet(DataSet): # Fields displayed in the search results table header self.header_fields = ['Index', - 'ID', + 'Record', 'Description', 'Authors', 'Year', 'Max LRS', 'Max LRS Location', - 'Add. Effect<a href="http://genenetwork.org//glossary.html#A" target="_blank"><sup style="color:#f00"> ?</sup></a>'] + 'Additive Effect'] self.type = 'Publish' @@ -784,7 +805,6 @@ class PhenotypeDataSet(DataSet): Geno.Name = %s and Geno.SpeciesId = Species.Id """, (species, this_trait.locus)).fetchone() - #result = self.cursor.fetchone() if result: if result[0] and result[1]: @@ -961,14 +981,14 @@ class MrnaAssayDataSet(DataSet): # Fields displayed in the search results table header self.header_fields = ['Index', - 'ID', + 'Record', 'Symbol', 'Description', 'Location', - 'Mean Expr', + 'Mean', 'Max LRS', 'Max LRS Location', - 'Add. Effect<a href="http://genenetwork.org//glossary.html#A" target="_blank"><sup style="color:#f00"> ?</sup></a>'] + 'Additive Effect'] # Todo: Obsolete or rename this field self.type = 'ProbeSet' |