0
|
1 <tool id="ipm_date_interval" name="Extract date interval" version="1.1.0">
|
|
2 <description>from insect phenology model data</description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="1.10.4">r-data.table</requirement>
|
|
5 <requirement type="package" version="2.2.6">r-hash</requirement>
|
|
6 <requirement type="package" version="1.4.4">r-optparse</requirement>
|
|
7 </requirements>
|
|
8 <command detect_errors="exit_code"><![CDATA[
|
|
9 #import os
|
|
10 #set input_data_dir = 'input_data_dir'
|
|
11 #set output_data_dir = "output_data_dir"
|
|
12 #set output_plots_dir = "output_plots_dir"
|
|
13 #set error_file = $os.path.join($output_data_dir, "04_combined_generations.csv")
|
|
14 #set job = $input_data[0].creating_job
|
|
15 #set tool_parameters = ""
|
|
16 #for $p in $job.parameters:
|
|
17 #set tool_parameters = $tool_parameters + "__SeP__" + $p.name
|
|
18 #set tool_parameters = $tool_parameters + "__SeP__" + $p.value
|
|
19 #end for
|
|
20 mkdir $input_data_dir &&
|
|
21 mkdir output_data_dir &&
|
|
22 mkdir output_plots_dir &&
|
|
23 #for $i in $input_data:
|
|
24 #set filename = $i.file_name
|
|
25 #set name = $i.name
|
|
26 ln -s $filename $input_data_dir/$name &&
|
|
27 #end for
|
|
28 Rscript '$__tool_directory__/extract_ipm_date_interval.R'
|
|
29 --end_date '$end_date'
|
|
30 --input_data_dir '$input_data_dir'
|
|
31 --script_dir '$__tool_directory__'
|
|
32 --start_date '$start_date'
|
|
33 --tool_parameters '$tool_parameters'
|
|
34 &>eipmdi_log.txt;
|
|
35 if [[ $? -ne 0 ]]; then
|
|
36 cp eipmdi_log.txt '$error_file';
|
|
37 exit 1;
|
|
38 fi]]></command>
|
|
39 <inputs>
|
|
40 <param name="input_data" type="data_collection" format="csv" collection_type="list" label="Insect phenology model data files" />
|
|
41 <param name="start_date" type="text" value="" label="Start date" help="Format must be yyyy-mm-dd">
|
|
42 <validator type="expression" message="Date must have the format yyyy-mm-dd">len(value.split('-')[0])==4 and int(value.split('-')[0]) and len(value.split('-')[1])==2 and int(value.split('-')[1]) and len(value.split('-')[2])==2 and int(value.split('-')[2])</validator>
|
|
43 </param>
|
|
44 <param name="end_date" type="text" value="" label="End date" help="Format must be yyyy-mm-dd">
|
|
45 <validator type="expression" message="Date must have the format yyyy-mm-dd">len(value.split('-')[0])==4 and int(value.split('-')[0]) and len(value.split('-')[1])==2 and int(value.split('-')[1]) and len(value.split('-')[2])==2 and int(value.split('-')[2])</validator>
|
|
46 </param>
|
|
47 </inputs>
|
|
48 <outputs>
|
|
49 <collection name="output_data_collection" type="list" label="${tool.name} (data), on ${on_string}">
|
|
50 <discover_datasets pattern="__name__" directory="output_data_dir" format="csv"/>
|
|
51 </collection>
|
|
52 <collection name="output_plot_collection" type="list" label="${tool.name} (plots), on ${on_string}">
|
|
53 <discover_datasets pattern="__name__" directory="output_plots_dir" format="pdf"/>
|
|
54 </collection>
|
|
55 </outputs>
|
|
56 <tests>
|
|
57 <test>
|
|
58 <!--
|
|
59 FIXME: Here is a sort of layout for a test, but since the input collection will be uploaded, the test
|
|
60 will fail bacused the job parameters for the inputs will not be those produced by the insect_phenology_model
|
|
61 tool. Testing this tool will require using the workflow testing approach.
|
|
62 <param name="input_data">
|
|
63 <collection type="list">
|
|
64 <element name="input_p_1.csv" value="input_p_1.csv" ftype="csv"/>
|
|
65 <element name="input_f1_1.csv" value="input_f1_1.csv" ftype="csv"/>
|
|
66 <element name="input_f2_1.csv" value="input_f2_1.csv" ftype="csv"/>
|
|
67 <element name="input_combined1.csv" value="input_combined1.csv" ftype="csv"/>
|
|
68 </collection>
|
|
69 </param>
|
|
70 <param name="start_date" value="2017-04-01"/>
|
|
71 <param name="end_date" value="2017-04-15"/>
|
|
72 <output_collection name="output_data_collection" type="list">
|
|
73 <element name="01_generation_P.csv" file="output_p_1.csv" ftype="csv" compare="contains"/>
|
|
74 <element name="02_generation_F1.csv" file="output_f1_1.csv" ftype="csv" compare="contains"/>
|
|
75 <element name="03_generation_F2.csv" file="output_f2_1.csv" ftype="csv" compare="contains"/>
|
|
76 <element name="04_combined_generations.csv" file="output_combined1.csv" ftype="csv" compare="contains"/>
|
|
77 </output_collection>
|
|
78 <output_collection name="output_plot_collection" type="list">
|
|
79 <element name="01_egg_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/>
|
|
80 <element name="04_total_nymph_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/>
|
|
81 <element name="08_total_adult_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/>
|
|
82 <element name="09_total_pop_by_generation.pdf" file="plot.pdf" ftype="pdf" compare="contains"/>
|
|
83 </output_collection>
|
|
84 -->
|
|
85 </test>
|
|
86 </tests>
|
|
87 <help>
|
|
88 **What it does**
|
|
89
|
|
90 Provides an agent-based stochastic model expressing stage-specific phenology and population dynamics for an insect species across geographic regions.
|
|
91
|
|
92 -----
|
|
93
|
|
94 **Required options**
|
|
95
|
|
96 * **Plot standard error** - add standard error lines to plot.
|
|
97 </help>
|
|
98 <citations>
|
|
99 <citation type="doi">10.3389/fphys.2016.00165</citation>
|
|
100 <citation type="doi">10.1175/JTECH-D-11-00103.1</citation>
|
|
101 <citation type="doi">10.7289/V5D21VHZ</citation>
|
|
102 </citations>
|
|
103 </tool>
|