Mercurial > repos > greg > insect_phenology_model
diff insect_phenology_model.xml @ 112:bcb12b7e8563 draft
Uploaded
| author | greg |
|---|---|
| date | Tue, 29 May 2018 09:00:25 -0400 |
| parents | 1e28f7f61bb0 |
| children | bb61458966df |
line wrap: on
line diff
--- a/insect_phenology_model.xml Tue Feb 13 13:47:32 2018 -0500 +++ b/insect_phenology_model.xml Tue May 29 09:00:25 2018 -0400 @@ -4,57 +4,229 @@ <requirement type="package" version="1.4.4">r-optparse</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ +#import os +#set output_data_dir = "output_data_dir" +#set output_plots_dir = "output_plots_dir" +#set error_file = $os.path.join($output_data_dir, "04_combined_generations.csv") +#set life_stages = list() +#set plot_adult_life_stage = $plot_adult_life_stage_cond.plot_adult_life_stage +#set plot_nymph_life_stage = $plot_nymph_life_stage_cond.plot_nymph_life_stage +#if str($plot_egg_life_stage) == "yes": + $life_stages.append("Egg") +#end if +#if str($plot_nymph_life_stage) == "yes": + $life_stages.append("Nymph") +#end if +#if str($plot_adult_life_stage) == "yes": + $life_stages.append("Adult") +#end if +#if str($plot_egg_life_stage) == "yes" and str($plot_nymph_life_stage) == "yes" and str($plot_adult_life_stage) == "yes": + $life_stages.append("Total") +#end if +#set life_stages = ",".join($life_stages) +mkdir output_data_dir && +mkdir output_plots_dir && Rscript '$__tool_directory__/insect_phenology_model.R' --adult_mortality $adult_mortality --adult_accumulation $adult_accumulation --egg_mortality $egg_mortality ---input '$input' +#if str($merge_ytd_temperature_data_cond.merge_ytd_temperature_data) == "yes": + --input_ytd '$merge_ytd_temperature_data_cond.input_ytd' + --location '$merge_ytd_temperature_data_cond.location' + --num_days_ytd $merge_ytd_temperature_data_cond.input_ytd.metadata.data_lines +#end if +--input_norm '$input_norm' --insect '$insect' --insects_per_replication $insects_per_replication ---location '$location' +--life_stages '$life_stages' +#if str($plot_adult_life_stage) == "yes": + --life_stages_adult '$plot_adult_life_stage_cond.life_stages_adult' +#end if +#if str($plot_nymph_life_stage) == "yes": + --life_stages_nymph '$plot_nymph_life_stage_cond.life_stages_nymph' +#end if --max_clutch_size $max_clutch_size --min_clutch_size $min_clutch_size --nymph_mortality $nymph_mortality ---num_days $input.metadata.data_lines --old_nymph_accumulation $old_nymph_accumulation ---output '$output' --oviposition $oviposition --photoperiod $photoperiod --replications $replications ---std_error_plot $std_error_plot ---young_nymph_accumulation $young_nymph_accumulation]]></command> +--plot_generations_separately $plot_generations_separately +--plot_std_error $plot_std_error +--young_nymph_accumulation $young_nymph_accumulation +&>ipm_log.txt; +if [[ $? -ne 0 ]]; then + cp ipm_log.txt '$error_file'; + exit 1; +fi]]></command> <inputs> - <param name="input" type="data" format="csv" label="Temperature data" /> - <param name="location" type="text" value="" optional="false" label="Location" /> + <param name="input_norm" type="data" format="csv" label="30 year normals temperature data"> + <validator type="expression" message="30 year normals temperature data must have 10 columns and 366 rows">value is not None and value.metadata.columns==10 and value.metadata.data_lines==366</validator> + </param> + <conditional name="merge_ytd_temperature_data_cond"> + <param name="merge_ytd_temperature_data" type="select" label="Merge year-to-date temperature data with 30 year normals temperature data?"> + <option value="yes" selected="true">Yes</option> + <option value="no">No</option> + </param> + <when value="yes"> + <param name="input_ytd" type="data" format="csv" label="Year-to-date temperature data"> + <validator type="expression" message="Year-to-date temperature data must have 6 columns">value is not None and value.metadata.columns==6</validator> + </param> + <param name="location" type="text" value="" optional="true" label="Location" help="Enter the location or leave blank to use the station name from 30 year normals data."/> + </when> + <when value="no"/> + </conditional> <param name="insect" type="select" label="Select insect"> - <option value="Brown Marmorated Stink Bug" selected="True">Brown Marmorated Stink Bug</option> + <option value="BMSB" selected="True">Brown Marmorated Stink Bug</option> </param> - <param name="replications" type="integer" value="10" min="1" label="Number of replications" /> - <param name="insects_per_replication" type="integer" value="1000" min="1" label="Number of insects with which to start each replication" /> - <param name="photoperiod" type="float" value="13.5" min="0" label="Critical photoperiod for diapause induction/termination" /> - <param name="egg_mortality" type="integer" value="1" min="0" label="Adjustment rate for egg mortality" /> - <param name="nymph_mortality" type="integer" value="1" min="0" label="Adjustment rate for nymph mortality" /> - <param name="adult_mortality" type="integer" value="1" min="0" label="Adjustment rate for adult mortality" /> - <param name="oviposition" type="integer" value="1" min="0" label="Adjustment oviposition rate" /> - <param name="min_clutch_size" type="integer" value="0" min="0" label="Adjustment of minimum clutch size" /> - <param name="max_clutch_size" type="integer" value="0" min="0" label="Adjustment of maximum clutch size" /> - <param name="young_nymph_accumulation" type="integer" value="0" min="0" label="Adjustment of degree-days accumulation (egg->young nymph)" /> - <param name="old_nymph_accumulation" type="integer" value="0" min="0" label="Adjustment of degree-days accumulation (young nymph->old nymph)" /> - <param name="adult_accumulation" type="integer" value="0" min="0" label="Adjustment of degree-days accumulation (old nymph->adult)" /> - <param name="std_error_plot" type="select" label="Plot standard error?"> - <option value="1" selected="True">Yes</option> - <option value="0">No</option> + <param name="replications" type="integer" value="10" min="2" label="Number of replications"/> + <param name="insects_per_replication" type="integer" value="1000" min="1" label="Number of insects with which to start each replication"/> + <param name="photoperiod" type="float" value="13.5" min="0" label="Critical photoperiod for diapause induction/termination"/> + <param name="egg_mortality" type="integer" value="1" min="0" label="Adjustment rate for egg mortality"/> + <param name="nymph_mortality" type="integer" value="1" min="0" label="Adjustment rate for nymph mortality"/> + <param name="adult_mortality" type="integer" value="1" min="0" label="Adjustment rate for adult mortality"/> + <param name="oviposition" type="integer" value="1" min="0" label="Adjustment oviposition rate"/> + <param name="min_clutch_size" type="integer" value="0" min="0" label="Adjustment of minimum clutch size"/> + <param name="max_clutch_size" type="integer" value="0" min="0" label="Adjustment of maximum clutch size"/> + <param name="young_nymph_accumulation" type="integer" value="0" min="0" label="Adjustment of degree-days accumulation (egg->young nymph)"/> + <param name="old_nymph_accumulation" type="integer" value="0" min="0" label="Adjustment of degree-days accumulation (young nymph->old nymph)"/> + <param name="adult_accumulation" type="integer" value="0" min="0" label="Adjustment of degree-days accumulation (old nymph->adult)"/> + <param name="plot_generations_separately" type="select" label="Plot generations separately?"> + <option value="yes" selected="True">Yes</option> + <option value="no">No</option> + </param> + <param name="plot_egg_life_stage" type="select" label="Plot egg life stage?"> + <option value="yes" selected="true">Yes</option> + <option value="no">No</option> + </param> + <conditional name="plot_nymph_life_stage_cond"> + <param name="plot_nymph_life_stage" type="select" label="Plot nymph life stage?"> + <option value="yes" selected="true">Yes</option> + <option value="no">No</option> + </param> + <when value="yes"> + <param name="life_stages_nymph" type="select" multiple="true" label="Select nymph life stage"> + <option value="Total" selected="true">All</option> + <option value="Young">Young</option> + <option value="Old">Old</option> + </param> + </when> + <when value="no"/> + </conditional> + <conditional name="plot_adult_life_stage_cond"> + <param name="plot_adult_life_stage" type="select" label="Plot adult life stage?"> + <option value="yes" selected="true">Yes</option> + <option value="no">No</option> + </param> + <when value="yes"> + <param name="life_stages_adult" type="select" multiple="true" label="Select adult life stage"> + <option value="Total" selected="true">All</option> + <option value="Pre-vittelogenic">Pre-vittelogenic</option> + <option value="Vittelogenic">Vittelogenic</option> + <option value="Diapausing">Diapausing</option> + </param> + </when> + <when value="no"/> + </conditional> + <param name="plot_std_error" type="select" label="Plot standard error?"> + <option value="yes" selected="True">Yes</option> + <option value="no">No</option> </param> </inputs> <outputs> - <data name="output" format="pdf" label="${tool.name} ${location}, on ${on_string}" /> + <collection name="output_data_collection" type="list" label="${tool.name} (data), on ${on_string}"> + <discover_datasets pattern="__name__" directory="output_data_dir" format="csv"/> + </collection> + <collection name="output_plots_collection" type="list" label="${tool.name} (plots), on ${on_string}"> + <discover_datasets pattern="__name__" directory="output_plots_dir" format="pdf"/> + </collection> </outputs> <tests> <test> - <param name="input" value="state_college.csv" ftype="csv" /> - <param name="location" value="State College PA" /> - <param name="replications" value="10" /> - <output name="output" file="output.pdf" ftype="pdf" compare="contains" /> + <param name="input_norm" value="30_year_normals.csv" ftype="csv"/> + <param name="merge_ytd_temperature_data" value="no"/> + <param name="replications" value="2"/> + <param name="plot_generations_separately" value="no"/> + <param name="plot_egg_life_stage" value="no"/> + <param name="life_stages_nymph" value="Young"/> + <param name="life_stages_adult" value="Pre-vittelogenic"/> + <output_collection name="output_data_collection" type="list"> + <element name="04_combined_generations.csv" file="output_combined1.csv" ftype="csv" compare="contains"/> + </output_collection> + <output_collection name="output_plots_collection" type="list"> + <element name="02_young_nymph_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="05_pre-vittelogenic_adult_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + </output_collection> + </test> + <test> + <param name="input_norm" value="30_year_normals.csv" ftype="csv"/> + <param name="input_ytd" value="state_college_partial.csv" ftype="csv"/> + <param name="location" value="State College PA"/> + <param name="replications" value="2"/> + <param name="plot_generations_separately" value="no"/> + <param name="plot_egg_life_stage" value="no"/> + <param name="life_stages_nymph" value="Young"/> + <param name="life_stages_adult" value="Pre-vittelogenic"/> + <output_collection name="output_data_collection" type="list"> + <element name="04_combined_generations.csv" file="output_combined1.csv" ftype="csv" compare="contains"/> + </output_collection> + <output_collection name="output_plots_collection" type="list"> + <element name="02_young_nymph_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="05_pre-vittelogenic_adult_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + </output_collection> + </test> + <test> + <param name="input_norm" value="30_year_normals.csv" ftype="csv"/> + <param name="input_ytd" value="state_college_ytd.csv" ftype="csv"/> + <param name="location" value="State College PA"/> + <param name="replications" value="2"/> + <param name="plot_generations_separately" value="no"/> + <output_collection name="output_data_collection" type="list"> + <element name="04_combined_generations.csv" file="output_combined2.csv" ftype="csv" compare="contains"/> + </output_collection> + <output_collection name="output_plots_collection" type="list"> + <element name="01_egg_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="04_total_nymph_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="08_total_adult_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="09_total_pop.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + </output_collection> + </test> + <test> + <param name="input_norm" value="30_year_normals.csv" ftype="csv"/> + <param name="input_ytd" value="state_college_partial.csv" ftype="csv"/> + <param name="location" value="State College PA"/> + <param name="replications" value="2"/> + <param name="plot_egg_life_stage" value="no"/> + <param name="life_stages_nymph" value="Old"/> + <param name="plot_adult_life_stage" value="no"/> + <output_collection name="output_data_collection" type="list"> + <element name="01_generation_P.csv" file="output_p_3.csv" ftype="csv" compare="contains"/> + <element name="02_generation_F1.csv" file="output_f1_3.csv" ftype="csv" compare="contains"/> + <element name="03_generation_F2.csv" file="output_f2_3.csv" ftype="csv" compare="contains"/> + <element name="04_combined_generations.csv" file="output_combined3.csv" ftype="csv" compare="contains"/> + </output_collection> + <output_collection name="output_plots_collection" type="list"> + <element name="03_old_nymph_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + </output_collection> + </test> + <test> + <param name="input_norm" value="30_year_normals.csv" ftype="csv"/> + <param name="input_ytd" value="state_college_ytd.csv" ftype="csv"/> + <param name="location" value="State College PA"/> + <param name="replications" value="2"/> + <output_collection name="output_data_collection" type="list"> + <element name="01_generation_P.csv" file="output_p_4.csv" ftype="csv" compare="contains"/> + <element name="02_generation_F1.csv" file="output_f1_4.csv" ftype="csv" compare="contains"/> + <element name="03_generation_F2.csv" file="output_f2_4.csv" ftype="csv" compare="contains"/> + <element name="04_combined_generations.csv" file="output_combined4.csv" ftype="csv" compare="contains"/> + </output_collection> + <output_collection name="output_plots_collection" type="list"> + <element name="01_egg_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="04_total_nymph_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="08_total_adult_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + <element name="09_total_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/> + </output_collection> </test> </tests> <help> @@ -66,8 +238,12 @@ **Required options** + * **30 year normals temperature data** - the dataset from your history containing the 30-year normals temperature data (available at http://pestwatch.psu.edu/ghcn). + * **Merge year-to-date temperature data with 30 year normals temperature data** - select Yes to merge a year-to-date temperature dataset from your history into the selected 30 year normals temperature data. + + * **Year-to-date temperature data** - the dataset from your history containing the year-to-date temperature data (available at http://pestwatch.psu.edu/minmax). + * **Location** - the location associated with the selected temperature data. - * **Temperature data** - select the dataset from your history containing the temperature data. * **Select insect** - currently only the Brown Marmorated Stink Bug can be analyzed. * **Number of replications** - number of replications. * **Number of insects with which to start each replication** - the analysis for each replication will start with this number of insects. @@ -81,8 +257,17 @@ * **Adjustment of degree-days accumulation (egg->young nymph)** - adjustment of degree-days accumulation (egg->young nymph). * **Adjustment of degree-days accumulation (young nymph->old nymph)** - adjustment of degree-days accumulation (young nymph->old nymph). * **Adjustment of degree-days accumulation (old nymph->adult)** - adjustment of degree-days accumulation (old nymph->adult). + * **Plot generations separately** - select "Yes" to plot P, F1 and F2 as separate lines or "no" to pool across generations, resulting in a total for the selected life states. + * **Plot egg life stage** - select "Yes" to plot the egg life stage. If all life stages (egg, nymph and adult) are selected for plotting, one output for the total will be produced. + * **Plot nymph life stage** - select "Yes" to plot the nymph life stage. If all life stages (egg, nymph and adult) are selected for plotting, one output for the total will be produced. + + * **Select nymph life stage** - select the nymph life stage for plotting. + + * **Plot adult life stage** - select "Yes" to plot the adult life stage. If all life stages (egg, nymph and adult) are selected for plotting, one output for the total will be produced. + + * **Select adult life stage** - select the adult life stage for plotting. + * **Plot standard error** - add standard error lines to plot. - </help> <citations> <citation type="doi">10.3389/fphys.2016.00165</citation>
