Skip to content

Commit

Permalink
Add tracegroomer tool (#5898)
Browse files Browse the repository at this point in the history
* first commit to add tracegroomer

* add test-data files

* switched to configfile and general wrapper updates

* updated version

* compatibility with tracegroomer 0.1.3

* fixed linting and removed unused parameters

* replace with helge code

* add tracegroomer tool prequel of DIMet

* add tracegroomer tool prequel of DIMet

* add tracegroomer tool prequel of DIMet

* escape < in macros.xml

* remove unescaped < in macros.xml

* repair malformed table reStructuredText

* replace cp command by ln

* replace cp command by ln

* replace cp command by ln

* repair config file metadata entry

* add other modes for different input format

* add other modes for different input format

* add title for section

* repair test2 failed cause of bad isotopologue file

* remove title for section in help

* repair linting error due to duplicated labels

* add quote for path and fix test 4

* add missing test files

* complete help ds

* remove TOOLS_LABEL macro + Shorten tool description text + use boolean truevalue,falsevalue and argument attributes + repalce multiple if by if else

* remove argument attribute redudant with the name attribute

* remove argument attribute redudant with the name attribute

* Update tracegroomer.xml

* Update tools/tracegroomer/.shed.yml

---------

Co-authored-by: hechth <[email protected]>
Co-authored-by: Björn Grüning <[email protected]>
  • Loading branch information
3 people authored Mar 28, 2024
1 parent d87ac79 commit 6a049d6
Show file tree
Hide file tree
Showing 24 changed files with 2,855 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tools/tracegroomer/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
categories:
- Metabolomics
description: TraceGroomer is a solution for formatting and normalising Tracer metabolomics given file(s), to produce the .csv files which are ready for DIMet tool.
homepage_url: https://github.com/cbib/TraceGroomer
long_description: 'TraceGroomer is a solution for formatting and normalising Tracer metabolomics given file(s), to produce the .csv files which are ready for DIMet tool.'
owner: iuc
remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/Tracegroomer
type: unrestricted
auto_tool_repositories:
name_template: "{{ tool_id }}"
description_template: "Wrapper for Tracegroomer application {{ tool_name }}."
suite:
name: "suite_tracegroomer"
description: "TraceGroomer is a solution for formatting and normalising Tracer metabolomics given file(s), to produce the .tsv files which are ready for DIMet tool."
type: repository_suite_definition
109 changes: 109 additions & 0 deletions tools/tracegroomer/macros.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<macros>
<token name="@TOOL_VERSION@">0.1.3</token>
<token name="@VERSION_SUFFIX@">0</token>
<xml name="requirements">
<requirements>
<requirement type="package" version="@TOOL_VERSION@">tracegroomer</requirement>
</requirements>
</xml>
<xml name="input_datasets">
<param name="labeled_metabo_file" type="data" optional="false" format="tabular,xlsx" label="Labeled metabolomics file"/>
<param name="sample_metadata_path" type="data" format="tabular" label="sample metadata file" help="The metadata, a unique file with the description of the samples in your measures files. This is compulsory, see section Metadata File Information."/>
<param name="amount_material" type="data" optional="true" format="interval" label="amount material" help="Absolute path to the file having the amount of material by sample, for the normalization. This file must be a tab delimited file with exactly 2 columns with a header: the first column contains the original names of the samples, and the second column the numbers (tissue weight, number of cells, volume, etc)"/>
<param name="remove_these_metabolites" type="data" optional="true" format="interval" label="remove metabolites using this file" help="Absolute path to the tab delimited file with columns: compartment, metabolite. This file lists the metabolites to be completely excluded, compartment specific. Defining such exclusion list requires deep knowledge of the data by the user (measurements coherence/quality, etc)"/>
<conditional name="type_of_file">
<param name="type_of_file_selector" type="select" label="Choose which type of input file is used" help="One of the following: IsoCor_out_tsv|rule_tsv|VIBMEC_xlsx|generic_xlsx">
<option value="IsoCor_out_tsv" selected="true">isocor output file</option>
<option value="VIBMEC_xlsx">VIBMEC xlsx file</option>
<option value="generic_xlsx">generic xlsx file</option>
<option value="rule_tsv">rule tsv file</option>
</param>
<when value="IsoCor_out_tsv">
</when>
<when value="generic_xlsx">
<param name="sheetname" type="text" value="isotopologuesCorrValues" optional="false" label="name of the sheet containing the isotopologues corrected values" >
<sanitizer invalid_char="">
<valid initial="string.ascii_letters,string.digits">
<add value="_" />
</valid>
</sanitizer>
</param>
</when>
<when value="VIBMEC_xlsx">
<param name="raw_abundance_sheet_name" type="text" value="rawAbundances" optional="false" label="name of the sheet containing the raw abundances values" >
<sanitizer invalid_char="">
<valid initial="string.ascii_letters,string.digits">
<add value="_" />
</valid>
</sanitizer>
</param>
<param name="frac_contribution_sheet_name" type="text" value="FracContribution_C" optional="false" label="name of the sheet containing the mean enrichment values" >
<sanitizer invalid_char="">
<valid initial="string.ascii_letters,string.digits">
<add value="_" />
</valid>
</sanitizer>
</param>
<param name="corrected_isotopologues_sheet_name" type="text" value="CorrectedIsotopologues" optional="false" label="name of the sheet containing the isotopologues corrected values" >
<sanitizer invalid_char="">
<valid initial="string.ascii_letters,string.digits">
<add value="_" />
</valid>
</sanitizer>
</param>
</when>
<when value="rule_tsv">
<param name="variable_metadata_path" type="data" format="tabular" label="variable metadata file" help="The metadata, a unique file with the description of the samples in your measures files. This is compulsory, see section Metadata File Information."/>
<section name="columns_variable_metadata_description" title="variable metadata file columns description" expanded="false">
<param name="identifier" type="text" value="ID" optional="false" label="identifier of your metabolite in variable metadata file" >
<sanitizer invalid_char="">
<valid initial="string.ascii_letters,string.digits">
<add value="_" />
</valid>
</sanitizer>
</param>
<param name="compound" type="text" value="metabolite_name" optional="false" label="name of your metabolite in variable metadata file (formula is also accepted)" >
<sanitizer invalid_char="">
<valid initial="string.ascii_letters,string.digits">
<add value="_" />
</valid>
</sanitizer>
</param>
<param name="isotopologue_number" value="isotope_numeric" type="text" optional="false" label="isotopologue number in variable metadata file" >
<sanitizer invalid_char="">
<valid initial="string.ascii_letters,string.digits">
<add value="_" />
</valid>
</sanitizer>
</param>
</section>
</when>
</conditional>
</xml>
<xml name="advanced_options">
<section name="advanced_options" title="Advanced options" expanded="false">

<param name="alternative_div_amount_material" type="boolean" truevalue="--alternative_div_amount_material" falsevalue="" label="alternative isotopologues division by amount material" help="In the normalisation by the amount of material, not only the division of the given absolute values by these amounts is performed, but also the product of the resulting quotients and the averaged amount of material is computed"/>
<param name="div_isotopologues_by_amount_material" type="boolean" truevalue="--div_isotopologues_by_amount_material" falsevalue="" label="isotopologues by amount material" help="Apply normalization by the amount of material at the level of isotopologue absolute values. Immediately after this, and before any other computation, tracegroomer re-computes all derived (thus normalized) metrics"/>
<param name="isotopologues_preview" type="boolean" truevalue="--isotopologues_preview" falsevalue="" label="Plot isotopologue" help="Generate simple plots that give a general overview of the isotopologue proportions given by the user. Performs a scatter plot of the individual isotopologue proportions for all metabolites, as well as a plot of the sums of isotopologue proportions (the sum must be equal to 1 for each metabolite and sample)"/>
<param name="fractions_stomp_values" type="boolean" truevalue="--fractions_stomp_values" falsevalue="" label="Stomps fractional contributions" help="Stomps fractional contributions (synonym: mean enrichment), and isotopologue proportions, to max 1.0 and min 0.0"/>
<param name="subtract_blankavg" type="boolean" truevalue="--subtract_blankavg" falsevalue="" label="" help="from samples' abundances, subtracts the average of the blanks for all metabolites across all samples. Note that the Internal Standards are not subjected to this operation, as recommended by VIB platform"/>
<param name="under_detection_limit_set_nan" type="boolean" truevalue="--under_detection_limit_set_nan" falsevalue="" label="Limit Of Detection" help="The Limit Of Detection, LOD, corresponds to the averaged blanks abundance values, multiplied by three times the blanks standard deviation. By default, any value that is strictly inferior to its corresponding LOD, is converted into NaN"/>
<param name="use_internal_standard" type="text" optional="true" help="The name of the internal standard, which is a compound or metabolite that has been stated as reference signal. By providing this name, the normalization by the internal standard is automatically performed" label="internal standard" />
<param name="isosprop_min_admitted" type="float" min="-1.0" max="1.0" value="-0.5" label="isotopologues cutoff" help="Metabolites whose isotopologue proportions are less or equal to this cutoff, are removed"/>
</section>
</xml>
<xml name="citations">
<citations>
<citation type="bibtex">
@software{Galvis_Rodriguez_DIMet,
author = {Galvis Rodriguez, Johanna and Guyon, Joris and Dartigues, Benjamin and Specque, Florian and Daubon, Thomas and Karkar, Slim and Nikolski, Macha},
license = {MIT},
title = {{DIMet}},
url = {https://github.com/cbib/DIMet}
}
</citation>
</citations>

</xml>
</macros>
24 changes: 24 additions & 0 deletions tools/tracegroomer/test-data/Absolute_isotopologue_abundances.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
ID A_T0_endo-1 A_T0_endo-2 Cont_T0_endo-1 Cont_T0_endo-2 A_T24_endo-1 A_T24_endo-2 Cont_T24_endo-1 Cont_T24_endo-2 A_T0_exo-1 A_T0_exo-2 Cont_T0_exo-1 Cont_T0_exo-2 A_T24_exo-1 A_T24_exo-2 Cont_T24_exo-1 Cont_T24_exo-2
2-OHGLu_m+0 5550339.322 6072872.833 5893256.269 7454336.274 3855047.791 3216178.72 4066632.965 5550339.322 6072872.833 5893256.269 7454336.274 3855047.791 3216178.72 3102049.195 4066632.965
2-OHGLu_m+1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2-OHGLu_m+2 62163.30727 108839.8963 9976.217534 53035.94662 3114533.603 2691689.195 1611494.416 62163.30727 108839.8963 9976.217534 53035.94662 3114533.603 2691689.195 1845577.773 1611494.416
2-OHGLu_m+3 33950.03875 57015.80123 16218.60873 34068.8323 964673.6406 804919.6602 479959.6627 33950.03875 57015.80123 16218.60873 34068.8323 964673.6406 804919.6602 474922.8927 479959.6627
2-OHGLu_m+4 31513.15643 43506.47502 18965.84568 23046.25122 5436469.924 4706821.45 2732129.436 31513.15643 43506.47502 18965.84568 23046.25122 5436469.924 4706821.45 3200529.756 2732129.436
2-OHGLu_m+5 27688.74195 43567.73063 0.0 17896.32501 2769721.539 2302254.26 1298081.886 27688.74195 43567.73063 0.0 17896.32501 2769721.539 2302254.26 1488534.123 1298081.886
2_3-PG_m+0 206171.4626 285834.0353 298441.8262 268050.3636 36413.27637 27367.17784 26381.30429 23698.7623 206171.4626 285834.0353 298441.8262 268050.3636 36413.27637 27367.17784 26381.30429 23698.7623
2_3-PG_m+1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2_3-PG_m+2 133780.182 161461.2364 200778.0533 197229.6694 182631.3947 132170.3807 146120.9923 89966.23931 133780.182 161461.2364 200778.0533 197229.6694 182631.3947 132170.3807 146120.9923 89966.23931
2_3-PG_m+3 8358749.348 10271010.45 11787744.65 11554464.86 10505228.3 8376820.028 9033424.374 6122480.462 8358749.348 10271010.45 11787744.65 11554464.86 10505228.3 8376820.028 9033424.374 6122480.462
6-PG_m+0 309932.3475 342540.1698 253560.3827 242260.6594 101608.1805 84940.35902 85240.79781 67359.24717 309932.3475 342540.1698 253560.3827 242260.6594 101608.1805 84940.35902 85240.79781 67359.24717
6-PG_m+1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
6-PG_m+2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
6-PG_m+3 7664.136895 8906.391308 0.0 0.0 0.0 0.0 0.0 0.0 7664.136895 8906.391308 0.0 0.0 0.0 0.0 0.0 0.0
6-PG_m+4 11950.01113 11674.22491 9922.705217 15475.23458 45346.04708 36334.93958 34524.35854 26037.70094 11950.01113 11674.22491 9922.705217 15475.23458 45346.04708 36334.93958 34524.35854 26037.70094
6-PG_m+5 520904.6672 608128.1002 405342.3913 815587.5165 2390706.721 1802278.633 1807036.326 1207909.718 520904.6672 608128.1002 405342.3913 815587.5165 2390706.721 1802278.633 1807036.326 1207909.718
6-PG_m+6 7423820.948 8341569.748 5394323.444 7384800.665 15231875.3 12525321.98 11279297.92 8040213.605 7423820.948 8341569.748 5394323.444 7384800.665 15231875.3 12525321.98 11279297.92 8040213.605
a-KG_m+0 441807.2042 612669.4773 552526.6043 482434.0877 1476617.063 1056307.521 572619.741 546375.578 441807.2042 612669.4773 552526.6043 482434.0877 1476617.063 1056307.521 572619.741 546375.578
a-KG_m+1 6581.125045 12456.03716 0.0 2085.213699 77677.31383 46821.38405 28170.23998 32113.8241 6581.125045 12456.03716 0.0 2085.213699 77677.31383 46821.38405 28170.23998 32113.8241
a-KG_m+2 70778.42058 118643.5176 46309.55877 54983.84668 1907292.33 1596531.466 636158.2851 415566.8382 70778.42058 118643.5176 46309.55877 54983.84668 1907292.33 1596531.466 636158.2851 415566.8382
a-KG_m+3 22143.37798 32170.99354 13728.65106 12489.92256 623361.4049 483118.3355 149649.632 103268.9093 22143.37798 32170.99354 13728.65106 12489.92256 623361.4049 483118.3355 149649.632 103268.9093
a-KG_m+4 21225.1587 33085.30969 9561.259531 10809.82522 3267732.931 2762185.304 1099424.672 647876.2431 21225.1587 33085.30969 9561.259531 10809.82522 3267732.931 2762185.304 1099424.672 647876.2431
a-KG_m+5 0.0 0.0 0.0 0.0 1721462.381 1381372.254 489385.3877 299919.5187 0.0 0.0 0.0 0.0 1721462.381 1381372.254 489385.3877 299919.5187
39 changes: 39 additions & 0 deletions tools/tracegroomer/test-data/AbundanceCorrected.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
ID T0_A_1 T0_A_2 T24_A_1 T24_A_2
2_3-PG 8698700.9926 10718305.7217 10724272.97107 8536357.58654
2-OHGLu 5705654.5664 6325802.73618 16140446.4976 13721863.2852
6-PG 8274272.110725 9312818.634218 17769536.24858 14448875.911600001
a-KG 562535.286505 809025.3352900001 9074143.42373 7326336.2645499995
Cit 6104076.527709001 6622207.696758 17362710.7065 15099558.4283
Fru6P 4798767.932639999 4513233.6544699995 4837930.1953 3290337.21892
FruBP 38638958.584489994 35926915.2997 15919121.42811 12742908.812899
Fru1P 8649509.40162 9221146.82622 7263530.71345 6382941.54406
Fum 849934.584649 1331932.8614599998 2536771.76908 2002385.5281600002
Glc6P 1371473.29828 1417858.38996 2378469.26438 1566613.8815600001
Gly3P 2279532.84135 1472280.30519 2323362.4118999997 1159698.9703000002
IsoCit 686751.7917999999 765537.5006919999 1173628.11465 958226.4224050001
Mal 16359379.550800001 21696115.306900002 30979835.452200003 28483388.116600007
P5P 1622226.252397 2101779.62568 4042496.89333 2745142.88324
PEP 372560.40297 389149.56301800004 901546.463227 300696.507413
PRPP 3265374.30386 1403175.78537 4685589.198954 1127901.1055990001
Pyr 8072604.6678 5417572.18565 19414603.972400002 10572949.759383999
Rib1P 506931.49994 515317.83285 1058757.54637 600209.415023
Sed7P 405451.02691599994 404632.682093 4256316.13784 3311139.573476
Suc 16696697.2474 24960174.386 15430602.704 19913145.336999997
ADP 34025169.109877 37691400.360171005 37723605.076560006 32519284.07825
AMP 9565403.92 9556049.635 7405683.36312 5000743.872590001
ATP 41541098.171906 28333872.96799 43782778.395509996 24613580.795915
CDP 3658703.167 4549519.711 2782262.726477 2433762.26766
CMP 2104346.331 1898991.26 1261049.8005600001 716871.07791
CTP 11009149.04 9279476.88 9892652.365619998 6630162.09119
GDP 9123811.404098999 9618774.8438531 9949031.84874 7448744.72431
GMP 1040843.97418 983805.82424 955450.71251 624256.36527
GTP 12846360.211278 8724055.649473 11838142.32576 4862598.134269999
UDP 19095395.197940003 22041850.9617 26939623.55273 25193602.076109998
UMP 29113743.746113002 27845070.620795995 31071457.37046 23274629.08901
UTP 37904488.04698 32947660.03249 41928292.11218999 30037598.8316
Glutamate 8642056.8426 17149266.2103 47245553.7829 42301398.0359
Alanine 26433669.23424036 29757276.54221551 114131556.02470112 105304217.6372259
Aspartate 4153600.4715071535 23560016.546284568 20479103.26962672 28642684.62216362
Glutamine 15391319.615471464 49113624.6255005 35714798.47397325 26092787.779812228
Glycine 354765284.35181 292769623.48668975 574309132.522843 468271969.5574398
Serine 773712972.5683433 1423520249.5635524 1965385721.033115 1753994669.6276615
Loading

0 comments on commit 6a049d6

Please sign in to comment.