<commit_before><tool profile="16.07" id="mothur_remove_otus" name="Remove.otus" version="@WRAPPER_VERSION@.0">
    <description>Remove otus containing sequences from specified groups</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>
    <command><![CDATA[
        @SHELL_OPTIONS@

        ## create symlinks to input datasets
        ln -s "$otu" otu.dat &&
        ln -s "$group_in" group_in.dat &&

        echo 'remove.otus(
            list=otu.dat,
            label=$label,
            group=group_in.dat
            #if $groups:
                ,groups=${ str($groups).replace(",","-") }
            #end if
        )'
        | sed 's/ //g'  ## mothur trips over whitespace
        | mothur
        | tee mothur.out.log
    ]]></command>
    <inputs>
        <param name="otu" type="data" format="mothur.list" label="list - OTU List"/>
        <param name="label" type="select" label="label - OTU Labels" help="Select exactly one label">
            <expand macro="labeloptions"/>
        </param>
        <param name="group_in" type="data" format="mothur.groups" label="group - Groups"/>
        <param name="groups" type="select" label="groups - Pick groups to remove" multiple="true" help="At least one group must be selected">
            <options>
                <filter type="data_meta" ref="group_in" key="groups"/>
            </options>
        </param>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="group_out" format="mothur.groups" from_work_dir="group_in*.pick.dat" label="${tool.name} on ${on_string}: pick.groups"/>
        <data name="list_out" format="mothur.list" from_work_dir="otu*.pick.dat" label="${tool.name} on ${on_string}: pick.list"/>
    </outputs>
    <tests>
        <test>
            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
            <param name="group_in" value="amazon.groups" ftype="mothur.groups"/>
            <param name="groups" value="forest"/>
            <param name="label" value="0.05"/>
            <output name="list_out" md5="fa5b954ad8e8235dbb700af1a9d8a091" ftype="mothur.list"/>
            <output name="group_out" md5="3c9f6e88de0f60f2a870c8d4a9d61db8" ftype="mothur.groups"/>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help>
<![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The remove.otus_ command removes otus from a list_ containing sequences from a specific group or set of groups.

.. _list: https://www.mothur.org/wiki/List_file
.. _remove.otus: https://www.mothur.org/wiki/Remove.otus

]]>
    </help>
    <expand macro="citations"/>
</tool><commit_msg>remove.otus: update to new version<commit_after><tool profile="16.07" id="mothur_remove_otus" name="Remove.otus" version="@WRAPPER_VERSION@.0">
    <description>Removes OTUs from various file formats</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>
    <command><![CDATA[
@SHELL_OPTIONS@

## create symlinks to input datasets
ln -s '$infile.otu' infile.otu.dat &&
ln -s '$accnos' accnos.dat &&

echo 'remove.otus(
    #if $infile.otu.is_of_type("mothur.cons.taxonomy"):
        constaxonomy=infile.otu.data,
    #end if
    #if $infile.otu.is_of_type("mothur.otu.corr"):
        otucorr=infile.otu.dat,
    #end if
    #if $infile.otu.is_of_type("mothur.axes"):
        corraxes=infile.otu.dat,
    #end if
    #if $infile.otu.is_of_type("mothur.list"):
        list=infile.otu.dat,
    #end if
    #if $infile.otu.is_of_type("mothur.shared"):
        shared=infile.otu.dat,
    #end if
    #if $infile.intype == "in_shared" and $infile.label:
        label=${ str($infile.label).replace(",","-") },
    #end if
    accnos=accnos.dat
)'
| sed 's/ //g'  ## mothur trips over whitespace
| mothur
| tee mothur.out.log
    ]]></command>
    <inputs>
        <param name="accnos" type="data" format="mothur.otulabels" label="accnos - otulabels" help="Required"/>
        <conditional name="infile">
            <param name="intype" type="select" label="Which type of files will you be supplying?" help="">
                <option value="in_shared">Shared or List file</option>
                <option value="in_other">Constaxonomy / OtuCorr / CorrAxes file</option>
            </param>
            <when value="in_shared">
                <param name="otu" type="data" format="mothur.list,mothur.shared" label="shared/list - allows you to input a list file you wish to select OTUs from. "/>
                <param name="label" type="select" label="label - pick (one) OTU Label" optional="true" help="By default first label in your file is used">
                    <expand macro="labeloptions"/>
                </param>
            </when>
            <when value="in_other">
                <param name="otu" type="data" format="mothur.cons.taxonomy,mothur.otu.corr,mothur.axes" label="cons.taxonomy/otu.corr/axes file" help="constaxonomy file can be obtained by the running classify.otu tool, otucorr from otu.association tool, and corraxes from corr.axes command"/>
            </when>
        </conditional>
    </inputs>
    <outputs>
        <expand macro="logfile-output"/>
        <data name="pick_out" format_source="otu" from_work_dir="infile.otu*.pick.dat" label="${tool.name} on ${on_string}: pick"/>
    </outputs>
    <tests>
        <test><!-- test with shared/list input and label selection -->
            <param name="accnos" value="amazon.accnos.otulabels"/>
            <param name="intype" value="in_shared"/>
            <param name="otu" value="amazon.an.list" ftype="mothur.list"/>
            <param name="label" value="0.22"/>
            <output name="pick_out" ftype="mothur.list">
                <assert_contents>
                    <expand macro="test-list-format"/>
                    <has_text text="U68686"/>
                    <has_text text="0.22"/>
                    <not_has_text text="0.03"/>
                </assert_contents>
            </output>
            <expand macro="logfile-test"/>
        </test>
        <test><!-- test with constaxonomy/otucorr/corraxes file -->
            <param name="accnos" value="amazon.accnos.otulabels"/>
            <param name="intype" value="in_other"/>
            <param name="otu" value="amazon.pcoa.axes" ftype="mothur.axes"/>
            <output name="pick_out" ftype="mothur.axes">
                <assert_contents>
                    <expand macro="test-axes-format"/>
                    <has_text text="U68686"/>
                </assert_contents>
            </output>
            <expand macro="logfile-test"/>
        </test>
    </tests>
    <help><![CDATA[

@MOTHUR_OVERVIEW@

**Command Documentation**

The remove.otus command removes otu labels from cons.taxonomy, corr.axes, otu.corr, shared and list files. This can be useful especially with subsampled datasets or when groups have been selected.

.. _remove.otus: https://www.mothur.org/wiki/Remove.otus

    ]]></help>
    <expand macro="citations"/>
</tool>
{'fraction_non_alphanumeric': 0.15525621441466464, 'fraction_numerical': 0.00972087210109707, 'mean_word_length': 2.532123589995096, 'pattern_counts': {'":': 0, '<': 122, '<?xml version=': 0, '>': 122, 'https://': 3, 'lorem ipsum': 0, 'www.': 3, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4984467', 'n_tokens_mistral': 2402, 'n_tokens_neox': 2303, 'n_words': 497}