view larch_plot.xml @ 6:0339eb694129 draft default tip

planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_plot commit 7f52c8654581d23a2acffc818e0c197cf8e04504
author muon-spectroscopy-computational-project
date Tue, 03 Sep 2024 11:51:45 +0000
parents 3584db5902b5
children
line wrap: on
line source

<tool id="larch_plot" name="Larch Plot" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.05" license="MIT">
    <description>plot Athena projects</description>
    <macros>
        <!-- version of underlying tool (PEP 440) -->
        <token name="@TOOL_VERSION@">0.9.80</token>
        <!-- version of this tool wrapper (integer) -->
        <token name="@WRAPPER_VERSION@">1</token>
        <!-- citation should be updated with every underlying tool version -->
        <!-- typical fields to update are version, month, year, and doi -->
        <token name="@TOOL_CITATION@">10.1088/1742-6596/430/1/012007</token>
        <import>macros.xml</import>
    </macros>
    <creator>
        <person givenName="Patrick" familyName="Austin" url="https://github.com/patrick-austin" identifier="https://orcid.org/0000-0002-6279-7823"/>
    </creator>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">xraylarch</requirement>
        <requirement type="package" version="3.5.2">matplotlib</requirement>
    </requirements>
    <required_files>
        <include type="literal" path="larch_plot.py"/>
        <include type="literal" path="common.py"/>
    </required_files>
    <command detect_errors="exit_code"><![CDATA[
        mkdir plots
        && python '${__tool_directory__}/larch_plot.py' '$dat_files' '$inputs'
    ]]></command>
    <configfiles>
        <inputs name="inputs"/>
    </configfiles>
    <inputs>
        <param name="dat_files" type="data" format="prj" multiple="true" min="1" label="Athena projects" help="X-ray Absorption Spectroscopy (XAS) data, in Athena project format"/>
        <repeat name="plots" title="Plots" min="1" default="1" help="Each additional entry will create another output plot">
            <conditional name="variable">
                <param name="variable" type="select" display="radio" label="Variable" help="Variable to plot on the y axis">
                    <option value="flat" selected="true">Flattened xμ</option>
                    <option value="dmude">Derivative of xμ</option>
                    <option value="chir_mag">Magnitude of χ(r)</option>
                    <option value="e0">E0</option>
                </param>
                <when value="flat">
                    <expand macro="plot_limits_energy"/>
                    <param name="y_limit_min" type="float" label="Minimum xμ(E)" optional="true" help="If set, plot will be limited to this value on the y axis."/>
                    <param name="y_limit_max" type="float" label="Maximum xμ(E)" optional="true" help="If set, plot will be limited to this value on the y axis."/>
                </when>
                <when value="dmude">
                    <expand macro="plot_limits_energy"/>
                    <param name="y_limit_min" type="float" label="Minimum d(xμ(E))/dE" optional="true" help="If set, plot will be limited to this value on the y axis."/>
                    <param name="y_limit_max" type="float" label="Maximum d(xμ(E))/dE" optional="true" help="If set, plot will be limited to this value on the y axis."/>
                </when>
                <when value="chir_mag">
                    <param name="x_limit_min" type="float" label="Minimum r (ang)" optional="true" help="If set, plot will be limited to this value on the x axis."/>
                    <param name="x_limit_max" type="float" label="Maximum r (ang)" optional="true" help="If set, plot will be limited to this value on the x axis."/>
                    <param name="y_limit_min" type="float" label="Minimum |χ(r)|" optional="true" help="If set, plot will be limited to this value on the y axis."/>
                    <param name="y_limit_max" type="float" label="Maximum |χ(r)|" optional="true" help="If set, plot will be limited to this value on the y axis."/>
                </when>
                <when value="e0">
                </when>
            </conditional>
        </repeat>
    </inputs>
    <outputs>
        <collection name="plot_collection" format="png" type="list">
            <discover_datasets pattern="__name_and_ext__" directory="plots"/>
        </collection>
    </outputs>
    <tests>
        <!-- 1: plot types -->
        <test expect_num_outputs="1">
            <param name="dat_files" value="test.prj"/>
            <param name="variable" value="flat"/>
            <param name="variable" value="dmude"/>
            <param name="variable" value="chir_mag"/>
            <param name="variable" value="e0"/>
            <output_collection name="plot_collection" type="list" count="4"/>
        </test>
        <!-- 2: plot limits -->
        <test expect_num_outputs="1">
            <param name="dat_files" value="test.prj,merged.prj"/>
            <param name="variable" value="flat"/>
            <param name="x_limit_min" value="7000"/>
            <param name="x_limit_max" value="7200"/>
            <param name="y_limit_min" value="0"/>
            <param name="y_limit_max" value="1"/>
            <output_collection name="plot_collection" type="list" count="1"/>
        </test>
    </tests>
    <help><![CDATA[
        Using Larch, read Athena project files and plot data from them.

        Only Athena project files are accepted as input. If data is plaintext,
        first load it using the Larch Athena tool.
        All input files will appear on the same plot(s).
        To generate multiple types of plot with the same set of files,
        add additional sections to the form.
    ]]></help>
    <citations>
        <citation type="doi">@TOOL_CITATION@</citation>
        <citation type="doi">10.1107/S0909049505012719</citation>
    </citations>
</tool>