Beispiel #1
0
def clust_vect(db, viz_doc, vect_post):

    from clustergrammer import Network

    try:
        net = Network()
        net.load_vect_post_to_net(vect_post)
        net.swap_nan_for_zero()

        views = ['N_row_sum', 'N_row_var']
        net.make_clust(dist_type='cosine',
                       dendro=True,
                       views=views,
                       linkage_type='average')

        dat_id = upload_dat(db, net)

        update_viz = net.viz
        update_dat = dat_id

    except:
        print('error clustering')
        update_viz = 'error'
        update_dat = 'error'

    viz_doc['viz'] = update_viz
    viz_doc['dat'] = update_dat

    return viz_doc
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_clust(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')  
Beispiel #3
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_clust(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 proc_locally():
    from clustergrammer import Network
    # import run_g2e_background

    net = Network()

    vect_post = net.load_json_to_dict('large_vect_post.json')

    print(vect_post.keys())

    # mongo_address = '10.125.161.139'

    net.load_vect_post_to_net(vect_post)

    net.swap_nan_for_zero()

    net.N_top_views()

    print(net.viz.keys())
def proc_locally():
  from clustergrammer import Network
  # import run_g2e_background

  net = Network()

  vect_post = net.load_json_to_dict('large_vect_post.json')

  print(vect_post.keys())

  # mongo_address = '10.125.161.139'


  net.load_vect_post_to_net(vect_post)

  net.swap_nan_for_zero()

  net.N_top_views()  

  print(net.viz.keys())
def main(mongo_address, viz_id, vect_post):
  from bson.objectid import ObjectId
  from pymongo import MongoClient
  from clustergrammer import Network

  # 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 })

  # initialize export_dat 
  export_dat = {}
  export_viz = {}

  # try to make clustegram using vect_post 
  try:

    # ini network obj 
    net = Network()
    
    # vector endpoint 
    net.load_vect_post_to_net(vect_post)

    # swap nans for zeros
    net.swap_nan_for_zero()

    # deprecated clustering modules 
    ####################################
    # cluster g2e using pandas
    # net.fast_mult_views()

    # # calculate top views rather than percentage views
    # net.N_top_views()
    ####################################

    net.make_filtered_views(dist_type='cosine', dendro=True, \
      views=['N_row_sum'], linkage_type='average')

    # export dat 
    try:

      # convert data to list 
      net.dat['mat'] = net.dat['mat'].tolist()
      net.dat['mat_up'] = net.dat['mat_up'].tolist()
      net.dat['mat_dn'] = net.dat['mat_dn'].tolist()

      export_dat['dat'] = net.export_net_json('dat')
      export_dat['source'] = 'g2e_enr_vect'
      dat_id = db.network_data.insert( export_dat )
      print('G2E: network data successfully uploaded')
    
    except:
      export_dat['dat'] = 'data-too-large'
      export_dat['source'] = 'g2e_enr_vect'
      dat_id = db.network_data.insert( export_dat )
      print('G2E: network data too large to be uploaded')

    update_viz = net.viz 
    update_dat = dat_id

  # if there is an error update json with error 
  except:

    print('\n--------------------------------')
    print('G2E clustering error')
    print('----------------------------------\n')
    update_viz = 'error'
    update_dat = 'error'


  # export vix to database 

  found_viz['viz'] = update_viz
  found_viz['dat'] = update_dat

   # update the viz data 
  try:
    db.networks.update_one( {"_id":viz_id}, {"$set": found_viz} )
    print('\n\n---------------------------------------------------')
    print( 'G2E Successfully made and uploaded clustergram')
    print('---------------------------------------------------\n\n')
  except:
    print('\n--------------------------------')
    print('G2E error in loading viz into database')
    print('----------------------------------\n')

  # close database connection 
  client.close()