Esempio n. 1
0
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')
Esempio n. 2
0
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'])
Esempio n. 3
0
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])
Esempio n. 4
0
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])
Esempio n. 5
0
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')