Mercurial > repos > matthias > genform
comparison genform.xml @ 0:f17273aa599f draft default tip
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/genform/ commit 479866669d9dcf8f89140c68f701db1cd12b006e-dirty
| author | matthias |
|---|---|
| date | Thu, 12 Sep 2019 12:20:47 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:f17273aa599f |
|---|---|
| 1 <tool id="genform" name="genform" version="@GENFORM_VERSION@" python_template_version="3.5"> | |
| 2 <description>Generation of molecular formulas by high-resolution MS and MS/MS data</description> | |
| 3 <macros> | |
| 4 <token name="@GENFORM_VERSION@">8</token> | |
| 5 </macros> | |
| 6 <requirements> | |
| 7 <requirement type="package" version="r@GENFORM_VERSION@">genform</requirement> | |
| 8 </requirements> | |
| 9 <command detect_errors="exit_code"><![CDATA[ | |
| 10 genform | |
| 11 ms='$ms' | |
| 12 #if $msms | |
| 13 msms='$msms' | |
| 14 #end if | |
| 15 #if $formula_cond.formula_select != 'advanced' | |
| 16 $formula_cond.formula_select | |
| 17 #else | |
| 18 $formula_cond.vsp | |
| 19 #if str($formula_cond.vsm2mv) != '' | |
| 20 vsm2mv=$formula_cond.vsm2mv | |
| 21 #end if | |
| 22 #if str($formula_cond.vsm2ap2) != '' | |
| 23 vsm2ap2=$formula_cond.vsm2ap2 | |
| 24 #end if | |
| 25 #if str($formula_cond.ivsm2mv) != '' | |
| 26 ivsm2mv=$formula_cond.ivsm2mv | |
| 27 #end if | |
| 28 #if str($formula_cond.ivsm2ap2) != '' | |
| 29 ivsm2ap2=$formula_cond.ivsm2ap2 | |
| 30 #end if | |
| 31 #end if | |
| 32 #if str($m) != '' | |
| 33 m=$m | |
| 34 #end if | |
| 35 ion=$ion | |
| 36 ppm=$ppm | |
| 37 $msmv | |
| 38 acc=$acc | |
| 39 rej=$rej | |
| 40 thms=$thms | |
| 41 thmsms=$thmsms | |
| 42 thcomb=$thcomb | |
| 43 $sort | |
| 44 #if $elemfilt_cond.elemfilt_select == 'elem' | |
| 45 el=#echo "".join(str($elemfilt_cond.el).split(',')) | |
| 46 #elif $elemfilt_cond.elemfilt_select == 'oc' | |
| 47 oc | |
| 48 #elif $elemfilt_cond.elemfilt_select == 'fuzzy' | |
| 49 ff=$elemfilt_cond.fuzzy | |
| 50 #end if | |
| 51 $het | |
| 52 $hcf | |
| 53 $wm | |
| 54 $wi_cond.wi | |
| 55 #if $wi_cond.wi == 'wi=log' and str($wi_cond.exp) != '' | |
| 56 exp=$wi_cond.exp | |
| 57 #end if | |
| 58 $oei | |
| 59 #if str($dbeexc) != '' | |
| 60 dbeexc=$dbeexc | |
| 61 #end if | |
| 62 #if $output.out_cond.out_select == 'analyze': | |
| 63 analyze | |
| 64 $output.out_cond.loss | |
| 65 $output.out_cond.intens | |
| 66 #end if | |
| 67 $output.dbe | |
| 68 $output.cm | |
| 69 $output.pc | |
| 70 $output.sc | |
| 71 out=out | |
| 72 #if $addoutput.oms | |
| 73 oms='$outoms' | |
| 74 #end if | |
| 75 #if $addoutput.omsms | |
| 76 omsms='$outomsms' | |
| 77 #end if | |
| 78 #if $addoutput.oclean | |
| 79 oclean='$outoclean' | |
| 80 #end if | |
| 81 | |
| 82 ## for some reason genform prints the file twice if sorting is selected | |
| 83 ## (once unsorted and once sorted). hence, if soring is enabled just | |
| 84 ## the lower half of the file is returned | |
| 85 #if $sort != '' | |
| 86 && | |
| 87 wc=\$(wc -l out | cut -d" " -f 1 ) | |
| 88 && | |
| 89 hwc=\$(echo "\$wc/2" | bc) | |
| 90 && | |
| 91 tail -n \$hwc > '$out' | |
| 92 #else | |
| 93 && cp out '$out' | |
| 94 #end if | |
| 95 ]]></command> | |
| 96 <inputs> | |
| 97 <param type="data" argument="ms" label="MS data" format="tabular" help="" /> | |
| 98 <param type="data" argument="msms" label="MS/MS data" optional="true" format="tabular" help="" /> | |
| 99 <conditional name="formula_cond"> | |
| 100 <param type="select" name="formula_select" label="structural formula existence check" help="allow only molecular formulas for that at least one structural formula exists or specify advanced restictions, note that the default of genform is 'no existence check'"> | |
| 101 <option value="">no existence check</option> | |
| 102 <option value="exist" selected="true">only molecular formulas for that at least one structural formula exists (exist)</option> | |
| 103 <option value="exist=mv">enable multiple valencies for P and S (exist=mv)</option> | |
| 104 <option value="advanced">advanced</option> | |
| 105 </param> | |
| 106 <when value=""/> | |
| 107 <when value="exist"/> | |
| 108 <when value="exist=mv"/> | |
| 109 <when value="advanced"> | |
| 110 <param type="select" argument="vsp" label="valency sum parity" help="even for graphical formulas" > | |
| 111 <option value="">use default</option> | |
| 112 <option value="vsp=even">even</option> | |
| 113 <option value="vsp=odd">odd</option> | |
| 114 </param> | |
| 115 <param type="integer" argument="vsm2mv" label="lower bound for valency sum - 2 * maximum valency for graphical formulas" min="0" value="" help="" /> | |
| 116 <param type="integer" argument="vsm2ap2" label="lower bound for valency sum - 2 * number of atoms + 2 for graphical connected formulas" min="0" value="" help="" /> | |
| 117 <param type="integer" argument="ivsm2mv" label="lower bound for valency sum - 2 * maximum valency for fragment ions" min="0" value="" help="" /> | |
| 118 <param type="integer" argument="ivsm2ap2" label="lower bound for valency sum - 2 * number of atoms + 2 for fragment ions" min="0" value="" help="" /> | |
| 119 </when> | |
| 120 </conditional> | |
| 121 <param type="float" argument="m" label="experimental molecular mass" min="0" optional="true" help="(default: mass of MS basepeak)" /> | |
| 122 <param type="select" argument="ion" label="type of ion measured" help="" > | |
| 123 <option value="M+H">[M+H]+</option> | |
| 124 <option value="M-H">[M-H]-</option> | |
| 125 <option value="M+e">M+</option> | |
| 126 <option value="M-e">M-</option> | |
| 127 <option value="M+Na">[M+Na]+</option> | |
| 128 </param> | |
| 129 <param type="integer" argument="ppm" label="accuracy of measurement of MS1" min="0" value="5" help="in parts per million" /> | |
| 130 <param type="select" argument="msmv" label="MS match value" help="select output type of the MS match value" > | |
| 131 <option value="msmv=ndp">normalized dot product</option> | |
| 132 <option value="msmv=nsse">normalized sum of squared</option> | |
| 133 <option value="msmv=nsae" selected="true">absolute errors</option> | |
| 134 </param> | |
| 135 <param type="integer" argument="acc" label="allowed deviation for full acceptance" min="0" value="2" help="of MS/MS peak in ppm" /> | |
| 136 <param type="integer" argument="rej" label="allowed deviation for total rejection" min="0" value="4" help="of MS/MS peak in ppm" /> | |
| 137 <param type="float" argument="thms" label="threshold for the MS match value" min="0" max="1" value="0" help="" /> | |
| 138 <param type="float" argument="thmsms" label="threshold for the MS/MS match value" min="0" max="1" value="0" help="" /> | |
| 139 <param type="float" argument="thcomb" label="threshold for the combined match value" min="0" max="1" value="0" help="" /> | |
| 140 <param type="select" argument="sort" label="sort generated formulas by" help="" > | |
| 141 <option value="">do not sort</option> | |
| 142 <option value="sort=ppm">mass deviation in ppm</option> | |
| 143 <option value="sort=msmv">MS match value</option> | |
| 144 <option value="sort=msmsmv">MS/MS match value</option> | |
| 145 <option value="sort=combmv">combined match value</option> | |
| 146 </param> | |
| 147 <conditional name="elemfilt_cond"> | |
| 148 <param type="select" name="elemfilt_select" label="chemical element filtering"> | |
| 149 <option value="nofilter">no filter</option> | |
| 150 <option value="elem">by used elements</option> | |
| 151 <option value="oc">only organic compounds (oc)</option> | |
| 152 <option value="fuzzy">by fuzzy formula</option> | |
| 153 </param> | |
| 154 <when value="nofilter"/> | |
| 155 <when value="elem"> | |
| 156 <param type="select" multiple="true" argument="el" label="used chemical elements" help="" > | |
| 157 <option selected="true" value="C">C</option> | |
| 158 <option selected="true" value="N">N</option> | |
| 159 <option selected="true" value="O">O</option> | |
| 160 <option selected="true" value="P">P</option> | |
| 161 <option selected="true" value="S">S</option> | |
| 162 <option selected="true" value="H">H</option> | |
| 163 <option selected="true" value="Cl">Cl</option> | |
| 164 <option selected="true" value="Br">Br</option> | |
| 165 <option selected="true" value="F">F</option> | |
| 166 <option selected="true" value="I">I</option> | |
| 167 <option selected="true" value="Si">Si</option> | |
| 168 </param> | |
| 169 </when> | |
| 170 <when value="oc"/> | |
| 171 <when value="fuzzy"> | |
| 172 <param type="text" argument="ff" checked="false" label="uses fuzzy formula for limits of element multiplicities" help="" /> | |
| 173 </when> | |
| 174 </conditional> | |
| 175 <param type="boolean" argument="het" checked="false" truevalue="het" falsevalue="" label="formulas must have at least one hetero atom" help="" /> | |
| 176 <param type="boolean" argument="hcf" checked="false" truevalue="hcf" falsevalue="" label="apply Heuerding-Clerc filter" help="" /> | |
| 177 <param type="select" argument="wm" label="m/z weighting for MS/MS match value" help="" > | |
| 178 <option value="">no weighting</option> | |
| 179 <option value="wm=lin">linear</option> | |
| 180 <option value="wm=sqrt">square root</option> | |
| 181 <option value="wm=log">logarithmic</option> | |
| 182 </param> | |
| 183 <conditional name="wi_cond"> | |
| 184 <param type="select" argument="wi" label="intensity weighting for MS/MS match value" help="" > | |
| 185 <option value="">no weighting</option> | |
| 186 <option value="wi=lin">linear</option> | |
| 187 <option value="wi=sqrt">square root</option> | |
| 188 <option value="wi=log">logarithmic</option> | |
| 189 </param> | |
| 190 <when value=""/> | |
| 191 <when value="wi=lin"/> | |
| 192 <when value="wi=sqrt"/> | |
| 193 <when value="wi=log"> | |
| 194 <param type="float" argument="exp" optional="true" label="exponent" value="" help="" /> | |
| 195 </when> | |
| 196 </conditional> | |
| 197 <param type="boolean" argument="oei" checked="false" truevalue="oei" falsevalue="" label="allow odd electron ions for explaining MS/MS peaks" help="" /> | |
| 198 <param type="integer" argument="dbeexc" optional="true" label="excess of double bond equivalent for ions" help="" /> | |
| 199 <section name="output" title="output options for main output" expanded="true"> | |
| 200 <conditional name="out_cond"> | |
| 201 <param type="select" name="out_select" label="write explanations for MS/MS peaks to output" help="" > | |
| 202 <option value="">no</option> | |
| 203 <option value="analyze">yes</option> | |
| 204 </param> | |
| 205 <when value=""/> | |
| 206 <when value="analyze"> | |
| 207 <param type="boolean" argument="loss" checked="false" truevalue="loss" falsevalue="" label="for analyzing MS/MS peaks write losses instead of fragments" help="" /> | |
| 208 <param type="boolean" argument="intens" checked="false" truevalue="intens" falsevalue="" label="write intensities of MS/MS peaks to output" help="" /> | |
| 209 </when> | |
| 210 </conditional> | |
| 211 <param type="boolean" argument="dbe" checked="false" truevalue="dbe" falsevalue="" label="write double bond equivalents to output" help="" /> | |
| 212 <param type="boolean" argument="cm" checked="false" truevalue="cm" falsevalue="" label="write calculated ion masses to output" help="" /> | |
| 213 <param type="boolean" argument="pc" checked="false" truevalue="pc" falsevalue="" label="output match values in percent" help="" /> | |
| 214 <param type="boolean" argument="sc" checked="false" truevalue="sc" falsevalue="" label="strip calculated isotope distributions" help="" /> | |
| 215 </section> | |
| 216 <section name="addoutput" title="additional output data sets" expanded="true"> | |
| 217 <param type="boolean" argument="oms" checked="false" truevalue="oms" falsevalue="" label="write scaled MS peaks output" help="" /> | |
| 218 <param type="boolean" argument="omsms" checked="false" truevalue="omsms" falsevalue="" label="write scaled MS/MS peaks output" help="" /> | |
| 219 <param type="boolean" argument="oclean" checked="false" truevalue="oclean" falsevalue="" label="write MS/MS with only explained peaks" help="" /> | |
| 220 <param type="boolean" argument="oclean" checked="false" truevalue="oms" falsevalue="" label="write MS/MS with only explained peaks" help="" /> | |
| 221 </section> | |
| 222 </inputs> | |
| 223 <outputs> | |
| 224 <data name="out" format="tabular" /> | |
| 225 <data name="outoms" format="tabular" label="${tool.name} on ${on_string}: MS"> | |
| 226 <filter>addoutput['oms']</filter> | |
| 227 </data> | |
| 228 <data name="outomsms" format="tabular" label="${tool.name} on ${on_string}: MS/MS" > | |
| 229 <filter>addoutput['omsms']</filter> | |
| 230 </data> | |
| 231 <data name="outoclean" format="tabular" label="${tool.name} on ${on_string}: clean"> | |
| 232 <filter>addoutput['oclean']</filter> | |
| 233 </data> | |
| 234 </outputs> | |
| 235 <tests> | |
| 236 <!-- test with MS input and mostly default values --> | |
| 237 <test expect_num_outputs="1"> | |
| 238 <param name="ms" ftype="tabular" value="CreatineMs.txt" /> | |
| 239 <param name="acc" value="20" /> | |
| 240 <param name="rej" value="40" /> | |
| 241 <output name="out" ftype="tabular" file="CreatineMs.out"/> | |
| 242 <assert_command> | |
| 243 <has_text text=" ms=" /> | |
| 244 <not_has_text text=" msms=" /> | |
| 245 <has_text text=" exist " /> | |
| 246 <not_has_text text=" m=" /> | |
| 247 <has_text text=" ion=M+H " /> | |
| 248 <has_text text=" ppm=5 " /> | |
| 249 <has_text text=" msmv=nsae " /> | |
| 250 <has_text text=" acc=20 " /> | |
| 251 <has_text text=" rej=40 " /> | |
| 252 <has_text text=" thmsms=0.0 " /> | |
| 253 <has_text text=" thmsms=0.0 " /> | |
| 254 <has_text text=" thcomb=0.0 " /> | |
| 255 <not_has_text text=" sort" /> | |
| 256 <not_has_text text=" el=" /> | |
| 257 <not_has_text text=" oc " /> | |
| 258 <not_has_text text=" ff=" /> | |
| 259 <not_has_text text=" het " /> | |
| 260 <not_has_text text=" vsp=" /> | |
| 261 <not_has_text text=" vsp2mv=" /> | |
| 262 <not_has_text text=" vsm2ap2=" /> | |
| 263 <not_has_text text=" hcf " /> | |
| 264 <not_has_text text=" wm=" /> | |
| 265 <not_has_text text=" wi=" /> | |
| 266 <not_has_text text=" exp=" /> | |
| 267 <not_has_text text=" oei " /> | |
| 268 <not_has_text text=" dbeexc=" /> | |
| 269 <not_has_text text=" ivsm2mv=" /> | |
| 270 <not_has_text text=" ivsm2ap2=" /> | |
| 271 <not_has_text text=" oms=" /> | |
| 272 <not_has_text text=" omsms=" /> | |
| 273 <not_has_text text=" oclean=" /> | |
| 274 <not_has_text text=" analyze " /> | |
| 275 <not_has_text text=" loss " /> | |
| 276 <not_has_text text=" intens " /> | |
| 277 <not_has_text text=" dbe " /> | |
| 278 <not_has_text text=" cm " /> | |
| 279 <not_has_text text=" pc " /> | |
| 280 <not_has_text text=" sc " /> | |
| 281 </assert_command> | |
| 282 </test> | |
| 283 <!-- test with MS/MS input and non default output options --> | |
| 284 <test expect_num_outputs="4"> | |
| 285 <param name="ms" ftype="tabular" value="CreatineMs.txt" /> | |
| 286 <param name="msms" ftype="tabular" value="CreatineMsMs.txt" /> | |
| 287 <param name="acc" value="20" /> | |
| 288 <param name="rej" value="40" /> | |
| 289 <section name="output"> | |
| 290 <conditional name="out_cond"> | |
| 291 <param name="out_select" value="analyze"/> | |
| 292 <param name="loss" value="loss" /> | |
| 293 <param name="intens" value="intens" /> | |
| 294 </conditional> | |
| 295 <param name="dbe" value="dbe" /> | |
| 296 <param name="cm" value="cm" /> | |
| 297 <param name="pc" value="pc" /> | |
| 298 <param name="sc" value="sc" /> | |
| 299 </section> | |
| 300 <section name="addoutput"> | |
| 301 <param name="oms" value="oms" /> | |
| 302 <param name="omsms" value="omsms" /> | |
| 303 <param name="oclean" value="oclean" /> | |
| 304 <param name="oclean" value="oms"/> | |
| 305 </section> | |
| 306 <output name="out" ftype="tabular" file="CreatineMsMs.out"/> | |
| 307 <output name="outoms" ftype="tabular" file="CreatineMsMs-oms.out"/> | |
| 308 <output name="outomsms" ftype="tabular" file="CreatineMsMs-omsms.out"/> | |
| 309 <output name="outoclean" ftype="tabular" file="CreatineMsMs-oclean.out"/> | |
| 310 <assert_command> | |
| 311 <has_text text=" ms=" /> | |
| 312 <has_text text=" msms=" /> | |
| 313 <has_text text=" exist" /> | |
| 314 <not_has_text text=" m=" /> | |
| 315 <has_text text=" ion=M+H " /> | |
| 316 <has_text text=" ppm=5 " /> | |
| 317 <has_text text=" msmv=nsae " /> | |
| 318 <has_text text=" acc=20 " /> | |
| 319 <has_text text=" rej=40 " /> | |
| 320 <has_text text=" thmsms=0.0 " /> | |
| 321 <has_text text=" thmsms=0.0 " /> | |
| 322 <has_text text=" thcomb=0.0 " /> | |
| 323 <not_has_text text=" sort" /> | |
| 324 <not_has_text text=" el=" /> | |
| 325 <not_has_text text=" oc " /> | |
| 326 <not_has_text text=" ff=" /> | |
| 327 <not_has_text text=" het " /> | |
| 328 <not_has_text text=" vsp=" /> | |
| 329 <not_has_text text=" vsp2mv=" /> | |
| 330 <not_has_text text=" vsm2ap2=" /> | |
| 331 <not_has_text text=" hcf " /> | |
| 332 <not_has_text text=" wm=" /> | |
| 333 <not_has_text text=" wi=" /> | |
| 334 <not_has_text text=" exp=" /> | |
| 335 <not_has_text text=" oei " /> | |
| 336 <not_has_text text=" dbeexc=" /> | |
| 337 <not_has_text text=" ivsm2mv=" /> | |
| 338 <not_has_text text=" ivsm2ap2=" /> | |
| 339 <has_text text=" oms=" /> | |
| 340 <has_text text=" omsms=" /> | |
| 341 <has_text text=" oclean=" /> | |
| 342 <has_text text=" analyze " /> | |
| 343 <has_text text=" loss " /> | |
| 344 <has_text text=" intens " /> | |
| 345 <has_text text=" dbe " /> | |
| 346 <has_text text=" cm " /> | |
| 347 <has_text text=" pc " /> | |
| 348 <has_text text=" sc " /> | |
| 349 </assert_command> | |
| 350 </test> | |
| 351 <!-- test with MS/MS input and other non-default values | |
| 352 (creates empty output .. but test is still usefull) --> | |
| 353 <test expect_num_outputs="1"> | |
| 354 <param name="ms" ftype="tabular" value="CreatineMs.txt" /> | |
| 355 <param name="msms" ftype="tabular" value="CreatineMsMs.txt" /> | |
| 356 <conditional name="formula_cond"> | |
| 357 <param name="formula_select" value=""/> | |
| 358 </conditional> | |
| 359 <param name="m" value="111.0201" /> | |
| 360 <param name="ion" value="M-H" /> | |
| 361 <param name="ppm" value="4" /> | |
| 362 <param name="msmv" value="msmv=ndp"/> | |
| 363 <param name="acc" value="21" /> | |
| 364 <param name="rej" value="39" /> | |
| 365 <param name="thms" value="0.3" /> | |
| 366 <param name="thmsms" value="0.2" /> | |
| 367 <param name="thcomb" value="0.1" /> | |
| 368 <param name="sort" value="sort=combmv" /> | |
| 369 <conditional name="elemfilt_cond"> | |
| 370 <param name="elemfilt_select" value="elem"/> | |
| 371 <param name="el" value="C,N,O,P,S,H,Cl,Br,F,I" /> | |
| 372 </conditional> | |
| 373 <param name="het" value="het" /> | |
| 374 <param name="hcf" value="hcf" /> | |
| 375 <param name="wm" value="wm=sqrt"/> | |
| 376 <conditional name="wi_cond"> | |
| 377 <param name="wi" value="wi=log"/> | |
| 378 <param name="exp" value="2.31"/> | |
| 379 </conditional> | |
| 380 <param name="oei" value="oei" /> | |
| 381 <param name="dbeexc" value="1" /> | |
| 382 <output name="out" ftype="tabular" file="CreatineMsMs.out" lines_diff="3"/> | |
| 383 <assert_command> | |
| 384 <has_text text=" ms=" /> | |
| 385 <has_text text=" msms=" /> | |
| 386 <not_has_text text=" exist" /> | |
| 387 <has_text text=" m=111.0201" /> | |
| 388 <has_text text=" ion=M-H" /> | |
| 389 <has_text text=" ppm=4" /> | |
| 390 <has_text text=" msmv=ndp" /> | |
| 391 <has_text text=" acc=21" /> | |
| 392 <has_text text=" rej=39" /> | |
| 393 <has_text text=" thms=0.3" /> | |
| 394 <has_text text=" thmsms=0.2" /> | |
| 395 <has_text text=" thcomb=0.1" /> | |
| 396 <has_text text=" sort=combmv" /> | |
| 397 <has_text text=" el=CNOPSHClBrFI" /> | |
| 398 <not_has_text text=" oc " /> | |
| 399 <not_has_text text=" ff=" /> | |
| 400 <has_text text=" het " /> | |
| 401 <not_has_text text=" vsp=" /> | |
| 402 <not_has_text text=" vsp2mv=" /> | |
| 403 <not_has_text text=" vsm2ap2=" /> | |
| 404 <has_text text=" hcf " /> | |
| 405 <has_text text=" wm=sqrt " /> | |
| 406 <has_text text=" wi=log " /> | |
| 407 <has_text text=" exp=2.31 " /> | |
| 408 <has_text text=" oei " /> | |
| 409 <has_text text=" dbeexc=1" /> | |
| 410 <not_has_text text=" ivsm2mv=" /> | |
| 411 <not_has_text text=" ivsm2ap2=" /> | |
| 412 <not_has_text text=" oms=" /> | |
| 413 <not_has_text text=" omsms=" /> | |
| 414 <not_has_text text=" oclean=" /> | |
| 415 <not_has_text text=" analyze " /> | |
| 416 <not_has_text text=" loss " /> | |
| 417 <not_has_text text=" intens " /> | |
| 418 <not_has_text text=" dbe " /> | |
| 419 <not_has_text text=" cm " /> | |
| 420 <not_has_text text=" pc " /> | |
| 421 <not_has_text text=" sc " /> | |
| 422 </assert_command> | |
| 423 </test> | |
| 424 </tests> | |
| 425 <help><![CDATA[ | |
| 426 | |
| 427 **Overview** | |
| 428 | |
| 429 The computer program genform generates candidate molecular formulas from high-resolution | |
| 430 MS data. It calculates match values (MV) that show how well candidate molecular formulas fit the MS | |
| 431 isotope peak distributions (MS MV) and the high-resolution MS/MS fragment peak masses (MSMS | |
| 432 MV). Finally it computes a combined match value from these two scores. This software can be | |
| 433 regarded as a further development of the ElCoCo and MolForm modules of MOLGEN-MS with a clear | |
| 434 specialization towards MS/MS. | |
| 435 | |
| 436 **Input** | |
| 437 | |
| 438 MS and MS/MS centroided spectra are given as tab separated files with two columns: | |
| 439 | |
| 440 1. m/z | |
| 441 2. intensity | |
| 442 | |
| 443 **Output** | |
| 444 | |
| 445 Main output containing a list of all possible molecular formulas, further options can be chosen: | |
| 446 | |
| 447 1. if the explained peaks shall also be written to the output | |
| 448 2. if the explanation shall be given as molecular formulas for the fragment or as neutral losses | |
| 449 3. double bond equivalents for each molecular formula | |
| 450 4. calculated ion masses | |
| 451 5. output match values in percent | |
| 452 | |
| 453 Output structure: | |
| 454 | |
| 455 molecular fomula / (double bond equivalent) / (calculated mass) / ppm / MS MV / MSMS MV / combined MV | |
| 456 | |
| 457 ppm: The value ppm denotes the relative deviation of | |
| 458 the calculated mass of the molecular ion from the mass of the basepeak (basemass) in the MS in | |
| 459 parts per million (ppm). | |
| 460 | |
| 461 MS MV: It is calculated from measured and | |
| 462 theoretical isotope peak intensities. The MV ranges from 0 to 1. The better theoretical and measured | |
| 463 isotope distributions fit, the higher is the MV. There are three different algorithms implemented for | |
| 464 calculating the MS MV, which are nomalized dot product, nomalized sum of squared errors and the normalized sum of absolute errors. | |
| 465 | |
| 466 MSMS MV: It shows how well the masses of the MS/MS fit possible fragments of the candidate molecular formula. Again, the MS/MS MV is a value | |
| 467 between 0 and 1, whereby higher values reflect a better fit. | |
| 468 | |
| 469 combined MV: combined match value | |
| 470 | |
| 471 Example output: | |
| 472 | |
| 473 ======== === =========== ====== ======== ========= ======== | |
| 474 C4H9N3O2 2 132.07675 -0.8 96.674 100.000 96.674 | |
| 475 ======== === =========== ====== ======== ========= ======== | |
| 476 | |
| 477 **Advanced options** | |
| 478 | |
| 479 ... | |
| 480 | |
| 481 ]]></help> | |
| 482 | |
| 483 <citations> | |
| 484 <citation type="doi">10.3390/metabo3020440</citation> | |
| 485 <citation type="bibtex">@article{meringer2011ms, | |
| 486 title={MS/MS data improves automated determination of molecular formulas by mass spectrometry}, | |
| 487 author={Meringer, Markus and Reinker, Stefan and Zhang, Juan and Muller, Alban}, | |
| 488 journal={MATCH Commun. Math. Comput. Chem}, | |
| 489 volume={65}, | |
| 490 number={2}, | |
| 491 pages={259--290}, | |
| 492 year={2011} | |
| 493 }</citation> | |
| 494 </citations> | |
| 495 </tool> |
