view get_DB_data.xml @ 7:8984fabea52c draft

planemo upload for repository https://github.com/brsynth commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae
author tduigou
date Fri, 18 Apr 2025 13:04:32 +0000
parents 56a0938d534d
children 87585c392228
line wrap: on
line source

<tool id="get_DB_data" name="get data from DB" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">
    <description>Import data from Sorbonne Biofondry DB</description>
    <macros>
        <token name="@VERSION_SUFFIX@">0</token>
        <token name="@TOOL_VERSION@">0.1.0</token>
    </macros>
    <requirements>
        <requirement type="package" version="2.2.3">pandas</requirement>
        <requirement type="package" version="2.0.40">sqlalchemy</requirement>
        <requirement type="package" version="2.9.9">psycopg2</requirement>
        <requirement type="package" version="1.85">biopython</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
        mkdir 'outdir' &&
        python '$__tool_directory__/get_db_info.py'
            --input '$input' 
            --sequence_column '$sequence_column'
            --annotation_columns '$annotation_columns'
            --db_uri '$db_uri' 
            --table '$table' 
            --fragment_column '$fragment_column'
            --output 'outdir'
    ]]></command>
    <inputs> 
        <param name="input" type="data" format="tsv" label="Input TSV file" />
        <param name="table" type="text" label="Database Table Name" optional="false" />
        <param name="sequence_column" type="text" label="DB column contains sequence for ganbank file" optional="false" />
        <param name="annotation_columns" type="text" label="DB column contains annotation for ganbank file" optional="false" />
        <param name="fragment_column" type="text" label="Database Fragments Column Name" optional="false" />
        <param name="db_uri" type="text" label="Database Connection URI" help="postgresql+psycopg2://username:password@db_container_name:port/database" optional="false" />
    </inputs>    
    <outputs>
        <collection name="output_gb" type="list" label="GenBank Files collection" >
            <discover_datasets pattern="(?P&lt;name&gt;.*).gb" format="genbank" directory="outdir" />
        </collection>
    </outputs>
    <tests>
    <!--python get_db_info.py -input 'test-data/test_input.tsv' -sequence_column 'sequence' -annotation_column 'annotation' -db_uri 'postgresql://postgres:RK17@localhost:5432/test_fragments_db' -table 'sample' -fragment_column 'fragment' -output 'test-data/output'-->
        <test> 
            <param name="input" value="test_input.tsv" />
            <param name="table" value="sample" />
            <param name="sequence_column" value="sequence" />
            <param name="annotation_columns" value="annotation" />
            <param name="fragment_column" value="fragment" />
            <param name="db_uri" value="postgresql://postgres:RK17@localhost:5432/test_fragments_db" />
            <output_collection name="output_gb" type="list" count="4">
                <element name="ACP10001AaCbbBS">
                    <assert_contents>
                     <has_n_lines min="3" />
                    </assert_contents>
                </element>
                <element name="CFP10002AaCbbBS">
                    <assert_contents>
                     <has_n_lines min="3" />
                    </assert_contents>
                </element>
                <element name="QWE10004AaCbbBS">
                    <assert_contents>
                     <has_n_lines min="3" />
                    </assert_contents>
                </element>
                <element name="XYZ10003AaCbbBS">
                    <assert_contents>
                     <has_n_lines min="3" />
                    </assert_contents>
                </element>
            </output_collection>
        </test>
    </tests>
    
    <help><![CDATA[
Pick Data From DB
===================

generate GanDank files from tsv file based on SQL DB.
    ]]></help>
    <citations>
        <citation type="bibtex">
            @unpublished{get_DB_data
                author = {Ramiz Khaled},
                title = {{get_DB_data}},
                url = {https://github.com/brsynth/},
            }
        </citation>
    </citations>
</tool>