def cluster(): from clustergrammer import Network net = Network() vect_post = net.load_json_to_dict('fake_vect_post.json') net.load_vect_post_to_net(vect_post) net.swap_nan_for_zero() # net.N_top_views() net.make_filtered_views(dist_type='cos',views=['N_row_sum','N_row_var'], dendro=True) net.write_json_to_file('viz','json/large_vect_post_example.json','indent')
def cluster(): from clustergrammer import Network net = Network() vect_post = net.load_json_to_dict("fake_vect_post.json") net.load_vect_post_to_net(vect_post) net.swap_nan_for_zero() # net.N_top_views() net.make_filtered_views(dist_type="cos", views=["N_row_sum", "N_row_var"], dendro=True) net.write_json_to_file("viz", "json/large_vect_post_example.json", "indent")
def post_request(): from clustergrammer_old import Network import requests import json net = Network() vect_post = net.load_json_to_dict('fake_vect_post.json') upload_url = 'http://localhost:9000/clustergrammer/vector_upload/' r = requests.post(upload_url, json.dumps(vect_post)) response_json = json.loads(r.text) link = response_json['link'] print(link.split('viz/')[1])
def post_request(): from clustergrammer_old import Network import requests import json print('vector upload') net = Network() vect_post = net.load_json_to_dict('fake_vect_post.json') # upload_url = 'http://localhost:9000/clustergrammer/vector_upload/' # upload_url = 'http://0.0.0.0:8087/clustergrammer/vector_upload/' upload_url = 'http://amp.pharm.mssm.edu/clustergrammer/vector_upload/' print('making request') r = requests.post(upload_url, json.dumps(vect_post)) response_json = json.loads(r.text) link = response_json['link'] print(link.split('clustergrammer/')[1])
def post_request(): from clustergrammer_old import Network import requests import json print("vector upload") net = Network() vect_post = net.load_json_to_dict("fake_vect_post.json") # upload_url = 'http://localhost:9000/clustergrammer/vector_upload/' # upload_url = 'http://0.0.0.0:8087/clustergrammer/vector_upload/' upload_url = "http://amp.pharm.mssm.edu/clustergrammer/vector_upload/" print("making request") r = requests.post(upload_url, json.dumps(vect_post)) response_json = json.loads(r.text) link = response_json["link"] print(link.split("clustergrammer/")[1])
def post_request(): from clustergrammer_old import Network import requests import json from flask import current_app print('vector upload') net = Network() vect_post = net.load_json_to_dict('fake_vect_post.json') # upload_url = 'http://localhost:9000/clustergrammer/vector_upload/' # upload_url = 'http://0.0.0.0:8087/clustergrammer/vector_upload/' upload_url = current_app.config['ORIGIN'] + current_app.config['ENTRY_POINT'] + '/vector_upload/' print('making request') r = requests.post(upload_url, json.dumps(vect_post)) response_json = json.loads(r.text) link = response_json['link'] print(link.split('clustergrammer/')[1])
def l1000cds2_upload(): import requests import json from clustergrammer_old import Network from pymongo import MongoClient from bson.objectid import ObjectId l1000cds2 = json.loads( request.form.get('signatures') ) net = Network() net.load_l1000cds2(l1000cds2) cutoff_comp = 0 min_num_comp = 2 net.cluster_row_and_col(dist_type='cosine', dendro=True) 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'] = [] net.viz_json() 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']) client = MongoClient(mongo_address) db = client.clustergrammer tmp = db.networks.find_one({'_id': ObjectId(l1000cds2['_id']) }) if tmp is None: tmp_id = db.networks.insert( export_dict ) client.close() return redirect('/clustergrammer/l1000cds2/'+l1000cds2['_id'])
def make_json(): from clustergrammer_old import Network net = Network() row_num = 50 num_columns = 10 # make up all names for all data row_names = make_up_names(row_num) # initialize vect_post vect_post = {} vect_post['title'] = 'Some-Clustergram' vect_post['link'] = 'some-link' vect_post['views'] = ['N_row_var'] vect_post['is_up_down'] = True vect_post['columns'] = [] # the user can request a link or a json vect_post['response_type'] = 'json' split = True # fraction of rows in each column - 1 means all columns have all rows inst_prob = 1 # make column data for col_num in range(num_columns): inst_col = {} col_name = 'Col-' + str( col_num+1 ) + ' make name longer' inst_col['col_name'] = col_name inst_col['link'] = 'col-link' if col_num < 5: inst_col['cat'] = 'brain' else: inst_col['cat'] = 'lung' # save to columns inst_col['data'] = [] #vector # get random subset of row_names vect_rows = get_subset_rows(row_names, inst_prob) # generate vectors for inst_row in vect_rows: # genrate values ################## # add positive/negative values if random.random() > 0.5: value_up = 10*random.random() else: value_up = 0 if random.random() > 0.5: value_dn = -10*random.random() else: value_dn = 0 value = value_up + value_dn # # generate vector component # ############################# # vector.append([ inst_row, value ]) # vector_up.append([ inst_row, value_up ]) # vector_dn.append([ inst_row, value_dn ]) # define row object - within column row_obj = {} row_obj['row_name'] = inst_row row_obj['val'] = value row_obj['val_up'] = value_up row_obj['val_dn'] = value_dn inst_col['data'].append(row_obj) # if split: # inst_col['vector_up'] = vector_up # inst_col['vector_dn'] = vector_dn # save columns to vect_post vect_post['columns'].append(inst_col) net.save_dict_to_json(vect_post, 'fake_vect_post.json', indent='indent')
def make_json(): from clustergrammer_old import Network net = Network() row_num = 15 num_columns = 10 # make up all names for all data row_names = make_up_names(row_num) # initialize vect_post vect_post = {} vect_post['title'] = 'Some-Clustergram' vect_post['link'] = 'some-link' vect_post['filter'] = 'N_row_sum' vect_post['is_up_down'] = True vect_post['columns'] = [] # the user can request a link or a json vect_post['response_type'] = 'json' split = True # fraction of rows in each column - 1 means all columns have all rows inst_prob = 1 # make column data for col_num in range(num_columns): inst_col = {} col_name = 'Col-' + str( col_num+1 ) + ' make name longer' inst_col['col_name'] = col_name inst_col['link'] = 'col-link' if col_num < 5: inst_col['cat'] = 'brain' else: inst_col['cat'] = 'lung' # save to columns inst_col['data'] = [] #vector # get random subset of row_names vect_rows = get_subset_rows(row_names, inst_prob) # generate vectors for inst_row in vect_rows: # genrate values ################## # add positive/negative values if random.random() > 0.5: value_up = 10*random.random() else: value_up = 0 if random.random() > 0.5: value_dn = -10*random.random() else: value_dn = 0 value = value_up + value_dn # # generate vector component # ############################# # vector.append([ inst_row, value ]) # vector_up.append([ inst_row, value_up ]) # vector_dn.append([ inst_row, value_dn ]) # define row object - within column row_obj = {} row_obj['row_name'] = inst_row row_obj['val'] = value row_obj['val_up'] = value_up row_obj['val_dn'] = value_dn inst_col['data'].append(row_obj) # if split: # inst_col['vector_up'] = vector_up # inst_col['vector_dn'] = vector_dn # save columns to vect_post vect_post['columns'].append(inst_col) net.save_dict_to_json(vect_post, 'fake_vect_post.json', indent='indent')
def make_json(): from clustergrammer_old import Network net = Network() row_num = 50 num_columns = 10 # make up all names for all data row_names = make_up_names(row_num) # initialize vect_post vect_post = {} vect_post["title"] = "Some-Clustergram" vect_post["link"] = "some-link" vect_post["views"] = ["N_row_var"] vect_post["is_up_down"] = True vect_post["columns"] = [] # the user can request a link or a json vect_post["response_type"] = "json" split = True # fraction of rows in each column - 1 means all columns have all rows inst_prob = 1 # make column data for col_num in range(num_columns): inst_col = {} col_name = "Col-" + str(col_num + 1) + " make name longer" inst_col["col_name"] = col_name inst_col["link"] = "col-link" if col_num < 5: inst_col["cat"] = "brain" else: inst_col["cat"] = "lung" # save to columns inst_col["data"] = [] # vector # get random subset of row_names vect_rows = get_subset_rows(row_names, inst_prob) # generate vectors for inst_row in vect_rows: # genrate values ################## # add positive/negative values if random.random() > 0.5: value_up = 10 * random.random() else: value_up = 0 if random.random() > 0.5: value_dn = -10 * random.random() else: value_dn = 0 value = value_up + value_dn # # generate vector component # ############################# # vector.append([ inst_row, value ]) # vector_up.append([ inst_row, value_up ]) # vector_dn.append([ inst_row, value_dn ]) # define row object - within column row_obj = {} row_obj["row_name"] = inst_row row_obj["val"] = value row_obj["val_up"] = value_up row_obj["val_dn"] = value_dn inst_col["data"].append(row_obj) # if split: # inst_col['vector_up'] = vector_up # inst_col['vector_dn'] = vector_dn # save columns to vect_post vect_post["columns"].append(inst_col) net.save_dict_to_json(vect_post, "fake_vect_post.json", indent="indent")
def l1000cds2_upload(): ''' l1000cds2 is using a old version of clustergrammer.py ''' import requests import json from clustergrammer_old import Network from pymongo import MongoClient from bson.objectid import ObjectId from flask import request l1000cds2 = json.loads(request.form.get('signatures')) net = Network() net.load_l1000cds2(l1000cds2) cutoff_comp = 0 min_num_comp = 2 net.cluster_row_and_col(dist_type='cosine', dendro=True) 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'] = [] net.viz_json() 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']) client = MongoClient(mongo_address) db = client.clustergrammer tmp = db.networks.find_one({'_id': ObjectId(l1000cds2['_id'])}) if tmp is None: tmp_id = db.networks.insert(export_dict) client.close() return redirect('/clustergrammer/l1000cds2/' + l1000cds2['_id'])