def l1000cds2_upload(): import requests import json from clustergrammer import Network from pymongo import MongoClient from bson.objectid import ObjectId # get the json l1000cds2 = json.loads( request.form.get('signatures') ) # initialize network net = Network() # load l1000cds2 to .dat net.load_l1000cds2(l1000cds2) # cluster cutoff_comp = 0 min_num_comp = 2 net.cluster_row_and_col(dist_type='cosine', dendro=True) # redefine initial ordering - rank by gene signature values and pert scores net.dat['node_info']['row']['ini'] = net.sort_rank_node_values('row') net.dat['node_info']['col']['ini'] = net.sort_rank_node_values('col') net.viz = {} net.viz['row_nodes'] = [] net.viz['col_nodes'] = [] net.viz['links'] = [] # remake visualization net.viz_json() # generate export dictionary ############################### export_dict = {} export_dict['name'] = 'l1000cds2' export_dict['dat'] = net.export_net_json('dat') export_dict['viz'] = net.viz export_dict['_id'] = ObjectId(l1000cds2['_id']) # set up connection client = MongoClient(mongo_address) db = client.clustergrammer # save to database ################################## tmp = db.networks.find_one({'_id': ObjectId(l1000cds2['_id']) }) if tmp is None: tmp_id = db.networks.insert( export_dict ) # close client client.close() return redirect('/clustergrammer/l1000cds2/'+l1000cds2['_id'])
# import network class from Network.py from clustergrammer import Network # get instance of Network net = Network() print(net.__doc__) print('make tsv clustergram') # load network from tsv file ############################## net.load_tsv_to_net('txt/example_tsv_network.txt') inst_filt = 0.001 inst_meet = 1 net.filter_network_thresh(inst_filt,inst_meet) # cluster ############# net.cluster_row_and_col('cos') # export data visualization to file ###################################### net.write_json_to_file('viz', 'json/default_example.json', 'indent')