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')  
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. 3
0
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])  
Esempio n. 4
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])
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. 6
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. 7
0
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'])
Esempio n. 8
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')
Esempio n. 9
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. 10
0
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")
Esempio n. 12
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'])