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.


Reply via email to