view qiime2__sample_classifier__fit_classifier.xml @ 5:2116b939ff07 draft default tip

planemo upload for repository https://github.com/qiime2/galaxy-tools/tree/main/tools/suite_qiime2__sample_classifier commit 5f71b597c9495eae67a447744fded834f56ca1f7
author q2d2
date Wed, 30 Oct 2024 19:56:08 +0000
parents 745c0bca48dd
children
line wrap: on
line source

<?xml version='1.0' encoding='utf-8'?>
<!--
Copyright (c) 2024, 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: 2024.10.0)
for:
    qiime2 (version: 2024.10.1)
-->
<tool name="qiime2 sample-classifier fit-classifier" id="qiime2__sample_classifier__fit_classifier" version="2024.10.0+q2galaxy.2024.10.0" profile="22.05" license="BSD-3-Clause">
    <description>Fit a supervised learning classifier.</description>
    <xrefs>
        <xref type="bio.tools">qiime2</xref>
    </xrefs>
    <requirements>
        <container type="docker">quay.io/qiime2/amplicon:2024.10</container>
    </requirements>
    <version_command>q2galaxy version sample_classifier</version_command>
    <command detect_errors="exit_code">q2galaxy run sample_classifier fit_classifier '$inputs'</command>
    <configfiles>
        <inputs name="inputs" data_style="staging_path_and_source_path"/>
    </configfiles>
    <inputs>
        <param name="table" type="data" format="qza" label="table: FeatureTable[Frequency | RelativeFrequency | PresenceAbsence | Composition]" 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[RelativeFrequency]"/>
                <filter type="add_value" value="FeatureTable[Frequency]"/>
                <filter type="add_value" value="FeatureTable[PresenceAbsence]"/>
                <filter type="add_value" value="FeatureTable[Composition]"/>
            </options>
            <validator type="expression" message="Incompatible type">hasattr(value.metadata, "semantic_type") and value.metadata.semantic_type in ['FeatureTable[Composition]', 'FeatureTable[Frequency]', 'FeatureTable[PresenceAbsence]', 'FeatureTable[RelativeFrequency]']</validator>
        </param>
        <conditional name="metadata">
            <param name="type" type="select" label="metadata: MetadataColumn[Categorical]" help="[required]  Numeric metadata column to use as prediction target.">
                <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"/>
                <param name="column" type="data_column" label="Column Name" data_ref="source" use_header_names="true">
                    <validator type="expression" message="The first column cannot be selected (they are IDs).">value != "1"</validator>
                </param>
            </when>
            <when value="qza">
                <param name="source" type="data" format="qza" label="Metadata Source"/>
                <param name="column" type="text" label="Column Name">
                    <validator type="empty_field"/>
                </param>
            </when>
        </conditional>
        <section name="__q2galaxy__GUI__section__extra_opts__" title="Click here for additional options">
            <param name="step" type="float" min="1e-06" max="0.999999" value="0.05" label="step: Float % Range(0.0, 1.0, inclusive_start=False)" help="[default: 0.05]  If optimize_feature_selection is True, step is the percentage of features to remove at each iteration."/>
            <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_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('RandomForestClassifier', 'ExtraTreesClassifier', 'GradientBoostingClassifier', 'AdaBoostClassifier[DecisionTree]', 'AdaBoostClassifier[ExtraTrees]', 'KNeighborsClassifier', 'LinearSVC', 'SVC')">
                <option value="RandomForestClassifier" selected="true">RandomForestClassifier</option>
                <option value="ExtraTreesClassifier">ExtraTreesClassifier</option>
                <option value="GradientBoostingClassifier">GradientBoostingClassifier</option>
                <option value="AdaBoostClassifier__ob__DecisionTree__cb__">AdaBoostClassifier[DecisionTree]</option>
                <option value="AdaBoostClassifier__ob__ExtraTrees__cb__">AdaBoostClassifier[ExtraTrees]</option>
                <option value="KNeighborsClassifier">KNeighborsClassifier</option>
                <option value="LinearSVC">LinearSVC</option>
                <option value="SVC">SVC</option>
            </param>
            <param name="optimize_feature_selection" type="boolean" truevalue="__q2galaxy__::literal::True" falsevalue="__q2galaxy__::literal::False" label="optimize_feature_selection: Bool" help="[default: No]  Automatically optimize input feature selection using recursive feature elimination."/>
            <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>
        </section>
    </inputs>
    <outputs>
        <data name="sample_estimator" format="qza" label="${tool.name} on ${on_string}: sample_estimator.qza" from_work_dir="sample_estimator.qza"/>
        <data name="feature_importance" format="qza" label="${tool.name} on ${on_string}: feature_importance.qza" from_work_dir="feature_importance.qza"/>
    </outputs>
    <tests/>
    <help>
QIIME 2: sample-classifier fit-classifier
=========================================
Fit a supervised learning classifier.


Outputs:
--------
:sample_estimator.qza: Trained sample classifier.
:feature_importance.qza: Importance of each input feature to model accuracy.

|  

Description:
------------
Fit a supervised learning classifier. Outputs the fit estimator (for prediction of test samples and/or unknown samples) and the relative importance of each feature for model accuracy. Optionally use k-fold cross-validation for automatic recursive feature elimination and hyperparameter tuning.


|  

</help>
    <citations>
        <citation type="doi">10.21105/joss.00934</citation>
        <citation type="bibtex">@article{cite2,
 author = {Pedregosa, Fabian and Varoquaux, Gaël and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent and Vanderplas, Jake and Passos, Alexandre and Cournapeau, David and Brucher, Matthieu and Perrot, Matthieu and Duchesnay, Édouard},
 journal = {Journal of machine learning research},
 number = {Oct},
 pages = {2825--2830},
 title = {Scikit-learn: Machine learning in Python},
 volume = {12},
 year = {2011}
}
</citation>
        <citation type="doi">10.1038/s41587-019-0209-9</citation>
    </citations>
</tool>