view dynamic_tool_wrappers_macros.xml @ 0:b49e227ec738 draft default tip

planemo upload commit fe1408d418f7f1354a736f73ece704219baa3190
author mingchen0919
date Wed, 21 Mar 2018 17:26:27 -0400
parents
children
line wrap: on
line source

<macros>

    <xml name="rmarkdown_requirements">
        <requirement type="package" version="1.15.0.6-0">pandoc</requirement>
        <requirement type="package" version="1.20.0">r-getopt</requirement>
        <requirement type="package" version="1.6">r-rmarkdown</requirement>
    </xml>

    <xml name="stdio">
        <stdio>
            <regex match="XXX" source="stderr" level="warning"
                   description="Check the tool log output file for more details."/>
        </stdio>
    </xml>

    <!--Tool name-->
    <xml name="tool_name">
        <param type="select" name="tool_name" multiple="false" label="Tool name">
            <option value="fastqc" selected="false">fastqc</option>
        </param>
    </xml>

    <!--OPTION/ARGUMENT PAIRS and INPUT types-->
    <!--input files-->
    <xml name="option_argument_one_dataset">
        <repeat name="option_argument_one_dataset_repeat" title="OPTION and ARGUMENT: input one dataset" min="0" default="0">
            <param type="text" name="flag" optional="true" label="flag" />
            <param name="one_dataset" type="data" optional="true" multiple="false" label="value"/>
        </repeat>
    </xml>
    <xml name="option_argument_multiple_datasets">
        <repeat name="option_argument_multiple_datasets_repeat" title="OPTION and ARGUMENT: input multiple datasets" min="0" default="0">
            <param type="text" name="flag" optional="true" label="flag" />
            <param name="multiple_datasets" type="data" optional="true" multiple="true" label="value" />
        </repeat>
    </xml>
    <xml name="option_argument_path_relative_to_upstream_tool">
        <repeat name="option_argument_path_relative_to_upstream_tool_repeat" title="OPTION and ARGUMENT: path relative to upstream tool" min="0" default="0">
            <param type="text" name="flag" optional="true" label="flag" />
            <param name="upstream_tool_output_dir" type="data" optional="true" multiple="false" label="upstream tool output directory"/>
            <param type="text" name="option_argument_path" optional="true" label="value" />
        </repeat>
    </xml>

    <!--input values: string, float and integer-->
    <xml name="option_argument_string">
        <repeat name="option_argument_string_repeat" title="OPTION and ARGUMENT: input string" min="0" default="0">
            <param type="text" name="flag" label="flag" />
            <param type="text" name="option_argument_string"  label="value" />
        </repeat>
    </xml>
    <xml name="option_argument_float">
        <repeat name="option_argument_float_repeat" title="OPTION and ARGUMENT: input float" min="0" default="0">
            <param type="text" name="flag" label="flag" />
            <param type="text" name="option_argument_float"  label="value" />
        </repeat>
    </xml>
    <xml name="option_argument_integer">
        <repeat name="option_argument_integer_repeat" title="OPTION and ARGUMENT: input integer" min="0" default="0">
            <param type="text" name="flag" label="flag" />
            <param type="text" name="option_argument_integer"  label="value" />
        </repeat>
    </xml>

    <!--output set-->
    <xml name="output_set">
        <data format="html" name="report" label="${tool.name} report"/>
        <data format="txt" name="tool_help_doc" label="${tool.name} help doc"/>
        <data format="txt" name="tool_output_dir" label="${tool.name} output directory"/>
        <data format="txt" name="tool_log" label="${tool.name} log" from_work_dir="tool_log.txt"/>
    </xml>


    <!--shell command fragment-->
    <xml name="shell_command">
        <command><![CDATA[
        export TOOL_DIR='${__tool_directory__}' &&

        Rscript '${__tool_directory__}/dynamic_tool_render.R'

        ############ tool_name
        -t '$tool_name'

        ############ option_argument_one_dataset
        #set sep = ''
        #set one_dataset_items = ''
        #for i in $option_argument_one_dataset_repeat:
            #set one_dataset_items += $sep + $option_argument_one_dataset_repeat.flag + " " + $option_argument_one_dataset_repeat.value + "'"
            #### separate values set by repeat
            $set sep = '|'
        #end for

        -o '$one_dataset_items'



        ############ option_argument_multiple_datasets
        #set sep = ''
        #set multiple_datasets_items = ''
        #for i in $option_argument_multiple_datasets_repeat:
            #set multiple_datasets_items += $sep + $option_argument_multiple_datasets_repeat.flag + " " + $option_argument_multiple_datasets_repeat.value + "'"
            #### separate values set by repeat
            $set sep = '|'
        #end for

        -m '$multiple_datasets_items'


        ############ option_argument_path_relative_to_upstream_tool
        #set sep = ''
        #set path_relative_to_upstream_tool_items = ''
        #for i in $option_argument_path_relative_to_upstream_tool_repeat:
            #set path_relative_to_upstream_tool_items += $sep + $option_argument_path_relative_to_upstream_tool_repeat.flag + " " + $option_argument_path_relative_to_upstream_tool_repeat.value + "'"
            #### separate values set by repeat
            $set sep = '|'
        #end for

        -u '$path_relative_to_upstream_tool_items'
        
        

        ############ option_argument_string
        #set sep = ''
        #set string_items = ''
        #for i in $option_argument_string_repeat:
            #set string_items += $sep + $option_argument_string_repeat.flag + " " + $option_argument_string_repeat.value + "'"
            #### separate values set by repeat
            $set sep = '|'
        #end for

        -s '$string_items'
        

        ############ option_argument_float
        #set sep = ''
        #set float_items = ''
        #for i in $option_argument_float_repeat:
            #set float_items += $sep + $option_argument_float_repeat.flag + " " + $option_argument_float_repeat.value + "'"
            #### separate values set by repeat
            $set sep = '|'
        #end for

        -f '$float_items'

        ############ option_argument_integer
        #set sep = ''
        #set integer_items = ''
        #for i in $option_argument_integer_repeat:
            #set integer_items += $sep + $option_argument_integer_repeat.flag + " " + $option_argument_integer_repeat.value + "'"
            #### separate values set by repeat
            $set sep = '|'
        #end for

        -i '$integer_items'


        ############ output_set
        -R '$report'
        -D '$report.files_path'
        -H '$tool_help_doc'
        -O '$tool_output_dir'
        -L '$tool_log'

        ]]></command>
    </xml>

    <!--tool citations-->
    <xml name="citations">
        <citation type="bibtex"><![CDATA[
            @article{allaire2016rmarkdown,
            title={rmarkdown: Dynamic Documents for R, 2016},
            author={Allaire, J and Cheng, Joe and Xie, Yihui and McPherson, Jonathan and Chang, Winston and Allen, Jeff
            and Wickham, Hadley and Atkins, Aron and Hyndman, Rob},
            journal={R package version 0.9},
            volume={6},
            year={2016}
            }
        ]]></citation>
        <citation type="bibtex"><![CDATA[
            @book{xie2015dynamic,
            title={Dynamic Documents with R and knitr},
            author={Xie, Yihui},
            volume={29},
            year={2015},
            publisher={CRC Press}
            }
        ]]></citation>
    </xml>
</macros>