summaryrefslogtreecommitdiff
path: root/doc/f3m.1.html
blob: 21e6722becf645d5e1ba5d674c021b38cdbbd58d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv='content-type' value='text/html;charset=utf8'>
  <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
  <title>f3m(1) - Count all the 3-node subgraphs of a directed graph</title>
  <style type='text/css' media='all'>
  /* style: man */
  body#manpage {margin:0}
  .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
  .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
  .mp h2 {margin:10px 0 0 0}
  .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
  .mp h3 {margin:0 0 0 4ex}
  .mp dt {margin:0;clear:left}
  .mp dt.flush {float:left;width:8ex}
  .mp dd {margin:0 0 0 9ex}
  .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
  .mp pre {margin-bottom:20px}
  .mp pre+h2,.mp pre+h3 {margin-top:22px}
  .mp h2+pre,.mp h3+pre {margin-top:5px}
  .mp img {display:block;margin:auto}
  .mp h1.man-title {display:none}
  .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
  .mp h2 {font-size:16px;line-height:1.25}
  .mp h1 {font-size:20px;line-height:2}
  .mp {text-align:justify;background:#fff}
  .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
  .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
  .mp u {text-decoration:underline}
  .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
  .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
  .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
  .mp b.man-ref {font-weight:normal;color:#434241}
  .mp pre {padding:0 4ex}
  .mp pre code {font-weight:normal;color:#434241}
  .mp h2+pre,h3+pre {padding-left:0}
  ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
  ol.man-decor {width:100%}
  ol.man-decor li.tl {text-align:left}
  ol.man-decor li.tc {text-align:center;letter-spacing:4px}
  ol.man-decor li.tr {text-align:right;float:right}
  </style>
  <style type='text/css' media='all'>
  /* style: toc */
  .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
  .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
  .man-navigation a:hover {color:#111;text-decoration:underline}
  </style>
</head>
<!--
  The following styles are deprecated and will be removed at some point:
  div#man, div#man ol.man, div#man ol.head, div#man ol.man.

  The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
  .man-navigation should be used instead.
-->
<body id='manpage'>
  <div class='mp' id='man'>

  <div class='man-navigation' style='display:none'>
    <a href="#NAME">NAME</a>
    <a href="#SYNOPSIS">SYNOPSIS</a>
    <a href="#DESCRIPTION">DESCRIPTION</a>
    <a href="#PARAMETERS">PARAMETERS</a>
    <a href="#OUTPUT">OUTPUT</a>
    <a href="#MOTIF-NUMBERS">MOTIF NUMBERS</a>
    <a href="#EXAMPLES">EXAMPLES</a>
    <a href="#SEE-ALSO">SEE ALSO</a>
    <a href="#REFERENCES">REFERENCES</a>
    <a href="#AUTHORS">AUTHORS</a>
  </div>

  <ol class='man-decor man-head man head'>
    <li class='tl'>f3m(1)</li>
    <li class='tc'>www.complex-networks.net</li>
    <li class='tr'>f3m(1)</li>
  </ol>

  <h2 id="NAME">NAME</h2>
<p class="man-name">
  <code>f3m</code> - <span class="man-whatis">Count all the 3-node subgraphs of a directed graph</span>
</p>

<h2 id="SYNOPSIS">SYNOPSIS</h2>

<p><code>f3m</code> <var>graph_in</var> [<var>num_random</var>]</p>

<h2 id="DESCRIPTION">DESCRIPTION</h2>

<p><code>f3m</code> performs a motif analysis on <var>graph_in</var>, i.e., it counts all the
3-node subgraphs and computes the z-score of that count with respect
to the corresponding configuration model ensemble.</p>

<h2 id="PARAMETERS">PARAMETERS</h2>

<dl>
<dt><var>graph_in</var></dt><dd><p>  input graph (edge list). It must be an existing file.</p></dd>
<dt><var>num_random</var></dt><dd><p>  The number of random graphs to sample from the configuration model
  for the computation of the z-score of the motifs.</p></dd>
</dl>


<h2 id="OUTPUT">OUTPUT</h2>

<p><code>f3m</code> prints on the standard output a table with 13 rows, one for each
of the 13 possible 3-node motifs. Each line is in the format:</p>

<pre><code>    motif_number  count  mean_rnd  std_rnd  z-score
</code></pre>

<p>where <code>motif_number</code> is a number between 1 and 13 that identifies the
motif (see <a href="#MOTIF-NUMBERS" title="MOTIF NUMBERS" data-bare-link="true">MOTIF NUMBERS</a> below), <code>count</code> is the number of
subgraphs ot type <code>motif_number</code> found in <var>graph_in</var>, <code>mean_rnd</code> is
the average number of subgraphs of type <code>motif_number</code> in the
corresponding configuration model ensemble, and <code>std_rnd</code> is the
associated standard deviation. Finally, <code>z-score</code> is the quantity:</p>

<pre><code>   (count - mean_rnd) / std_rnd
</code></pre>

<p>The program also prints a progress bar on STDERR.</p>

<h2 id="MOTIF-NUMBERS">MOTIF NUMBERS</h2>

<p>We report below the correspondence between the 13 possible 3-node
subgraphs and the corresponding <code>motif_number</code>. In the diagrams,
'O--->O' indicates a single edge form the left node to the right node,
while 'O<var>==</var>O' indicates a double (bi-directional) edge between the
two nodes:</p>

<pre><code>   (1)  O&lt;---O--->O

   (2)  O---&gt;O---&gt;O

   (3)  O&lt;==>O---&gt;O

   (4)  O---&gt;O&lt;---O

   (5)  O--->O---&gt;O
         \        ^
          \_______|

   (6)  O&lt;==>O---&gt;O
         \        ^
          \_______|

   (7)  O&lt;==>O&lt;---O

   (8)  O&lt;==>O&lt;==>O

   (9)  O&lt;---O&lt;---O
         \        ^
          \_______|

  (10)  O&lt;==>O&lt;---O
         \        ^
          \_______|

  (11)  O--->O&lt;==>O
         \        ^
          \_______|

  (12)  O&lt;==>O&lt;==>O
         \        ^
          \_______|

  (13)  O&lt;==>O&lt;==>O
        ^\       ^/ 
         \\_____//
          \_____/
</code></pre>

<h2 id="EXAMPLES">EXAMPLES</h2>

<p>To perform a motif analysis on the E.coli transcription regulation
graph, using 1000 randomised networks, we run the command:</p>

<pre><code>    $ f3m e_coli.net 1000
    1          4760         4400.11    137.679     +2.614
    2           162          188.78      8.022     -3.338
    3             0            0.89      3.903     -0.228
    4           226          238.32      7.657     -1.609
    5            40            6.54      2.836    +11.800
    6             0            0.01      0.077     -0.078
    7             0            0.12      0.642     -0.192
    8             0            0.00      0.032     -0.032
    9             0            0.01      0.109     -0.110
    10            0            0.00      0.000     +0.000
    11            0            0.00      0.032     -0.032
    12            0            0.00      0.000     +0.000
    13            0            0.00      0.000     +0.000
    $
</code></pre>

<p>Notice that the motif <code>5</code> (the so-called "feed-forward loop") has a
z-score equal to 11.8, meaning that it is highly overrepresented in
the E.coli graph with respect to the corresponding configuration model
ensemble. Conversely, the motif <code>2</code> (three-node chain) is
underrepresented, as made evident by value of the z-score (-3.338).</p>

<h2 id="SEE-ALSO">SEE ALSO</h2>

<p><span class="man-ref">johnson_cycles<span class="s">(1)</span></span></p>

<h2 id="REFERENCES">REFERENCES</h2>

<ul>
<li><p>R. Milo et al. "Network Motifs: Simple Building Blocks of Complex
Networks".  Science 298 (2002), 824-827.</p></li>
<li><p>R. Milo et al. "Superfamilies of evolved and designed networks."
Science 303 (2004), 1538-1542</p></li>
<li><p>V. Latora, V. Nicosia, G. Russo, "Complex Networks: Principles,
Methods and Applications", Chapter 8, Cambridge University Press
(2017)</p></li>
<li><p>V. Latora, V. Nicosia, G. Russo, "Complex Networks: Principles,
Methods and Applications", Appendix 16, Cambridge University Press
(2017)</p></li>
</ul>


<h2 id="AUTHORS">AUTHORS</h2>

<p>(c) Vincenzo 'KatolaZ' Nicosia 2009-2017 <code>&lt;v.nicosia@qmul.ac.uk&gt;</code>.</p>


  <ol class='man-decor man-foot man foot'>
    <li class='tl'>www.complex-networks.net</li>
    <li class='tc'>September 2017</li>
    <li class='tr'>f3m(1)</li>
  </ol>

  </div>
</body>
</html>