File: mcxload.html

package info (click to toggle)
mcl 1%3A06-021-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 5,276 kB
  • ctags: 2,975
  • sloc: ansic: 32,352; sh: 3,556; perl: 1,437; makefile: 338
file content (395 lines) | stat: -rw-r--r-- 27,714 bytes parent folder | download
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
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<!-- Copyright (c) 2006 Stijn van Dongen -->
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
body {
text-align: justify;
color: #001111;
background: white;
margin-left: 8%;
margin-right: 8%;
font-family: Helvetica, Univers, Verdana, sans-serif;
}
p.default {
font-family: Helvetica, Univers, Verdana, sans-serif;
text-align: justify;
}
p.L53 { font-size: 30pt; }
p.L52 { font-size: 20pt; }
p.L51 { font-size: 15pt; }
p.L50 { font-size: 12pt; }
p.L49 { font-size: 10pt; }
p.L48 { font-size: 9pt; }
p.L47 { font-size: 8pt; }
td {
font-family: Helvetica, Univers, Verdana, sans-serif;
text-align: justify;
}
h3 { margin-top:1em; }
h2 { margin-top:2em; }
.left { text-align: left; align: left; }
.right { text-align: right; align: right; }
.center { text-align: center; align: center; }
a:link { text-decoration: none; }
a:active { text-decoration: none; }
a:visited { text-decoration: none; }
a:link { color: #1111aa; }
a:active { color: #1111aa; }
a:visited { color: #111166; }
a.local:link { color: #11aa11; }
a.local:active { color: #11aa11; }
a.local:visited { color: #116611; }
a.intern:link { color: #1111aa; }
a.intern:active { color: #1111aa; }
a.intern:visited { color: #111166; }
a.extern:link { color: #aa1111; }
a.extern:active { color: #aa1111; }
a.extern:visited { color: #661111; }
a.quiet:link { color: black; }
a.quiet:active { color: black; }
a.quiet:visited { color: black; }
div.copy
{ font-size: 12pt;
font-family: monospace;
text-align: left;
white-space: pre;
margin-left: 2em;
margin-top: 1em;
margin-bottom: 1em;
}
div.indent
{ margin-left: 8%;
margin-right: 0%;
}
</style>
<title>The mcxload manual</title>
</head>
<body>
<p style="text-align:right">
21 Jan 2006&nbsp;&nbsp;&nbsp;
<a class="local" href="mcxload.ps"><b>mcxload</b></a>
1.006, 06-021
</p>
<div style="margin-top:1em">
<table
cellspacing="0" border=0
cellpadding="0" summary="itemize">
<tr><td width=48 valign="top" class=left>1.</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<a class="intern" href="#name">NAME</a>
</div></td></tr><tr><td width=48 valign="top" class=left>2.</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<a class="intern" href="#synopsis">SYNOPSIS</a>
</div></td></tr><tr><td width=48 valign="top" class=left>3.</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<a class="intern" href="#description">DESCRIPTION</a>
</div></td></tr><tr><td width=48 valign="top" class=left>4.</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<a class="intern" href="#options">OPTIONS</a>
</div></td></tr><tr><td width=48 valign="top" class=left>5.</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<a class="intern" href="#author">AUTHOR</a>
</div></td></tr><tr><td width=48 valign="top" class=left>6.</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<a class="intern" href="#seealso">SEE ALSO</a>
</div></td></tr>
</table>

</div>

<a name="name"></a>
<h2>NAME</h2>
<p class="default L50" style="margin-bottom:0">
mcxload - load matrices and tab files from label format</p>

<a name="synopsis"></a>
<h2>SYNOPSIS</h2>
<p class="default L50" style="margin-bottom:0">
<b>mcxload</b> <a class="intern" href="#opt-abc"><b>-abc</b> &lt;fname&gt; (<i>label file</i>)</a>
<a class="intern" href="#opt-o"><b>-o</b> &lt;fname&gt; (<i>output file</i>)</a></p>
<p class="default L50" style="margin-bottom:0">
<a class="intern" href="#opt--stream-mirror"><b>[--stream-mirror</b> (<i>symmetrify, same domain</i>)<b>]</b></a>
<a class="intern" href="#opt--graph"><b>[--graph</b> (<i>assume same domain</i>)<b>]</b></a>
<a class="intern" href="#opt-re"><b>[-re</b> &lt;mode&gt; (<i>edge deduplication mode</i>)<b>]</b></a>
<a class="intern" href="#opt-ri"><b>[-ri</b> &lt;mode&gt; (<i>image symmetrification mode</i>)<b>]</b></a>
<a class="intern" href="#opt-cache-tab"><b>[-cache-tab</b> &lt;fname&gt; (<i>save domain tab</i>)<b>]</b></a>
<a class="intern" href="#opt-cache-tabc"><b>[-cache-tabc</b> &lt;fname&gt; (<i>save column tab</i>)<b>]</b></a>
<a class="intern" href="#opt-cache-tabr"><b>[-cache-tabr</b> &lt;fname&gt; (<i>save row tab</i>)<b>]</b></a>
<a class="intern" href="#opt-strict-tab"><b>[-strict-tab</b> &lt;fname&gt; (<i>tab universe</i>)<b>]</b></a>
<a class="intern" href="#opt-strict-tabc"><b>[-strict-tabc</b> &lt;fname&gt; (<i>tabc universe</i>)<b>]</b></a>
<a class="intern" href="#opt-strict-tabr"><b>[-strict-tabr</b> &lt;fname&gt; (<i>tabr universe</i>)<b>]</b></a>
<a class="intern" href="#opt-restrict-tab"><b>[-restrict-tab</b> &lt;fname&gt; (<i>tab world</i>)<b>]</b></a>
<a class="intern" href="#opt-restrict-tabc"><b>[-restrict-tabc</b> &lt;fname&gt; (<i>tabc world</i>)<b>]</b></a>
<a class="intern" href="#opt-restrict-tabr"><b>[-restrict-tabr</b> &lt;fname&gt; (<i>tabr world</i>)<b>]</b></a>
<a class="intern" href="#opt-extend-tab"><b>[-extend-tab</b> &lt;fname&gt; (<i>tab launch</i>)<b>]</b></a>
<a class="intern" href="#opt-extend-tabc"><b>[-extend-tabc</b> &lt;fname&gt; (<i>tabc launch</i>)<b>]</b></a>
<a class="intern" href="#opt-extend-tabr"><b>[-extend-tabr</b> &lt;fname&gt; (<i>tabr launch</i>)<b>]</b></a>
<a class="intern" href="#opt--stream-log"><b>[--stream-log</b> (<i>log transform stream values</i>)<b>]</b></a>
<a class="intern" href="#opt--stream-neg-log"><b>[--stream-neg-log</b> (<i>minus log transform stream values</i>)<b>]</b></a>
<a class="intern" href="#opt-stream-tf"><b>[-stream-tf</b> (<i>transform stream values</i>)<b>]</b></a>
<a class="intern" href="#opt-tf"><b>[-tf</b> &lt;tf-spec&gt; (<i>transform (not so) final matrix</i>)<b>]</b></a>
<a class="intern" href="#opt-etc"><b>[-etc</b> &lt;fname&gt; (<i>leader 'etc' label file</i>)<b>]</b></a>
<a class="intern" href="#opt-etc-ai"><b>[-etc-ai</b> &lt;fname&gt; (<i>leaderless 'etc' label file</i>)<b>]</b></a>
<a class="intern" href="#opt-t"><b>[-t</b> (<i>transpose</i>)<b>]</b></a>
<a class="intern" href="#opt--binary"><b>[--binary</b> (<i>output binary format</i>)<b>]</b></a>
<a class="intern" href="#opt--debug"><b>[--debug</b> (<i>debug</i>)<b>]</b></a>
<a class="intern" href="#opt-h"><b>[-h</b> (<i>option listing</i>)<b>]</b></a>
<a class="intern" href="#opt--apropos"><b>[--apropos</b> (<i>option listing</i>)<b>]</b></a>
<a class="intern" href="#opt--version"><b>[--version</b> (<i>version</i>)<b>]</b></a></p>

<a name="description"></a>
<h2>DESCRIPTION</h2>
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
<b>mcxload</b> reads label input from a file. The format of the file
should be line-based, each line containing two white-space separated
strings (labels) and optionally a number separated from the second label
by whitespace. In the absence of a value, mcxload will use the
default value 1.0.</p>
<p class="default L50" style="margin-bottom:0">
mcxload will transform the labels into mcl numerical identifiers and the
pairs of labels into graph edges or equivalently matrix entries.
The weight of an edge is the value associated with the associated
labels. mcxload constructs dictionaries (sometimes just one) that
map labels onto mcl identifiers as it goes along. It can optionally
write these to file.
In MCL (family) parlance, a such a dictionary written to file
is called a <i>tab file</i>.</p>
<p class="default L50" style="margin-bottom:0">
A major mcxload modality is whether the input refers to a single
domain or to two separate domains. An example of the first is where
labels are names of people and the value is the extent to which they
like one another. This encodes a <i>likability</i> graph where all
the nodes represent people. The reasonable thing to do in this
case is to create a single dictionary with all names wherever
they occur. All <b>tab</b> options (as opposed to <b>tabc</b> and <b>tabr</b>)
pertain to this scenario and likewise for the options <a class="intern" href="#opt--graph"><b>--graph</b></a>
and <a class="intern" href="#opt--stream-mirror"><b>--stream-mirror</b></a>.</p>
<p class="default L50" style="margin-bottom:0">
An example of the second mode is where the first label is again the name of
a person, the second label is the name of an animal species, and the value
is the extent to which that person appreciates the species. In this case,
the reasonable thing to do is to create two dictionaries, one for persons
and one for species. All <b>tabc</b> and <b>tabr</b> options pertain to
this scenario. The <b>tabc</b> options <i>always refer to the first label</i>
and the <b>tabr</b> options <i>always refer to the second label</i>.
The letters <b>c</b> and <b>r</b> refer to <i>column</i> and <i>row</i> respectively.
The latter are the names of the matrix domains corresponding
to the input domains. Refer to <a class="local" href="mcxio.html">mcxio</a>.</p>
<p class="default L50" style="margin-bottom:0">
A further mcxload modality is whether it constructs dictionaries
on the fly, or whether it proceeds from a tab file already
available.
By default mcxload will construct dictionaries on the fly. You
need to save them with the appropriate <b>cache</b> option(s).
All the <b>strict</b> options read a tab file
and require any labels in the <a class="intern" href="#opt-abc"><b>-abc</b>&nbsp;<i>label input</i></a>
to be present in the corresponding tab file. mcxload will then fail in
the face of absent labels.
All the <b>restrict</b> options simply ignore labels that are
not found in the corresponding tab file.
The <b>extend</b> options extend the existing tab file with
labels that are not found.
It presumably only makes sense to do so if the corresponding
<b>cache</b> options are used as well.</p>
<p class="default L50" style="margin-bottom:0">
The input stream is deduplicated on a per-node neighbourhood basis
using the <a class="intern" href="#opt-re"><b>-re</b></a> option.</p>
<p class="default L50" style="margin-bottom:0">
mcxload has a few options to transform or select based on
the values in the input stream and the values in the
constructed matrix. These are
<a class="intern" href="#opt--stream-log"><b>--stream-log</b></a>,
<a class="intern" href="#opt--stream-neg-log"><b>--stream-neg-log</b></a>,
<a class="intern" href="#opt-stream-tf"><b>-stream-tf</b></a> and
<a class="intern" href="#opt-tf"><b>-tf</b></a>.
Refer to <a class="local" href="mcxio.html">mcxio</a> for a description of the syntax accepted
by the latter two options - it is a syntax accepted
by a few more mcl siblings.
Finally it is possible to transpose the final result
using the <a class="intern" href="#opt-t"><b>-t</b></a> option. Keep in mind that
mcxload does not accordingly change its idea of row and
column domains.</p>
<p class="default L50" style="margin-bottom:0">
The final matrix can be symmetrified using the <a class="intern" href="#opt-ri"><b>-ri</b></a> option.</p>
<p class="default L50" style="margin-bottom:0">
The <a class="intern" href="#opt-etc"><b>-etc</b></a> options may be useful for the odd job.
These options assume a format where all entries for a given
column (or equivalently all neighbours for a given node)
are joined onto a single line. This can be useful e.g. to read
in externally generated clusterings.</p>
<p class="default L50" style="margin-bottom:0"><b>STAGES</b><br>
Conceptually, input matrix creation consists of the following stages</p>
<div style="margin-top:1em">
<table
cellspacing="0" border=0
cellpadding="0" summary="itemize">
<tr><td width=64 valign="top" class=right>i</td><td width=24>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read the input stream, apply <a class="intern" href="#opt-stream-tf"><b>-stream-tf</b></a> transformation
specification, and optionally push reverse elements
(<a class="intern" href="#opt--stream-mirror"><b>--stream-mirror</b></a>).</p>
</div></td></tr><tr><td width=64 valign="top" class=right>ii</td><td width=24>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Deduplicate edges in the context of all edges/arcs originating from
a given node according to the <a class="intern" href="#opt-re"><b>-re</b></a> option.</p>
</div></td></tr><tr><td width=64 valign="top" class=right>iii</td><td width=24>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Apply transpose symmetrification according to the
<a class="intern" href="#opt-ri"><b>-ri</b></a> option, if used.</p>
</div></td></tr><tr><td width=64 valign="top" class=right>iv</td><td width=24>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Apply <a class="intern" href="#opt-tf"><b>-tf</b></a> transformation specification.</p>
</div></td></tr>
</table>

</div>

<a name="options"></a>
<h2>OPTIONS</h2>
<div style="margin-top:1em">
<table
cellspacing="0" border=0
cellpadding="0" summary="itemize">
<tr><td colspan=3><a name="opt-abc"></a><b>-abc</b> &lt;fname&gt; (<i>label file</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">The file to read label data from.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-o"></a><b>-o</b> &lt;fname&gt; (<i>output file</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">The output file where the constructed matrix is written.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--stream-mirror"></a><b>--stream-mirror</b> (<i>symmetrify, same domain</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Whenever <i>label1</i> <i>label2</i> <i>value</i>
is encountered in the input, mcxload inserts
<i>label2</i> <i>label1</i> <i>value</i> in the input
stream as well. This option implies that both labels
belong to the same domain.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--graph"></a><b>--graph</b> (<i>assume same domain</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
This tells mcxload that both labels belong to the same domain.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-re"></a><b>-re</b> &lt;max|add|mul|first|last&gt; (<i>deduplication mode</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
This specifies how mcxload should collapse repeated entries, that is edges
for which a value is specified multiple times. This is done relative to a
single node at a time, taking into account all neighbours assembled from the
input stream. Note that <a class="intern" href="#opt--stream-mirror"><b>--stream-mirror</b></a> will result in
duplicated entries if the input contains edge specifications in both ways.
Also note that <b>first</b> and <b>last</b> might not result in
symmetric input if only <b>--stream-mirror</b> is used.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-cache-tab"></a><b>-cache-tab</b> &lt;fname&gt; (<i>save domain tab</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Write the domain to file. It applies to both label types.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-cache-tabc"></a><b>-cache-tabc</b> &lt;fname&gt; (<i>save column tab</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Write the column domain to file. It applies to the first label found
on each input line.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-cache-tabr"></a><b>-cache-tabr</b> &lt;fname&gt; (<i>save row tab</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Write the column domain to file. It applies to the second label found
on each input line.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-strict-tab"></a><b>-strict-tab</b> &lt;fname&gt; (<i>tab universe</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and require each label to be present in the
dictionary. mcxload will exit on absentees.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-strict-tabc"></a><b>-strict-tabc</b> &lt;fname&gt; (<i>tabc universe</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and require the first label on each line
to be present in the dictionary. mcxload will exit on absentees.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-strict-tabr"></a><b>-strict-tabr</b> &lt;fname&gt; (<i>tabr universe</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and require the second label on each line
to be present in the dictionary. mcxload will exit on absentees.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-restrict-tab"></a><b>-restrict-tab</b> &lt;fname&gt; (<i>tab world</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and only accept input lines (edges)
for which both labels are present in the dictionary.
mcxload will ignore absentees.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-restrict-tabc"></a><b>-restrict-tabc</b> &lt;fname&gt; (<i>tabc world</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and ignore input lines
for which the first label is absent from the dictionary.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-restrict-tabr"></a><b>-restrict-tabr</b> &lt;fname&gt; (<i>tabr world</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and ignore input lines
for which the second label is absent from the dictionary.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-extend-tab"></a><b>-extend-tab</b> &lt;fname&gt; (<i>tab launch</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and extend it with any
label from the input not yet present in the dictionary.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-extend-tabc"></a><b>-extend-tabc</b> &lt;fname&gt; (<i>tabc launch</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and extend it with all
first labels from the input not yet present in the dictionary.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-extend-tabr"></a><b>-extend-tabr</b> &lt;fname&gt; (<i>tabr launch</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Read a dictionary from file and extend it with all
second labels from the input not yet present in the dictionary.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--stream-log"></a><b>--stream-log</b> (<i>log transform stream values</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Replace each entry by its natural logarithm.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--stream-neg-log"></a><b>--stream-neg-log</b> (<i>minus log transform stream values</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Replace each entry by the negative of its natural logarithm.
This is most likely useful to convert scores that denote probabilities
or p-values such as BLAST scores.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-stream-tf"></a><b>-stream-tf</b> (<i>transform stream values</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Transform the stream values as they are read in according
to the syntax described in <a class="local" href="mcxio.html">mcxio</a>.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-tf"></a><b>-tf</b> &lt;tf-spec&gt; (<i>transform (not so) final matrix</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Transform the matrix values after deduplication and symmetrification
according to the syntax described in <a class="local" href="mcxio.html">mcxio</a>.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-ri"></a><b>-ri</b> (<i>&lt;max|add|mul&gt;</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
After the initial matrix has been assembled, it can be symmetrified by
either of these options. They indicate the operation used to combine the
entries of the transposed matrix and the original matrix. <b>mul</b>
is special in that it treats missing entries (which are normally considered
zero in mcl matrix operations) as one.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-t"></a><b>-t</b> (<i>transpose</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Write the transposed matrix to file. This is obviously not useful
when a symmetric matrix has been generated.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3 class=left><a name="opt-etc"></a><b>-etc</b> &lt;fname&gt; (<i>leader 'etc' label file</i>)</td></tr><tr><td colspan=3 class=left><a name="opt-etc-ai"></a><b>-etc-ai</b> &lt;fname&gt; (<i>leaderless 'etc' label file</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
The input is read in lines; each line is split on whitespace into labels.
For <b>-etc</b> the first label is interpreted as the source node. All
other labels are interpreted as destination nodes. Currently no values are
recognized, but this functionality may be introduced in the future.
For <b>-etc-ai</b> (<i>auto-increment</i>) all labels are interpreted as
destination nodes and mcxload automatically creates a source node for each
line it reads. This option can be useful to read in files encoding a
clustering, where each line represents a cluster of white-space separated
labels.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--binary"></a><b>--binary</b> (<i>output binary format</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Write the output matrix in native binary format.
This is generally smaller and faster to read, albeit not
humanly unreadable.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--debug"></a><b>--debug</b> (<i>debug</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Among other things, this turns on warnings when <b>restrict</b> tab
files are used and labels are found to be missing.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt-h"></a><b>-h</b> (<i>option listing</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
List short description of all options.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--apropos"></a><b>--apropos</b> (<i>option listing</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
List short description of all options.</p>
</div></td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td></td></tr><tr><td colspan=3><a name="opt--version"></a><b>--version</b> (<i>version</i>)</td></tr><tr><td width=32>&nbsp;</td><td width=8>&nbsp;</td><td><div style="text-align:justify">
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Output version information.</p>
</div></td></tr>
</table>

</div>

<a name="author"></a>
<h2>AUTHOR</h2>
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
Stijn van Dongen.</p>

<a name="seealso"></a>
<h2>SEE ALSO</h2>
<p class="default L50" style="margin-top:0em; margin-bottom:0em">
<a class="local" href="mcxdump.html">mcxdump</a>,
<a class="local" href="mcl.html">mcl</a>,
<a class="local" href="mclfaq.html">mclfaq</a>,
and <a class="local" href="mclfamily.html">mclfamily</a> for an overview of all the documentation
and the utilities in the mcl family.</p>
</body>
</html>