def make_enr_clust(): import enrichr_functions as enr_fun enr, response_list = enr_fun.enrichr_get_request('ChEA_2015', 939279) net = enr_fun.enrichr_clust_from_response(response_list) net.write_json_to_file('viz','json/enr_clust_example.json')
def main(): import enrichr_functions as enr_fun import json import requests gmt = 'KEA_2015' userListId = 939279 # userListId = 939379 # userListId = 100 # define the get url get_url = 'http://amp.pharm.mssm.edu/Enrichr/enrich' # get parameters params = {'backgroundType': gmt, 'userListId': userListId} # try get request until status code is 200 inst_status_code = 400 # wait until okay status code is returned num_try = 0 while inst_status_code == 400 and num_try < 100: num_try = num_try + 1 try: # make the get request to get the enrichr results print('make-get-req-Enrichr') try: get_response = requests.get(get_url, params=params) # get status_code inst_status_code = get_response.status_code print('inst_status_code: ' + str(inst_status_code)) except: print('get request failed\n------------------------\n\n') except: pass # load as dictionary resp_json = json.loads(get_response.text) # get the key only_key = resp_json.keys()[0] # get response_list response_list = resp_json[only_key] net = enr_fun.enrichr_clust_from_response(response_list) views = net.viz['views'] net.write_json_to_file('viz', 'json/enr_clust_example.json')
def Enrichr_cluster(mongo_address, viz_id, enr_list): import enrichr_functions as enr_fun from bson.objectid import ObjectId from pymongo import MongoClient print('-----------------') print('Enrichr_cluster function, running enrichr_clust_from_response') print('-----------------') # set up database connection client = MongoClient(mongo_address) db = client.clustergrammer viz_id = ObjectId(viz_id) # get placeholder viz data found_viz = db.networks.find_one({'_id': viz_id }) # try to get enr and make clustergram try: # make clustergram threshold = 0.001 num_thresh = 1 # get results from Enrichr and make clustergram netowrk object net = enr_fun.enrichr_clust_from_response(enr_list) # export dat to database #!! export dat not working export_dat = {} export_dat['name'] = 'enrichment_vector' export_dat['dat'] = '' # net.export_net_json('dat') export_dat['source'] = 'Enrichr_clustergram' dat_id = db.network_data.insert( export_dat ) update_viz = net.viz update_dat = dat_id # if there is an error update json with error except: update_viz = 'error' update_dat = 'error' # export viz to database found_viz['viz'] = update_viz found_viz['dat'] = update_dat # update the viz data db.networks.update_one( {"_id":viz_id}, {"$set": found_viz} ) # close database connection client.close()