view macros.xml @ 11:926dbc8a33a1 draft

planemo upload for repository https://github.com/galaxy-genome-annotation/galaxy-tools/tree/master/tools/chado commit bc69ce09372c8c2701b726c326e671af279adb4d
author gga
date Thu, 11 Jul 2019 08:35:20 -0400
parents 52fe2a335964
children ccda382b5c8a
line wrap: on
line source

<?xml version="1.0"?>
<macros>
    <xml name="requirements">
        <requirements>
            <requirement type="package" version="2.2.6">python-chado</requirement>
            <requirement type="package" version="1.5">jq</requirement>
            <requirement type="package" version="@PG_VERSION@">postgresql</requirement>
            <requirement type="package" version="0.1">pglite</requirement>
            <yield/>
        </requirements>
    </xml>

    <token name="@PG_VERSION@">11.2</token>

    <xml name="stdio">
        <stdio>
            <regex level="fatal" match="Exception:" source="stderr" />
            <regex level="fatal" match="error" source="stderr" />
            <exit_code range="1:" />
        </stdio>
    </xml>

    <token name="@WRAPPER_VERSION@">2.2.6</token>

    <xml name="citation">
        <citations>
        </citations>
    </xml>

    <token name="@HELP_OVERVIEW@"><![CDATA[
        **Python-chado Overview**

        Python-cado provides several tools allowing to load data into a remote Chado database.
    ]]></token>

    <token name="@HELP@"><![CDATA[
    ]]></token>

    <xml name="sanitized">
        <sanitizer>
            <valid initial="string.printable">
                <remove value="&apos;"/>
            </valid>
            <mapping initial="none">
                <add source="&apos;" target="&apos;&quot;&apos;&quot;&apos;"/>
                <add source="(" target="\("/>
                <add source=")" target="\)"/>
            </mapping>
        </sanitizer>
    </xml>

    <!-- I'm not proud of it, but it is needed for workflows -->
    <xml name="wait_for">
        <param name="wait_for"
               type="data"
               format="data"
               optional="true"
               label="Run this only after the following dataset is ready"
               help="Use this if you want to delay the job execution until some data is already loaded. The selected dataset will not be used for anything else."/>
    </xml>

    <xml name="feature_rel">
        <param name="rel_subject_re"
               argument="--rel-subject-re"
               type="text"
               label="Regular expression to extract the unique name of the parent feature"
               help="this regex will be applied on the fasta definition line to generate the unique name of the parent feature">
            <expand macro="sanitized"/>
        </param>

        <param name="rel_subject_type"
               argument="--rel-subject-type"
               type="text"
               label="Sequence type of the parent"
               help="this should be a Sequence Ontology term" />
    </xml>

    <xml name="psql_target">
      <conditional name="psql_target">
         <param name="method" type="select" label="Chado Database" help="If you select 'Remote database' make sure credentials are defined in environment variables">
              <option value="remote">Remote database</option>
              <option value="pgtools">Database from history</option>
          </param>
          <when value="remote"/>
          <when value="pgtools">
            <param name="infile" type="data" format="postgresql" label="Input database" />
            <param name="schema" type="text" label="Schema containing Chado tables" value="public" help="Can be 'chado' for a Tripal database"/>
          </when>
      </conditional>
    </xml>

    <token name="@START_PSQL@"><![CDATA[
        #if $psql_target.method == 'pgtools'
            tar -xjvf '$psql_target.infile' > /dev/null &&
            . '$__tool_directory__/prepare_psql.sh' '$psql_target.schema'
        #else
            if [ -z "\$CHAKIN_GLOBAL_CONFIG_PATH" ]; then
              echo "__default: local" > '.auth.yml' &&
              echo "local:" >> '.auth.yml' &&
              echo "    dbhost: \"\$GALAXY_CHADO_DBHOST\"" >> '.auth.yml' &&
              echo "    dbname: \"\$GALAXY_CHADO_DBNAME\"" >> '.auth.yml' &&
              echo "    dbpass: \"\$GALAXY_CHADO_DBPASS\"" >> '.auth.yml' &&
              echo "    dbuser: \"\$GALAXY_CHADO_DBUSER\"" >> '.auth.yml' &&
              echo "    dbschema: \"\$GALAXY_CHADO_DBSCHEMA\"" >> '.auth.yml' &&
              echo "    dbport: \"\$GALAXY_CHADO_DBPORT\"" >> '.auth.yml' &&

              export CHAKIN_GLOBAL_CONFIG_PATH='.auth.yml'
            ; fi
        #end if
    ]]></token>

    <token name="@STOP_PSQL@"><![CDATA[
        #if $psql_target.method == 'pgtools'
            &&
            pglite stop -d ./postgresql &&
            timeout 60 bash -c 'until pglite status -d ./postgresql | grep -F -q "no server running"; do sleep 1; done'
            ;
            ## Make sure psql is stopped even if loading script failed
            pglite stop -d ./postgresql || true
        #end if
    ]]></token>

    <token name="@ZIP_PSQL@"><![CDATA[
        #if $psql_target.method == 'pgtools'
            &&
            pglite stop -d ./postgresql &&
            timeout 60 bash -c 'until pglite status -d ./postgresql | grep -F -q "no server running"; do sleep 1; done' &&
            tar -cvjf postgresql_out.tar.bz2 postgresql > /dev/null
            ;
            ## Make sure psql is stopped even if loading script failed
            pglite stop -d ./postgresql || true
        #end if
    ]]></token>
</macros>