view qiime2__longitudinal__feature_volatility.xml @ 2:ba818c170b06 draft

planemo upload for repository https://github.com/qiime2/galaxy-tools/tree/main/tools/suite_qiime2__longitudinal commit 65e4952f33eb335528e8553150e9097e5ea8f556
author q2d2
date Thu, 08 Jun 2023 19:49:02 +0000
parents e2fd93e4e3f7
children 956dbe6f39bd
line wrap: on
line source

<?xml version='1.0' encoding='utf-8'?>
<!--
Copyright (c) 2023, QIIME 2 development team.

Distributed under the terms of the Modified BSD License. (SPDX: BSD-3-Clause)
-->
<!--
This tool was automatically generated by:
    q2galaxy (version: 2023.5.0)
for:
    qiime2 (version: 2023.5.1)
-->
<tool name="qiime2 longitudinal feature-volatility" id="qiime2__longitudinal__feature_volatility" version="2023.5.0+q2galaxy.2023.5.0.2" profile="22.05" license="BSD-3-Clause">
    <description>Feature volatility analysis</description>
    <requirements>
        <container type="docker">quay.io/qiime2/core:2023.5</container>
    </requirements>
    <version_command>q2galaxy version longitudinal</version_command>
    <command detect_errors="exit_code">q2galaxy run longitudinal feature_volatility '$inputs'</command>
    <configfiles>
        <inputs name="inputs" data_style="paths"/>
    </configfiles>
    <inputs>
        <param name="table" type="data" format="qza" label="table: FeatureTable[Frequency]" help="[required]  Feature table containing all features that should be used for target prediction.">
            <options options_filter_attribute="metadata.semantic_type">
                <filter type="add_value" value="FeatureTable[Frequency]"/>
            </options>
            <validator type="expression" message="Incompatible type">hasattr(value.metadata, "semantic_type") and value.metadata.semantic_type in ['FeatureTable[Frequency]']</validator>
        </param>
        <repeat name="metadata" min="1" help="[required]  Sample metadata file containing individual_id_column." title="metadata: Metadata">
            <conditional name="__q2galaxy__GUI__conditional__metadata__">
                <param name="type" type="select" label="metadata: Metadata">
                    <option value="tsv" selected="true">Metadata from TSV</option>
                    <option value="qza">Metadata from Artifact</option>
                </param>
                <when value="tsv">
                    <param name="source" type="data" format="tabular,qiime2.tabular" label="Metadata Source"/>
                </when>
                <when value="qza">
                    <param name="source" type="data" format="qza" label="Metadata Source"/>
                </when>
            </conditional>
        </repeat>
        <param name="state_column" type="text" label="state_column: Str" help="[required]  Metadata containing collection time (state) values for each sample. Must contain exclusively numeric values.">
            <sanitizer>
                <valid initial="string.printable"/>
            </sanitizer>
            <validator type="expression" message="Please verify this parameter.">value is not None and len(value) &gt; 0</validator>
        </param>
        <section name="__q2galaxy__GUI__section__extra_opts__" title="Click here for additional options">
            <conditional name="__q2galaxy__GUI__conditional__individual_id_column__" label="individual_id_column: Str">
                <param name="__q2galaxy__GUI__select__" type="select" label="individual_id_column: Str" help="[optional]  Metadata column containing IDs for individual subjects.">
                    <option value="__q2galaxy__::control::default" selected="true">None (Use default behavior)</option>
                    <option value="__q2galaxy__::control::provide">Provide a value</option>
                </param>
                <when value="__q2galaxy__::control::default">
                    <param name="individual_id_column" type="hidden" value="__q2galaxy__::literal::None"/>
                </when>
                <when value="__q2galaxy__::control::provide">
                    <param name="individual_id_column" type="text">
                        <sanitizer>
                            <valid initial="string.printable"/>
                        </sanitizer>
                    </param>
                </when>
            </conditional>
            <param name="cv" type="integer" min="1" value="5" label="cv: Int % Range(1, None)" help="[default: 5]  Number of k-fold cross-validations to perform."/>
            <param name="random_state" type="integer" optional="true" label="random_state: Int" help="[optional]  Seed used by random number generator."/>
            <param name="n_jobs" type="integer" value="1" label="n_jobs: Int" help="[default: 1]  Number of jobs to run in parallel."/>
            <param name="n_estimators" type="integer" min="1" value="100" label="n_estimators: Int % Range(1, None)" help="[default: 100]  Number of trees to grow for estimation. More trees will improve predictive accuracy up to a threshold level, but will also increase time and memory requirements. This parameter only affects ensemble estimators, such as Random Forest, AdaBoost, ExtraTrees, and GradientBoosting."/>
            <param name="estimator" type="select" label="estimator: Str % Choices('RandomForestRegressor', 'ExtraTreesRegressor', 'GradientBoostingRegressor', 'AdaBoostRegressor', 'ElasticNet', 'Ridge', 'Lasso', 'KNeighborsRegressor', 'LinearSVR', 'SVR')">
                <option value="RandomForestRegressor" selected="true">RandomForestRegressor</option>
                <option value="ExtraTreesRegressor">ExtraTreesRegressor</option>
                <option value="GradientBoostingRegressor">GradientBoostingRegressor</option>
                <option value="AdaBoostRegressor">AdaBoostRegressor</option>
                <option value="ElasticNet">ElasticNet</option>
                <option value="Ridge">Ridge</option>
                <option value="Lasso">Lasso</option>
                <option value="KNeighborsRegressor">KNeighborsRegressor</option>
                <option value="LinearSVR">LinearSVR</option>
                <option value="SVR">SVR</option>
            </param>
            <param name="parameter_tuning" type="boolean" truevalue="__q2galaxy__::literal::True" falsevalue="__q2galaxy__::literal::False" label="parameter_tuning: Bool" help="[default: No]  Automatically tune hyperparameters using random grid search."/>
            <param name="missing_samples" type="select" label="missing_samples: Str % Choices('error', 'ignore')" display="radio">
                <option value="error" selected="true">error</option>
                <option value="ignore">ignore</option>
            </param>
            <conditional name="__q2galaxy__GUI__conditional__importance_threshold__">
                <param name="__q2galaxy__GUI__select__" type="select" label="importance_threshold: Float % Range(0, None, inclusive_start=False) | Str % Choices('q1', 'q2', 'q3')" help="[optional]  Filter feature table to exclude any features with an importance score less than this threshold. Set to &quot;q1&quot;, &quot;q2&quot;, or &quot;q3&quot; to select the first, second, or third quartile of values. Set to &quot;None&quot; to disable this filter.">
                    <option value="__q2galaxy__::literal::None" selected="true">None (Use default behavior)</option>
                    <option value="q1">q1 (Str)</option>
                    <option value="q2">q2 (Str)</option>
                    <option value="q3">q3 (Str)</option>
                    <option value="__q2galaxy__::control::Float X Range(0__comma__ None__comma__ inclusive_start=False)">Provide a value (Float % Range(0, None, inclusive_start=False))</option>
                </param>
                <when value="__q2galaxy__::literal::None">
                    <param name="importance_threshold" type="hidden" value="__q2galaxy__::literal::None"/>
                </when>
                <when value="q1">
                    <param name="importance_threshold" type="hidden" value="q1"/>
                </when>
                <when value="q2">
                    <param name="importance_threshold" type="hidden" value="q2"/>
                </when>
                <when value="q3">
                    <param name="importance_threshold" type="hidden" value="q3"/>
                </when>
                <when value="__q2galaxy__::control::Float X Range(0__comma__ None__comma__ inclusive_start=False)">
                    <param name="importance_threshold" type="float" min="1e-06" value="" label="importance_threshold: Float % Range(0, None, inclusive_start=False)" help="[required]  Filter feature table to exclude any features with an importance score less than this threshold. Set to &quot;q1&quot;, &quot;q2&quot;, or &quot;q3&quot; to select the first, second, or third quartile of values. Set to &quot;None&quot; to disable this filter."/>
                </when>
            </conditional>
            <conditional name="__q2galaxy__GUI__conditional__feature_count__">
                <param name="__q2galaxy__GUI__select__" type="select" label="feature_count: Int % Range(1, None) | Str % Choices('all')" help="[default: 100]  Filter feature table to include top N most important features. Set to &quot;all&quot; to include all features.">
                    <option value="all">all (Str)</option>
                    <option value="__q2galaxy__::control::Int X Range(1__comma__ None)" selected="true">Provide a value (Int % Range(1, None))</option>
                </param>
                <when value="all">
                    <param name="feature_count" type="hidden" value="all"/>
                </when>
                <when value="__q2galaxy__::control::Int X Range(1__comma__ None)">
                    <param name="feature_count" type="integer" min="1" value="100" label="feature_count: Int % Range(1, None)" help="[default: 100]  Filter feature table to include top N most important features. Set to &quot;all&quot; to include all features."/>
                </when>
            </conditional>
        </section>
    </inputs>
    <outputs>
        <data name="filtered_table" format="qza" label="${tool.name} on ${on_string}: filtered_table.qza" from_work_dir="filtered_table.qza"/>
        <data name="feature_importance" format="qza" label="${tool.name} on ${on_string}: feature_importance.qza" from_work_dir="feature_importance.qza"/>
        <data name="volatility_plot" format="qzv" label="${tool.name} on ${on_string}: volatility_plot.qzv" from_work_dir="volatility_plot.qzv"/>
        <data name="accuracy_results" format="qzv" label="${tool.name} on ${on_string}: accuracy_results.qzv" from_work_dir="accuracy_results.qzv"/>
        <data name="sample_estimator" format="qza" label="${tool.name} on ${on_string}: sample_estimator.qza" from_work_dir="sample_estimator.qza"/>
    </outputs>
    <tests/>
    <help>
QIIME 2: longitudinal feature-volatility
========================================
Feature volatility analysis


Outputs:
--------
:filtered_table.qza: Feature table containing only important features.
:feature_importance.qza: Importance of each input feature to model accuracy.
:volatility_plot.qzv: Interactive volatility plot visualization.
:accuracy_results.qzv: Accuracy results visualization.
:sample_estimator.qza: Trained sample regressor.

|  

Description:
------------
Identify features that are predictive of a numeric metadata column, state_column (e.g., time), and plot their relative frequencies across states using interactive feature volatility plots. A supervised learning regressor is used to identify important features and assess their ability to predict sample states. state_column will typically be a measure of time, but any numeric metadata column can be used.


|  

</help>
    <citations>
        <citation type="doi">10.1128/mSystems.00219-18</citation>
        <citation type="doi">10.1038/s41587-019-0209-9</citation>
    </citations>
</tool>