コード例 #1
0
ファイル: views.py プロジェクト: hqychr/MR-connectome
def runInvariants(inv_list, graph_fn, save_dir, graph_format="graphml", sep_save=False):
  '''
  Run the selected multivariate invariants as defined

  @param inv_list: the list of invariants we are to compute
  @param graph_fn: the graph filename on disk
  @param save_dir: the directory where to save resultant data

  @param graph_format: the format of the graph
  @param sep_save: boolean on whether to save invariants in separate files
  '''
  inv_dict = {'graph_fn':graph_fn, 'save_dir':save_dir}
  for inv in inv_list:
    inv_dict[inv] = True

  inv_dict = cci.compute(inv_dict, sep_save=sep_save, gformat=graph_format)

  if isinstance(inv_dict, str):
    return inv_dict # Error message
  else:
    inv_dict = inv_dict[1]

  return_dict = dict()

  for key in inv_dict:
    if key.endswith("_fn") and not key.startswith("eig"): # skip eigs
      return_dict[key] = inv_dict[key]

  if inv_dict.get("eigvl_fn", None): # or "eigvect_fn"
    return_dict["eig"] = [inv_dict["eigvect_fn"], inv_dict["eigvl_fn"]] # Note this

  return return_dict
コード例 #2
0
def runInvariants(inv_list, graph_fn, save_dir, lcc_fn, graphsize):
    '''

  '''

    inv_dict = {'graph_fn':graph_fn, 'save_dir':save_dir, \
                'lcc_fn':lcc_fn,'graphsize':graphsize}
    for inv in inv_list:
        inv_dict[inv] = True
    inv_dict = cci.compute(inv_dict)

    return_dict = dict()

    if inv_dict['ss1_fn']:
        return_dict['ss1'] = inv_dict['ss1_fn']
    if inv_dict['tri_fn']:
        return_dict['tri'] = inv_dict['tri_fn']
    if inv_dict['deg_fn']:
        return_dict['deg'] = inv_dict['deg_fn']
    if inv_dict['ss2_fn']:
        return_dict['ss2'] = inv_dict['ss2_fn']
    if inv_dict['apl_fn']:
        return_dict['apl'] = inv_dict['apl_fn']
    if inv_dict['gdia_fn']:
        return_dict['gdia'] = inv_dict['gdia_fn']
    if inv_dict['cc_fn']:
        return_dict['cc'] = inv_dict['cc_fn']
    if inv_dict['mad_fn']:
        return_dict['mad'] = inv_dict['mad_fn']
    if inv_dict['eigvl_fn']:
        return_dict['eig'] = [inv_dict['eigvect_fn'],
                              inv_dict['eigvl_fn']]  # Note this

    return return_dict
コード例 #3
0
ファイル: views.py プロジェクト: amondal2/MR-connectome
def runInvariants(inv_list, graph_fn, save_dir, lcc_fn, graphsize):
  '''

  '''

  inv_dict = {'graph_fn':graph_fn, 'save_dir':save_dir, \
              'lcc_fn':lcc_fn,'graphsize':graphsize}
  for inv in inv_list:
    inv_dict[inv] = True
  inv_dict = cci.compute(inv_dict)

  return_dict = dict()

  if inv_dict['ss1_fn']:
    return_dict['ss1'] = inv_dict['ss1_fn']
  if inv_dict['tri_fn']:
    return_dict['tri'] = inv_dict['tri_fn']
  if inv_dict['deg_fn']:
    return_dict['deg'] = inv_dict['deg_fn']
  if inv_dict['ss2_fn']:
    return_dict['ss2'] = inv_dict['ss2_fn']
  if inv_dict['apl_fn']:
    return_dict['apl'] = inv_dict['apl_fn']
  if inv_dict['gdia_fn']:
    return_dict['gdia'] = inv_dict['gdia_fn']
  if inv_dict['cc_fn']:
    return_dict['cc'] = inv_dict['cc_fn']
  if inv_dict['mad_fn']:
    return_dict['mad'] = inv_dict['mad_fn']
  if inv_dict['eigvl_fn']:
    return_dict['eig'] = [inv_dict['eigvect_fn'], inv_dict['eigvl_fn']] # Note this

  return return_dict
