<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>1471-2105-10-405</ui>
   <ji>1471-2105</ji>
   <fm>
      <dochead>Software</dochead>
      <bibl>
         <title>
            <p>Exploring biological network structure with clustered random networks</p>
         </title>
         <aug>
            <au ca="yes" id="A1">
               <snm>Bansal</snm>
               <fnm>Shweta</fnm>
               <insr iid="I1"/>
               <insr iid="I2"/>
               <email>shweta@sbansal.com</email>
            </au>
            <au id="A2">
               <snm>Khandelwal</snm>
               <fnm>Shashank</fnm>
               <email>shrew@alumni.cs.utexas.edu</email>
            </au>
            <au id="A3">
               <snm>Meyers</snm>
               <mnm>Ancel</mnm>
               <fnm>Lauren</fnm>
               <insr iid="I3"/>
               <insr iid="I4"/>
               <email>laurenmeyers@mail.utexas.edu</email>
            </au>
         </aug>
         <insg>
            <ins id="I1">
               <p>Center for Infectious Disease Dynamics, Penn State University, University Park, PA 16802, USA</p>
            </ins>
            <ins id="I2">
               <p>Fogarty International Center, National Institutes of Health, Bethesda, MD 20892, USA</p>
            </ins>
            <ins id="I3">
               <p>Section of Integrative Biology, University of Texas at Austin, Austin, TX 78712, USA</p>
            </ins>
            <ins id="I4">
               <p>External Faculty, Santa Fe Institute, Santa Fe, NM 87501, USA</p>
            </ins>
         </insg>
         <source>BMC Bioinformatics</source>
         <issn>1471-2105</issn>
         <pubdate>2009</pubdate>
         <volume>10</volume>
         <issue>1</issue>
         <fpage>405</fpage>
         <url>http://www.biomedcentral.com/1471-2105/10/405</url>
         <xrefbib>
            <pubidlist>
               <pubid idtype="pmpid">20003212</pubid>
               <pubid idtype="doi">10.1186/1471-2105-10-405</pubid>
            </pubidlist>
         </xrefbib>
      </bibl>
      <history>
         <rec>
            <date>
               <day>13</day>
               <month>5</month>
               <year>2009</year>
            </date>
         </rec>
         <acc>
            <date>
               <day>9</day>
               <month>12</month>
               <year>2009</year>
            </date>
         </acc>
         <pub>
            <date>
               <day>9</day>
               <month>12</month>
               <year>2009</year>
            </date>
         </pub>
      </history>
      <cpyrt>
         <year>2009</year>
         <collab>Bansal et al; licensee BioMed Central Ltd.</collab>
         <note>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</note>
      </cpyrt>
      <abs>
         <sec>
            <st>
               <p>Abstract</p>
            </st>
            <sec>
               <st>
                  <p>Background</p>
               </st>
               <p>Complex biological systems are often modeled as networks of interacting units. Networks of biochemical interactions among proteins, epidemiological contacts among hosts, and trophic interactions in ecosystems, to name a few, have provided useful insights into the dynamical processes that shape and traverse these systems. The degrees of nodes (numbers of interactions) and the extent of clustering (the tendency for a set of three nodes to be interconnected) are two of many well-studied network properties that can fundamentally shape a system. Disentangling the interdependent effects of the various network properties, however, can be difficult. Simple network models can help us quantify the structure of empirical networked systems and understand the impact of various topological properties on dynamics.</p>
            </sec>
            <sec>
               <st>
                  <p>Results</p>
               </st>
               <p>Here we develop and implement a new Markov chain simulation algorithm to generate simple, connected random graphs that have a specified degree sequence and level of clustering, but are random in all other respects. The implementation of the algorithm (ClustRNet: Clustered Random Networks) provides the generation of random graphs optimized according to a local or global, and relative or absolute measure of clustering. We compare our algorithm to other similar methods and show that ours more successfully produces desired network characteristics.</p>
               <p>Finding appropriate null models is crucial in bioinformatics research, and is often difficult, particularly for biological networks. As we demonstrate, the networks generated by ClustRNet can serve as random controls when investigating the impacts of complex network features beyond the byproduct of degree and clustering in empirical networks.</p>
            </sec>
            <sec>
               <st>
                  <p>Conclusion</p>
               </st>
               <p>ClustRNet generates ensembles of graphs of specified edge structure and clustering. These graphs allow for systematic study of the impacts of connectivity and redundancies on network function and dynamics. This process is a key step in unraveling the functional consequences of the structural properties of empirical biological systems and uncovering the mechanisms that drive these systems.</p>
            </sec>
         </sec>
      </abs>
   </fm>
   <bdy>
      <sec>
         <st>
            <p>Background</p>
         </st>
         <p>Over the last decade, network models have advanced our understanding of biology at all scales, from gene regulatory networks to metabolic cycles to global food webs <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B2">2</abbr><abbr bid="B3">3</abbr><abbr bid="B4">4</abbr></abbrgrp>. They are also driving the forefront of sociology, information technology and many other disciplines <abbrgrp><abbr bid="B5">5</abbr><abbr bid="B6">6</abbr><abbr bid="B7">7</abbr></abbrgrp>. Researchers often build network models from empirical data and then seek to characterize and explain non-trivial structural properties such as heavy-tail degree distributions, clustering, short average path lengths, degree correlations and community structure <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B6">6</abbr><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr><abbr bid="B9">9</abbr><abbr bid="B10">10</abbr><abbr bid="B11">11</abbr><abbr bid="B12">12</abbr></abbrgrp>. Many of these properties appear in diverse natural and man-made systems, and can fundamentally influence dynamical processes of and on these networks <abbrgrp><abbr bid="B13">13</abbr><abbr bid="B14">14</abbr><abbr bid="B15">15</abbr><abbr bid="B16">16</abbr><abbr bid="B17">17</abbr><abbr bid="B18">18</abbr><abbr bid="B19">19</abbr></abbrgrp>.</p>
         <p>Clustering is a network characteristic describing the presence of triangles in a network, that is, the propensity of neighbors of a common vertex to also be neighbors with each other. (See Figure <figr fid="F1">1a</figr> and <figr fid="F1">1b</figr>.) It is an important topological characteristic that can significantly impact dynamical processes over complex networks <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B20">20</abbr><abbr bid="B21">21</abbr><abbr bid="B22">22</abbr><abbr bid="B23">23</abbr><abbr bid="B19">19</abbr></abbrgrp>. Clustering is often correlated with local graph properties such as correlations in the number of edges emanating from neighboring vertices <abbrgrp><abbr bid="B21">21</abbr></abbrgrp> and graph motifs <abbrgrp><abbr bid="B24">24</abbr><abbr bid="B4">4</abbr></abbrgrp>, as well as global properties such as community structure <abbrgrp><abbr bid="B25">25</abbr></abbrgrp>.</p>
         <fig id="F1">
            <title>
               <p>Figure 1</p>
            </title>
            <caption>
               <p>(a) a triple among the nodes <it>i, j, k </it>(b) a triangle among the nodes <it>i, j, k </it>(c) A rewiring of edges (<it>i, j</it>) and (<it>k, l</it>) can result in (<it>i, k</it>) and (<it>j, l</it>), or (<it>i, l</it>) and <it>j, k</it>) (d) Four (among many) scenarios for the result of one rewiring step of our algorithm</p>
            </caption>
            <text>
               <p><b>(a) a triple among the nodes <it>i, j, k </it>(b) a triangle among the nodes <it>i, j, k </it>(c) A rewiring of edges (<it>i, j</it>) and (<it>k, l</it>) can result in (<it>i, k</it>) and (<it>j, l</it>), or (<it>i, l</it>) and <it>j, k</it>) (d) Four (among many) scenarios for the result of one rewiring step of our algorithm</b>. The configuration of edges before (left) and after (right) a rewiring step are shown for each scenario. The two bottom scenarios would be rejected by our algorithm as they do not strictly increase the number of triangles.</p>
            </text>
            <graphic file="1471-2105-10-405-1"/>
         </fig>
         <p>Clustering in biological and other empirical networks can stem from two sources: (a) it can arise as a byproduct of other, more fundamental, topological properties such as the degree sequence (distribution) or degree correlations (the dependence of a node's degree on its neighbors' degrees); or (b) it can be generated directly by some inherent property or mechanism within the system, for example, "the friends of my friends tend to become my friends" in social networks.</p>
         <p>Some researchers have claimed that high clustering is a general feature of complex networks <abbrgrp><abbr bid="B21">21</abbr></abbrgrp>. When we measure clustering in a variety of empirical networks, however, we find that it varies considerably. Table <tblr tid="T1">1</tblr> shows that the clustering coefficients and transitivity values (a local and global measure of clustering, respectively) for these networks span the entire range of possible values (zero to one). Thus, it is important to understand not only the origins of clustering, but also the impact of clustering on network functions and dynamics. Towards this end, we introduce a method for generating random networks with a specified level of clustering.</p>
         <tbl id="T1">
            <title>
               <p>Table 1</p>
            </title>
            <caption>
               <p>Topological properties of some empirical networks</p>
            </caption>
            <tblbdy cols="8">
               <r>
                  <c ca="center">
                     <p>
                        <b>Empirical Network</b>
                     </p>
                  </c>
                  <c ca="center">
                     <p>
                        <b>
                           <it>N</it>
                        </b>
                     </p>
                  </c>
                  <c ca="center">
                     <p>
                        <b>&lt;<it>d </it>></b>
                     </p>
                  </c>
                  <c ca="center">
                     <p>
                        <b>&lt;<it>d</it><sup>2 </sup>></b>
                     </p>
                  </c>
                  <c ca="center">
                     <p>
                        <b>
                           <it>C</it>
                        </b>
                     </p>
                  </c>
                  <c ca="center">
                     <p>
                        <b>
                           <it>T</it>
                        </b>
                     </p>
                  </c>
                  <c ca="center">
                     <p>
                        <inline-formula>
                           <graphic file="1471-2105-10-405-i1.gif"/>
                        </inline-formula>
                     </p>
                  </c>
                  <c ca="center">
                     <p>
                        <inline-formula>
                           <graphic file="1471-2105-10-405-i2.gif"/>
                        </inline-formula>
                     </p>
                  </c>
               </r>
               <r>
                  <c cspan="8">
                     <hr/>
                  </c>
               </r>
               <r>
                  <c ca="center">
                     <p>Little Rock Foodweb Interactions</p>
                  </c>
                  <c ca="center">
                     <p>183</p>
                  </c>
                  <c ca="center">
                     <p>27.3</p>
                  </c>
                  <c ca="center">
                     <p>1215</p>
                  </c>
                  <c ca="center">
                     <p>0.37</p>
                  </c>
                  <c ca="center">
                     <p>0.37</p>
                  </c>
                  <c ca="center">
                     <p>0.44</p>
                  </c>
                  <c ca="center">
                     <p>0.58</p>
                  </c>
               </r>
               <r>
                  <c ca="center">
                     <p>Yeast Protein Interactions</p>
                  </c>
                  <c ca="center">
                     <p>4713</p>
                  </c>
                  <c ca="center">
                     <p>6.3</p>
                  </c>
                  <c ca="center">
                     <p>152</p>
                  </c>
                  <c ca="center">
                     <p>0.13</p>
                  </c>
                  <c ca="center">
                     <p>0.06</p>
                  </c>
                  <c ca="center">
                     <p>0.14</p>
                  </c>
                  <c ca="center">
                     <p>0.18</p>
                  </c>
               </r>
               <r>
                  <c ca="center">
                     <p><it>C. elegans </it>Metabolic Interactions</p>
                  </c>
                  <c ca="center">
                     <p>453</p>
                  </c>
                  <c ca="center">
                     <p>8.9</p>
                  </c>
                  <c ca="center">
                     <p>358</p>
                  </c>
                  <c ca="center">
                     <p>0.66</p>
                  </c>
                  <c ca="center">
                     <p>0.12</p>
                  </c>
                  <c ca="center">
                     <p>0.74</p>
                  </c>
                  <c ca="center">
                     <p>0.60</p>
                  </c>
               </r>
               <r>
                  <c ca="center">
                     <p>Vancouver Epidemiological Contacts</p>
                  </c>
                  <c ca="center">
                     <p>2627</p>
                  </c>
                  <c ca="center">
                     <p>13.9</p>
                  </c>
                  <c ca="center">
                     <p>265</p>
                  </c>
                  <c ca="center">
                     <p>0.07</p>
                  </c>
                  <c ca="center">
                     <p>0.09</p>
                  </c>
                  <c ca="center">
                     <p>0.09</p>
                  </c>
                  <c ca="center">
                     <p>0.14</p>
                  </c>
               </r>
               <r>
                  <c ca="center">
                     <p>US Air Traffic Links</p>
                  </c>
                  <c ca="center">
                     <p>165</p>
                  </c>
                  <c ca="center">
                     <p>38.0</p>
                  </c>
                  <c ca="center">
                     <p>2765</p>
                  </c>
                  <c ca="center">
                     <p>0.86</p>
                  </c>
                  <c ca="center">
                     <p>0.58</p>
                  </c>
                  <c ca="center">
                     <p>0.97</p>
                  </c>
                  <c ca="center">
                     <p>0.96</p>
                  </c>
               </r>
            </tblbdy>
            <tblfn>
               <p>The number of nodes (<it>N</it>), the average node degree (&lt;<it>d </it>>), the mean-squared of node degree (&lt;<it>d</it><sup>2 </sup>>), clustering coefficient (<it>C</it>), transitivity (<it>T</it>), Soffer-Vasquez clustering coefficient (<inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula>), and Soffer-Vasquez transitivity (<inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>) for a set of empirical networks.</p>
            </tblfn>
         </tbl>
         <sec>
            <st>
               <p>Related Work</p>
            </st>
            <p>Random graphs are graphs that are generated by some random process <abbrgrp><abbr bid="B26">26</abbr></abbrgrp>. They are widely used as models of complex networks <abbrgrp><abbr bid="B5">5</abbr></abbrgrp> and can assume various levels of complexity. The simplest model for generating random graphs, with only a single parameter, is the Bernoulli or Erd&#246;s-Renyi random graph model, which produces graphs that are completely defined by their average degree and are random in all other respects. A slightly more complex and general model is one that generates graphs with a specified degree distribution (or degree sequence) and ones which are random in all other respects <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>. These models can be extended to include additional structural constraints, such as degree correlations or the density of triangles or longer cycles, as we will demonstrate below.</p>
            <p>Existing methods for generating clustered graphs, however, do not take this approach. One of the first examples is the seminal work of Watts and Strogatz <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. They introduced a model that produces networks with high clustering and low average path length (typical distances between pairs of nodes in the network are small), now known as the <it>small world property</it>. Although not intended as a generative algorithm for clustered graphs, the model produces graphs with clustering spanning the range from 0 to 1. The graphs generated under this model, however, have rigid spatial structure and cannot accommodate varying degree distributions.</p>
            <p>The first algorithms that were designed to generate graphs with a specified level of clustering for arbitrary degree distributions belonged to the class of projected bipartite graphs. Newman <abbrgrp><abbr bid="B20">20</abbr></abbrgrp> introduced a three-step method that first builds a bipartite graph of individuals and affiliations, then projects the bipartite graph to a unipartite graph of individuals only, and finally runs a percolation process over the unipartite graph. This results in a clustered graph with a degree distribution that depends on the original distributions of numbers of individuals per group and groups per individual. The level of clustering in the final graph varies smoothly from 0 to 1 as a function of the percolation probability. In <abbrgrp><abbr bid="B28">28</abbr></abbrgrp>, Guillaume suggested a similar bipartite graph approach. Although these approaches can generate clustered graphs with diverse degree distributions, they lack straightforward methods for choosing parameters that yield graphs with not only a pre-specified clustering coefficient but also a pre-specified degree distribution. These algorithms also tends to produce graphs that leave a significant proportion of the graph vertices isolated.</p>
            <p>A second class of clustered graph models use "growing network" algorithms <abbrgrp><abbr bid="B29">29</abbr><abbr bid="B30">30</abbr><abbr bid="B31">31</abbr></abbrgrp>. The inputs to these models are a degree distribution and level of clustering. The method begins with a set of vertices with no edges; the graph is then "grown" by adding edges based on the degree and clustering constraints. Although the algorithms of this class allow for arbitrary degree distributions and levels of clustering, they either require a complex implementation <abbrgrp><abbr bid="B29">29</abbr></abbrgrp>, produce graphs of a highly specific structure <abbrgrp><abbr bid="B31">31</abbr></abbrgrp> or introduce large amounts of degree correlations <abbrgrp><abbr bid="B31">31</abbr><abbr bid="B30">30</abbr></abbrgrp>.</p>
            <p>Finally, the family of statistical models known as exponential random graph (ERG) models <abbrgrp><abbr bid="B32">32</abbr><abbr bid="B33">33</abbr></abbrgrp> also provide tools to fit the structure of observed networks, for statistics such as degree distribution and number of triangles. These ERG model-based methods, although they have advanced significantly in recent years (e.g. <abbrgrp><abbr bid="B34">34</abbr></abbrgrp>), still suffer from problems of degeneracy and computational intractability for large networks.</p>
         </sec>
         <sec>
            <st>
               <p>Our Approach</p>
            </st>
            <p>Here, we present a model that generates undirected, simple and connected graphs with prescribed degree sequences and a specified frequency of triangles, while maintaining a graph structure that is as random (uncorrelated) as possible. (A <it>simple </it>graph is one which contains no self-loops (edges from a node to itself) or multiedges (multiple edges between the same pair of nodes); and a <it>connected </it>graph is one where every node in the graph is reachable by a path of edges from every other graph node.) Prior models in this area were intended to generate clustered graphs that replicate the properties of real-world networks; our goal, on the other hand, is to generate a class of null networks with arbitrary degree distributions that are simple and connected and have a high density of triangles, but are random in all other respects.</p>
            <p>This method thus leads to two valuable applications. First, network structure fundamentally influences the functions of and dynamical processes on networks. We can use clustered random graphs to systematically study the consequences of clustering, both independently and in combination with various degree patterns. Second, these networks can serve as null models for detecting whether an empirical network can be boiled down to its degree distribution and clustering values or, instead, contains substantial degree correlations or other important structures (beyond the byproducts of the degree distribution and clustering). One would first use the algorithm to generate an ensemble of networks that match the empirical degree sequences and clustering values, and then compare the structural, functional, or dynamical properties of the empirical network to those of the clustered random networks. We focus here on the role of these networks as null models as it is crucial to have appropriate random controls in the study of biological systems, as has been demonstrated in <abbrgrp><abbr bid="B24">24</abbr><abbr bid="B35">35</abbr><abbr bid="B36">36</abbr></abbrgrp>.</p>
            <p>The rest of this article is organized as follows. In the Implementation section, we review common measures of clustering and introduce our Markov chain model and algorithm for generating clustered graphs with a specified degree sequence. In the Results section, we test our algorithm with numerical simulations and explore the structural properties of the generated graphs. The Discussion section is devoted to a demonstration of the randomly generated clustered networks as null networks for the analysis of empirical networks. We finish off with our conclusions, presenting the benefits of our Markov Chain simulation method for biological networks.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Implementation</p>
         </st>
         <p>Our clustered random graph generation method begins with a random graph and iteratively rewires edges to introduce triangles. Network rewiring, also known as edge swapping, is a well-known method for generating networks with desired properties <abbrgrp><abbr bid="B37">37</abbr><abbr bid="B36">36</abbr><abbr bid="B38">38</abbr></abbrgrp>. Two edges are called <it>adjacent </it>if they connect to a common node. Each <it>rewiring </it>is performed on two non-adjacent edges of the graph and consists of removing these two edges and replacing them with another pair of edges. Specifically, a pair of edges (<it>i, j</it>) and (<it>k, l</it>) is replaced with either (<it>i, k</it>) and (<it>j, l</it>), or (<it>i, l</it>) and (<it>j, k</it>) (as illustrated in Figure <figr fid="F1">1c</figr>). This change in the graph leaves the degrees of the participating nodes unchanged, thus maintaining the specified degree sequence. Below we describe a rewiring algorithm that increases the level of clustering in a random graph, while preserving the degree sequence.</p>
         <p>The algorithm we develop below is implemented in Python as ClustRNet. It is based on Networkx, an open-source Python library available for download at <abbrgrp><abbr bid="B39">39</abbr></abbrgrp>, which provides standard graph library functionality (e.g. data structure, input/output, and layouts). The source code for ClustRNet, along with documentation and test network datasets, is available on the web <abbrgrp><abbr bid="B40">40</abbr></abbrgrp>. Our algorithm joins a existing suite of random graph model-based software tools for the analysis of biological networks and the dynamics on them <abbrgrp><abbr bid="B41">41</abbr><abbr bid="B42">42</abbr></abbrgrp>.</p>
         <sec>
            <st>
               <p>Measures of Clustering</p>
            </st>
            <p>We begin with a graph <it>G </it>= (<it>V, E</it>) which is undirected and simple. <it>V </it>is the set of vertices of <it>G </it>and <it>E </it>is the set of the edges. We let <it>N </it>= |<it>V</it>| and <it>M </it>= |<it>E</it>| denote the number of nodes and edges in <it>G</it>, respectively. The <it>degree </it>of a node <it>i </it>will be denoted <it>d</it><sub><it>i</it></sub>. The set of degrees for all nodes in the graph makes up the <it>degree sequence</it>, which follows a probability distribution called the <it>degree distribution</it>.</p>
            <p>Clustering is the likelihood that two neighbors of a given node are themselves connected. In topological terms, clustering measures the density of <it>triangles </it>in the graph, where a triangle is the existence of the set of edges (<it>i, j</it>), (<it>i, k</it>), (<it>j, k</it>) between any triplet of nodes <it>i, j, k </it>(Figure <figr fid="F1">1b</figr>).</p>
            <p>To quantify the local presence of triangles, <it>&#948;</it>(<it>i</it>) is defined as the number of triangles in which node <it>i </it>participates. Since each triangle consists of three nodes, it is counted thrice when we sum <it>&#948;</it>(<it>i</it>) for each node in the graph. Thus the total number of triangles in the graph is</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-405-i3.gif"/>
               </display-formula>
            </p>
            <p>A <it>triple </it>is a set of three nodes, <it>i, j, k </it>that are connected by edges (<it>i, j</it>) and (<it>i, k</it>), regardless of the existence of the edge (<it>j, k</it>) (Figure <figr fid="F1">1a</figr>). The number of triples of node <it>i </it>is simply</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-405-i4.gif"/>
               </display-formula>
            </p>
            <p>assuming <it>d</it><sub><it>i </it></sub>&#8805; 2. To compute the total number of triples in the graph, <it>&#964;</it>(<it>G</it>), we sum <it>&#964;</it>(<it>i</it>) for all <it>i </it>&#8712; <it>V</it>.</p>
            <p>The <it>clustering coefficient </it>was introduced by Watts and Strogatz <abbrgrp><abbr bid="B1">1</abbr></abbrgrp> as a local measure of triadic closure. For a node <it>i </it>with <it>d</it><sub><it>i </it></sub>&#8805; 2, the clustering coefficient <it>c</it>(<it>i</it>) is the fraction of triples for node <it>i </it>which are closed, and can be measured as <it>&#948;</it>(<it>i</it>) = <it>&#964;</it>(<it>i</it>). The clustering coefficient of the graph is then given by:</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-405-i5.gif"/>
               </display-formula>
            </p>
            <p>where <it>N</it><sub>2 </sub>is the number of nodes with <it>c</it>(<it>i</it>) &#8805; 0. Some authors do define the clustering coefficient for all nodes of <it>G </it><abbrgrp><abbr bid="B43">43</abbr></abbrgrp>.</p>
            <p>A more global measure of the presence of triangles is called the <it>transitivity </it>of graph <it>G </it>and is defined as:</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-405-i6.gif"/>
               </display-formula>
            </p>
            <p>Although they are often similar, <it>T</it>(<it>G</it>) and <it>C</it>(<it>G</it>) can vary by orders of magnitude <abbrgrp><abbr bid="B22">22</abbr></abbrgrp>. They differ most when the triangles are heterogeneously distributed in the graph.</p>
            <p>These traditional measures of clustering are degree-dependent and thus can be biased by the degree sequence of the network. The maximum number of possible triangles for a given node <it>i </it>is just its number of triples (<it>&#964;</it>(<it>i</it>)). For a node which is connected to only low degree neighbors, however, the maximum number of possible triangles may be much smaller than <it>&#964;</it>(<it>i</it>). To account for this, a new measure for clustering was introduced in <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> that calculates triadic closure as a function of degree and neighbor degree. Specifically, the Soffer-Vasquez clustering coefficient (<inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula>) and transitivity (<inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>) are given by:</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-405-i7.gif"/>
               </display-formula>
            </p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-405-i8.gif"/>
               </display-formula>
            </p>
            <p>where <it>&#969;</it>(<it>i</it>) measures the number of <it>possible </it>triangles for node <it>i</it>, and <it>N</it><sub><it>&#969; </it></sub>is the number of nodes in <it>G </it>for which <it>&#969;</it>(<it>i</it>) > 0. We note that <inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula> and <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> are undefined if <it>&#969;</it>(<it>G</it>) = &#931;<sub><it>i </it></sub><it>&#969;</it>(<it>i</it>) = 0. <it>&#969;</it>(<it>i</it>) is computed by counting the maximum number of edges that can be drawn among the <it>d</it><sub><it>i </it></sub>neighbors of a node <it>i</it>, given the degree sequence of <it>i</it>'s neighbors; this value is often smaller than <inline-formula><graphic file="1471-2105-10-405-i9.gif"/></inline-formula><abbrgrp><abbr bid="B22">22</abbr></abbrgrp>. For example, consider a star network of five nodes, where four nodes have degree 1 and one node has degree 4. Although the total number of triples is <it>&#964;</it>(<it>G</it>) = 6, the number of possible triangles is <it>&#969;</it>(<it>G</it>) = 0 because the degree one nodes preclude their formation. The computation of <it>&#969;</it>(<it>i</it>) must be done algorithmically and is not possible in closed form. (From here on, we refer to <inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula> as the SV-clustering coefficient and to <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> as the SV-transitivity.)</p>
         </sec>
         <sec>
            <st>
               <p>Generative Model</p>
            </st>
            <p>Here we develop a model to generate a simply connected random graph with a specified degree sequence and a desired level of clustering. Generating random graphs uniformly from the set of simply connected graphs with a prescribed degree sequence is a well-studied problem with algorithmic solutions <abbrgrp><abbr bid="B37">37</abbr></abbrgrp>. One of the simplest and most popular of these generative algorithms was suggested by Molloy and Reed and is known as the configuration model <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>. Given a specific realizable degree sequence <abbrgrp><abbr bid="B44">44</abbr></abbrgrp>, {<it>d</it><sub><it>i</it></sub>}, this method assigns <it>d</it><sub><it>j </it></sub>half-edges to each node <it>j</it>, and then randomly connects pairs half-edges to create edges until there are no half-edges left. (A <it>realizable </it>degree sequence is one which satisfies the Handshake Theorem (the requirement that the sum of the degrees be even) and the Erdos-Gallai criterion (which requires that for each subset of the <it>k </it>highest degree nodes, the degrees of these nodes can be "absorbed" within the subset and the remaining degrees.) Although the model sometimes produces graphs that are not simple or connected, this can be remedied by subsequently removing multiple edges and self loops from the constructed graph and keeping only the largest connected component <abbrgrp><abbr bid="B37">37</abbr></abbrgrp>. Our method begins by using this approach to generate a simple, connected random graph <it>G</it>, with a specific realizable degree sequence <it>D</it>. We then introduce triangles into <it>G </it>using a Markov Chain process without disturbing the degree sequence until we achieve the desired level of clustering, as follows.</p>
            <p>Let <it>G</it><sub><it>D </it></sub>be the set of all simple, connected graphs with degree sequence <it>D</it>. If <inline-formula><graphic file="1471-2105-10-405-i10.gif"/></inline-formula> are the graphs of <it>G</it><sub><it>D</it></sub>, then we let <inline-formula><graphic file="1471-2105-10-405-i11.gif"/></inline-formula> be the states of the Markov chain, <it>P</it>, where <it>X</it><sub><it>i </it></sub>represents the state in which our graph <it>G </it>= <it>G</it><sub><it>i</it></sub>. The states <it>X</it><sub><it>i </it></sub>and <it>X</it><sub><it>i</it>+1 </sub>are connected in the Markov Chain if <it>G</it><sub><it>i </it></sub>can be changed to <it>G</it><sub><it>i</it>+1 </sub>with the rewiring of one pair of edges. The state space of the Markov chain <it>P </it>is connected because there exists a path from <it>X</it><sub><it>i </it></sub>to <it>X</it><sub><it>j </it></sub>(for any pair <it>i, j</it>) by one or more rewiring moves that leave the degree sequence unchanged <abbrgrp><abbr bid="B45">45</abbr></abbrgrp>.</p>
            <p>Our clustered graph generation algorithm involves starting with the random graph <it>G </it>(generated with the configuration model above) and transitioning from the state corresponding to <it>G </it>(<it>X</it><sub><it>G</it></sub>) to other states of <it>P </it>until a halting condition is reached. A transition from one state of the Markov chain to another only occurs when the algorithm makes an edge rewiring that both increases the clustering of the graph and leaves the graph connected. Since a rewiring does not alter the degree sequence of the graph, the rewired graph is still in <it>G</it><sub><it>D</it></sub>. The transition probabilities of the Markov chain for a pair of connected states, <it>X</it><sub><it>i </it></sub>to <it>X</it><sub><it>j</it></sub>, are:</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-10-405-i12.gif"/>
               </display-formula>
            </p>
            <p>where <it>clust</it>(<it>G</it><sub><it>x</it></sub>) is a clustering measure for graph <it>G</it><sub><it>x</it></sub>, which can be replaced by any of the measures introduced in Section. The algorithm continues searching for a feasible rewiring (one that increases the clustering and does not disconnect the graph) until one is found. If a feasible move is not found, a transition is not made and the process remains in the current state.</p>
            <p>The Markov chain above is finite and aperiodic, but not irreducible as the process can never transition to a state in which the graph has lower clustering. It does, however, have an absorbing state, <it>X</it><sub>*</sub>, in which the transitivity of <it>G</it><sub>* </sub>is greater than or equal to the desired transitivity or is the maximum possible transitivity given the particular degree sequence and connectivity constraints.</p>
         </sec>
         <sec>
            <st>
               <p>Algorithm</p>
            </st>
            <p>To generate clustered graphs, we apply the above Markov Chain simulation model by iteratively applying rewirings that increase graph clustering. Each rewiring takes a set of five nodes {<it>x, y</it><sub>1</sub>, <it>y</it><sub>2</sub>, <it>z</it><sub>1</sub>, <it>z</it><sub>2</sub>}, connected by four edges {(<it>x, y</it><sub>1</sub>), (<it>x, y</it><sub>2</sub>), (<it>y</it><sub>1</sub>, <it>z</it><sub>1</sub>), (<it>y</it><sub>2</sub>, <it>z</it><sub>2</sub>)}, and swaps the outer edges: {(<it>x, y</it><sub>1</sub>), (<it>x, y</it><sub>2</sub>), (<it>y</it><sub>1</sub>, <it>y</it><sub>2</sub>), (<it>z</it><sub>1</sub>, <it>z</it><sub>2</sub>)}(illustrated in Figure <figr fid="F1">1d</figr>). This introduces a triangle among nodes {<it>x, y</it><sub>1</sub>, and <it>y</it><sub>2</sub>}, without perturbing the degree sequence. The algorithm proceeds as follows:</p>
            <p><b>Input</b>: A realizable degree sequence {<it>d</it><sub><it>i</it></sub>} a desired clustering value, <it>target</it></p>
            <p><b>Initialization</b>: Generate a random graph <it>G </it>with degree sequence {<it>d</it><sub><it>i</it></sub>} (using the configuration model), and measure the clustering of <it>G</it>, <it>clust</it>(<it>G</it>).</p>
            <p><b>while </b><it>clust</it>(<it>G</it>) &lt;<it>target </it><b>do</b></p>
            <p indent="2">1. uniformly select a random node, <it>x</it>, from the</p>
            <p indent="2">&#160; &#160;&#160;set of all nodes of <it>G </it>such that <it>d</it><sub><it>x </it></sub>> 1.</p>
            <p indent="2">2. uniformly select two random neighbors, <it>y</it><sub>1 </sub></p>
            <p indent="2">&#160;&#160;&#160;and <it>y</it><sub>2</sub>, of <it>x </it>such that <it>d</it><sub><it>y</it>1 </sub>> 1 and</p>
            <p indent="2">&#160;&#160;&#160;<it>d</it><sub><it>y</it>2 </sub>> 1 and <it>y</it><sub>1</sub>&#8800;<it>y</it><sub>2</sub>.</p>
            <p indent="2">3. uniformly select a random neighbor, <it>z</it><sub>1 </sub></p>
            <p indent="2">&#160;&#160;&#160;of <it>y</it><sub>1 </sub>and a random neighbor, <it>z</it><sub>2 </sub>of</p>
            <p indent="2">&#160;&#160;&#160;<it>y</it><sub>2 </sub>such that <it>z</it><sub>1 </sub>&#8800; <it>x</it>, <it>z</it><sub>2 </sub>&#8800; <it>x</it>,</p>
            <p indent="2">&#160;&#160;&#160;<it>z</it><sub>1 </sub>&#8800; <it>z</it><sub>2</sub>.</p>
            <p indent="2">4. <it>G</it><sub><it>cand</it></sub>: = <it>G </it>where <it>G</it><sub><it>cand </it></sub>is the candidate</p>
            <p indent="2">&#160;&#160;&#160;graph to which the transition may be made.</p>
            <p indent="2">5. <b>if </b>(<it>y</it><sub>1</sub>, <it>y</it><sub>2</sub>) <it>and </it>(<it>z</it><sub>1</sub>, <it>z</it><sub>2</sub>) <it>do not exist </it><b>then</b></p>
            <p indent="3">&#160;&#160;&#160;Rewire two edges of <it>G</it><sub><it>cand</it></sub>: delete (<it>y</it><sub>1</sub>, <it>z</it><sub>1</sub>) and (<it>y</it><sub>2</sub>, <it>z</it><sub>2</sub>), add (<it>y</it><sub>1</sub>, <it>y</it><sub>2</sub>) and (<it>z</it><sub>1</sub>, <it>z</it><sub>2</sub>).</p>
            <p indent="2">&#160;&#160;&#160;<b>end</b></p>
            <p indent="2">6. Update the value of <it>clust</it>(<it>G</it><sub><it>cand</it></sub>) by measuring</p>
            <p indent="2"><it>&#160;&#160;&#160;&#948; </it>(<it>i</it>) (and <it>&#969; </it>(<it>i</it>) if relevant) for the nodes involved</p>
            <p indent="2">&#160;&#160;&#160;in the rewiring and their neighbors.</p>
            <p indent="2">7. <b>if </b><it>clust</it>(<it>G</it><sub><it>cand</it></sub>) > <it>clust</it>(<it>G</it>) <it>and G</it><sub><it>cand </it></sub></p>
            <p indent="2">&#160;&#160;&#160;<it>is connected </it><b>then</b></p>
            <p indent="3">&#160;&#160;&#160;<it>G</it>: = <it>G</it><sub><it>cand</it></sub></p>
            <p indent="2">&#160;&#160;&#160;<b>end</b></p>
            <p>
               <b>end</b>
            </p>
            <p><b>Output</b>: A random graph, <it>G </it>with degree sequence {<it>d</it><sub><it>i</it></sub>} and <it>clust</it>(<it>G</it>) &#8805; <it>target</it>.</p>
            <p>The algorithm terminates when the graph attains at least the desired level of clustering or reaches a threshold number of unsuccessful rewiring attempts. In the latter case, the algorithm returns the graph with the maximum clustering achieved. For practical purposes, a threshold is placed on the number of unsuccessful attempts made by the algorithm in ClustRNet for the case that the desired clustering cannot be reached. Due to the random restarts made at every step, the algorithm is prevented from getting trapped in local minima.</p>
            <p>The algorithm is designed to increase clustering while preserving both the degree sequence and connectedness of the graph. However, there are some cases where the desired clustering can only be reached by disconnecting the graph; and thus ClustRNet provides the option of removing the connectivity constraint (see Additional file <supplr sid="S1">1</supplr>, Figure S2).</p>
            <suppl id="S1">
               <title>
                  <p>Additional file 1</p>
               </title>
               <text>
                  <p><b>Supplementary analysis</b>. Additional analysis of algorithm with figures.</p>
               </text>
               <file name="1471-2105-10-405-S1.PDF">
                  <p>Click here for file</p>
               </file>
            </suppl>
            <sec>
               <st>
                  <p>Choice of Clustering Measure</p>
               </st>
               <p>The algorithm is defined independent of the choice of clustering measure. The term <it>clust</it>(<it>G</it>) in the algorithm above can be replaced by any clustering measure described in Section. ClustRNet includes all four of these clustering measures (<it>C</it>, <inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula>, <it>T</it>; <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>).</p>
               <p>The algorithm output varies with the choice of clustering measure. The clustering coefficient is a local measure; and thus <it>C </it>and <inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula> yield networks that are only locally optimized for the desired level of clustering. The algorithm may have difficulty attaining target clustering values when using the absolute clustering measures (<it>C </it>or <it>T</it>) because of joint degree constraints (the degrees of adjacent nodes) on the possible numbers of triangles, as with the example presented in Section. The Soffer-Vasquez clustering measures, which explicitly consider joint degree constraints, provide a way around this difficulty <abbrgrp><abbr bid="B22">22</abbr></abbrgrp>. Although the rewiring in our algorithm changes the joint degree distribution (and thus the degree correlations) of the graph, <it>&#969;</it>(<it>G</it>) is not altered significantly during network generation (as shown in Additional file <supplr sid="S1">1</supplr>, Figure S3). Thus, when using <inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula> or <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>, clustering is increased primarily by the addition of triangles (that is, increasing <it>&#948; </it>(<it>G</it>)) rather than decreasing <it>&#969;</it>(<it>G</it>)).</p>
            </sec>
            <sec>
               <st>
                  <p>Types of Graph Changes</p>
               </st>
               <p>As shown in Figure <figr fid="F2">2</figr>, there are six types of triangles that can be added or removed for every pair of edges that are rewired. As illustrated in Figure <figr fid="F1">1d</figr>, these additions and removals can occur in combination.</p>
               <p indent="1">&#8226; Type A: The addition of the edge between vertices <it>y</it><sub>1 </sub>and <it>y</it><sub>2 </sub>guarantees the addition of one triangle in every rewiring event.</p>
               <p indent="1">&#8226; Type B: The addition of the edge (<it>y</it><sub>1</sub>, <it>y</it><sub>2</sub>) could create new triangles with shared neighbors of <it>y</it><sub>1 </sub>and <it>y</it><sub>2</sub>.</p>
               <p indent="1">&#8226; Type C: The addition of the edge (<it>z</it><sub>1</sub>, <it>z</it><sub>2</sub>) could add a triangle if there existed edges between <it>x </it>and <it>z</it><sub>1 </sub>and <it>x </it>and <it>z</it><sub>2</sub>.</p>
               <p indent="1">&#8226; Type D: The addition of the edge between vertices <it>z</it><sub>1 </sub>and <it>z</it><sub>2 </sub>could create new triangles with shared neighbors of <it>z</it><sub>1 </sub>and <it>z</it><sub>2</sub>.</p>
               <p indent="1">&#8226; Type E: The removal of edges (<it>y</it><sub>1</sub>, <it>z</it><sub>1</sub>) and (<it>y</it><sub>2</sub>, <it>z</it><sub>2</sub>) removes one triangle each if the edges (<it>x, z</it><sub>1</sub>) or (<it>x, z</it><sub>2</sub>) exist.</p>
               <p indent="1">&#8226; Type F: The removal of the edges between vertices <it>y</it><sub>1 </sub>and <it>z</it><sub>1</sub>, and <it>y</it><sub>2 </sub>and <it>z</it><sub>2 </sub>could lead to the removal of existing triangles with shared neighbors of <it>y</it><sub>1 </sub>and <it>z</it><sub>1 </sub>or <it>y</it><sub>2 </sub>and <it>z</it><sub>2</sub>.</p>
               <p>We note that although the type A addition is a special case of type B, the type C addition is a special case of type D, and the type E removals are a special case of type F, we distinguish them because they have different probabilities of occurrence. Our look-ahead strategy only allows rewiring moves when the total number of Type E and F losses is fewer than the total number of Type A, B, C, and D gains.</p>
               <fig id="F2">
                  <title>
                     <p>Figure 2</p>
                  </title>
                  <caption>
                     <p>Possible triangle additions (green) and removals (red) in one step of the rewiring procedure</p>
                  </caption>
                  <text>
                     <p><b>Possible triangle additions (green) and removals (red) in one step of the rewiring procedure</b>. Black lines represent existing edges and edges added after a rewiring event, gray lines represent edges lost during a rewiring event.</p>
                  </text>
                  <graphic file="1471-2105-10-405-2"/>
               </fig>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Computational Complexity</p>
            </st>
            <p>Like many heuristic search methods, the algorithm we propose can be computationally expensive. The method outlined in Section 2.2 requires <it>O</it>(<it>M</it>) steps to generate a connected graph, and up to <it>O</it>(<it>M</it>) steps to randomize the graph, where <it>M </it>is the number of edges in the graph. At each step of randomization, we test that the graph remains connected (an <it>O</it>(<it>M</it>) operation), resulting in an overall <it>O</it>(<it>M</it><sup>2</sup>) random network generation process. A naive computation of the transitivity/clustering coefficient requires checking every node for the existence of edges between every pair of neighbors of the node. This step requires <it>O</it>(<inline-formula><graphic file="1471-2105-10-405-i13.gif"/></inline-formula>) operations, where <it>N </it>is the number of nodes and <it>d</it><sub><it>max </it></sub>is the maximum degree of any node in the graph. The most expensive step of our algorithm is the introduction of triangles via rewiring. A single rewiring step requires <it>O</it>(<it>M</it>) operations for switching edges, checking for connectivity and updating the clustering measure. Although we cannot analytically calculate the number of attempted rewiring steps required to reach the desired transitivity, we have found it empirically to be <it>O</it>(<it>M</it>). Thus, the average complexity of the clustered network algorithm presented here is <it>O</it>(<it>M</it><sup>2</sup>). This complexity has been computed for the most naive versions of our algorithms; and more efficient implementations may improve the complexity greatly. For example, we might improve efficiency by performing connectivity tests once every <it>x </it>rewirings (for some number <it>x</it>) rather than during every rewiring, as proposed in <abbrgrp><abbr bid="B46">46</abbr></abbrgrp>.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Results</p>
         </st>
         <sec>
            <st>
               <p>Performance</p>
            </st>
            <p>To test our algorithm, we generate networks with three different degree distributions and for a range of clustering target values. Specifically, we use Poisson (<it>p</it><sub><it>d </it></sub>= <it>e</it><sup>-<it>&#955; </it></sup><it>&#955;</it><sup><it>d</it></sup>/<it>d</it>!), exponential (<it>p</it><sub><it>d </it></sub>= (1 - <it>e</it><sup><it>&#954;</it></sup>)<it>e</it><sup>-<it>&#954;</it>(<it>d</it>-1)</sup>) and a truncated scale-free (<it>p</it><sub><it>d </it></sub>= <it>d</it><sup>-<it>&#947;</it></sup><it>e</it><sup>-<it>d</it>/<it>&#954;</it></sup>/<it>Li</it><sub><it>&#947;</it></sub>(<it>e</it><sup>-1/<it>&#954;</it></sup>)) degree distribution, each with a mean degree of five. Starting with random graphs with specific degree sequences matching these degree distributions, we rewire the networks towards (1) SV-transitivity ((<inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>)) targets and (2) transitivity (<it>T</it>) targets in addition to allowing the algorithm to generate disconnected graphs. These targets allow us to evaluate how the clustering measure and connectivity requirement constrain the results, and the second target, in particular, allows us to compare results to other algorithms. Figure <figr fid="F3">3</figr> illustrates the rewiring of a network with a Poisson distributed degree sequence evolving towards higher transitivity.</p>
            <fig id="F3">
               <title>
                  <p>Figure 3</p>
               </title>
               <caption>
                  <p>The evolution with our algorithm of a Poisson-distributed random graph with 50 nodes from (a) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> &#8776; 0,(b) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> = 0.1,(c) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> = 0.5 and (d) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> = 0.8, with the connectivity constraint</p>
               </caption>
               <text>
                  <p><b>The evolution with our algorithm of a Poisson-distributed random graph with 50 nodes from (a) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> &#8776; 0,(b) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> = 0.1,(c) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> = 0.5 and (d) <inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula> = 0.8, with the connectivity constraint</b>.</p>
               </text>
               <graphic file="1471-2105-10-405-3"/>
            </fig>
            <p>We evaluate the performance of our algorithm in comparison to one representative network growth algorithm <abbrgrp><abbr bid="B30">30</abbr></abbrgrp> and one representative bipartite network method <abbrgrp><abbr bid="B20">20</abbr></abbrgrp>. Specifically, we measured the discrepancies between input and output degree distributions (Figure <figr fid="F4">4</figr> left graphs) and transitivity values (Figure <figr fid="F4">4</figr>, right graphs). Our algorithm preserves the input degree sequence perfectly, while there are considerable mismatches between the input and output degree distributions in the Volz and Newman models. For both comparisons, the transitivity values of the output graphs from our algorithm exactly match the target transitivity values, when those values can be attained given the network topology and the requirements of the algorithm. Some values at the lower end of the clustering scales cannot be reached because the expected transitivity for random graphs of specified degree distributions scales as <inline-formula><graphic file="1471-2105-10-405-i14.gif"/></inline-formula> where <it>p</it><sub><it>k </it></sub>is the degree distribution <abbrgrp><abbr bid="B21">21</abbr><abbr bid="B8">8</abbr><abbr bid="B43">43</abbr></abbrgrp>. This value is small for the Poisson degree distribution but can be quite high (especially when measured as SV-transitivity) for highly-skewed degree distributions such as the scale-free degree distribution. For the first comparison, the connectivity constraint imposes a maximum on the attainable clustering value, thus the highest SV-transitivity values cannot be reached without disconnecting the graphs. In these cases, our algorithm returns the graph with the largest attainable SV-transitivity that is less than the desired SV-transitivity. For the second comparison, (with requirements to match the other algorithms), our algorithm performs better in all cases compared to the Volz and Newman models. Due to the definition of the standard transitivity measure (<it>T</it>), however, we see that the networks reach a maximum <it>T </it>value, beyond which no further clustering can be accommodated by the network topology.</p>
            <fig id="F4">
               <title>
                  <p>Figure 4</p>
               </title>
               <caption>
                  <p>Discrepancies between input and average output degree distributions (left panels) and average transitivity values (right panels) for an ensemble of 15 Poisson (top panels), exponential (middle panels) and scale-free graphs (bottom panels) as generated by our algorithm and the algorithms presented in <abbrgrp><abbr bid="B30">30</abbr></abbrgrp> and <abbrgrp><abbr bid="B20">20</abbr></abbrgrp></p>
               </caption>
               <text>
                  <p><b>Discrepancies between input and average output degree distributions (left panels) and average transitivity values (right panels) for an ensemble of 15 Poisson (top panels), exponential (middle panels) and scale-free graphs (bottom panels) as generated by our algorithm and the algorithms presented in </b><abbrgrp><abbr bid="B30">30</abbr></abbrgrp><b>and </b><abbrgrp><abbr bid="B20">20</abbr></abbrgrp>. Each graph has <it>N </it>= 500 and mean degree, &#10216;<it>d</it>&#10217; = 5. In the left graphs, the input degree distribution is shown as a black circles; and output degree distributions are shown for the Newman (green dashed line) and the Volz (gray dashed line) algorithms. Output degree distributions are not shown for ClustRNet as the degree sequence always perfectly match the input. In the right graphs, the input is shown as black circles, and output transitivity values are shown for two runs: (1) using SV-transitivity ((<inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>)) as the clustering measure in ClustRNet (blue line), and (2) ClustRNet [without a connectivity constraint] (orange line), the Newman algorithm (green dashed line) and the Volz algorithm (gray dashed line), all with transitivity ((<inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>)) as the clustering measure.</p>
               </text>
               <graphic file="1471-2105-10-405-4"/>
            </fig>
         </sec>
         <sec>
            <st>
               <p>Structural Properties of Generated Networks</p>
            </st>
            <p>There are several other topological properties (besides degree sequence and clustering) that can strongly influence network function and dynamics. Among these are degree correlations (the dependence of a node's degree on its neighbors' degrees), community structure (groups of nodes that are highly intra-connected and only loosely inter-connected), and average path length (typical distances between pairs of nodes in the network). We have specifically developed this model to increase clustering with minimal structural byproducts. Thus, we confirm that we have reached this goal by measuring the above properties in the networks generated by our algorithm.</p>
            <p>We evaluated the extent to which the algorithm introduces degree correlations by comparing random (unclustered) graphs to clustered random graphs generated by our algorithm and the Volz <abbrgrp><abbr bid="B30">30</abbr></abbrgrp> and Newman <abbrgrp><abbr bid="B20">20</abbr></abbrgrp> algorithms (Figure <figr fid="F5">5</figr>. While our algorithm essentially preserves the correlation structure of the random graph, the other algorithms produce highly correlated graphs. Results are not shown for scale-free graphs as initial transitivity values were larger than 0.5 for all generated graphs.</p>
            <fig id="F5">
               <title>
                  <p>Figure 5</p>
               </title>
               <caption>
                  <p>Degree correlations (A and B) and average path lengths (C and D) in random graphs with specified degree distributions (Poisson and exponential with mean degree = 5) compared to clustered random graphs with the same degree distributions and <it>T </it>= 0.5 generated by our algorithm (with the connectivity constraint), as well as the Volz <abbrgrp><abbr bid="B30">30</abbr></abbrgrp> and Newman <abbrgrp><abbr bid="B20">20</abbr></abbrgrp> algorithms (in A and B)</p>
               </caption>
               <text>
                  <p><b>Degree correlations (A and B) and average path lengths (C and D) in random graphs with specified degree distributions (Poisson and exponential with mean degree = 5) compared to clustered random graphs with the same degree distributions and <it>T </it>= 0.5 generated by our algorithm (with the connectivity constraint), as well as the Volz </b><abbrgrp><abbr bid="B30">30</abbr></abbrgrp><b>and Newman </b><abbrgrp><abbr bid="B20">20</abbr></abbrgrp><b>algorithms (in A and B)</b>. The graphs present averages over 15 graphs generated by each algorithm. Our algorithm introduces fewer degree correlations than the alternatives, and the clustered graphs have only slightly higher average path lengths than their random counterparts: 4.05 for the Poisson random graphs versus 4.39 for the clustered graphs; and 3.95 for the exponential random graphs versus 4.14 for the clustered graphs.</p>
               </text>
               <graphic file="1471-2105-10-405-5"/>
            </fig>
            <p>Several authors have discussed the relationship between clustering and community structure <abbrgrp><abbr bid="B8">8</abbr><abbr bid="B25">25</abbr><abbr bid="B47">47</abbr><abbr bid="B21">21</abbr></abbrgrp>. As Figure <figr fid="F3">3</figr> shows, the addition of triangles leads to modular structure. This behavior is not surprising: as the number of edges in the graph is constrained, sets of connected nodes with high <it>&#969;</it>(<it>i</it>) values (often high-degree nodes) must be brought together to create additional clustering. Although the presence of a significant proportion of triangles tends to separate the network into modules, it is not clear that clustering is always sufficient to explain the modular structure of a graph. We explore this further below.</p>
            <p>Short average path lengths are a characteristic feature of random graphs <abbrgrp><abbr bid="B26">26</abbr></abbrgrp>. To quantify the impact of our algorithm on path lengths, we calculated the average path length for each node to all other (<it>N </it>- 1) nodes, and then compared the distributions of these values for several random and random clustered graphs (Figure <figr fid="F5">5</figr>). While our algorithm mostly maintains short average path lengths, the mean of the path length distribution does tend to be slightly larger for the clustered graphs than for the corresponding random graphs. The intuition behind this increase in average path length may lie in the increased community structure: as graphs become more clustered and separate into subgroups, nodes in different groups require more links to reach each other (Figure <figr fid="F3">3</figr>). Given that our algorithm can generate graphs of high clustering while preserving short path lengths, this introduces a novel method of generating graphs with the small world property without the correlations of Watts-Strogatz graphs <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Discussion</p>
         </st>
         <sec>
            <st>
               <p>Application: Analysis of Empirical Networks</p>
            </st>
            <p>It is crucial to have random controls in the study of biological systems. Our algorithm can be used to generate null models and applied to the detection of structure in empirical biological networks. We can generate ensembles of clustered random networks with empirically estimated degree sequences and clustering values to ascertain whether empirical networks have significant non-random structure in other respects. We demonstrate this application using representatives from four classes of biological networks. We also analyze one non-biological network that is made of human transportation links as it provides contrast to the range of topological properties and design principles found in the biologically-motivated networks. The five real networks are as follows: a) a trophic exchange network for the Little Rock Lake in Wisconsin <abbrgrp><abbr bid="B48">48</abbr></abbrgrp>; b) a protein interaction network for yeast <abbrgrp><abbr bid="B3">3</abbr></abbrgrp>; c) a metabolic network for the eukaryote <it>Caenorhabditis elegans </it><abbrgrp><abbr bid="B49">49</abbr></abbrgrp>; d) a network made up of epidemiologically-relevant contacts for individuals in the city of Vancouver <abbrgrp><abbr bid="B13">13</abbr></abbrgrp>; and e) a transportation network, made up of US metropolitan areas connected by air travel <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>. These networks represent a diverse set of applications and are systems that are well-studied in their respective literatures. The basic statistics of these networks, including clustering values, are listed in Table <tblr tid="T1">1</tblr>.</p>
            <p>We use the following method to quantify deviations from randomness in these networks. First, we use our algorithm to generate 25 clustered random networks constrained to match the empirical degree sequence and clustering values. Second, we select a set of network topological measures (other than degree distribution and clustering), and compare these quantities for the empirical graph to the corresponding average quantities across the ensemble of generated graphs.</p>
            <p>Specifically, we generate 25 clustered random networks for each empirical network, constrained to match the empirical degree sequence and SV-transitivity. In addition to the degree and clustering metrics, we also calculated diameter (longest shortest path length between any pair of nodes in the graph) <abbrgrp><abbr bid="B51">51</abbr></abbrgrp>, degree correlation coefficient <abbrgrp><abbr bid="B11">11</abbr></abbrgrp> and modularity (degree of community structure) <abbrgrp><abbr bid="B52">52</abbr></abbrgrp> (Table <tblr tid="T2">2</tblr>). Other than diameter, each of these metrics range from 0 to 1. The standard deviations for all statistics are negligible across the ensembles and thus not reported. For every statistic, we also give the deviation between the empirical value and the average across the generated ensemble of random clustered networks (specifically, deviation = ensemble mean - observed value). Small deviations suggest that the empirical network structure boils down to the degree distribution and clustering, and thus we turn our attention to possible mechanisms underlying these properties. In contrast, large deviations suggest that there are other fundamental properties to consider in addition to or, perhaps, instead of clustering.</p>
            <tbl id="T2">
               <title>
                  <p>Table 2</p>
               </title>
               <caption>
                  <p>Comparisons between empirical networks and clustered random networks</p>
               </caption>
               <tblbdy cols="9">
                  <r>
                     <c ca="center">
                        <p>
                           <b>Generated Network Type</b>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <b>
                              <it>N</it>
                           </b>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <b>&lt;<it>d </it>></b>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <b>&lt;<it>d</it><sup>2 </sup>></b>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <b>
                              <it>T</it>
                           </b>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <inline-formula>
                              <graphic file="1471-2105-10-405-i2.gif"/>
                           </inline-formula>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <b>
                              <it>Diam</it>
                           </b>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <b>
                              <it>r</it>
                           </b>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <b>
                              <it>Q</it>
                           </b>
                        </p>
                     </c>
                  </r>
                  <r>
                     <c cspan="9">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>Little Rock Foodweb Interactions</p>
                     </c>
                     <c ca="center">
                        <p>183</p>
                     </c>
                     <c ca="center">
                        <p>27.3</p>
                     </c>
                     <c ca="center">
                        <p>1215</p>
                     </c>
                     <c ca="center">
                        <p>0.38 [0.009]</p>
                     </c>
                     <c ca="center">
                        <p>0.58 [0.0]</p>
                     </c>
                     <c ca="center">
                        <p>4 [0.0]</p>
                     </c>
                     <c ca="center">
                        <p>-0.09 [0.15]</p>
                     </c>
                     <c ca="center">
                        <p>0.11 [-0.21]</p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>Yeast Protein Interactions</p>
                     </c>
                     <c ca="center">
                        <p>4713</p>
                     </c>
                     <c ca="center">
                        <p>6.3</p>
                     </c>
                     <c ca="center">
                        <p>152</p>
                     </c>
                     <c ca="center">
                        <p>0.07 [0.01]</p>
                     </c>
                     <c ca="center">
                        <p>0.18 [0]</p>
                     </c>
                     <c ca="center">
                        <p>12.5 [0.5]</p>
                     </c>
                     <c ca="center">
                        <p>0.11 [0.38]</p>
                     </c>
                     <c ca="center">
                        <p>0.39 [-0.10]</p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p><it>C. elegans</it> Metabolic Interactions</p>
                     </c>
                     <c ca="center">
                        <p>453</p>
                     </c>
                     <c ca="center">
                        <p>8.9</p>
                     </c>
                     <c ca="center">
                        <p>358</p>
                     </c>
                     <c ca="center">
                        <p>0.14 [0.02]</p>
                     </c>
                     <c ca="center">
                        <p>0.60 [0]</p>
                     </c>
                     <c ca="center">
                        <p>6 [-1]</p>
                     </c>
                     <c ca="center">
                        <p>-0.19 [0.04]</p>
                     </c>
                     <c ca="center">
                        <p>0.29 [-0.09]</p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>Vancouver Epidemiological Contacts</p>
                     </c>
                     <c ca="center">
                        <p>2627</p>
                     </c>
                     <c ca="center">
                        <p>13.9</p>
                     </c>
                     <c ca="center">
                        <p>265</p>
                     </c>
                     <c ca="center">
                        <p>0.09 [0]</p>
                     </c>
                     <c ca="center">
                        <p>0.14 [0]</p>
                     </c>
                     <c ca="center">
                        <p>6 [0]</p>
                     </c>
                     <c ca="center">
                        <p>0.15 [-0.4]</p>
                     </c>
                     <c ca="center">
                        <p>0.28 [-0.15]</p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>US Air Traffic Links</p>
                     </c>
                     <c ca="center">
                        <p>165</p>
                     </c>
                     <c ca="center">
                        <p>38.0</p>
                     </c>
                     <c ca="center">
                        <p>2765</p>
                     </c>
                     <c ca="center">
                        <p>0.58 [0]</p>
                     </c>
                     <c ca="center">
                        <p>0.97 [0]</p>
                     </c>
                     <c ca="center">
                        <p>3 [0]</p>
                     </c>
                     <c ca="center">
                        <p>-0.55 [0]</p>
                     </c>
                     <c ca="center">
                        <p>0.11 [-0.01]</p>
                     </c>
                  </r>
               </tblbdy>
               <tblfn>
                  <p>For each empirical network, we generated 25 random graphs constrained to have the observed degree sequences and Soffer-Vasquez transitivity values. The table reports average values of several network statistics for the clustered random graphs: network size (<it>N</it>), mean degree (&#10216;<it>d</it>&#10217;), mean squared degree (&#10216;<it>d</it><sup>2</sup>&#10217;), Soffer-Vasquez clustering coefficient (<inline-formula><graphic file="1471-2105-10-405-i1.gif"/></inline-formula>), Soffer-Vasquez transitivity (<inline-formula><graphic file="1471-2105-10-405-i2.gif"/></inline-formula>), maximum shortest path length between any two nodes (<it>diam</it>), degree correlation coefficient (<it>r</it>), and modularity (<it>Q</it>). The value given in brackets is the deviation of the ensemble mean from the corresponding statistic for the empirical network. (A positive deviation indicates that the ensemble mean was greater than the empirical statistic and vice versa.) Deviations are not listed for <it>N</it>, &#10216;<it>d</it>&#10217; and &#10216;<it>d</it><sup>2</sup>&#10217; as network size and degree sequence are constrained by our algorithm to match the empirical networks perfectly.</p>
               </tblfn>
            </tbl>
            <p>Of all the empirical networks analyzed, the random counterparts of the the US air traffic network are the only ones that have structural properties almost identical to the real network (with the network of Vancouver epidemiological contacts being the next closest). This suggests that the structure of the US air traffic network comes almost exclusively from its degree patterns. (In fact, even the high clustering is explained exclusively by the degree patterns.) We note that the US air traffic network is the only non-biological one and the most engineered of the networks we consider, and thus may have fewer emergent properties. The remaining empirical networks (all biological) differ considerably from their random counterparts, suggesting that there are important mechanistic features not captured in the random model.</p>
            <p>Degree correlations vary somewhat systematically among the four biological networks (Table <tblr tid="T2">2</tblr>). The Vancouver human epidemiological contact network has significantly higher degree assortativity than our random networks, thus showing that the positive degree correlations are not just the result of degree distribution or clustering, both of which have been found to be positively correlated with assortativity <abbrgrp><abbr bid="B53">53</abbr></abbrgrp>. This suggests the existence of social rules among humans that go beyond (a) variation in numbers of "friends" and (b) the tendency for "my friend's friend also to be my friend" <abbrgrp><abbr bid="B11">11</abbr></abbrgrp>. The remaining biological networks (the yeast protein interactions, the Little Rock Lake foodweb, and the <it>C. elegans </it>metabolic networks), on the other hand, all have negative degree correlations. Our results show that the <it>C. elegans </it>metabolic network, in particular, has degree correlations approximately equal to the amount expected to arise as a random byproduct of degree distribution and clustering. One reason that a biological network only show random degree correlations might be due to the lack of a clear functional or structural advantage for strong correlations: negatively correlated networks are vulnerable to failures because functionality often depends on a few high degree nodes that provide essential connectivity. If any of these fail (e.g., because of a gene deletion in a metabolic network) the whole system fails <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B12">12</abbr></abbrgrp>. On the other hand, positively correlated networks, which have short distances between hub (high-degree) nodes, may be less favorable because they allow for the propagation of random perturbations (e.g., changes in the concentration of a protein in a protein-interaction network) <abbrgrp><abbr bid="B36">36</abbr></abbrgrp>.</p>
            <p>All of the natural networks we study have significantly higher modularity than the corresponding clustered random networks, despite having a wide range of transitivity values. This suggests that clustering and community structure are not necessarily positively correlated, as has been previously suggested <abbrgrp><abbr bid="B52">52</abbr><abbr bid="B8">8</abbr></abbrgrp>. The high modularity of the Little Rock foodweb, in particular, has been attributed to its high clustering <abbrgrp><abbr bid="B54">54</abbr></abbrgrp>. Our generated clustered random graphs, however, indicate that the degree distribution and high transitivity only account for about half the modularity of the foodweb graph (Table <tblr tid="T2">2</tblr>). There is an extensive literature on the presence and evolution of modularity in protein, metabolic, and ecological networks highlighting its possible roles in functional specialization, innovation and robustness <abbrgrp><abbr bid="B55">55</abbr><abbr bid="B56">56</abbr><abbr bid="B57">57</abbr><abbr bid="B58">58</abbr><abbr bid="B59">59</abbr><abbr bid="B60">60</abbr></abbrgrp>. Since clustering and the mechanisms that give rise to it cannot fully account for the modularity of these empirical networks, such mechanistic explanations for the structure are warranted.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Conclusions</p>
         </st>
         <p>In this work, we have introduced a Markov chain simulation algorithm to generate clustered random graphs with a specified degree sequence and level of clustering. Our algorithm perfectly preserves the degree sequence of a random graph and generally maintains other fundamental properties of random graphs like short path length and low degree correlations. The use of random graphs as controls is a common and effective method for identifying important structural characteristics of biological networks (as, for example, has been seen in <abbrgrp><abbr bid="B61">61</abbr><abbr bid="B54">54</abbr><abbr bid="B62">62</abbr><abbr bid="B49">49</abbr><abbr bid="B13">13</abbr></abbrgrp>). Our method provides a new null model for use with this technique. Since this method is based on a dynamic process, it can be used to generate both static networks with a specified amount of clustering and dynamic networks with evolving levels of clustering. Furthermore, since the process is a "memoryless" one, additional clustering can be added to any network without having to grow a new one from scratch. These clustered networks can provide valuable insights into the interdependent impacts of connectedness and redundancy on biological processes, and serve as appropriate null models for investigating the biological significance of other structural attributes.</p>
      </sec>
      <sec>
         <st>
            <p>Availability and Requirements</p>
         </st>
         <p indent="1">&#8226; <it>Project name: </it>ClustRNet</p>
         <p indent="1">&#8226; <it>Project home page: </it><url>http://sbansal.com/ClustRNet/</url></p>
         <p indent="1">&#8226; <it>Operating system(s): </it>Platform independent</p>
         <p indent="1">&#8226; <it>Programming language: </it>Python 2.5</p>
         <p indent="1">&#8226; <it>Other requirements: </it>Networkx Python package 2.5</p>
         <p indent="1">&#8226; <it>License: </it>BSD-style</p>
         <p indent="1">&#8226; <it>Any restrictions to use by non-academics: </it>None</p>
      </sec>
      <sec>
         <st>
            <p>Authors' contributions</p>
         </st>
         <p>SB, SK and LAM contributed to algorithm design, implementation and manuscript writing. All authors read and approved the final manuscript.</p>
      </sec>
   </bdy>
   <bm>
      <ack>
         <sec>
            <st>
               <p>Acknowledgements</p>
            </st>
            <p>The authors acknowledge valuable feedback from Joel Miller, Mark Newman, Erik Volz, Alberto Segre Ted Herman, and two anonymous reviewers. SB acknowledges financial support from the University of Texas at Austin. LAM acknowledges support from the McDonnell Foundation and NSF grant DEB-0749097.</p>
         </sec>
      </ack>
      <refgrp>
         <bibl id="B1">
            <title>
               <p>Collective dynamics of small world networks</p>
            </title>
            <aug>
               <au>
                  <snm>Watts</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Strogatz</snm>
                  <fnm>SH</fnm>
               </au>
            </aug>
            <source>Nature</source>
            <pubdate>1998</pubdate>
            <volume>393</volume>
            <issue>441</issue>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">9623998</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B2">
            <title>
               <p>Network analysis of trophic dynamics in south florida ecosystem, FY 97: The florida bay ecosystem</p>
            </title>
            <aug>
               <au>
                  <snm>Ulanowicz</snm>
                  <fnm>RE</fnm>
               </au>
               <au>
                  <snm>Bondavalli</snm>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Egnotovich</snm>
                  <fnm>MS</fnm>
               </au>
            </aug>
            <source>Technical Report Ref. No. [UMCES] CBL</source>
            <pubdate>1998</pubdate>
            <fpage>98</fpage>
            <lpage>123</lpage>
         </bibl>
         <bibl id="B3">
            <title>
               <p>Characterization and modeling of protein-protein interaction networks</p>
            </title>
            <aug>
               <au>
                  <snm>Colizza</snm>
                  <fnm>V</fnm>
               </au>
               <au>
                  <snm>Flammini</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Maritan</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Vespignani</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Physica A</source>
            <pubdate>2005</pubdate>
            <volume>352</volume>
            <fpage>1</fpage>
            <lpage>27</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1016/j.physa.2004.12.030</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B4">
            <title>
               <p>The topological relationship between the large-scale attributes and local interaction patterns of complex networks</p>
            </title>
            <aug>
               <au>
                  <snm>Vazquez</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Dobrin</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Sergi</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Eckmann</snm>
                  <fnm>JP</fnm>
               </au>
               <au>
                  <snm>Oltvai</snm>
                  <fnm>ZN</fnm>
               </au>
               <au>
                  <snm>Barab&#225;si</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>2004</pubdate>
            <volume>101</volume>
            <issue>52</issue>
            <fpage>17940</fpage>
            <lpage>17945</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1073/pnas.0406024101</pubid>
                  <pubid idtype="pmcid">539752</pubid>
                  <pubid idtype="pmpid" link="fulltext">15598746</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B5">
            <title>
               <p>Random graph models of social networks</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
               <au>
                  <snm>Watts</snm>
                  <fnm>DJ</fnm>
               </au>
               <au>
                  <snm>Strogatz</snm>
                  <fnm>SH</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci</source>
            <pubdate>2002</pubdate>
            <volume>99</volume>
            <issue>2566</issue>
         </bibl>
         <bibl id="B6">
            <title>
               <p>Diameter of the world-wide web</p>
            </title>
            <aug>
               <au>
                  <snm>Albert</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Jeong</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Barabasi</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Nature</source>
            <pubdate>1999</pubdate>
            <volume>401</volume>
            <fpage>130</fpage>
            <lpage>131</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1038/43601</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B7">
            <title>
               <p>On power-law relationships of the internet topology</p>
            </title>
            <aug>
               <au>
                  <snm>Faloutsos</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Faloutsos</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Faloutsos</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>Proceedings of the Conference on applications, technologies, architectures, and protocols for computer communications</source>
            <pubdate>1999</pubdate>
            <fpage>251</fpage>
            <lpage>262</lpage>
            <xrefbib>
               <pubid idtype="doi">full_text</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B8">
            <title>
               <p>Why social networks are different from other types of networks</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
               <au>
                  <snm>Park</snm>
                  <fnm>J</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2003</pubdate>
            <volume>68</volume>
            <issue>036122</issue>
         </bibl>
         <bibl id="B9">
            <title>
               <p>Scientific collaboration networks: II. Shortest paths, weighted networks, and centrality</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2001</pubdate>
            <volume>64</volume>
            <issue>1</issue>
            <fpage>016132</fpage>
            <xrefbib>
               <pubid idtype="doi">10.1103/PhysRevE.64.016132</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B10">
            <title>
               <p>Community structure in social and biological networks</p>
            </title>
            <aug>
               <au>
                  <snm>Girvan</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>2002</pubdate>
            <volume>99</volume>
            <issue>12</issue>
            <fpage>7821</fpage>
            <lpage>7826</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1073/pnas.122653799</pubid>
                  <pubid idtype="pmcid">122977</pubid>
                  <pubid idtype="pmpid" link="fulltext">12060727</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B11">
            <title>
               <p>Assortative mixing in networks</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
            </aug>
            <source>Phys Rev Lett</source>
            <pubdate>2002</pubdate>
            <fpage>89</fpage>
         </bibl>
         <bibl id="B12">
            <title>
               <p>Influence of degree correlations on network structure and stability in protein-protein interaction networks</p>
            </title>
            <aug>
               <au>
                  <snm>Friedel</snm>
                  <mi>C</mi>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Zimmer</snm>
                  <fnm>R</fnm>
               </au>
            </aug>
            <source>BMC Bioinformatics</source>
            <pubdate>2007</pubdate>
            <volume>8</volume>
            <fpage>297</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1186/1471-2105-8-297</pubid>
                  <pubid idtype="pmcid">1995226</pubid>
                  <pubid idtype="pmpid" link="fulltext">17688687</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B13">
            <title>
               <p>Network theory and sars: predicting outbreak diversity</p>
            </title>
            <aug>
               <au>
                  <snm>Meyers</snm>
                  <fnm>LA</fnm>
               </au>
               <au>
                  <snm>Pourbohloul</snm>
                  <fnm>B</fnm>
               </au>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
               <au>
                  <snm>Skowronski</snm>
                  <fnm>DM</fnm>
               </au>
               <au>
                  <snm>Brunham</snm>
                  <fnm>RC</fnm>
               </au>
            </aug>
            <source>J Theo Biol</source>
            <pubdate>2005</pubdate>
            <volume>232</volume>
            <fpage>71</fpage>
            <lpage>81</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1016/j.jtbi.2004.07.026</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B14">
            <title>
               <p>Networks and epidemic models</p>
            </title>
            <aug>
               <au>
                  <snm>Keeling</snm>
                  <fnm>MJ</fnm>
               </au>
               <au>
                  <snm>Eames</snm>
                  <fnm>KTD</fnm>
               </au>
            </aug>
            <source>J R Soc Interface</source>
            <pubdate>2005</pubdate>
            <volume>2</volume>
            <fpage>295</fpage>
            <lpage>307</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1098/rsif.2005.0051</pubid>
                  <pubid idtype="pmcid">1578276</pubid>
                  <pubid idtype="pmpid" link="fulltext">16849187</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B15">
            <title>
               <p>Statistical mechanics of complex networks</p>
            </title>
            <aug>
               <au>
                  <snm>Albert</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Barabasi</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Reviews of Modern Physics</source>
            <pubdate>2002</pubdate>
            <volume>74</volume>
            <fpage>47</fpage>
            <lpage>97</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1103/RevModPhys.74.47</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B16">
            <title>
               <p>Error and attack tolerance of complex networks</p>
            </title>
            <aug>
               <au>
                  <snm>Albert</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Jeong</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Barabasi</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Nature</source>
            <pubdate>2000</pubdate>
            <volume>406</volume>
            <fpage>378</fpage>
            <lpage>382</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1038/35019019</pubid>
                  <pubid idtype="pmpid" link="fulltext">10935628</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B17">
            <title>
               <p>When individual behavior matters</p>
            </title>
            <aug>
               <au>
                  <snm>Bansal</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Grenfell</snm>
                  <fnm>B</fnm>
               </au>
               <au>
                  <snm>Meyers</snm>
                  <fnm>LA</fnm>
               </au>
            </aug>
            <source>J R Soc Interface</source>
            <pubdate>2007</pubdate>
            <volume>4</volume>
            <issue>16</issue>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1098/rsif.2007.1100</pubid>
                  <pubid idtype="pmcid">2394553</pubid>
                  <pubid idtype="pmpid" link="fulltext">17640863</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B18">
            <title>
               <p>The implications of network structure for epidemic dynamics</p>
            </title>
            <aug>
               <au>
                  <snm>Keeling</snm>
                  <fnm>MJ</fnm>
               </au>
            </aug>
            <source>Theo Pop Biol</source>
            <pubdate>2005</pubdate>
            <volume>67</volume>
            <fpage>1</fpage>
            <lpage>8</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1016/j.tpb.2004.08.002</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B19">
            <title>
               <p>The effects of local spatial structure on epidemiological invasions</p>
            </title>
            <aug>
               <au>
                  <snm>Keeling</snm>
                  <fnm>MJ</fnm>
               </au>
            </aug>
            <source>Proc R Soc B</source>
            <pubdate>1999</pubdate>
            <volume>266</volume>
            <fpage>859</fpage>
            <lpage>867</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1098/rspb.1999.0716</pubid>
                  <pubid idtype="pmcid">1689913</pubid>
                  <pubid idtype="pmpid" link="fulltext">10343409</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B20">
            <title>
               <p>Properties of highly clustered networks</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2003</pubdate>
            <volume>68</volume>
            <issue>026121</issue>
         </bibl>
         <bibl id="B21">
            <title>
               <p>Clustering in complex networks i</p>
            </title>
            <aug>
               <au>
                  <snm>Serrano</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Boguna</snm>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2006</pubdate>
            <volume>74</volume>
            <issue>056114</issue>
         </bibl>
         <bibl id="B22">
            <title>
               <p>Network clustering coefficient without degree-correlation biases</p>
            </title>
            <aug>
               <au>
                  <snm>Soffer</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Vazquez</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2005</pubdate>
            <volume>71</volume>
            <issue>057101</issue>
         </bibl>
         <bibl id="B23">
            <title>
               <p>The role of clustering and gridlike odering in epidemic spreading</p>
            </title>
            <aug>
               <au>
                  <snm>Petermann</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Rios</snm>
                  <fnm>PDL</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2004</pubdate>
            <volume>69</volume>
            <issue>066116</issue>
         </bibl>
         <bibl id="B24">
            <title>
               <p>Network motifs: Simple building blocks of complex networks</p>
            </title>
            <aug>
               <au>
                  <snm>Milo</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Shen-Orr</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Itzkovitz</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Kashtan</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Chklovskii</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Alon</snm>
                  <fnm>U</fnm>
               </au>
            </aug>
            <source>Science</source>
            <pubdate>2002</pubdate>
            <volume>298</volume>
            <fpage>824</fpage>
            <lpage>827</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1126/science.298.5594.824</pubid>
                  <pubid idtype="pmpid" link="fulltext">12399590</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B25">
            <title>
               <p>Defining and identifying communities in networks</p>
            </title>
            <aug>
               <au>
                  <snm>Radicchi</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Castellano</snm>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Cecconi</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Loreto</snm>
                  <fnm>V</fnm>
               </au>
               <au>
                  <snm>Parisi</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>PNAS</source>
            <pubdate>2004</pubdate>
            <volume>101</volume>
            <issue>9</issue>
            <fpage>2658</fpage>
            <lpage>2663</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1073/pnas.0400054101</pubid>
                  <pubid idtype="pmcid">365677</pubid>
                  <pubid idtype="pmpid" link="fulltext">14981240</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B26">
            <title>
               <p>Random graphs with arbitrary degree distributions and their applications</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
               <au>
                  <snm>Strogatz</snm>
                  <fnm>SH</fnm>
               </au>
               <au>
                  <snm>Watts</snm>
                  <fnm>DJ</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2001</pubdate>
            <volume>64</volume>
            <fpage>026118</fpage>
            <xrefbib>
               <pubid idtype="doi">10.1103/PhysRevE.64.026118</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B27">
            <title>
               <p>A critical point for random graphs with a given degree sequence</p>
            </title>
            <aug>
               <au>
                  <snm>Molloy</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Reed</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>Random Struct Algo</source>
            <pubdate>1995</pubdate>
            <volume>6</volume>
            <issue>161</issue>
         </bibl>
         <bibl id="B28">
            <title>
               <p>Bipartite graphs as models of complex networks</p>
            </title>
            <aug>
               <au>
                  <snm>Guillaume</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Latapy</snm>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>Lecture Notes in Computer Science</source>
            <pubdate>2005</pubdate>
            <volume>3405</volume>
            <fpage>127</fpage>
            <lpage>139</lpage>
         </bibl>
         <bibl id="B29">
            <aug>
               <au>
                  <snm>Boguna</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Pastor-Satorras</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Vespignani</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Statistical Mechanics of Complex Networks, of Lecture Notes in Physics, chapter Epidemic spreading in complex networks with degree correlations</source>
            <publisher>Springer Berlin</publisher>
            <pubdate>2003</pubdate>
            <volume>625</volume>
            <fpage>127</fpage>
            <lpage>47</lpage>
         </bibl>
         <bibl id="B30">
            <title>
               <p>Random networks with tunable degree distribution and clustering</p>
            </title>
            <aug>
               <au>
                  <snm>Volz</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2004</pubdate>
            <volume>70</volume>
            <issue>056115</issue>
         </bibl>
         <bibl id="B31">
            <aug>
               <au>
                  <snm>Trapman</snm>
                  <fnm>P</fnm>
               </au>
            </aug>
            <source>On stochastic models for the spread of infections</source>
            <publisher>PhD thesis, Vrije Universiteit Amsterdam</publisher>
            <pubdate>2007</pubdate>
         </bibl>
         <bibl id="B32">
            <title>
               <p>An introduction to exponential random graph (p*) models for social networks</p>
            </title>
            <aug>
               <au>
                  <snm>Robins</snm>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Pattison</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Kalish</snm>
                  <fnm>Y</fnm>
               </au>
               <au>
                  <snm>Lusher</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Social Networks</source>
            <pubdate>2007</pubdate>
            <volume>29</volume>
            <issue>2</issue>
            <fpage>173</fpage>
            <lpage>91</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1016/j.socnet.2006.08.002</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B33">
            <title>
               <p>New specifications for exponential random graph models</p>
            </title>
            <aug>
               <au>
                  <snm>Snijders</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Pattison</snm>
                  <mi>E</mi>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Robins</snm>
                  <mi>L</mi>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Handcock</snm>
                  <mi>S</mi>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>Sociol Methodol</source>
            <pubdate>2006</pubdate>
            <volume>36</volume>
            <issue>1</issue>
            <fpage>99</fpage>
            <lpage>133</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1111/j.1467-9531.2006.00176.x</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B34">
            <title>
               <p>Advances in exponential random graph (p*) models applied to a large social network</p>
            </title>
            <aug>
               <au>
                  <snm>Goodreau</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Social Networks</source>
            <pubdate>2007</pubdate>
            <volume>29</volume>
            <fpage>231</fpage>
            <lpage>48</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/j.socnet.2006.08.001</pubid>
                  <pubid idtype="pmcid">2031833</pubid>
                  <pubid idtype="pmpid">18449326</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B35">
            <title>
               <p>Comment on "Network Motifs: Simple Building Blocks of Complex Networks" and "Superfamilies of Evolved and Designed Networks"</p>
            </title>
            <aug>
               <au>
                  <snm>Artzy-Randrup</snm>
                  <fnm>Y</fnm>
               </au>
               <au>
                  <snm>Fleishman</snm>
                  <fnm>SJ</fnm>
               </au>
               <au>
                  <snm>Ben-Tal</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Stone</snm>
                  <fnm>L</fnm>
               </au>
            </aug>
            <source>Science</source>
            <pubdate>2004</pubdate>
            <volume>205</volume>
            <fpage>1107</fpage>
            <xrefbib>
               <pubid idtype="doi">10.1126/science.1099334</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B36">
            <title>
               <p>Specificity and stability in topology of protein networks</p>
            </title>
            <aug>
               <au>
                  <snm>Maslov</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Sneppen</snm>
                  <fnm>K</fnm>
               </au>
            </aug>
            <source>Science</source>
            <pubdate>2002</pubdate>
            <volume>296</volume>
            <fpage>910</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1126/science.1065103</pubid>
                  <pubid idtype="pmpid" link="fulltext">11988575</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B37">
            <title>
               <p>Subgraphs in networks</p>
            </title>
            <aug>
               <au>
                  <snm>Milo</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Kashtan</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Itzkovitz</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
               <au>
                  <snm>Alon</snm>
                  <fnm>U</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2004</pubdate>
            <volume>70</volume>
            <issue>058102</issue>
         </bibl>
         <bibl id="B38">
            <title>
               <p>A theorem on flows in networks</p>
            </title>
            <aug>
               <au>
                  <snm>Gale</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Pac J Math</source>
            <pubdate>1957</pubdate>
            <volume>7</volume>
            <fpage>1073</fpage>
         </bibl>
         <bibl id="B39">
            <title>
               <p>Networks</p>
            </title>
            <url>http://networkx.lanl.gov/</url>
         </bibl>
         <bibl id="B40">
            <title>
               <p>Clustrnet</p>
            </title>
            <url>http://sbansal.com/clustrnet</url>
         </bibl>
         <bibl id="B41">
            <title>
               <p>Graphcrunch</p>
            </title>
            <url>http://www.ics.uci.edu/~bio-nets/graphcrunch/</url>
         </bibl>
         <bibl id="B42">
            <title>
               <p>Neat</p>
            </title>
            <url>http://rsat.bigre.ulb.ac.be/neat/</url>
         </bibl>
         <bibl id="B43">
            <title>
               <p>The structure and function of complex networks</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
            </aug>
            <source>SIAM Review</source>
            <pubdate>2003</pubdate>
            <volume>45</volume>
            <fpage>167</fpage>
            <lpage>256</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1137/S003614450342480</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B44">
            <title>
               <p>Graphs with prescribed degree of vertices</p>
            </title>
            <aug>
               <au>
                  <snm>Erdos</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Gallai</snm>
                  <fnm>T</fnm>
               </au>
            </aug>
            <source>Mat Lapok</source>
            <pubdate>1960</pubdate>
            <volume>11</volume>
            <fpage>264</fpage>
            <lpage>274</lpage>
         </bibl>
         <bibl id="B45">
            <title>
               <p>Constrained switchings in graphs</p>
            </title>
            <aug>
               <au>
                  <snm>Taylor</snm>
                  <fnm>R</fnm>
               </au>
            </aug>
            <source>Comb Mat</source>
            <pubdate>1980</pubdate>
            <volume>8</volume>
         </bibl>
         <bibl id="B46">
            <title>
               <p>The markov chain simulation method for generating connected power law random graphs</p>
            </title>
            <aug>
               <au>
                  <snm>Gkantsidis</snm>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Mihail</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Zegura</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>Proc 5th Workshop on Algorithm Engineering and Experiments (ALENEX.SIAM)</source>
            <pubdate>2003</pubdate>
         </bibl>
         <bibl id="B47">
            <title>
               <p>Hierarchical organization in complex networks</p>
            </title>
            <aug>
               <au>
                  <snm>Ravasz</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Barabasi</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2003</pubdate>
            <volume>67</volume>
            <issue>026112</issue>
         </bibl>
         <bibl id="B48">
            <title>
               <p>Artifacts or attributes? effects of resolution on the little rock lake food web</p>
            </title>
            <aug>
               <au>
                  <snm>Martinez</snm>
                  <fnm>ND</fnm>
               </au>
            </aug>
            <source>Ecol Monogr</source>
            <pubdate>1991</pubdate>
            <volume>61</volume>
            <fpage>367</fpage>
            <lpage>392</lpage>
            <xrefbib>
               <pubid idtype="doi">10.2307/2937047</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B49">
            <title>
               <p>The large-scale organization of metabolic networks</p>
            </title>
            <aug>
               <au>
                  <snm>Albert</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Oltvai</snm>
                  <fnm>ZN</fnm>
               </au>
               <au>
                  <snm>Barabasi</snm>
                  <fnm>A-L</fnm>
               </au>
               <au>
                  <snm>Jeong</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Tombor</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>Nature</source>
            <pubdate>2000</pubdate>
            <volume>407</volume>
            <fpage>651</fpage>
            <lpage>654</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1038/35036627</pubid>
                  <pubid idtype="pmpid" link="fulltext">11034217</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B50">
            <title>
               <p>US Bureau of Transportation Statistics</p>
            </title>
            <url>http://www.transtats.bts.gov</url>
         </bibl>
         <bibl id="B51">
            <aug>
               <au>
                  <snm>Harary</snm>
                  <fnm>F</fnm>
               </au>
            </aug>
            <source>Graph Theory</source>
            <publisher>Oxford University Press, London</publisher>
            <pubdate>1969</pubdate>
         </bibl>
         <bibl id="B52">
            <title>
               <p>Detecting community structure in networks</p>
            </title>
            <aug>
               <au>
                  <snm>Newman</snm>
                  <fnm>MEJ</fnm>
               </au>
            </aug>
            <source>Eur Phys J B</source>
            <pubdate>2004</pubdate>
            <volume>38</volume>
            <fpage>321</fpage>
            <lpage>330</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1140/epjb/e2004-00124-y</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B53">
            <title>
               <p>Exploring the assortativity-clustering space of a networks degree sequence</p>
            </title>
            <aug>
               <au>
                  <snm>Holme</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Zhao</snm>
                  <fnm>J</fnm>
               </au>
            </aug>
            <source>Phys Rev E</source>
            <pubdate>2007</pubdate>
            <volume>75</volume>
            <fpage>046111</fpage>
            <xrefbib>
               <pubid idtype="doi">10.1103/PhysRevE.75.046111</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B54">
            <title>
               <p>Small world patterns in food webs</p>
            </title>
            <aug>
               <au>
                  <snm>Montoya</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Sole</snm>
                  <fnm>R</fnm>
               </au>
            </aug>
            <source>J Theo Bio</source>
            <pubdate>2002</pubdate>
            <volume>214</volume>
            <fpage>405</fpage>
            <lpage>412</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1006/jtbi.2001.2460</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B55">
            <title>
               <p>Are food webs divided into compartments?</p>
            </title>
            <aug>
               <au>
                  <snm>Pimm</snm>
                  <fnm>SL</fnm>
               </au>
               <au>
                  <snm>Lawton</snm>
                  <fnm>JH</fnm>
               </au>
            </aug>
            <source>J Anim Ecol</source>
            <pubdate>1980</pubdate>
            <volume>49</volume>
            <fpage>879898</fpage>
         </bibl>
         <bibl id="B56">
            <title>
               <p>The compartmentation of real and assembled foodwebs</p>
            </title>
            <aug>
               <au>
                  <snm>Yodzis</snm>
                  <fnm>P</fnm>
               </au>
            </aug>
            <source>American Naturalist</source>
            <pubdate>1982</pubdate>
            <volume>120</volume>
            <fpage>551570</fpage>
         </bibl>
         <bibl id="B57">
            <title>
               <p>The evolution of modularity in bacterial metabolic networks</p>
            </title>
            <aug>
               <au>
                  <snm>Gophna</snm>
                  <fnm>U</fnm>
               </au>
               <au>
                  <snm>Kreimer</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Borenstein</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Ruppin</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>PNAS</source>
            <pubdate>2008</pubdate>
            <volume>105</volume>
            <fpage>6976</fpage>
            <lpage>6981</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1073/pnas.0712149105</pubid>
                  <pubid idtype="pmcid">2383979</pubid>
                  <pubid idtype="pmpid" link="fulltext">18460604</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B58">
            <title>
               <p>Spontaneous evolution of modularity and network motifs</p>
            </title>
            <aug>
               <au>
                  <snm>Kashtan</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Alon</snm>
                  <fnm>U</fnm>
               </au>
            </aug>
            <source>PNAS</source>
            <pubdate>2005</pubdate>
            <volume>102</volume>
            <issue>39</issue>
            <fpage>13773</fpage>
            <lpage>13778</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1073/pnas.0503610102</pubid>
                  <pubid idtype="pmcid">1236541</pubid>
                  <pubid idtype="pmpid" link="fulltext">16174729</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B59">
            <title>
               <p> Modularity in Biological Networks. </p>
            </title>
            <aug>
               <au>
                  <snm>Ricard V Sol</snm>
                  <mi>V</mi>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Rodriguez-Caso</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>Biological Networks</source>
            <publisher>World Scientific</publisher>
            <pubdate>2008</pubdate>
         </bibl>
         <bibl id="B60">
            <title>
               <p>From molecular to modular cell biology</p>
            </title>
            <aug>
               <au>
                  <snm>Hartwell</snm>
                  <fnm>LH</fnm>
               </au>
               <au>
                  <snm>Hopfield</snm>
                  <fnm>JJ</fnm>
               </au>
               <au>
                  <snm>Leibler</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Murray</snm>
                  <fnm>AW</fnm>
               </au>
            </aug>
            <source>Nature</source>
            <pubdate>1999</pubdate>
            <volume>402</volume>
            <issue>6761 Suppl</issue>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">10591225</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B61">
            <title>
               <p>Food-web structure and network theory: The role of connectance and size</p>
            </title>
            <aug>
               <au>
                  <snm>Dunne</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Williams</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Martinez</snm>
                  <fnm>N</fnm>
               </au>
            </aug>
            <source>PNAS</source>
            <pubdate>2002</pubdate>
            <volume>99</volume>
            <fpage>12917</fpage>
            <lpage>22</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1073/pnas.192407699</pubid>
                  <pubid idtype="pmcid">130560</pubid>
                  <pubid idtype="pmpid" link="fulltext">12235364</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B62">
            <title>
               <p>Yeast protein interaction network evolves repidly and contains few redundant duplicate genes</p>
            </title>
            <aug>
               <au>
                  <snm>Wagner</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Mol Biol Evol</source>
            <pubdate>2001</pubdate>
            <volume>18</volume>
            <fpage>1283</fpage>
            <lpage>92</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">11420367</pubid>
            </xrefbib>
         </bibl>
      </refgrp>
   </bm>
</art>

