comparison honto.xml @ 0:8c239bd7984a draft default tip

Uploading wrapper for honto
author fabio
date Thu, 19 May 2022 22:06:16 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:8c239bd7984a
1 <?xml version="1.0"?>
2 <tool name="honto" id="honto" version="0.1.0">
3 <description>A novel method for assessing and measuring homophily in networks</description>
4
5 <!-- Tool developers -->
6 <creator>
7 <person givenName="Paolo" familyName="Franciosa"
8 url="http://www.statistica.uniroma1.it/users/pfrancio/"
9 email="paolo.franciosa@uniroma1.it" />
10
11 <person givenName="Nicola" familyName="Apollonio"
12 url="https://www.iac.rm.cnr.it/~apollonio/"
13 email="nicola.apollonio@cnr.it" />
14
15 <person givenName="Daniele" familyName="Santoni"
16 url="http://www.iasi.cnr.it/~dsantoni/"
17 email="daniele.santoni@iasi.cnr.it" />
18
19 <person givenName="Fabio" familyName="Cumbo"
20 url="https://fabio-cumbo.github.io/"
21 email="fabio.cumbo@gmail.com" />
22 </creator>
23
24 <!-- Define dependencies -->
25 <requirements>
26 <requirement type="package" version="0.1.0">honto</requirement>
27 </requirements>
28
29 <command detect_errors="exit_code">
30 <![CDATA[
31 ln -s ${edges} edges.txt;
32 ln -s ${nodes} nodes.txt;
33
34 honto
35
36 --input_edges edges.txt
37 --input_nodes nodes.txt
38 --weight_threshold ${weight_threshold}
39
40 #if $isolated == "yes":
41 --isolated
42 #end if
43
44 #if $log_transform.enable_lt == "yes":
45 --log_transform
46 #if $log_transform.scale_log.scale_type == "factor":
47 --scale_factor $log_transform.scale_log.scale_value
48 #elif $log_transform.scale_log.scale_type == "from_one":
49 --scale_from_one
50 #end if
51 #end if
52
53 --cmap $heatmap.cmap
54 --vmin $heatmap.vmin
55 --vmax $heatmap.vmax
56 --center $heatmap.center
57 #if $heatmap.cbar == "yes":
58 --cbar
59 #end if
60
61 --nproc "\${GALAXY_SLOTS:-4}"
62 --overwrite
63 --verbose
64 ]]>
65 </command>
66
67 <inputs>
68 <!-- Select edges -->
69 <param name="edges" type="data" format="tsv"
70 label="Select a network"
71 help="Input network with the list of edges, one per line." />
72
73 <!-- Select colors -->
74 <param name="nodes" type="data" format="tsv"
75 label="Select a nodes definition file"
76 help="This file contains a mapping between node names and colors." />
77
78 <!-- Weight threshold -->
79 <param name="weight_threshold" type="integer" value="700" min="0"
80 label="Weight threshold"
81 help="Threshold for considering edges based in their weight." />
82
83 <!-- Isolated -->
84 <param name="isolated" type="boolean" checked="false" truevalue="yes" falsevalue="no"
85 label="Insert isolated nodes" />
86
87 <!-- Log-transformation options -->
88 <conditional name="log_transform">
89 <!-- Enable log-transformation -->
90 <param name="enable_lt" type="boolean" checked="false" truevalue="yes" falsevalue="no"
91 label="Log-transform z-scores" />
92
93 <when value="yes">
94 <!-- Scale options -->
95 <conditional name="scale_log">
96 <!-- Select a scale option -->
97 <param name="scale_type" type="select" label="Choose one of the available scale options">
98 <option value="default" selected="true">Scale automatically</option>
99 <option value="factor">Factor</option>
100 <option value="from_one">Truncate from one</option>
101 </param>
102
103 <!-- In case of "factor" -->
104 <when value="factor">
105 <param name="scale_value" type="float" value="0.0"
106 label="Scale factor"
107 help="Rescale z-scores with this constant before log-transforming values." />
108 </when>
109 </conditional>
110 </when>
111 </conditional>
112
113 <!-- Heatmap customization options -->
114 <section name="heatmap" expanded="true"
115 title="Heatmap customization"
116 help="Access advanced options to customize the produced heatmap by specifying the colormap, scale, and color bar">
117 <!-- Colormap -->
118 <param name="cmap" type="text" value="PiYG"
119 label="Heatmap colormap" />
120
121 <!-- Vmin -->
122 <param name="vmin" type="float" value="2.2967"
123 label="Select a vmin value"
124 help="Min value to anchor the colormap" />
125
126 <!-- Vmax -->
127 <param name="vmax" type="float" value="4.3957"
128 label="Select a vmax value"
129 help="Max value to anchor the colormap" />
130
131 <!-- Center -->
132 <param name="center" type="float" value="2.9957"
133 label="Select a center"
134 help="The value at which to center the colormap when plotting divergent data" />
135
136 <!-- Cbar -->
137 <param name="cbar" type="boolean" checked="false" truevalue="yes" falsevalue="no"
138 label="Add a color bar" />
139 </section>
140 </inputs>
141
142 <outputs>
143 <!-- Output z-scores edges -->
144 <data format="tsv" name="zscores_edges"
145 label="${tool.name} on ${on_string}: Edges z-scores"
146 from_work_dir="edges_zscores_edges.txt" />
147
148 <!-- Output z-scores singletons -->
149 <data format="tsv" name="zscores_singletons"
150 label="${tool.name} on ${on_string}: Singletons z-scores"
151 from_work_dir="edges_zscores_singletons.txt" />
152
153 <!-- Output heatmap -->
154 <data format="pdf" name="out_heatmap"
155 label="${tool.name} on ${on_string}: Heatmap"
156 from_work_dir="edges.pdf" />
157 </outputs>
158
159 <help><![CDATA[
160 **Homophily Network Tool**
161
162 `honto` is a tool designed for assessing and measuring homophily in networks whose nodes have categorical attributes,
163 namely when the nodes of networks come partitioned into classes.
164
165 Homophily evaluation is performed through the comparison between the relative edge density of the subgraphs,
166 induced by each class, and the corresponding expected relative edge density under a null model.
167
168 The novelty of our approach consists in prescribing an endogenous null model, namely, the sample space of the null model
169 is built on the input network itself. This allows us to give exact explicit expressions for the z-scores of the
170 relative edge density of each class as well as other related statistics
171
172 -----
173
174 **Input**
175
176 The first input is file representing an undirected network composed by a list of edges like the example below.
177 No header lines are allowed.
178
179 +--------+--------+
180 | TP0001 | TP1015 |
181 +--------+--------+
182 | TP0001 | TP0949 |
183 +--------+--------+
184 | TP0001 | TP0692 |
185 +--------+--------+
186 | ... | ... |
187 +--------+--------+
188 | TP0976 | TP0977 |
189 +--------+--------+
190 | TP1032 | TP1033 |
191 +--------+--------+
192
193
194 Please note that the above mentioned file could also have an additional column with numeric weight values.
195 You may want to avoid considering some nodes by applying a threshold on this column.
196
197 The second input is the nodes definition file. It contains a row for each node in the network with two columns
198 with a mapping between the node name and a color or group id, like in the example below.
199 No header lines are allowed in this case either.
200
201 +--------+-----+
202 | TP0001 | L |
203 +--------+-----+
204 | TP1015 | K |
205 +--------+-----+
206 | TP0949 | U |
207 +--------+-----+
208 | TP0692 | L |
209 +--------+-----+
210 | ... | ... |
211 +--------+-----+
212 | TP1032 | X |
213 +--------+-----+
214 | TP1033 | X |
215 +--------+-----+
216
217 -----
218
219 **Output**
220
221 The tool produces three output files. Two of them contains the z-scores for both edges and singletons.
222 The third output is a PDF with the final heatmap.
223
224 -----
225
226 .. class:: infomark
227
228 **Notes**
229
230 Please visit the official GitHub repository_ for other information about `honto`.
231
232 .. _repository: https://github.com/fabio-cumbo/honto
233 ]]></help>
234
235 </tool>