view all_fasta.xml @ 7:6ad04790da12 draft

"planemo upload for repository https://github.com/brinkmanlab/galaxy-tools/tree/master/microbedb commit 86feecfffe799823fcbae7c56b04d4ef7c87117d"
author brinkmanlab
date Mon, 09 Nov 2020 23:15:23 +0000
parents 67447b96c3ff
children 7c2f036e13a7
line wrap: on
line source

<tool id="microbedb_all_fasta" name="MicrobeDB All FASTA" version="1.0" tool_type="manage_data" profile="18.09">
    <description>Load all fasta files from MicrobeDB into the all_fasta data table</description>
    <edam_topics>
        <edam_topic>topic_3301</edam_topic>
        <edam_topic>topic_0080</edam_topic>
        <edam_topic>topic_0091</edam_topic>
    </edam_topics>
    <edam_operations>
        <edam_operation>operation_2422</edam_operation>
    </edam_operations>
    <requirements>
        <requirement type="package" version="3">sqlite</requirement>
    </requirements>
    <version_command>sqlite3 --version</version_command>
    <command><![CDATA[
        sqlite3 -readonly '$db' < '$sql' > '$output'
    ]]></command>
    <configfiles>
        <configfile name="sql"><![CDATA[
            #import os.path
            SELECT json_object('data_tables',
                json_object('all_fasta', json_group_array(json_object('value', unique_build_id, 'dbkey', dbkey, 'name', label, 'path', file_path))),
            #if $builds
                json_object('__dbkeys__', json_group_array(json_object('value', dbkey, 'name', label, 'len_path', ''))),
            #end if
            ) FROM (
             SELECT (r.rep_accnum || '.' || r.rep_version) AS unique_build_id,
                    (r.rep_accnum || '_' || r.rep_version) AS dbkey,
                    (REPLACE(r.definition, ', complete genome.', '') || ' [' || r.rep_accnum || '.' || r.rep_version || ']') AS label,
                    ('${os.path.dirname(str($db))}/' || genomeproject.gpv_directory || '/' || genomeproject.filename || '_genomic.fna') AS file_path
             FROM genomeproject
                      JOIN replicon r ON genomeproject.gpv_id = r.gpv_id AND r.rep_type = 'chromosome'
             WHERE genomeproject.version_id = (SELECT version_id FROM version WHERE is_current == 1)
               AND genomeproject.file_types IS NOT NULL
               AND genomeproject.file_types LIKE '%.fna%'
               AND r.rep_type = 'chromosome'
            )
        ]]></configfile>
    </configfiles>
    <inputs>
        <param name="db" type="text" value="/cvmfs/microbedb.brinkmanlab.ca/microbedb.sqlite" label="Path" help="Absolute path to microbedb.sqlite on Galaxy host server"/>
        <param name="builds" type="boolean" label="Add genomes to __dbkeys__" help="Add genomes to __dbkeys__ table, listing them at /api/genomes"/>
    </inputs>
    <outputs>
        <data name="output" format="data_manager_json" />
    </outputs>
    <tests>
    </tests>
    <help><![CDATA[
    Analysis of microbial genomes often requires the general organization and comparison of tens to thousands of genomes both from public repositories
    and unpublished sources. MicrobeDB provides a foundation for such projects by the automation of downloading published, completed bacterial and
    archaeal genomes from key sources, parsing annotations of all genomes (both public and private) into a local database, and allowing interaction
    with the database through an easy to use programming interface. MicrobeDB creates a simple to use, easy to maintain, centralized local resource
    for various large-scale comparative genomic analyses and a back-end for future microbial application design.

    This tool populates the all_fasta table with the paths of the reference genomes included in MicrobeDB. MicrobeDB must first be manually loaded
    onto the Galaxy filesystem. The easiest way of doing that is mounting it using the [CVMFS client](https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html).
    The MicrobeDB CVMFS repository is hosted at microbedb.brinkmanlab.ca.
    ]]></help>
    <citations>
        <citation type="doi">10.1093/bioinformatics/bts273</citation>
    </citations>
</tool>