<macros>
    <token name="@TOOL_VERSION@">0.10.9</token>
    <token name="@VERSION_SUFFIX@">2</token>
    <token name="@PROFILE@">21.09</token>
    <xml name="requirements">
        <requirements>
            <requirement type="package" version="@TOOL_VERSION@">anndata</requirement>
            <requirement type="package" version="3.0.6">loompy</requirement>
            <yield />
        </requirements>
    </xml>
    <xml name="citations">
        <citations>
            <citation type="doi">10.1186/s13059-017-1382-0</citation>
        </citations>
    </xml>
    <xml name="version_command">
        <version_command><![CDATA[python -c "import anndata as ad;print('anndata version: %s' % ad.__version__); import loompy;print('\nloompy version: %s' % loompy.__version__)"]]></version_command>
    </xml>
    <token name="@CMD@"><![CDATA[
cat '$script_file' &&
python '$script_file'
    ]]>
    </token>
    <token name="@CMD_imports@"><![CDATA[
import anndata as ad
    ]]>
    </token>
    <token name="@HELP@"><![CDATA[
**AnnData**

AnnData provides a scalable way of keeping track of data together with learned annotations. It is used within `Scanpy <https://github.com/theislab/scanpy>`__, for which it was initially developed.

AnnData stores a data matrix `X` together with annotations of observations `obs`, variables `var` and unstructured annotations `uns`.

.. image:: https://falexwolf.de/img/scanpy/anndata.svg


AnnData stores observations (samples) of variables (features) in the rows of a matrix. This is the convention of the modern classics
of statistics (`Hastie et al., 2009 <https://web.stanford.edu/~hastie/ElemStatLearn/>`__)  and machine learning (Murphy, 2012), the convention of dataframes both in R and Python and the established statistics
and machine learning packages in Python (statsmodels, scikit-learn).

More details on the `AnnData documentation
<https://anndata.readthedocs.io/en/latest/generated/anndata.AnnData.html>`__


**Loom data**

Loom files are an efficient file format for very large omics datasets, consisting of a main matrix, optional additional layers, a variable number of row and column annotations, and sparse graph objects.

.. image:: https://linnarssonlab.org/loompy/_images/Loom_components.png


Loom files to store single-cell gene expression data: the main matrix contains the actual expression values (one column per cell, one row per gene); row and column annotations contain metadata for genes
and cells, such as Name, Chromosome, Position (for genes), and Strain, Sex, Age (for cells).

    ]]>
    </token>
    <xml name="params_chunk_X">
        <conditional name="chunk">
            <param name="info" type="select" label="How to select the chunk?">
                <option value="random">Random chunk of defined size</option>
                <option value="specified">Specified indices</option>
            </param>
            <when value="random">
                <param name="size" type="integer" value="1000" label="Size of chunk to randomly select"/>
                <param name="replace" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Random sampling of indices with replacement?"/>
            </when>
            <when value="specified">
                <param name="list" type="text" value="" label="List of comma-separated indices to return"/>
            </when>
        </conditional>
    </xml>
    <xml name="sanitize_query" token_validinitial="string.printable">
        <sanitizer>
            <valid initial="@VALIDINITIAL@">
                <remove value="&apos;" />
            </valid>
       </sanitizer>
    </xml>
    <xml name="bio_tools">
        <xrefs>
            <xref type="bio.tools">anndata</xref>
        </xrefs>
    </xml>
</macros>
