<macros>
    <token name="@VERSION@">2019.1.4</token>
    <xml name="requirements">
        <requirements>
            <requirement type="package" version="2019.1">gromacs</requirement>
        </requirements>
    </xml>
    <xml name="citations">
        <citations>
            <citation type="doi">10.1016/j.softx.2015.06.001</citation>
        </citations>
    </xml>
    <xml name="md_inputs">

        <conditional name="mdp">
            <param name="mdpfile" type="select" label="Parameter input">
                <option value="custom">Upload own MDP file</option>
                <option value="default">Use default (partially customisable) setting</option>
            </param>
            <when value="custom">
                <param argument="mdp_input" type="data" format='mdp' label="MD parameters (MDP) file (optional; default settings if not set)"/>
            </when>
            <when value="default">
                <param argument="integrator" type="select" label="Choice of integrator">
                    <option value="md">A leap-frog algorithm for integrating Newton's equations of motion.</option>
                    <option value="sd">Stochastic dynamics integrator</option>
                    <option value="bd">An Euler integrator for Brownian or position Langevin dynamics.</option>
                </param>
                <param argument="constraints" type="select" label="Bond constraints (constraints)">
                    <option value="none">No constraints except for those defined explicitly in the topology (none).</option>
                    <option value="h-bonds">Bonds with H-atoms. (h-bonds).</option>
                    <option value="all-bonds">All bonds (all-bonds).</option>
                    <option value="h-angles">Bonds and angles with H-atoms. (h-angles).</option>
                    <option value="all-angles">All bonds and angles (all-angles).</option>
                </param>
                <param argument="cutoffscheme" type="select" label="Neighbor searching">
                    <option value="Verlet">Generate a pair list with buffering.</option>
                    <option value="group">Generate a pair list for groups of atoms.</option>
                </param>
                <param argument="coulombtype" type="select" label="Electrostatics">
                    <option value="PME">Fast smooth Particle-Mesh Ewald (SPME) electrostatics.</option>
                    <option value="P3M-AD">Particle-Particle Particle-Mesh algorithm with analytical derivative.</option>
                    <option value="Reaction-Field-zero">Reaction field electrostatics.</option>
                </param>
                
                <param argument="temperature" type="integer" label="Temperature /K" value="0" min="0" max="1000000" help="Temperature" />
                <param argument="step_length" type="float" label="Step length in ps" value="0" min="0.0001" max="1.0" help="Step length in ps." />
                <param argument="write_freq" type="integer" label="Number of steps that elapse between saving data points (velocities, forces, energies)" value="0" min="0" max="1000000" help="Step length in ps." />
                <param argument="rcoulomb" value="1.0" type="float" label="Distance for the Coulomb cut-off."/>
                <param argument="rlist" value="1.0" type="float" label="Cut-off distance for the short-range neighbor list. Ignored if the Verlet cutoff scheme is set."/>
                <param argument="rvdw" value="1.0" type="float" label="Short range van der Waals cutoff."/>
                <param argument="md_steps" type="integer" label="Number of steps for the simulation" value="0" min="0" max="1000000" help="NPT steps" />
                
            </when>

        </conditional>

    </xml>

    <xml name="log">
        <param name="capture_log" type="boolean" value="false" label="Generate detailed log" help="Generate detailed log information that can be summarized with ParseLog."/>
    </xml>

    <xml name="log_outputs">
        <data name="report" format="txt" from_work_dir="verbose.txt">
            <filter>capture_log</filter>
        </data>
    </xml>

    <xml name="test_params">
        <param name="mdpfile" value="default" />
        <param name="step_length" value="0.002"/>
        <param name="md_steps" value="500"/>
        <param name="write_freq" value="50"/>
        <param name="temperature" value="300"/>
        <param name="integrator" value="md" />
        <param name="constraints" value="all-bonds"/>
        <param name="cutoffscheme" value="Verlet" />
        <param name="coulombtype" value="PME" />
        <param name="rlist" value="1.0" />
        <param name="rcoulomb" value="1.0" />
        <param name="rvdw" value="1.0" />
    </xml>
</macros>
