Mercurial > repos > florianbegusch > qiime2_suite
diff qiime2/qiime_longitudinal_maturity-index.xml @ 0:370e0b6e9826 draft
Uploaded
author | florianbegusch |
---|---|
date | Wed, 17 Jul 2019 03:05:17 -0400 |
parents | |
children | 914fa4daf16a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qiime2/qiime_longitudinal_maturity-index.xml Wed Jul 17 03:05:17 2019 -0400 @@ -0,0 +1,255 @@ +<?xml version="1.0" ?> +<tool id="qiime_longitudinal_maturity-index" name="qiime longitudinal maturity-index" version="2019.4"> + <description> - Microbial maturity index prediction.</description> + <requirements> + <requirement type="package" version="2019.4">qiime2</requirement> + </requirements> + <command><![CDATA[ +qiime longitudinal maturity-index + +--i-table=$itable +--p-state-column="$pstatecolumn" +--p-group-by="$pgroupby" +--p-control="$pcontrol" + +#if str($pindividualidcolumn): + --p-individual-id-column="$pindividualidcolumn" +#end if + +#if str($pestimator) != 'None': + --p-estimator=$pestimator +#end if + +#if $pnestimators: + --p-n-estimators=$pnestimators +#end if + +#if $ptestsize: + --p-test-size=$ptestsize +#end if + +#if $pstep: + --p-step=$pstep +#end if + +#if $pcv: + --p-cv=$pcv +#end if + +#if str($prandomstate): + --p-random-state="$prandomstate" +#end if + +#set $pnjobs = '${GALAXY_SLOTS:-4}' +#if str($pnjobs): + --p-n-jobs="$pnjobs" +#end if + + +#if $pparametertuning: + --p-parameter-tuning +#end if + +#if $poptimizefeatureselection: + --p-optimize-feature-selection +#end if + +#if $pstratify: + --p-stratify +#end if + +#if str($pmissingsamples) != 'None': + --p-missing-samples=$pmissingsamples +#end if + +#if $pfeaturecount: + --p-feature-count=$pfeaturecount +#end if + + +#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 + + +--o-sample-estimator=osampleestimator +--o-feature-importance=ofeatureimportance +--o-predictions=opredictions +--o-model-summary=omodelsummary +--o-accuracy-results=oaccuracyresults +--o-maz-scores=omazscores +--o-clustermap=oclustermap +--o-volatility-plots=ovolatilityplots +; +cp osampleestimator.qza $osampleestimator; +cp ofeatureimportance.qza $ofeatureimportance; +cp opredictions.qza $opredictions; +qiime tools export --input-path omodelsummary.qzv --output-path out && mkdir -p '$omodelsummary.files_path' +&& cp -r out/* '$omodelsummary.files_path' +&& mv '$omodelsummary.files_path/index.html' '$omodelsummary'; +qiime tools export --input-path oaccuracyresults.qzv --output-path out && mkdir -p '$oaccuracyresults.files_path' +&& cp -r out/* '$oaccuracyresults.files_path' +&& mv '$oaccuracyresults.files_path/index.html' '$oaccuracyresults'; +cp omazscores.qza $omazscores; +qiime tools export --input-path oclustermap.qzv --output-path out && mkdir -p '$oclustermap.files_path' +&& cp -r out/* '$oclustermap.files_path' +&& mv '$oclustermap.files_path/index.html' '$oclustermap'; +qiime tools export --input-path ovolatilityplots.qzv --output-path out && mkdir -p '$ovolatilityplots.files_path' +&& cp -r out/* '$ovolatilityplots.files_path' +&& mv '$ovolatilityplots.files_path/index.html' '$ovolatilityplots' + ]]></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"/> + <param label="--p-state-column: TEXT Numeric metadata column containing sampling time (state) data to use as prediction target. [required]" name="pstatecolumn" optional="False" type="text"/> + <param label="--p-group-by: TEXT Categorical metadata column to use for plotting and significance testing between main treatment groups. [required]" name="pgroupby" optional="False" type="text"/> + <param label="--p-control: TEXT Value of group-by to use as control group. The regression model will be trained using only control group data, and the maturity scores of other groups consequently will be assessed relative to this group. [required]" name="pcontrol" optional="False" type="text"/> + <param label="--p-individual-id-column: TEXT Optional metadata column containing IDs for individual subjects. Adds individual subject (spaghetti) vectors to volatility charts if a column name is provided. [optional]" name="pindividualidcolumn" optional="True" type="text"/> + <param label="--p-estimator: " name="pestimator" optional="True" type="select"> + <option selected="True" value="None">Selection is Optional</option> + <option value="RandomForestRegressor">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 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]" name="pnestimators" optional="True" type="integer" min="1" value="100"/> + <param 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.5]" name="ptestsize" optional="True" type="float" exclusive_start="True" min="0" max="1" value="0.5"/> + <param 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]" name="pstep" optional="True" type="float" exclusive_start="True" min="0" max="1" value="0.05"/> + <param label="--p-cv: INTEGER Number of k-fold cross-validations to perform. Range(1, None) [default: 5]" name="pcv" optional="True" type="integer" min="1" value="5"/> + <param label="--p-random-state: INTEGER Seed used by random number generator. [optional]" name="prandomstate" optional="True" type="integer"/> + <param label="--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-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-stratify: --p-no-stratify Evenly stratify training and test data among metadata categories. If True, all values in column must match at least two samples. [default: False]" name="pstratify" selected="False" type="boolean"/> + <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="--p-feature-count: INTEGER Range(0, None) Filter feature table to include top N most important features. Set to zero to include all features. [default: 50]" name="pfeaturecount" optional="True" type="integer" min="0" value="50"/> + + <repeat name="input_files_mmetadatafile" optional="True" title="--m-metadata-file"> + <param label="--m-metadata-file: Metadata file or artifact viewable as metadata. This option may be supplied multiple times to merge metadata. [optional]" name="additional_input" type="data" format="tabular,qza,no_unzip.zip" /> + </repeat> </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.qzv" name="omodelsummary"/> + <data format="html" label="${tool.name} on ${on_string}: accuracyresults.qzv" name="oaccuracyresults"/> + <data format="qza" label="${tool.name} on ${on_string}: mazscores.qza" name="omazscores"/> + <data format="html" label="${tool.name} on ${on_string}: clustermap.qzv" name="oclustermap"/> + <data format="html" label="${tool.name} on ${on_string}: volatilityplots.qzv" name="ovolatilityplots"/> + </outputs> + <help><![CDATA[ +Microbial maturity index prediction. +#################################### + +Calculates a "microbial maturity" index from a regression model trained on +feature data to predict a given continuous metadata column, e.g., to +predict age as a function of microbiota composition. The model is trained +on a subset of control group samples, then predicts the column value for +all samples. This visualization computes maturity index z-scores to compare +relative "maturity" between each group, as described in +doi:10.1038/nature13421. This method can be used to predict between-group +differences in relative trajectory across any type of continuous metadata +gradient, e.g., intestinal microbiome development by age, microbial +succession during wine fermentation, or microbial community differences +along environmental gradients, as a function of two or more different +"treatment" groups. + +Parameters +---------- +table : FeatureTable[Frequency] + Feature table containing all features that should be used for target + prediction. +metadata : Metadata + \ +state_column : Str + Numeric metadata column containing sampling time (state) data to use as + prediction target. +group_by : Str + Categorical metadata column to use for plotting and significance + testing between main treatment groups. +control : Str + Value of group_by to use as control group. The regression model will be + trained using only control group data, and the maturity scores of other + groups consequently will be assessed relative to this group. +individual_id_column : Str, optional + Optional metadata column containing IDs for individual subjects. Adds + individual subject (spaghetti) vectors to volatility charts if a column + name is provided. +estimator : Str % Choices('RandomForestRegressor', 'ExtraTreesRegressor', 'GradientBoostingRegressor', 'AdaBoostRegressor', 'ElasticNet', 'Ridge', 'Lasso', 'KNeighborsRegressor', 'LinearSVR', 'SVR'), optional + Regression model to use for prediction. +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. +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. +parameter_tuning : Bool, optional + Automatically tune hyperparameters using random grid search. +optimize_feature_selection : Bool, optional + Automatically optimize input feature selection using recursive feature + elimination. +stratify : Bool, optional + Evenly stratify training and test data among metadata categories. If + True, all values in column must match at least two samples. +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. +feature_count : Int % Range(0, None), optional + Filter feature table to include top N most important features. Set to + zero to include all features. + +Returns +------- +sample_estimator : SampleEstimator[Regressor] + Trained sample estimator. +feature_importance : FeatureData[Importance] + Importance of each input feature to model accuracy. +predictions : SampleData[RegressorPredictions] + 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. +maz_scores : SampleData[RegressorPredictions] + Microbiota-for-age z-score predictions. +clustermap : Visualization + Heatmap of important feature abundance at each time point in each + group. +volatility_plots : Visualization + Interactive volatility plots of MAZ and maturity scores, target + (column) predictions, and the sample metadata. + ]]></help> +<macros> + <import>qiime_citation.xml</import> +</macros> +<expand macro="qiime_citation"/> +</tool>