annotate chopin2.xml @ 0:89fb0de13457 draft default tip

Uploading wrapper for chopin2
author fabio
date Thu, 19 May 2022 22:13:24 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
1 <?xml version="1.0"?>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
2 <tool name="chopin2" id="chopin2" version="1.0.6">
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
3 <description>Domain-Agnostic Supervised Learning with Hyperdimensional Computing</description>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
4
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
5 <!-- Tool developer -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
6 <creator>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
7 <person givenName="Fabio" familyName="Cumbo"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
8 url="https://fabio-cumbo.github.io/"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
9 email="fabio.cumbo@gmail.com" />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
10 </creator>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
11
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
12 <!-- Define dependencies -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
13 <requirements>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
14 <requirement type="package" version="1.0.6">chopin2</requirement>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
15 </requirements>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
16
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
17 <command detect_errors="exit_code">
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
18 <![CDATA[
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
19 ln -s ${dataset};
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
20
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
21 chopin2
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
22
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
23 --dataset `basename $dataset`
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
24 --dimensionality ${dimensionality}
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
25 --levels ${levels}
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
26 --retrain ${retrain}
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
27 --stop
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
28 --crossv_k ${folds}
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
29
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
30 #if $feature_selection.enable_fs == "true":
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
31 --select_features
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
32 --group_min ${feature_selection.group_min}
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
33 --accuracy_threshold ${feature_selection.accuracy_threshold}
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
34 --accuracy_uncertainty_perc ${feature_selection.accuracy_uncertainty_perc}
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
35 #end if
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
36
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
37 --dump
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
38 --cleanup
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
39 --nproc "\${GALAXY_SLOTS:-4}"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
40 --verbose
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
41 ]]>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
42 </command>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
43
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
44 <inputs>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
45 <!-- Select a dataset -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
46 <param name="dataset" type="data" format="csv"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
47 label="Select a dataset"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
48 help="Input dataset with features on columns and observations on rows. Last column must contain classes." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
49
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
50 <!-- Vector dimensionality -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
51 <param name="dimensionality" type="integer" value="10000" min="100"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
52 label="Vectors dimensionality"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
53 help="Size of hypervectors is usually 10,000 in vector-symbolic architectures. However, lower values could work
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
54 with small datasets in terms of number of features and observations. Please note that you may require
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
55 to increase this number in case of datasets with a huge number of features." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
56
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
57 <!-- Number of levels -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
58 <param name="levels" type="integer" value="1000" min="2"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
59 label="Levels"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
60 help="Number of level vectors. You may consider to look at the distribution of your data in order to choose
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
61 the most appropriate value." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
62
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
63 <!-- Number of retraining iterations -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
64 <param name="retrain" type="integer" value="0" min="0"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
65 label="Model retraining iterations"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
66 help="Maximum number of retraining iterations. Class hypervectors are retrained to minimize errors caused by noise." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
67
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
68 <!-- Number of folds for cross-validation -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
69 <param name="folds" type="integer" value="2" min="2"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
70 label="Number of folds for cross-validation"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
71 help="This tool makes use of k-folds cross-validation to evaluate the accuracy of the hyperdimensional model.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
72 Make sure to choose a good number of folds for validating the classification model. Please note that higher number
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
73 of folds could significantly increase the running time." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
74
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
75 <!-- Allow to discard genomes according to their completeness and contamination stats -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
76 <conditional name="feature_selection">
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
77 <!-- Enable feature selection -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
78 <param name="enable_fs" type="boolean" checked="false" truevalue="true" falsevalue="false"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
79 label="Enable feature selection"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
80 help="If selected, this will extract a set of features with the better discriminative power among classes.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
81 The feature selection algorithm is defined as a backward variable selection method." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
82
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
83 <when value="true">
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
84 <!-- Minimum group size -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
85 <param name="group_min" type="integer" value="1" min="1"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
86 label="Minimum number of selected features"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
87 help="Tool will stop removing features if its number will reach this value." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
88
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
89 <!-- Accuracy threshold -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
90 <param name="accuracy_threshold" type="float" value="60.0" min="0.0" max="100.0"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
91 label="Accuracy threshold"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
92 help="Stop the execution if the best accuracy reached for a group of features is lower than this value." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
93
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
94 <!-- Accuracy uncertainty percentage -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
95 <param name="accuracy_uncertainty_perc" type="float" value="5.0" min="0.0" max="100.0"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
96 label="Accuracy uncertainty percentage"
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
97 help="Consider non optimal solutions if model accuracy is greater than the best accuracy minus this percentage." />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
98 </when>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
99 </conditional>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
100 </inputs>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
101
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
102 <outputs>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
103 <!-- Output summary file -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
104 <data format="txt" name="summary" label="${tool.name} on ${on_string}: Summary" from_work_dir="summary.txt" />
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
105 <!-- Output file with selected features -->
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
106 <data format="txt" name="selection" label="${tool.name} on ${on_string}: Selection" from_work_dir="selection.txt">
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
107 <filter>feature_selection["enable_fs"]</filter>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
108 </data>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
109 </outputs>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
110
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
111 <help><![CDATA[
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
112 This is a domain-agnostic supervised learning tool that exploit the Hyperdimensional Computing paradigm to encode and compare data.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
113
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
114 -----
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
115
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
116 **Input file**
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
117
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
118 The input is a CSV file representing a matrix with the observations on the rows and features on columns.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
119 The last column contains classes associated to the observations.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
120
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
121 The tool doesn't support datasets with missing values. It also supports numerical datasets only.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
122
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
123 Please, refer to the example below to know how to structure your dataset:
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
124
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
125 +------------------+--------------+--------------+--------------+------+--------------+-------------+
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
126 | | **Feature1** | **Feature2** | **Feature3** | ... | **FeatureM** | **Class** |
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
127 +==================+==============+==============+==============+======+==============+=============+
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
128 | **Observation1** | 0.68 | 1.97 | 0.02 | ... | 0.01 | Case |
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
129 +------------------+--------------+--------------+--------------+------+--------------+-------------+
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
130 | **Observation2** | 0.52 | 0.60 | 1.16 | ... | 0.07 | Case |
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
131 +------------------+--------------+--------------+--------------+------+--------------+-------------+
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
132 | **Observation2** | 0.56 | 0.01 | 0.50 | ... | 1.16 | Control |
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
133 +------------------+--------------+--------------+--------------+------+--------------+-------------+
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
134 | ... | ... | ... | ... | ... | ... | ... |
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
135 +------------------+--------------+--------------+--------------+------+--------------+-------------+
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
136 | **ObservationN** | 0.05 | 1.86 | 0.03 | ... | 2.83 | Control |
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
137 +------------------+--------------+--------------+--------------+------+--------------+-------------+
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
138
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
139 -----
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
140
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
141 **Output**
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
142
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
143 The output is a summary table with information about the accuracy of the hyperdimensional model and
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
144 the number of retraining iterations that were required to achieve that level of accuracy.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
145
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
146 In case the feature selection is enabled, it also returns a file with the list of selected features
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
147 that come out from the hyperdimensional model that reached the best accuracy.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
148
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
149 -----
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
150
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
151 .. class:: infomark
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
152
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
153 **Notes**
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
154
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
155 Please visit the official GitHub repository_ for other information about `chopin2`.
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
156
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
157 .. _repository: https://github.com/fabio-cumbo/chopin2
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
158 ]]></help>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
159
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
160 <citations>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
161 <citation type="doi">10.3390/a13090233</citation>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
162 </citations>
89fb0de13457 Uploading wrapper for chopin2
fabio
parents:
diff changeset
163 </tool>