view scanpy-filter-genes.xml @ 15:fc5b3e76131b draft

"planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/tree/develop/tools/tertiary-analysis/scanpy commit 62f47287c7e8449c59a1f1f454852ddc669b1b1e-dirty"
author ebi-gxa
date Mon, 07 Sep 2020 13:15:42 +0000
parents c678f671e151
children d82d999fa716
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<tool id="scanpy_filter_genes" name="Scanpy FilterGenes" version="@TOOL_VERSION@+galaxy0" profile="@PROFILE@">
  <description>based on counts and numbers of cells expressed</description>
  <macros>
    <import>scanpy_macros2.xml</import>
  </macros>
  <expand macro="requirements"/>
  <command detect_errors="exit_code"><![CDATA[
ln -s '${input_obj_file}' input.h5 &&
PYTHONIOENCODING=utf-8 scanpy-filter-genes
#if $parameters
#for $p in $parameters
    #set $min = $p.min
    #set $max = $p.max
    #if $p.name.startswith('pct_')
      #set $min = float($min) / 100
      #set $max = float($max) / 100
    #end if
    --param 'g:$p.name' $min $max
#end for
#end if
#if $categories
    #set cats = ' '.join(["--category 'g:{name}' '{negate}{values}'".format(**$c) for $c in $categories])
    ${cats}
#end if
#if $subsets
    #set subs = ' '.join(["--subset 'g:{name}' '{subset}'".format(**$s) for $s in $subsets])
    ${subs}
#end if
$force_recalc
    @INPUT_OPTS@
    @OUTPUT_OPTS@
    @EXPORT_MTX_OPTS@
]]></command>

  <inputs>
    <expand macro="input_object_params"/>
    <expand macro="output_object_params"/>

    <repeat name="parameters" title="Parameters to select genes to keep" min="1">
      <param name="name" type="text" value="n_cells" label="Name of parameter to filter on" help="for example n_genes or n_counts">
        <option value="n_cells">n_cells</option>
        <option value="n_counts">n_counts</option>
      </param>
      <param name="min" type="float" min="0" value="0" label="Min value" help="Genes with value below min will be discarded."/>
      <param name="max" type="float" min="0" value="1e9" label="Max value" help="Genes with value above max will be discarded."/>
    </repeat>

    <repeat name="categories" title="Categories to select genes to keep (unless negate is checked)" min="0">
      <param name="name" type="text" value="" label="Name of the categorical variable to filter on"/>
      <param name="values" type="text" value="" label="Comma-separated list of categories"/>
      <param name="negate" type="boolean" truevalue="!" falsevalue="" checked="false" label="Apply as negative filter" help="If enabled, specified categories will be removed rather than retained."/>
    </repeat>

    <repeat name="subsets" title="Subsets to select genes to keep" min="0">
      <param name="name" type="text" value="" label="Name of the categorical variable to filter on"/>
      <param name="subset" type="data" format="tabular" label="List of values to keep" help="A one-column headerless text file is required"/>
    </repeat>
    <param name="force_recalc" label="Force recalculation of QC vars" type="boolean" truevalue="--force-recalc" falsevalue="" help="If set, it will recalculate pcts and other existing QC vars, overwriting existing ones."/>
    <expand macro="export_mtx_params"/>
  </inputs>

  <outputs>
    <expand macro="output_data_obj" description="Filtered cells"/>
    <expand macro="export_mtx_outputs"/>
  </outputs>

  <tests>
    <test>
      <param name="input_obj_file" value="filter_cells.h5"/>
      <param name="input_format" value="anndata"/>
      <param name="output_format" value="anndata"/>
      <repeat name="parameters">
        <param name="name" value="n_cells"/>
        <param name="min" value="20"/>
        <param name="max" value="1e9"/>
      </repeat>
      <repeat name="parameters">
        <param name="name" value="n_counts"/>
        <param name="min" value="0"/>
        <param name="max" value="1e9"/>
      </repeat>
      <output name="output_h5" file="filter_genes.h5" ftype="h5" compare="sim_size"/>
    </test>
  </tests>

  <help><![CDATA[
=====================================================================
Filter genes based on arbitrary attributes (`scanpy.pp.filter_genes`)
=====================================================================

Keep genes that have at least `min_counts` counts or are expressed in at
least `min_cells` cells or have at most `max_counts` counts or are expressed
in at most `max_cells` cells. Other gene attributes can be used for filtering
too if available.


@HELP@

@VERSION_HISTORY@
]]></help>
  <expand macro="citations"/>
</tool>