Mercurial > repos > florianbegusch > qiime2_suite
diff qiime2/qiime_sample-classifier_classify-samples.xml @ 29:3ba9833030c1 draft
Uploaded
author | florianbegusch |
---|---|
date | Fri, 04 Sep 2020 13:12:49 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qiime2/qiime_sample-classifier_classify-samples.xml Fri Sep 04 13:12:49 2020 +0000 @@ -0,0 +1,260 @@ +<?xml version="1.0" ?> +<tool id="qiime_sample-classifier_classify-samples" name="qiime sample-classifier classify-samples" + version="2020.8"> + <description>Train and test a cross-validated supervised learning classifier.</description> + <requirements> + <requirement type="package" version="2020.8">qiime2</requirement> + </requirements> + <command><![CDATA[ +qiime sample-classifier classify-samples + +--i-table=$itable +# if $input_files_mmetadatafile: + # def list_dict_to_string(list_dict): + # set $file_list = list_dict[0]['additional_input'].__getattr__('file_name') + # for d in list_dict[1:]: + # set $file_list = $file_list + ' --m-metadata-file=' + d['additional_input'].__getattr__('file_name') + # end for + # return $file_list + # end def +--m-metadata-file=$list_dict_to_string($input_files_mmetadatafile) +# end if + +#if '__ob__' in str($mmetadatacolumn): + #set $mmetadatacolumn_temp = $mmetadatacolumn.replace('__ob__', '[') + #set $mmetadatacolumn = $mmetadatacolumn_temp +#end if +#if '__cb__' in str($mmetadatacolumn): + #set $mmetadatacolumn_temp = $mmetadatacolumn.replace('__cb__', ']') + #set $mmetadatacolumn = $mmetadatacolumn_temp +#end if +#if 'X' in str($mmetadatacolumn): + #set $mmetadatacolumn_temp = $mmetadatacolumn.replace('X', '\\') + #set $mmetadatacolumn = $mmetadatacolumn_temp +#end if +#if '__sq__' in str($mmetadatacolumn): + #set $mmetadatacolumn_temp = $mmetadatacolumn.replace('__sq__', "'") + #set $mmetadatacolumn = $mmetadatacolumn_temp +#end if +#if '__db__' in str($mmetadatacolumn): + #set $mmetadatacolumn_temp = $mmetadatacolumn.replace('__db__', '"') + #set $mmetadatacolumn = $mmetadatacolumn_temp +#end if + +--m-metadata-column=$mmetadatacolumn + + +--p-test-size=$ptestsize + +--p-step=$pstep + +--p-cv=$pcv + +#if str($prandomstate): + --p-random-state=$prandomstate +#end if +--p-n-jobs=$pnjobs + +--p-n-estimators=$pnestimators + +#if str($pestimator) != 'None': +--p-estimator=$pestimator +#end if + +#if $poptimizefeatureselection: + --p-optimize-feature-selection +#end if + +#if $pparametertuning: + --p-parameter-tuning +#end if + +#if str($ppalette) != 'None': +--p-palette=$ppalette +#end if + +#if str($pmissingsamples) != 'None': +--p-missing-samples=$pmissingsamples +#end if + +--o-sample-estimator=osampleestimator + +--o-feature-importance=ofeatureimportance + +--o-predictions=opredictions + +--o-model-summary=omodelsummary + +--o-accuracy-results=oaccuracyresults + +--o-probabilities=oprobabilities + +--o-heatmap=oheatmap + +#if str($examples) != 'None': +--examples=$examples +#end if + +; +cp oprobabilities.qza $oprobabilities + +; +qiime tools export oheatmap.qzv --output-path out +&& mkdir -p '$oheatmap.files_path' +&& cp -r out/* '$oheatmap.files_path' +&& mv '$oheatmap.files_path/index.html' '$oheatmap' + + ]]></command> + <inputs> + <param format="qza,no_unzip.zip" label="--i-table: ARTIFACT FeatureTable[Frequency] Feature table containing all features that should be used for target prediction. [required]" name="itable" optional="False" type="data" /> + <repeat name="input_files_mmetadatafile" optional="True" title="--m-metadata-file"> + <param format="tabular,qza,no_unzip.zip" label="--m-metadata-file: METADATA" name="additional_input" optional="True" type="data" /> + </repeat> + <param label="--m-metadata-column: COLUMN MetadataColumn[Categorical] Categorical metadata column to use as prediction target. [required]" name="mmetadatacolumn" optional="False" type="text" /> + <param exclude_min="True" label="--p-test-size: PROPORTION Range(0.0, 1.0, inclusive_start=False) Fraction of input samples to exclude from training set and use for classifier testing. [default: 0.2]" max="1.0" min="0.0" name="ptestsize" optional="True" type="float" value="0.2" /> + <param exclude_min="True" label="--p-step: PROPORTION Range(0.0, 1.0, inclusive_start=False) If optimize-feature-selection is True, step is the percentage of features to remove at each iteration. [default: 0.05]" max="1.0" min="0.0" name="pstep" optional="True" type="float" value="0.05" /> + <param label="--p-cv: INTEGER Number of k-fold cross-validations to perform. Range(1, None) [default: 5]" min="1" name="pcv" optional="True" type="integer" value="5" /> + <param label="--p-random-state: INTEGER Seed used by random number generator. [optional]" name="prandomstate" optional="False" type="text" /> + <param label="--p-n-estimators: INTEGER Range(1, None) 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. [default: 100]" min="1" name="pnestimators" optional="True" type="integer" value="100" /> + <param label="--p-estimator: " name="pestimator" optional="True" type="select"> + <option selected="True" value="None">Selection is Optional</option> + <option value="RandomForestClassifier">RandomForestClassifier</option> + <option value="ExtraTreesClassifier">ExtraTreesClassifier</option> + <option value="GradientBoostingClassifier">GradientBoostingClassifier</option> + <option value="AdaBoostClassifier">AdaBoostClassifier</option> + <option value="KNeighborsClassifier">KNeighborsClassifier</option> + <option value="LinearSVC">LinearSVC</option> + <option value="SVC">SVC</option> + </param> + <param label="--p-optimize-feature-selection: --p-optimize-feature-selection: / --p-no-optimize-feature-selection Automatically optimize input feature selection using recursive feature elimination. [default: False]" name="poptimizefeatureselection" selected="False" type="boolean" /> + <param label="--p-parameter-tuning: --p-parameter-tuning: / --p-no-parameter-tuning Automatically tune hyperparameters using random grid search. [default: False]" name="pparametertuning" selected="False" type="boolean" /> + <param label="--p-palette: " name="ppalette" optional="True" type="select"> + <option selected="True" value="None">Selection is Optional</option> + <option value="YellowOrangeBrown">YellowOrangeBrown</option> + <option value="YellowOrangeRed">YellowOrangeRed</option> + <option value="OrangeRed">OrangeRed</option> + <option value="PurpleRed">PurpleRed</option> + <option value="RedPurple">RedPurple</option> + <option value="BluePurple">BluePurple</option> + <option value="GreenBlue">GreenBlue</option> + <option value="PurpleBlue">PurpleBlue</option> + <option value="YellowGreen">YellowGreen</option> + <option value="summer">summer</option> + <option value="copper">copper</option> + <option value="viridis">viridis</option> + <option value="cividis">cividis</option> + <option value="plasma">plasma</option> + <option value="inferno">inferno</option> + <option value="magma">magma</option> + <option value="sirocco">sirocco</option> + <option value="drifting">drifting</option> + <option value="melancholy">melancholy</option> + <option value="enigma">enigma</option> + <option value="eros">eros</option> + <option value="spectre">spectre</option> + <option value="ambition">ambition</option> + <option value="mysteriousstains">mysteriousstains</option> + <option value="daydream">daydream</option> + <option value="solano">solano</option> + <option value="navarro">navarro</option> + <option value="dandelions">dandelions</option> + <option value="deepblue">deepblue</option> + <option value="verve">verve</option> + <option value="greyscale">greyscale</option> + </param> + <param label="--p-missing-samples: " name="pmissingsamples" optional="True" type="select"> + <option selected="True" value="None">Selection is Optional</option> + <option value="error">error</option> + <option value="ignore">ignore</option> + </param> + <param label="--examples: Show usage examples and exit." name="examples" optional="False" type="data" /> + + </inputs> + + <outputs> + <data format="qza" label="${tool.name} on ${on_string}: sampleestimator.qza" name="osampleestimator" /> + <data format="qza" label="${tool.name} on ${on_string}: featureimportance.qza" name="ofeatureimportance" /> + <data format="qza" label="${tool.name} on ${on_string}: predictions.qza" name="opredictions" /> + <data format="html" label="${tool.name} on ${on_string}: modelsummary.html" name="omodelsummary" /> + <data format="html" label="${tool.name} on ${on_string}: accuracyresults.html" name="oaccuracyresults" /> + <data format="qza" label="${tool.name} on ${on_string}: probabilities.qza" name="oprobabilities" /> + <data format="html" label="${tool.name} on ${on_string}: heatmap.html" name="oheatmap" /> + + </outputs> + + <help><![CDATA[ +Train and test a cross-validated supervised learning classifier. +############################################################### + +Predicts a categorical sample metadata column using a supervised learning +classifier. Splits input data into training and test sets. The training set +is used to train and test the estimator using a stratified k-fold cross- +validation scheme. This includes optional steps for automated feature +extraction and hyperparameter optimization. The test set validates +classification accuracy of the optimized estimator. Outputs classification +results for test set. For more details on the learning algorithm, see +http://scikit-learn.org/stable/supervised_learning.html + +Parameters +---------- +table : FeatureTable[Frequency] + Feature table containing all features that should be used for target + prediction. +metadata : MetadataColumn[Categorical] + Categorical metadata column to use as prediction target. +test_size : Float % Range(0.0, 1.0, inclusive_start=False), optional + Fraction of input samples to exclude from training set and use for + classifier testing. +step : Float % Range(0.0, 1.0, inclusive_start=False), optional + If optimize_feature_selection is True, step is the percentage of + features to remove at each iteration. +cv : Int % Range(1, None), optional + Number of k-fold cross-validations to perform. +random_state : Int, optional + Seed used by random number generator. +n_jobs : Int, optional + Number of jobs to run in parallel. +n_estimators : Int % Range(1, None), optional + 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. +estimator : Str % Choices('RandomForestClassifier', 'ExtraTreesClassifier', 'GradientBoostingClassifier', 'AdaBoostClassifier', 'KNeighborsClassifier', 'LinearSVC', 'SVC'), optional + Estimator method to use for sample prediction. +optimize_feature_selection : Bool, optional + Automatically optimize input feature selection using recursive feature + elimination. +parameter_tuning : Bool, optional + Automatically tune hyperparameters using random grid search. +palette : Str % Choices('YellowOrangeBrown', 'YellowOrangeRed', 'OrangeRed', 'PurpleRed', 'RedPurple', 'BluePurple', 'GreenBlue', 'PurpleBlue', 'YellowGreen', 'summer', 'copper', 'viridis', 'cividis', 'plasma', 'inferno', 'magma', 'sirocco', 'drifting', 'melancholy', 'enigma', 'eros', 'spectre', 'ambition', 'mysteriousstains', 'daydream', 'solano', 'navarro', 'dandelions', 'deepblue', 'verve', 'greyscale'), optional + The color palette to use for plotting. +missing_samples : Str % Choices('error', 'ignore'), optional + How to handle missing samples in metadata. "error" will fail if missing + samples are detected. "ignore" will cause the feature table and + metadata to be filtered, so that only samples found in both files are + retained. + +Returns +------- +sample_estimator : SampleEstimator[Classifier] + Trained sample estimator. +feature_importance : FeatureData[Importance] + Importance of each input feature to model accuracy. +predictions : SampleData[ClassifierPredictions] + Predicted target values for each input sample. +model_summary : Visualization + Summarized parameter and (if enabled) feature selection information for + the trained estimator. +accuracy_results : Visualization + Accuracy results visualization. +probabilities : SampleData[Probabilities] + Predicted class probabilities for each input sample. +heatmap : Visualization + A heatmap of the top 50 most important features from the table. + ]]></help> + <macros> + <import>qiime_citation.xml</import> + </macros> + <expand macro="qiime_citation"/> +</tool> \ No newline at end of file