From 54ed7ea5e72d59e0f17db4893ecbaca3dfca151a Mon Sep 17 00:00:00 2001 From: zsloan Date: Mon, 11 May 2015 21:33:40 +0000 Subject: Fixed gen_select_dataset so that it does not include Phenotype and Genotype groups when the corresponding data sets do not exist Interval Mapping no longer shows up for human traits Fixed the appearance of the mirror links on the main page --- wqflask/maintenance/gen_select_dataset.py | 52 ++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 7 deletions(-) (limited to 'wqflask/maintenance') diff --git a/wqflask/maintenance/gen_select_dataset.py b/wqflask/maintenance/gen_select_dataset.py index 694efeca..a2ad8c91 100755 --- a/wqflask/maintenance/gen_select_dataset.py +++ b/wqflask/maintenance/gen_select_dataset.py @@ -35,7 +35,9 @@ from __future__ import print_function, division #config = config.Config(cdict).from_envvar('WQFLASK_SETTINGS') #print("cdict is:", cdict) -import our_settings +import sys +sys.path.append("/home/zas1024/") +import zach_settings import MySQLdb @@ -47,7 +49,7 @@ import urlparse from pprint import pformat as pf -#Engine = sa.create_engine(our_settings.SQLALCHEMY_DATABASE_URI) +#Engine = sa.create_engine(zach_settings.SQLALCHEMY_DATABASE_URI) # build MySql database connection @@ -60,7 +62,7 @@ from pprint import pformat as pf def parse_db_uri(db_uri): """Converts a database URI to the db name, host name, user name, and password""" - parsed_uri = urlparse.urlparse(our_settings.DB_URI) + parsed_uri = urlparse.urlparse(zach_settings.DB_URI) db_conn_info = dict( db = parsed_uri.path[1:], @@ -104,12 +106,48 @@ def get_types(groups): types[species] = {} for group_name, _group_full_name in group_dict: # make group an alias to shorten the code - types[species][group_name] = [("Phenotypes", "Phenotypes"), ("Genotypes", "Genotypes")] - types[species][group_name] += build_types(species, group_name) + #types[species][group_name] = [("Phenotypes", "Phenotypes"), ("Genotypes", "Genotypes")] + if phenotypes_exist(group_name): + types[species][group_name] = [("Phenotypes", "Phenotypes")] + if genotypes_exist(group_name): + if group_name in types[species]: + types[species][group_name] += [("Genotypes", "Genotypes")] + else: + types[species][group_name] = [("Genotypes", "Genotypes")] + if group_name in types[species]: + types[species][group_name] += build_types(species, group_name) + else: + types[species][group_name] = build_types(species, group_name) return types +def phenotypes_exist(group_name): + print("group_name:", group_name) + Cursor.execute("""select Name from PublishFreeze + where PublishFreeze.Name = %s""", (group_name+"Publish")) + + results = Cursor.fetchone() + print("RESULTS:", results) + + if results != None: + return True + else: + return False + +def genotypes_exist(group_name): + print("group_name:", group_name) + Cursor.execute("""select Name from GenoFreeze + where GenoFreeze.Name = %s""", (group_name+"Geno")) + + results = Cursor.fetchone() + print("RESULTS:", results) + + if results != None: + return True + else: + return False + def build_types(species, group): """Fetches tissues @@ -196,7 +234,7 @@ def build_datasets(species, group, type_name): def main(): """Generates and outputs (as json file) the data for the main dropdown menus on the home page""" - parse_db_uri(our_settings.DB_URI) + parse_db_uri(zach_settings.DB_URI) species = get_species() groups = get_groups(species) @@ -236,6 +274,6 @@ def _test_it(): #print("build_datasets:", pf(datasets)) if __name__ == '__main__': - Conn = MySQLdb.Connect(**parse_db_uri(our_settings.DB_URI)) + Conn = MySQLdb.Connect(**parse_db_uri(zach_settings.DB_URI)) Cursor = Conn.cursor() main() -- cgit v1.2.3