コード例 #4
0
ファイル: run_invariants.py プロジェクト: snowbhr06/ndgrutedb
def run_invariants(inv_list, graph_fn, save_dir, graph_format="graphml", sep_save=False):
  '''
  Run the selected multivariate invariants as defined

  @param inv_list: the list of invariants we are to compute
  @param graph_fn: the graph filename on disk
  @param save_dir: the directory where to save resultant data

  @param graph_format: the format of the graph
  @param sep_save: boolean on whether to save invariants in separate files
  '''
  inv_dict = {'graph_fn':graph_fn, 'save_dir':save_dir}
  for inv in inv_list:
    inv_dict[inv] = True

  inv_dict = cci.compute(inv_dict, sep_save=sep_save, gformat=graph_format)

  if isinstance(inv_dict, str):
    return inv_dict # Error message
  else:
    inv_dict = inv_dict[1]

  return_dict = dict()

  for key in inv_dict:
    if key.endswith("_fn") and not key.startswith("eig"): # skip eigs
      return_dict[key] = inv_dict[key]

  if inv_dict.get("eigvl_fn", None): # or "eigvect_fn"
    return_dict["eig"] = [inv_dict["eigvect_fn"], inv_dict["eigvl_fn"]] # Note this

  return return_dict
コード例 #5
0
ファイル: genTestInvs.py プロジェクト: htygithub/m2g
def testing(inv_dict):

    print "Entering testing module ..."
    inv_dict = compute(inv_dict)

    num_nodes = np.load(inv_dict["ver_fn"]).item()

    benchdir = "/Users/disa/m2g/MROCPdjango/computation/tests/bench"  # TODO DM: Alter Dynamically
    testObj = unittesting.test(
        inv_dict["graph_fn"],
        inv_dict["save_dir"],
        num_nodes,
        inv_dict["ss1_fn"],
        inv_dict["deg_fn"],
        inv_dict["tri_fn"],
        inv_dict["cc_fn"],
        inv_dict["mad_fn"],
        benchdir,
    )  # Create unittest object

    testObj.testClustCoeff()
    testObj.testDegree()
    testObj.testTriangles()
    testObj.testMAD()
    testObj.testSS1()
コード例 #6
0
ファイル: test_mrocp_inv.py プロジェクト: snowbhr06/ndgrutedb
def main():
  parser = argparse.ArgumentParser(description="Run MROCP invariants individually for timing purposes")

  parser.add_argument("gfn", action="store", help="The name of the graph on disk")
  result = parser.parse_args()

  g = loadAnyMat(result.gfn)

  begin = time()

  # TODO optimize invariants

  # Deg
  print "Individual run ...\n Processing Degree vector ..."
  b = time()
  compute({"deg":True, "G":g, "graph_fn":result.gfn}, save=False)
  print "Time for degree vector = %.4f"% (time()-b)

  # SS
  print "Processing Scan Statistic ..."
  b = time()
  compute({"ss1":True, "G":g, "graph_fn":result.gfn}, save=False)
  print "Time for scan 1 vector = %.4f"% (time()-b)

  # CC
  print "Processing Clustering Coefficient (Transitivity)"
  b = time()
  compute({"cc":True, "G":g, "graph_fn":result.gfn}, save=False)
  print "Time for Clustering Coefficient vector = %.4f"% (time()-b)

  # TRI
  b = time()
  compute({"tri":True, "G":g, "graph_fn":result.gfn}, save=False)
  print "Time for triangle vector = %.4f" % (time()-b)

  print "Total time for non-daisy-chained invariant = %.4f" % (time()-begin) # minus all the populate_invariants

  print "\n*** Daisy-chain run ... ***\n"

  begin = time()
  compute({"deg":True, "ss1":True, "cc":True, "tri":True, "G":g, "graph_fn":result.gfn}, save=False)
  print "Total time for daisy-chained invariant = %.4f" % (time()-begin) # minus all the populate_invariants
コード例 #7
0
def testing(inv_dict):

    print "Entering testing module ..."
    inv_dict = compute(inv_dict)

    num_nodes = np.load(inv_dict["ver_fn"]).item()

    benchdir = "/Users/disa/m2g/MROCPdjango/computation/tests/bench"  # TODO DM: Alter Dynamically
    testObj = unittesting.test(inv_dict["graph_fn"], inv_dict["save_dir"], num_nodes, inv_dict["ss1_fn"]\
        , inv_dict["deg_fn"], inv_dict["tri_fn"], inv_dict["cc_fn"], inv_dict["mad_fn"], benchdir) # Create unittest object

    testObj.testClustCoeff()
    testObj.testDegree()
    testObj.testTriangles()
    testObj.testMAD()
    testObj.testSS1()