Author: ruschein Date: 2009-12-21 10:44:09 -0800 (Mon, 21 Dec 2009) New Revision: 18798
Added: cytoscape/trunk/testData/NNFData/calc_network_size Log: Primarily a checker for "generate_multi_level_networks." Added: cytoscape/trunk/testData/NNFData/calc_network_size =================================================================== --- cytoscape/trunk/testData/NNFData/calc_network_size (rev 0) +++ cytoscape/trunk/testData/NNFData/calc_network_size 2009-12-21 18:44:09 UTC (rev 18798) @@ -0,0 +1,47 @@ +#! /usr/bin/env python +""" +Program for calculating the size of multilevel nested networks. +""" +import math, sys + + +def Usage(): + print "usage: " + sys.argv[0] + " no_of_nodes_per_network levels link_factor" + print "\twhere no_of_nodes_per_network is the number of nodes in each network." + print "\twhere levels is the number of network levels." + print "\twhere link_factor will be used to determine the number of links within a network. The number of links will be Round(size(network)*link_factor)" + + sys.exit(1) + + +# Command-line argument processing. Returns the triple (no_of_nodes_per_network, levels, link_factor). +def ProcessArgs(argv): + if len(argv) != 4: + Usage() + try: + no_of_nodes_per_network = int(argv[1]) + levels = int(argv[2]) + link_factor = float(argv[3]) + except ValueError: + Usage() + + if no_of_nodes_per_network < 1 or levels < 1 or link_factor < 0.0: + Usage() + + return (no_of_nodes_per_network, levels, link_factor) + + +# +# Start of main program. +# + +(no_of_nodes_per_network, levels, link_factor) = ProcessArgs(sys.argv) + + +total_no_of_networks = (math.pow(no_of_nodes_per_network, levels) - 1) / (no_of_nodes_per_network - 1) +no_of_edges_per_network = int(no_of_nodes_per_network * link_factor + 0.5) +total_no_of_nodes_plus_edges = total_no_of_networks * (no_of_nodes_per_network + no_of_edges_per_network) + +print "total_no_of_networks = " + str(total_no_of_networks) +print "no_of_edges_per_network = " + str(no_of_edges_per_network) +print "total_no_of_nodes_plus_edges = " + str(total_no_of_nodes_plus_edges) Property changes on: cytoscape/trunk/testData/NNFData/calc_network_size ___________________________________________________________________ Added: svn:executable + * -- You received this message because you are subscribed to the Google Groups "cytoscape-cvs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/cytoscape-cvs?hl=en.
