comparison high_dim_visu.xml @ 4:8e17c31c536a draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/gsc_high_dimension_visualization commit 1282ac9de7c926ab251f88afb2453f52c8b14200
author artbio
date Thu, 11 Jul 2019 12:31:28 -0400
parents 8e44c9e18a56
children 569334568afa
comparison
equal deleted inserted replaced
3:8e44c9e18a56 4:8e17c31c536a
1 <tool id="high_dimensions_visualisation" name="Generate PCA, tSNE and HCPC" version="0.9.3"> 1 <tool id="high_dimensions_visualisation" name="Generate PCA, tSNE and HCPC" version="0.9.4">
2 <description>from highly dimensional expression data</description> 2 <description>from highly dimensional expression data</description>
3 <requirements> 3 <requirements>
4 <requirement type="package" version="1.3.2=r3.3.2_0">r-optparse</requirement> 4 <requirement type="package" version="1.6.2=r35h6115d3f_0">r-optparse</requirement>
5 <requirement type="package" version="1.39=r3.3.2_0">r-factominer</requirement> 5 <requirement type="package" version="1.42=r35h6115d3f_0">r-factominer</requirement>
6 <requirement type="package" version="1.0.5=r3.3.2_0">r-factoextra</requirement> 6 <requirement type="package" version="1.0.5">r-factoextra</requirement>
7 <requirement type="package" version="0.13=r3.3.2_0">r-rtsne</requirement> 7 <requirement type="package" version="0.15=r351he1b5a44_0">r-rtsne</requirement>
8 <requirement type="package" version="2.2.1=r3.3.2_0">r-ggplot2</requirement> 8 <requirement type="package" version="0.4.7=r351h6115d3f_0">r-ggfortify</requirement>
9 <requirement type="package" version="0.4.1=r3.3.2_0">r-ggfortify</requirement> 9 <requirement type="package" version="1.1.9=r351h0357c0b_0">r-clusterr</requirement>
10 </requirements> 10 </requirements>
11 <stdio> 11 <stdio>
12 <exit_code range="1:" level="fatal" description="Tool exception" /> 12 <exit_code range="1:" level="fatal" description="Tool exception" />
13 </stdio> 13 </stdio>
14 <command detect_errors="exit_code"><![CDATA[ 14 <command detect_errors="exit_code"><![CDATA[
51 --HCPC_itermax '$visualisation.HCPC_itermax' 51 --HCPC_itermax '$visualisation.HCPC_itermax'
52 --HCPC_min '$visualisation.HCPC_min' 52 --HCPC_min '$visualisation.HCPC_min'
53 --HCPC_max '$visualisation.HCPC_max' 53 --HCPC_max '$visualisation.HCPC_max'
54 --HCPC_clusterCA '$visualisation.HCPC_clusterCA' 54 --HCPC_clusterCA '$visualisation.HCPC_clusterCA'
55 --HCPC_kk '$visualisation.HCPC_kk' 55 --HCPC_kk '$visualisation.HCPC_kk'
56 #if $visualisation.res_clustering == "yes":
57 --HCPC_clust '$HCPC_clust'
58 #end if
56 #end if 59 #end if
57 60
58 #if $visualisation.visu_choice == "PCA": 61 #if $visualisation.visu_choice == "PCA":
59 --PCA_npc '$visualisation.PCA_npc' 62 --PCA_npc '$visualisation.PCA_npc'
63 --PCA_x_axis '$visualisation.PCA_x_axis'
64 --PCA_y_axis '$visualisation.PCA_y_axis'
60 #end if 65 #end if
61 66
62 67 #if $visualisation.visu_choice == "HCPC" and $factor_condition.factor_choice == "Yes":
68 --mutual_info '$mutual_info'
69 #end if
70
63 --pdf_out '$pdf_out' 71 --pdf_out '$pdf_out'
64 72
65 ]]></command> 73 ]]></command>
66 <inputs> 74 <inputs>
67 <param name="input" type="data" format="txt,tabular" label="expression data"/> 75 <param name="input" type="data" format="txt,tabular" label="expression data"/>
109 </param> 117 </param>
110 <param name="Rtsne_pca_scale" type="select" label="Scalling data" help="Should data be scaled before pca is applied? " > 118 <param name="Rtsne_pca_scale" type="select" label="Scalling data" help="Should data be scaled before pca is applied? " >
111 <option value="TRUE">Yes</option> 119 <option value="TRUE">Yes</option>
112 <option value="FALSE" selected="true">False</option> 120 <option value="FALSE" selected="true">False</option>
113 </param> 121 </param>
114 <param name="Rtsne_normalize" type="select" label="Normalisation of data" 122 <param name="Rtsne_normalize" type="select" label="Normalisation of data"
115 help="Should variables (gene expressions) be normalized internally prior to distance calculations? " > 123 help="Should variables (gene expressions) be normalized internally prior to distance calculations? " >
116 <option value="TRUE" selected="true">Yes</option> 124 <option value="TRUE" selected="true">Yes</option>
117 <option value="FALSE">False</option> 125 <option value="FALSE">False</option>
118 </param> 126 </param>
119 <param name="Rtsne_perplexity" value="10.0" type="float" label="perplexity (t-SNE)" help="should be less than ((nbr observations)-1)/3" /> 127 <param name="Rtsne_perplexity" value="10.0" type="float" label="perplexity (t-SNE)" help="should be less than ((nbr observations)-1)/3" />
120 <param name="Rtsne_theta" value="1.0" type="float" label="theta (t-SNE)"/> 128 <param name="Rtsne_theta" value="1.0" type="float" label="theta (t-SNE)"/>
121 <param name="Rtsne_exaggeration_factor" value="12.0" type="float" label="Exageration factor" help="Exaggeration factor used to multiply the P matrix in the first part of the optimization" /> 129 <param name="Rtsne_exaggeration_factor" value="12.0" type="float" label="Exageration factor" help="Exaggeration factor used to multiply the P matrix in the first part of the optimization" />
122 <param name="Rtsne_max_iter" value="1000" type="integer" label="Number of iterations (default: 1000)" 130 <param name="Rtsne_max_iter" value="1000" type="integer" label="Number of iterations (default: 1000)"
152 <option value="rows" selected="true">Rows</option> 160 <option value="rows" selected="true">Rows</option>
153 <option value="cols">Columns</option> 161 <option value="cols">Columns</option>
154 </param> 162 </param>
155 <param name="HCPC_kk" value="-1" type="text" label="kk, Number of clusters used in a Kmeans preprocessing " 163 <param name="HCPC_kk" value="-1" type="text" label="kk, Number of clusters used in a Kmeans preprocessing "
156 help="No k-means consolidation is done if a kk value is provided (default=-1)" /> 164 help="No k-means consolidation is done if a kk value is provided (default=-1)" />
165 <param label="Return HCPC clustering table" name="res_clustering" type="select">
166 <option value="no" selected="True">No</option>
167 <option value="yes">Yes</option>
168 </param>
157 </when> 169 </when>
158 <when value="PCA"> 170 <when value="PCA">
159 <param name="PCA_npc" value="5" type="integer" label="Number of principal components to keep" help="The number of dimensions which are kept for PCA analysis (default=5)" /> 171 <param name="PCA_npc" value="5" type="integer" label="Number of principal components to keep" help="The number of dimensions which are kept for PCA analysis (default=5)" />
172 <param name="PCA_x_axis" value="1" type="integer" label="First principal component to plot" help="X axis for PCA plot (default=1)" />
173 <param name="PCA_y_axis" value="2" type="integer" label="Second principal component to plot" help="Y axis for PCA plot (default=2)" />
160 </when> 174 </when>
161 </conditional> 175 </conditional>
162 <param label="Return scatter plot table coordinates" name="coord" type="select"> 176 <param label="Return scatter plot table coordinates" name="coord" type="select">
163 <option value="no" selected="True">No</option> 177 <option value="no" selected="True">No</option>
164 <option value="yes">Yes</option> 178 <option value="yes">Yes</option>
168 <outputs> 182 <outputs>
169 <data name="pdf_out" format="pdf" label="${visualisation.visu_choice} of ${on_string}" /> 183 <data name="pdf_out" format="pdf" label="${visualisation.visu_choice} of ${on_string}" />
170 <data name="table_coordinates" format="tabular" label="Scatter plot coordinates from ${visualisation.visu_choice} of ${on_string}" > 184 <data name="table_coordinates" format="tabular" label="Scatter plot coordinates from ${visualisation.visu_choice} of ${on_string}" >
171 <filter>coord == 'yes'</filter> 185 <filter>coord == 'yes'</filter>
172 </data> 186 </data>
187 <data name="mutual_info" format="txt" label="External validation of clustering from ${visualisation.visu_choice} of ${on_string}" >
188 <filter>visualisation['visu_choice'] == 'HCPC' and factor_condition['factor_choice'] == 'Yes'</filter>
189 </data>
190 <data name="HCPC_clust" format="tabular" label="Clustering table from ${visualisation.visu_choice} of ${on_string}" >
191 <filter>visualisation['visu_choice'] == 'HCPC' and visualisation['res_clustering'] == 'yes'</filter>
192 </data>
173 </outputs> 193 </outputs>
174 <tests> 194 <tests>
175 <!-- test PCA --> 195 <!-- test PCA -->
176 <test> 196 <test>
177 <param name="input" value="cpm_input.tsv" ftype="txt"/> 197 <param name="input" value="cpm_input.tsv" ftype="txt"/>
185 <param name="labels" value="no" /> 205 <param name="labels" value="no" />
186 <param name="visu_choice" value="PCA" /> 206 <param name="visu_choice" value="PCA" />
187 <param name="factor_choice" value="No" /> 207 <param name="factor_choice" value="No" />
188 <output name="pdf_out" file="pca.nolabels.pdf" ftype="pdf"/> 208 <output name="pdf_out" file="pca.nolabels.pdf" ftype="pdf"/>
189 </test> 209 </test>
210 <!-- test PCA PC2 vs PC3 -->
211 <test>
212 <param name="input" value="cpm_input.tsv" ftype="txt"/>
213 <param name="labels" value="no" />
214 <param name="visu_choice" value="PCA" />
215 <param name="factor_choice" value="No" />
216 <param name="PCA_x_axis" value="2" />
217 <param name="PCA_y_axis" value="3" />
218 <output name="pdf_out" file="pca.2vs3.pdf" ftype="pdf"/>
219 </test>
220
190 <!-- test Coordinates tables on PCA --> 221 <!-- test Coordinates tables on PCA -->
191 <test> 222 <test>
192 <param name="input" value="cpm_input.tsv" ftype="txt"/> 223 <param name="input" value="cpm_input.tsv" ftype="txt"/>
193 <param name="labels" value="no" /> 224 <param name="labels" value="no" />
194 <param name="visu_choice" value="PCA" /> 225 <param name="visu_choice" value="PCA" />
211 <param name="input" value="cpm_input.tsv" ftype="txt"/> 242 <param name="input" value="cpm_input.tsv" ftype="txt"/>
212 <param name="labels" value="no" /> 243 <param name="labels" value="no" />
213 <param name="visu_choice" value="PCA" /> 244 <param name="visu_choice" value="PCA" />
214 <param name="factor_choice" value="Yes" /> 245 <param name="factor_choice" value="Yes" />
215 <param name="factor" value="2-lev_factor.tsv" ftype="txt"/> 246 <param name="factor" value="2-lev_factor.tsv" ftype="txt"/>
216 <output name="pdf_out" file="pca.nolabels.2-lev-factor.pdf" ftype="pdf"/> 247 <output name="pdf_out" file="pca.nolabels.2-lev-factor.pdf" compare="sim_size" ftype="pdf"/>
248 </test>
249 <!-- test numerical factor contrasting on PCA -->
250 <test>
251 <param name="input" value="cpm_input.tsv" ftype="txt"/>
252 <param name="labels" value="no" />
253 <param name="visu_choice" value="PCA" />
254 <param name="factor_choice" value="Yes" />
255 <param name="factor" value="numeric_factor.tsv" ftype="txt"/>
256 <output name="pdf_out" file="pca.nolabels.numerical-factor.pdf" compare="sim_size" ftype="pdf"/>
217 </test> 257 </test>
218 <test> 258 <test>
219 <param name="input" value="cpm_input.tsv" ftype="txt"/> 259 <param name="input" value="cpm_input.tsv" ftype="txt"/>
220 <param name="labels" value="no" /> 260 <param name="labels" value="no" />
221 <param name="visu_choice" value="PCA" /> 261 <param name="visu_choice" value="PCA" />
222 <param name="factor_choice" value="Yes" /> 262 <param name="factor_choice" value="Yes" />
223 <param name="factor" value="shuffled_factor.tsv" ftype="txt"/> 263 <param name="factor" value="shuffled_factor.tsv" ftype="txt"/>
224 <output name="pdf_out" file="pca.nolabels.factors.pdf" ftype="pdf"/> 264 <output name="pdf_out" file="pca.nolabels.factors.pdf" compare="sim_size" ftype="pdf"/>
225 </test> 265 </test>
226 <!-- test HCPC --> 266 <!-- test HCPC -->
227 <test> 267 <test>
228 <param name="input" value="cpm_input.tsv" ftype="txt"/> 268 <param name="input" value="cpm_input.tsv" ftype="txt"/>
229 <param name="labels" value="yes" /> 269 <param name="labels" value="yes" />
230 <param name="visu_choice" value="HCPC" /> 270 <param name="visu_choice" value="HCPC" />
231 <param name="HCPC_npc" value="5"/> 271 <param name="HCPC_npc" value="5"/>
232 <param name="HCPC_ncluster" value="-1"/> 272 <param name="HCPC_ncluster" value="-1"/>
233 <output name="pdf_out" file="hcpc.labels.pdf" ftype="pdf"/> 273 <output name="pdf_out" file="hcpc.labels.pdf" compare="sim_size" ftype="pdf"/>
234 </test> 274 </test>
235 <!-- test factor contrasting on HCPC --> 275 <!-- test factor contrasting on HCPC -->
236 <test> 276 <test>
237 <param name="input" value="cpm_input.tsv" ftype="txt"/> 277 <param name="input" value="cpm_input.tsv" ftype="txt"/>
238 <param name="labels" value="no" /> 278 <param name="labels" value="no" />
239 <param name="visu_choice" value="HCPC" /> 279 <param name="visu_choice" value="HCPC" />
240 <param name="HCPC_npc" value="5"/> 280 <param name="HCPC_npc" value="5"/>
241 <param name="HCPC_ncluster" value="-1"/> 281 <param name="HCPC_ncluster" value="-1"/>
282 <param name="res_clustering" value="yes"/>
242 <param name="factor_choice" value="Yes" /> 283 <param name="factor_choice" value="Yes" />
243 <param name="factor" value="factor.tsv" ftype="txt"/> 284 <param name="factor" value="factor.tsv" ftype="txt"/>
244 <output name="pdf_out" file="hcpc.nolabels.factor.pdf" ftype="pdf"/> 285 <output name="pdf_out" file="hcpc.nolabels.factor.pdf" compare="sim_size" ftype="pdf"/>
286 <output name="mutual_info" file="hcpc.factor.extval.txt" ftype="txt"/>
287 <output name="HCPC_clust" file="hcpc.clusters.tab" ftype="tabular"/>
245 </test> 288 </test>
246 <test> 289 <test>
247 <param name="input" value="cpm_input.tsv" ftype="txt"/> 290 <param name="input" value="cpm_input.tsv" ftype="txt"/>
248 <param name="labels" value="no" /> 291 <param name="labels" value="no" />
249 <param name="HCPC_npc" value="5"/> 292 <param name="HCPC_npc" value="5"/>
250 <param name="HCPC_ncluster" value="-1"/> 293 <param name="HCPC_ncluster" value="-1"/>
251 <param name="visu_choice" value="HCPC" /> 294 <param name="visu_choice" value="HCPC" />
252 <output name="pdf_out" file="hcpc.nolabels.pdf" ftype="pdf"/> 295 <output name="pdf_out" file="hcpc.nolabels.pdf" compare="sim_size" ftype="pdf"/>
253 </test> 296 </test>
254 <test> 297 <test>
255 <param name="input" value="cpm_input.tsv" ftype="txt"/> 298 <param name="input" value="cpm_input.tsv" ftype="txt"/>
256 <param name="labels" value="yes" /> 299 <param name="labels" value="yes" />
257 <param name="visu_choice" value="HCPC" /> 300 <param name="visu_choice" value="HCPC" />
269 <param name="coord" value="yes" /> 312 <param name="coord" value="yes" />
270 <param name="HCPC_method" value="single"/> 313 <param name="HCPC_method" value="single"/>
271 <param name="HCPC_metric" value="euclidian"/> 314 <param name="HCPC_metric" value="euclidian"/>
272 <param name="HCPC_npc" value="4" /> 315 <param name="HCPC_npc" value="4" />
273 <param name="HCPC_clusterCA" value="cols" /> 316 <param name="HCPC_clusterCA" value="cols" />
274 <output name="pdf_out" file="hcpc-3.labels.pdf" ftype="pdf"/> 317 <output name="pdf_out" file="hcpc-3.labels.pdf" compare="sim_size" ftype="pdf"/>
275 <output name="table_coordinates" file="hcpc-3.coord.tab" ftype="tabular"/> 318 <output name="table_coordinates" file="hcpc-3.coord.tab" ftype="tabular"/>
276 </test> 319 </test>
277 <!-- test t-SNE --> 320 <!-- test t-SNE -->
278 <test> 321 <test>
279 <param name="input" value="cpm_input.tsv" ftype="txt"/> 322 <param name="input" value="cpm_input.tsv" ftype="txt"/>
280 <param name="labels" value="yes" /> 323 <param name="labels" value="yes" />
281 <param name="visu_choice" value="tSNE" /> 324 <param name="visu_choice" value="tSNE" />
282 <param name="Rtsne_seed" value="49"/> 325 <param name="Rtsne_seed" value="49"/>
283 <param name="Rtsne_perplexity" value="10"/> 326 <param name="Rtsne_perplexity" value="10"/>
284 <param name="Rtsne_theta" value="1" /> 327 <param name="Rtsne_theta" value="1" />
285 <output name="pdf_out" file="tsne.labels.pdf" ftype="pdf"/> 328 <output name="pdf_out" file="tsne.labels.pdf" ftype="pdf" compare="sim_size" delta="500"/>
286 </test> 329 </test>
287 <test> 330 <test>
288 <param name="input" value="cpm_input.tsv" ftype="txt"/> 331 <param name="input" value="cpm_input.tsv" ftype="txt"/>
289 <param name="labels" value="no" /> 332 <param name="labels" value="no" />
290 <param name="visu_choice" value="tSNE" /> 333 <param name="visu_choice" value="tSNE" />
291 <param name="Rtsne_seed" value="49"/> 334 <param name="Rtsne_seed" value="49"/>
292 <param name="Rtsne_perplexity" value="10"/> 335 <param name="Rtsne_perplexity" value="10"/>
293 <param name="Rtsne_theta" value="1" /> 336 <param name="Rtsne_theta" value="1" />
294 <output name="pdf_out" file="tsne.nolabels.pdf" ftype="pdf"/> 337 <output name="pdf_out" file="tsne.nolabels.pdf" ftype="pdf" compare="sim_size" delta="500"/>
295 </test> 338 </test>
296 <test> 339 <!-- test factor contrasting on t-SNE -->
297 <param name="input" value="cpm_input.tsv" ftype="txt"/>
298 <param name="labels" value="no" />
299 <param name="visu_choice" value="tSNE" />
300 <param name="coord" value="yes" />
301 <param name="Rtsne_seed" value="42"/>
302 <param name="Rtsne_perplexity" value="5.0"/>
303 <param name="Rtsne_theta" value="1.0" />
304 <param name="Rtsne_dims" value="3" />
305 <param name="Rtsne_exaggeration_factor" value="15.0" />
306 <output name="pdf_out" file="tsne-2.nolabels.pdf" ftype="pdf"/>
307 <output name="table_coordinates" file="tsne-2.coord.tab" ftype="tabular"/>
308 </test>
309 <!-- test factor contrasting on t-SNE -->
310 <test> 340 <test>
311 <param name="input" value="cpm_input.tsv" ftype="txt"/> 341 <param name="input" value="cpm_input.tsv" ftype="txt"/>
312 <param name="labels" value="yes" /> 342 <param name="labels" value="yes" />
313 <param name="visu_choice" value="tSNE" /> 343 <param name="visu_choice" value="tSNE" />
314 <param name="factor_choice" value="Yes" /> 344 <param name="factor_choice" value="Yes" />
315 <param name="factor" value="shuffled_factor.tsv" ftype="txt"/> 345 <param name="factor" value="shuffled_factor.tsv" ftype="txt"/>
316 <param name="Rtsne_seed" value="49"/> 346 <param name="Rtsne_seed" value="49"/>
317 <param name="Rtsne_perplexity" value="10"/> 347 <param name="Rtsne_perplexity" value="10"/>
318 <param name="Rtsne_theta" value="1" /> 348 <param name="Rtsne_theta" value="1" />
319 <output name="pdf_out" file="tsne.labels.factor.pdf" ftype="pdf"/> 349 <output name="pdf_out" file="tsne.labels.factor.pdf" ftype="pdf" compare="sim_size" delta="500"/>
350 </test>
351 <test>
352 <param name="input" value="cpm_input.tsv" ftype="txt"/>
353 <param name="labels" value="no" />
354 <param name="visu_choice" value="tSNE" />
355 <param name="Rtsne_seed" value="49" />
356 <param name="coord" value="yes" />
357 <param name="Rtsne_dims" value="3" />
358 <param name="Rtsne_perplexity" value="10"/>
359 <param name="Rtsne_theta" value="1" />
360 <param name="Rtsne_normalize" value="FALSE" />
361 <output name="pdf_out" file="tsne-2.nolabels.pdf" ftype="pdf" compare="sim_size" delta="500"/>
362 <output name="table_coordinates" file="tsne-2.coord.tab" ftype="tabular" compare="sim_size" delta="500"/>
320 </test> 363 </test>
321 </tests> 364 </tests>
322 <help> 365 <help>
323 366
324 **What it does** 367 **What it does**
337 380
338 This tool returns the visualisation of a dimensional reduction using either: 381 This tool returns the visualisation of a dimensional reduction using either:
339 382
340 * Principal Components Analysis (PCA) 383 * Principal Components Analysis (PCA)
341 * Hierarchical Clustering of Principal Components (HCPC) 384 * Hierarchical Clustering of Principal Components (HCPC)
342 * t-distributed Stochastic Neighbor Embedding 385 * t-distributed Stochastic Neighbor Embedding (t-SNE)
343 386
344 The tool returns in addition the table of the coordinates of the observations (eg RNAseq libraries) 387 The tool returns in addition the table of the coordinates of the observations (eg RNAseq libraries)
345 in the low dim space, which can be used for post-treatment or to further adjust the provided visualisation. 388 in the low dim space, which can be used for post-treatment or to further adjust the provided visualisation.
389
390 If HCPC is used, this tool can also return the clustering table. It contains two columns of n observations :
391
392 * Observation labels
393 * Cluster labels
346 394
347 ** Contrast data with a factor ** 395 ** Contrast data with a factor **
348 The tool offers the possibility to colour data points according to the levels of a factor. 396 The tool offers the possibility to colour data points according to the levels of a factor.
349 To use the option "Factor to contrast data", provide a tabulated-separated, two-column table 397 To use the option "Factor to contrast data", provide a tabulated-separated, two-column table
350 with first column containing the cell/data library identifiers (same identifiers as those 398 with first column containing the cell/data library identifiers (same identifiers as those
351 provided as column headers in the input data table) and second column containing the corresponding 399 provided as column headers in the input data table) and second column containing the corresponding
352 factor levels value. This table does not need to be sorted in the same order as in the data 400 factor levels value (if this vector is numerical, then the color palette used is quantitative).
401 This table does not need to be sorted in the same order as in the data
353 table. It may also contain more identifiers than those provided in the data table. 402 table. It may also contain more identifiers than those provided in the data table.
403
404 If HCPC visualisation and constrasting data are chosen, an additional text file is given. It contains
405 several metrics of external validation of clustering. It will compare the capacity of HCPC clustering
406 to recreate classes contained in the factor data file. If the constrasting factor is quantitative,
407 the file will be empty.
408
354 409
355 </help> 410 </help>
356 <citations> 411 <citations>
357 <citation type="bibtex">@Article{, 412 <citation type="bibtex">@Article{,
358 title = {Visualizing High-Dimensional Data Using t-SNE}, 413 title = {Visualizing High-Dimensional Data Using t-SNE},
379 year = {2015}, 434 year = {2015},
380 note = {R package version 0.15}, 435 note = {R package version 0.15},
381 url = {https://github.com/jkrijthe/Rtsne}, 436 url = {https://github.com/jkrijthe/Rtsne},
382 } 437 }
383 </citation> 438 </citation>
439 <citation type="bibtex">@Manual{,
440 title = {{ClusterR}: Gaussian Mixture Models, K-Means, Mini-Batch-Kmeans,
441 K-Medoids and Affinity Propagation Clustering},
442 author = {Lampros Mouselimis},
443 year = {2019},
444 note = {R package version 1.1.9},
445 url = {https://github.com/mlampros/ClusterR},
446 }
447 </citation>
384 </citations> 448 </citations>
385 </tool> 449 </tool>