Mercurial > repos > siwaa > grum
view tools_grum.xml @ 2:21c154989717 draft default tip
"planemo upload for repository https://forgemia.inra.fr/grum/grum/-/tree/master/siwaa_recipe/galaxy_tools commit b956f127cf3e2e20dda2bb2b93ce8925eea589ef"
author | siwaa |
---|---|
date | Wed, 10 Aug 2022 12:30:47 +0000 |
parents | 9c1c1c7f0e48 |
children |
line wrap: on
line source
<tool id="GRUM" name="GRUM parameters estimation" version="1.3.0"> <description>Estimate the values of parameters of the GRUM lifetime weight trajectories in livestock female model</description> <requirements> <container type="singularity">docker://registry.forgemia.inra.fr/grum/grum:1.3</container> </requirements> <command detect_errors="aggressive"> <![CDATA[ #if str( $selectAction.action ) == 'getDefaultInitial': #if str( $selectAction.mammalParamGet.choose ) == 'defaultGoat': cp '$__tool_directory__/default/goat_parameters.json' ${parameter_values_file_only}; #elif str( $selectAction.mammalParamGet.choose ) == 'defaultCow': cp '$__tool_directory__/default/cow_parameters.json' ${parameter_values_file_only}; #end if #elif str( $selectAction.action ) == 'estimateParameters': #if str( $selectAction.mammalParamSet.choose ) == 'defaultGoat': cp '$__tool_directory__/default/goat_parameters.json' mammal_parameters.json; #if str( $selectAction.do_output_parameterValues ) == 'do_output_parameterValues': cp '$__tool_directory__/default/goat_parameters.json' ${parameter_values_file}; #end if #elif str( $selectAction.mammalParamSet.choose ) == 'defaultCow': cp '$__tool_directory__/default/cow_parameters.json' mammal_parameters.json; #if str( $selectAction.do_output_parameterValues ) == 'do_output_parameterValues': cp '$__tool_directory__/default/cow_parameters.json' ${parameter_values_file}; #end if #elif str( $selectAction.mammalParamSet.choose ) == 'customMammal': cp ${selectAction.mammalParamSet.parameterValues_input} mammal_parameters.json; #if str( $selectAction.do_output_parameterValues ) == 'do_output_parameterValues': cp ${selectAction.mammalParamSet.parameterValues_input} ${parameter_values_file}; #end if #end if head -n 1 ${selectAction.litter_input} > litter.csv; head -n 1 ${selectAction.bw_input} > bw.csv; #for $id in $selectAction.ids grep $id ${selectAction.litter_input} >> litter.csv; grep $id ${selectAction.bw_input} >> bw.csv; #end for /bin/bash -c "Rscript --verbose /data/grum/siwaa_recipe/grum_siwaa.R litter.csv bw.csv ${selectAction.do_plot_fitted} mammal_parameters.json"; #if str( $selectAction.do_plot_fitted ) == 'do_plot_fitted': pdfunite mammal_*.pdf simulation_plots.pdf; cp simulation_plots.pdf ${simulation_plots}; #end if cp estimated_parameters.csv ${estimated_parameters}; #end if ]]> </command> <inputs> <conditional name="selectAction"> <param name="action" type="select" label="Select the action to perform"> <option value="estimateParameters" selected="true">estimate mammal parameters values</option> <option value="getDefaultInitial">get default mammal initial parameters initial values</option> </param> <when value="estimateParameters"> <param name="litter_input" type="data" format="csv" label="Litter file" optional="false"/> <param name="bw_input" type="data" format="csv" label="Body weight file" optional="false"/> <param name="ids" type="select" checked="true" optional="false" multiple="true" label="Select a set of mammals"> <options from_dataset="litter_input" separator=","> <column name="name" index="0"/> <column name="value" index="0"/> <filter type="unique_value" name="unique_param" column="0"/> <filter type="remove_value" value='"id"' /> </options> </param> <conditional name="mammalParamSet"> <param name="choose" type="select" label="Select the mammal parameters initial values"> <option value="defaultGoat" selected="true">default Goat parameters initiale values</option> <option value="defaultCow">default Cow parameters initial values</option> <option value="customMammal">custom Mammal parameters initial values</option> </param> <when value="customMammal"> <param name="parameterValues_input" type="data" format="json" label="Select a mammal parameters initial values file(json)"/> </when> <when value="defaultGoat"> </when> <when value="defaultCow"> </when> </conditional> <param name="do_plot_fitted" type="boolean" checked="true" label="Plot fitted" truevalue="do_plot_fitted" falsevalue="do_not_plot_fitted" /> <param name="do_output_parameterValues" type="boolean" checked="true" label="Output the parameter Values file" truevalue="do_output_parameterValues" falsevalue="do_not_outputParametersValues" /> </when> <when value="getDefaultInitial"> <conditional name="mammalParamGet"> <param name="choose" type="select" label="Select the mammal parameter values"> <option value="defaultGoat" selected="true">default Goat parameters initial values</option> <option value="defaultCow">default Cow parameters initial values</option> </param> <when value="defaultGoat"> </when> <when value="defaultCow"> </when> </conditional> </when> </conditional> </inputs> <outputs> <data format="csv" name="estimated_parameters" label="GRUM estimated parameters" > <filter>selectAction['action'] == 'estimateParameters'</filter> </data> <data format="pdf" name="simulation_plots" label="GRUM plots" > <filter>selectAction['action'] == 'estimateParameters' and selectAction['do_plot_fitted']</filter> </data> <data format="json" name="parameter_values_file_only" label="Parameters initial values" > <filter>selectAction['action'] == 'getDefaultInitial'</filter> </data> <data format="json" name="parameter_values_file" label="Parameters initial values" > <filter>selectAction['action'] == 'estimateParameters' and selectAction['do_output_parameterValues']</filter> </data> </outputs> <tests> <test> <conditional name="selectAction"> <param name="action" value="estimateParameters"/> </conditional> <param name="litter_input" value="inputs/Litter_test.csv" ftype="csv" /> <param name="bw_input" value="inputs/BW_test.csv" ftype="csv" /> <param name="ids" value='"2004029","2005115"' /> <conditional name="mammalParam"> <param name="choose" value="defaultGoat"/> </conditional> <param name="do_plot_fitted" value="true" /> <output name="estimated_parameters" ftype="csv"> <assert_contents> <has_line line=""ID","W0","G0","kr_1","kUa_1","kUf_1","kn_1","kmd_1","kr_2","kUa_2","kUf_2","kn_2","kmd_2"" /> <has_line_matching expression=""X2004029",.*" /> <has_line_matching expression=""X2005115",.*" /> <has_n_columns n="13" sep=","/> <has_n_lines n="3" /> </assert_contents> </output> </test> </tests> <help> Inputs: ======= - Litter for each mammal. - Sequence of body weight of mammals. - (optional) Initial parameter values for the estimation process, if the defaults available are not revelant. Outputs: ======== - Estimated parameters for each goat (csv file). - (optional) Plots of simulations with estimated parameters for each goat (pdf file). - (optional) Initial parameters values used for the estimation process (json file) Example: ======== - Copy to your history files BW_smalltable.csv and Litter_smalltable.csv from GRUM Datasets. - Select default initial parameter values set, or provide one. - Fill filenames and choose the adequate number of cores. - And then execute (it takes around 20 minutes per goat for estimation) </help> </tool>