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')
Example #3
0
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()