Mercurial > repos > prog > lcmsmatching
comparison lcmsmatching.xml @ 1:253d531a0193 draft
planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit 36c9d8099c20a1ae848f1337c16564335dd8fb2b
| author | prog |
|---|---|
| date | Sat, 03 Sep 2016 17:02:01 -0400 |
| parents | e66bb061af06 |
| children | 20d69a062da3 |
comparison
equal
deleted
inserted
replaced
| 0:e66bb061af06 | 1:253d531a0193 |
|---|---|
| 1 <tool id="lcmsmatching" name="LC/MS matching" version="2.1.3"> | 1 <tool id="lcmsmatching" name="LC/MS matching" version="3.0"> |
| 2 | 2 |
| 3 <description>Matching of mz/rt values onto local reference compound database.</description> | 3 <description>Annotation of MS peaks using matching on a spectra database.</description> |
| 4 | 4 |
| 5 <requirements> | 5 <requirements> |
| 6 <requirement type="package" version="3.2.2">R</requirement> | 6 <requirement type="package" version="3.2.2">R</requirement> |
| 7 <requirement type="package" version="1.20.0">r-getopt</requirement> | 7 <requirement type="package" version="1.20.0">r-getopt</requirement> |
| 8 <requirement type="package" version="1.0.0">r-stringr</requirement> | 8 <requirement type="package" version="1.0.0">r-stringr</requirement> |
| 9 <requirement type="package" version="1.8.3">r-plyr</requirement> | 9 <requirement type="package" version="1.8.3">r-plyr</requirement> |
| 10 <requirement type="package" version="3.98">r-xml</requirement> | 10 <requirement type="package" version="3.98">r-xml</requirement> |
| 11 <requirement type="package" version="1.0_6">r-bitops</requirement> | |
| 12 <requirement type="package" version="1.95">r-rcurl</requirement> | |
| 13 <requirement type="package" version="1.3">r-rjsonio</requirement> | |
| 11 </requirements> | 14 </requirements> |
| 15 | |
| 16 <code file="list-chrom-cols.py"/> | |
| 12 | 17 |
| 13 <!--~~~~~~~ | 18 <!--~~~~~~~ |
| 14 ~ COMMAND ~ | 19 ~ COMMAND ~ |
| 15 ~~~~~~~~--> | 20 ~~~~~~~~--> |
| 16 | 21 |
| 17 <command><![CDATA[ | 22 <command> |
| 23 <![CDATA[ | |
| 24 ## @@@BEGIN_CHEETAH@@@ | |
| 18 $__tool_directory__/search-mz -i "$mzrtinput" | 25 $__tool_directory__/search-mz -i "$mzrtinput" |
| 19 | 26 |
| 20 ## Database | 27 ## Database |
| 21 -d file --url "$dbfile" | 28 #if $db.dbtype == "inhouse" |
| 29 -d file | |
| 30 --db-fields "$db.dbfields" | |
| 31 --db-ms-modes "$db.dbmsmodes" | |
| 32 #end if | |
| 33 #if $db.dbtype == "peakforest" | |
| 34 -d peakforest | |
| 35 --db-token "$db.dbtoken" | |
| 36 #end if | |
| 37 --url "$db.dburl" | |
| 22 | 38 |
| 23 ## M/Z matching | 39 ## M/Z matching |
| 24 -m $mzmode -p $mzprec -s $mzshift | 40 -m $mzmode -p $mzprec -s $mzshift |
| 25 | 41 |
| 26 ## Precursor matching | 42 ## Precursor matching |
| 27 #if $prec.match == "true" | 43 #if $prec.match == "true" |
| 28 --precursor-match --pos-prec "$prec.pos" --neg-prec "$prec.neg" | 44 --precursor-match --pos-prec "$prec.pos" --neg-prec "$prec.neg" |
| 29 #end if | 45 #end if |
| 30 #if $prec.match == "true" and $rt.match == "true" | 46 #if $prec.match == "true" and $chromcols: |
| 31 --precursor-rt-tol $rt.tolz | 47 --precursor-rt-tol $tolz |
| 32 #end if | 48 #end if |
| 33 | 49 |
| 34 ## Chromatographic columns options and retention matching | 50 ## Chromatographic columns options and retention matching |
| 35 #if $rt.match == "true" and $rt.cols.all == "true" | 51 #if $chromcols: |
| 36 --all-cols --rttolx $rt.tolx --rttoly $rt.toly | 52 -c "$chromcols" --check-cols --rttolx $tolx --rttoly $toly |
| 37 #end if | |
| 38 #if $rt.match == "true" and $rt.cols.all == "false" and $rt.cols.list != "" | |
| 39 -c "$rt.cols.list" --check-cols --rttolx $rt.tolx --rttoly $rt.toly | |
| 40 #end if | 53 #end if |
| 41 | 54 |
| 42 ## Table outputs | 55 ## Table outputs |
| 43 -o "$mainoutput" --peak-output-file "$peaksoutput" --same-rows --same-cols | 56 -o "$mainoutput" --peak-output-file "$peaksoutput" --same-rows --same-cols |
| 44 | 57 |
| 45 ## HTML output | 58 ## HTML output |
| 46 --html-output-file "$htmloutput" --no-main-table-in-html-output | 59 --html-output-file "$htmloutput" --no-main-table-in-html-output |
| 47 | 60 |
| 48 ## Fields | 61 ## Fields of input file |
| 49 --input-col-names "$inputfields" | 62 --input-col-names "$inputfields" |
| 50 --db-fields "$dbfields" | |
| 51 --db-ms-modes "$dbmsmodes" | |
| 52 | 63 |
| 53 ## Ouput setting | 64 ## Ouput setting |
| 54 #if $out.enabled == "true" | 65 #if $out.enabled == "true" |
| 55 --output-col-names "$out.outputfields" | 66 --output-col-names "$out.outputfields" |
| 56 --molids-sep "$out.molidssep" | 67 --molids-sep "$out.molidssep" |
| 57 #else | 68 #else |
| 58 --molids-sep "|" | 69 --molids-sep "|" |
| 59 #end if | 70 #end if |
| 60 | 71 ## @@@END_CHEETAH@@@ |
| 61 ]]></command> | 72 ]]></command> |
| 62 | 73 |
| 63 <!--~~~~~~ | 74 <!--~~~~~~ |
| 64 ~ INPUTS ~ | 75 ~ INPUTS ~ |
| 65 ~~~~~~~--> | 76 ~~~~~~~--> |
| 66 | 77 |
| 67 <inputs> | 78 <inputs> |
| 68 | 79 |
| 69 <!-- DATABASE --> | 80 <!-- DATABASE --> |
| 70 | 81 |
| 71 <!-- Database file --> | 82 <conditional name="db"> |
| 72 <param name="dbfile" label="Database file" type="data" format="tabular" help="Decimal: '.', missing: NA, mode: character and numerical, sep: tabular. Retention time values must be in seconds."/> | 83 |
| 73 | 84 <param name="dbtype" label="Database" type="select" refresh_on_change="true"> |
| 74 <!-- File database field names --> | 85 <option value="inhouse">In-house</option> |
| 75 <param name="dbfields" label="File database column names" type="text" size="256" value="mztheo=mztheo,colrt=colrt,molid=molid,col=col,mode=mode,attr=attr,comp=comp,molnames=molnames,molcomp=molcomp,molmass=molmass,inchi=inchi,inchikey=inchikey,pubchem=pubchem,chebi=chebi,hmdb=hmdb,kegg=kegg" help=""/> | 86 <option value="peakforest">Peakforest</option> |
| 76 | 87 </param> |
| 77 <!-- File database MS modes --> | 88 |
| 78 <param name="dbmsmodes" label="File database MS modes" type="text" size="32" value="pos=POS,neg=NEG" help=""/> | 89 <when value="inhouse"> |
| 90 <!-- Database file --> | |
| 91 <param name="dburl" label="Database file" type="data" format="tabular,tsv" refresh_on_change="true" help="Decimal: '.', missing: NA, mode: character and numerical, sep: tabular. Retention time values must be in seconds."/> | |
| 92 | |
| 93 <!-- File database field names --> | |
| 94 <param name="dbfields" label="File database column names" type="text" size="256" value="mztheo=mztheo,colrt=colrt,molid=molid,col=col,mode=mode,attr=attr,comp=comp,molnames=molnames,molcomp=molcomp,molmass=molmass,inchi=inchi,inchikey=inchikey,pubchem=pubchem,chebi=chebi,hmdb=hmdb,kegg=kegg" refresh_on_change="true" help=""/> | |
| 95 | |
| 96 <!-- File database MS modes --> | |
| 97 <param name="dbmsmodes" label="File database MS modes" type="text" size="32" value="pos=POS,neg=NEG" help=""/> | |
| 98 | |
| 99 <param name="dbtoken" type="text" size="32" value="" hidden="true"/> | |
| 100 </when> | |
| 101 | |
| 102 <when value="peakforest"> | |
| 103 <param name="dburl" type="text" size="128" value="https://peakforest-alpha.inra.fr/rest" refresh_on_change="true"/> | |
| 104 | |
| 105 <param name="dbtoken" label="Peakforest security token" type="text" size="32" value="" refresh_on_change="true" help="If you do not have yet a Peakforest token, go to Peakforest website and request one from your account."/> | |
| 106 | |
| 107 <param name="dbfields" type="text" size="32" value="" hidden="true"/> | |
| 108 </when> | |
| 109 </conditional> | |
| 79 | 110 |
| 80 <!-- INPUT --> | 111 <!-- INPUT --> |
| 81 | 112 |
| 82 <!-- Input file --> | 113 <!-- Input file --> |
| 83 <param name="mzrtinput" label="Input file - MZ(/RT) values" type="data" format="tabular" help="Decimal: '.', missing: NA, mode: character and numerical, sep: tabular. RT values must be in seconds."/> | 114 <param name="mzrtinput" label="Input file - MZ(/RT) values" type="data" format="tabular,tsv" help="Decimal: '.', missing: NA, mode: character and numerical, sep: tabular. RT values must be in seconds."/> |
| 84 | 115 |
| 85 <!-- Input field names --> | 116 <!-- Input field names --> |
| 86 <param name="inputfields" label="Input file column names" type="text" size="32" value="mz=mzmed,rt=rtmed" help=""/> | 117 <param name="inputfields" label="Input file column names" type="text" size="32" value="mz=mzmed,rt=rtmed" help=""/> |
| 87 | 118 |
| 88 <!-- M/Z MATCHING --> | 119 <!-- M/Z MATCHING --> |
| 89 <!-- <conditional name="mz"> | 120 |
| 90 | 121 <!-- Mode --> |
| 91 <param name="enabled" label="M/Z matching" type="select"> | 122 <param name="mzmode" label="MS mode" type="select" display="radio" multiple="false" help=""> |
| 92 <option value="true">Show</option> | 123 <option value="pos">Positive</option> |
| 93 <option value="false">Hide</option> | 124 <option value="neg">Negative</option> |
| 94 </param> | 125 </param> |
| 95 | 126 |
| 96 <when value="true">--> | 127 <!-- MZ matching parameters --> |
| 97 <!-- Mode --> | 128 <param name="mzprec" label="M/Z precision (in ppm)" type="float" help="" value="5"/> |
| 98 <param name="mzmode" label="MS mode" type="select" display="radio" multiple="false" help=""> | 129 <param name="mzshift" label="M/Z shift (in ppm)" type="float" help="" value="0"/> |
| 99 <option value="pos">Positive</option> | |
| 100 <option value="neg">Negative</option> | |
| 101 </param> | |
| 102 | |
| 103 <!-- MZ matching parameters --> | |
| 104 <param name="mzprec" label="M/Z precision (in ppm)" type="float" help="" value="5"/> | |
| 105 <param name="mzshift" label="M/Z shift (in ppm)" type="float" help="" value="0"/> | |
| 106 <!--</when> | |
| 107 <when value="false"></when> | |
| 108 </conditional>--> | |
| 109 | 130 |
| 110 <!-- RETENTION TIME PARAMETERS --> | 131 <!-- RETENTION TIME PARAMETERS --> |
| 111 <conditional name="rt"> | 132 |
| 112 | 133 <!-- List of chromatographic columns --> |
| 113 <param name="match" label="Retention time match" type="select"> | 134 <param name="chromcols" type="select" label="Chromatographic columns" multiple="true" dynamic_options="get_chrom_cols(dbtype = db['dbtype'], dburl = db['dburl'], dbtoken = db['dbtoken'], dbfields = db['dbfields'])" help="Select here the set of chromatographic columns against which the retention time matching will be run."/> |
| 114 <option value="false">Off</option> | 135 |
| 115 <option value="true">On</option> | 136 <!-- Tolerances --> |
| 116 </param> | 137 <param name="tolx" label="RTX retention time tolerance, parameter x (in seconds)" type="float" help="" value="5"/> |
| 117 | 138 <param name="toly" label="RTY retention time tolerance, parameter y" type="float" help="" value="0.8"/> |
| 118 <when value="false"></when> | 139 <param name="tolz" label="RTZ retention time tolerance, used when precursor matching is enabled." type="float" help="" value="5"/> |
| 119 <when value="true"> | |
| 120 <!-- Columns --> | |
| 121 <conditional name="cols"> | |
| 122 <param name="all" label="All chromatographic columns" type="select"> | |
| 123 <option value="true">Yes</option> | |
| 124 <option value="false">No</option> | |
| 125 </param> | |
| 126 <when value="true"></when> | |
| 127 <when value="false"> | |
| 128 <param name="list" label="Chromatographic columns" type="text" size="64" value="" help="Set here the list of chromatographic columns against which the retention time matching will be run. This is a comma separated list of the column names as used instead the database file."/> | |
| 129 </when> | |
| 130 </conditional> | |
| 131 | |
| 132 <!-- Tolerances --> | |
| 133 <param name="tolx" label="RTX retention time tolerance, parameter x (in seconds)" type="float" help="" value="5"/> | |
| 134 <param name="toly" label="RTY retention time tolerance, parameter y" type="float" help="" value="0.8"/> | |
| 135 <param name="tolz" label="RTZ retention time tolerance, used when precursor matching is enabled." type="float" help="" value="5"/> | |
| 136 </when> | |
| 137 </conditional> | |
| 138 | 140 |
| 139 <!-- PRECURSOR MATCH --> | 141 <!-- PRECURSOR MATCH --> |
| 140 <conditional name="prec"> | 142 <conditional name="prec"> |
| 141 | 143 |
| 142 <param name="match" label="Precursor match" type="select"> | 144 <param name="match" label="Precursor match" type="select"> |
| 219 ~ TESTS ~ | 221 ~ TESTS ~ |
| 220 ~~~~~~--> | 222 ~~~~~~--> |
| 221 | 223 |
| 222 <tests> | 224 <tests> |
| 223 | 225 |
| 224 <!-- Simple quick test --> | 226 <!-- File database test --> |
| 225 <test> | 227 <test> |
| 226 <param name="dbfile" value="filedb.tsv"/> | 228 <param name="dbtype" value="inhouse"/> |
| 229 <param name="dburl" value="filedb.tsv"/> | |
| 230 <param name="dbfields" value=""/> | |
| 231 <param name="dbmsmodes" value=""/> | |
| 227 <param name="mzrtinput" value="mz-input-small.tsv"/> | 232 <param name="mzrtinput" value="mz-input-small.tsv"/> |
| 228 <param name="inputfields" value=""/> | 233 <param name="inputfields" value=""/> |
| 229 <param name="dbfields" value=""/> | |
| 230 <param name="dbmsmodes" value=""/> | |
| 231 <param name="mzmode" value="pos"/> | 234 <param name="mzmode" value="pos"/> |
| 232 <output name="mainoutput" file="filedb-small-mz-match-output.tsv"/> | 235 <output name="mainoutput" file="filedb-small-mz-match-output.tsv"/> |
| 233 <output name="peaksoutput" file="filedb-small-mz-match-peaks-output.tsv"/> | 236 <output name="peaksoutput" file="filedb-small-mz-match-peaks-output.tsv"/> |
| 234 <output name="htmloutput" file="filedb-small-mz-match-html-output.html"/> | 237 <output name="htmloutput" file="filedb-small-mz-match-html-output.html"/> |
| 235 </test> | 238 </test> |
| 239 | |
| 240 <!-- File database test --> | |
| 241 <!-- | |
| 242 <test> | |
| 243 <param name="dbtype" value="peakforest"/> | |
| 244 <param name="dbtoken" value="@PEAKFOREST_TOKEN@"/> | |
| 245 <param name="mzrtinput" value="mz-input-small.tsv"/> | |
| 246 <param name="inputfields" value=""/> | |
| 247 <param name="mzmode" value="pos"/> | |
| 248 <output name="mainoutput"> | |
| 249 <assert_contents> | |
| 250 <has_text text="mz"/> | |
| 251 </assert_contents> | |
| 252 </output> | |
| 253 </test> | |
| 254 --> | |
| 236 </tests> | 255 </tests> |
| 237 | 256 |
| 238 <!--~~~~ | 257 <!--~~~~ |
| 239 ~ HELP ~ | 258 ~ HELP ~ |
| 240 ~~~~~--> | 259 ~~~~~--> |
| 244 | 263 |
| 245 ============== | 264 ============== |
| 246 LC/MS matching | 265 LC/MS matching |
| 247 ============== | 266 ============== |
| 248 | 267 |
| 249 This tool performs LC/MS matching on an input list of MZ/RT values, using a provided single file database. | 268 This tool performs LC/MS matching on an input list of MZ/RT values, using either a provided in-house single file database or a connection to Peakforest database. |
| 269 | |
| 270 -------- | |
| 271 Database | |
| 272 -------- | |
| 273 | |
| 274 When selecting the database, you have the choice between a Peakforest database or an in-house file. | |
| 275 | |
| 276 For the Peakforest database, a default REST web base address is already provided. But you can change it of you want to use a custom database. A field is also available for setting a token key in case the access to the Peakforest database you want to use is restricted. This is the case of the default database. | |
| 277 | |
| 278 For the in-house file, please refer to the paragraph "Single file database" below. | |
| 250 | 279 |
| 251 ----------- | 280 ----------- |
| 252 Input files | 281 Input files |
| 253 ----------- | 282 ----------- |
| 254 | 283 |
