view qiime2__sample_classifier__classify_samples_ncv.xml @ 4:f00cbad41c55 draft default tip

planemo upload for repository https://github.com/qiime2/galaxy-tools/tree/main/tools/suite_qiime2__sample_classifier commit c7e80dcda727ce63b42aa8a946e9330310929797
author q2d2
date Mon, 03 Jun 2024 23:31:37 +0000
parents 6abdf19e5d53
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.5.0)
for:
    qiime2 (version: 2024.5.0)
-->
<tool name="qiime2 sample-classifier classify-samples-ncv" id="qiime2__sample_classifier__classify_samples_ncv" version="2024.5.0+q2galaxy.2024.5.0" profile="22.05" license="BSD-3-Clause">
    <description>Nested cross-validated supervised learning classifier.</description>
    <requirements>
        <container type="docker">quay.io/qiime2/amplicon:2024.5</container>
    </requirements>
    <version_command>q2galaxy version sample_classifier</version_command>
    <command detect_errors="exit_code">q2galaxy run sample_classifier classify_samples_ncv '$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[Frequency]"/>
                <filter type="add_value" value="FeatureTable[PresenceAbsence]"/>
                <filter type="add_value" value="FeatureTable[RelativeFrequency]"/>
                <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]  Categorical 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="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="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="predictions" format="qza" label="${tool.name} on ${on_string}: predictions.qza" from_work_dir="predictions.qza"/>
        <data name="feature_importance" format="qza" label="${tool.name} on ${on_string}: feature_importance.qza" from_work_dir="feature_importance.qza"/>
        <data name="probabilities" format="qza" label="${tool.name} on ${on_string}: probabilities.qza" from_work_dir="probabilities.qza"/>
    </outputs>
    <tests/>
    <help>
QIIME 2: sample-classifier classify-samples-ncv
===============================================
Nested cross-validated supervised learning classifier.


Outputs:
--------
:predictions.qza: Predicted target values for each input sample.
:feature_importance.qza: Importance of each input feature to model accuracy.
:probabilities.qza: Predicted class probabilities for each input sample.

|  

Description:
------------
Predicts a categorical sample metadata column using a supervised learning classifier. Uses nested stratified k-fold cross validation for automated hyperparameter optimization and sample prediction. Outputs predicted values for each input sample, and relative importance of each feature for model accuracy.


|  

</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>