コード例 #1
0
ファイル: app.py プロジェクト: aeron15/clustergrammer
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'])
コード例 #2
0
# 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')