view ebi_search_rest_results.xml @ 1:a2c83f79f253 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ebi_tools commit 6847e1202f570ae466cf98affe54a7016fa98cd8
author iuc
date Mon, 12 Dec 2016 10:04:11 -0500
parents bb7989bd88ba
children 42d5e40fcd0b
line wrap: on
line source

<tool id="ebi_search_rest_results" name="EBI Search" version="0.1.0">
    <description>to obtain search results on resources and services hosted at the EBI</description>

    <macros>
        <import>macros.xml</import>
    </macros>

    <expand macro="requirements" />

    <command detect_errors="exit_code"><![CDATA[
        #set $queries=''
        #set $sep=''
        #for query in $searched_domain.queries:
            #if $sep == ''
                #set $queries = $queries
                #set $sep = str($query.combination_operation)
            #else
                #set $sep = str($query.combination_operation)
                #set $queries += ' %s ' % ($sep)
            #end if

            #set $queries += '%s:' % (str($query.query_field))
            #if str($query.comp_operation.operation) == 'equal'
                #set $queries += '(%s)' % (str($query.comp_operation.query_text))
            #else if str($query.comp_operation.operation) == 'not'
                #set $queries += '(%s NOT %s)' % (str($query.comp_operation.query_text), str($query.comp_operation.not_query_text))
            #else if str($query.comp_operation.operation) == 'range'
                #set $queries += '[%s TO %s]' % (str($query.comp_operation.min), str($query.comp_operation.max))
            #end if
        #end for

        python '$__tool_directory__/ebeye_urllib.py'
            getResults
            '$searched_domain.domain'
            '$queries'
            '$searched_domain.fields'
            > '$search_results'
    ]]></command>

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

    <outputs>
        <data name="search_results" format="tabular" label="${tool.name} on ${searched_domain.domain}" />
    </outputs>

    <tests>
        <test>
            <conditional name="searched_domain">
                <param name="domain" value="metagenomics_runs" />
                <param name="fields" value="id,experiment_type" />
                <repeat name="queries">
                    <param name="combination_operation" value="AND" />
                    <param name="query_field" value="biome" />
                    <conditional name="comp_operation">
                        <param name="operation" value="equal" />
                        <param name="query_text" value="gut" />
                    </conditional>
                </repeat>
            </conditional>
            <output name="search_results">
                <assert_contents>
                    <has_line_matching expression="^ERR762518.*" />
                    <has_line_matching expression="^ERR1337677.*" />
                    <has_line_matching expression="^ERR489293.*" />
                </assert_contents>
            </output>
        </test>
        <test>
            <conditional name="searched_domain">
                <param name="domain" value="metagenomics_runs" />
                <param name="fields" value="id,experiment_type" />
                <repeat name="queries">
                    <param name="combination_operation" value="AND" />
                    <param name="query_field" value="project_name" />
                    <conditional name="comp_operation">
                        <param name="operation" value="not" />
                        <param name="query_text" value="cheese" />
                        <param name="not_query_text" value="microb" />
                    </conditional>
                </repeat>
            </conditional>
            <output name="search_results">
                <assert_contents>
                    <has_line_matching expression="^SRR1205272.*" />
                    <has_line_matching expression="^ERR364233, ERR364234.*" />
                    <has_line_matching expression="^SRR2126380.*" />
                </assert_contents>
            </output>
        </test>
        <test>
            <conditional name="searched_domain">
                <param name="domain" value="metagenomics_runs" />
                <param name="fields" value="id,experiment_type" />
                <repeat name="queries">
                    <param name="combination_operation" value="AND" />
                    <param name="query_field" value="biome" />
                    <conditional name="comp_operation">
                        <param name="operation" value="equal" />
                        <param name="query_text" value="marine" />
                    </conditional>
                </repeat>
                <repeat name="queries">
                    <param name="combination_operation" value="AND" />
                    <param name="query_field" value="depth" />
                    <conditional name="comp_operation">
                        <param name="operation" value="range" />
                        <param name="min" value="0" />
                        <param name="max" value="200" />
                    </conditional>
                </repeat>
            </conditional>
            <output name="search_results">
                <assert_contents>
                    <has_line_matching expression="^ERR091545,ERR091546,ERR091547,ERR091548.*" />
                    <has_line_matching expression="^ERR771081.*" />
                    <has_line_matching expression="^ERR1278020.*" />
                </assert_contents>
            </output>
        </test>
    </tests>

    <help><![CDATA[
**What it does**

The European Bioinformatics Institute (EMBL-EBI) maintains the world’s most comprehensive range of freely available and up-to-date molecular databases.

EBI Search, also named as 'EB-eye', is a scalable search engine that:

- provides text search functionality and uniform access to resources and services hosted at the European Bioinformatics Institute (EMBL-EBI)
- is based on the consolidated  Apache Lucene  technology
- exposes both a Web and  RESTful Web Services interfaces
- provides inter-domain navigation via a network of cross-references

Here, sample clients provided by EBI is used
    ]]></help>

    <expand macro="citations" />
</tool>