Mercurial > repos > gga > chado_phylogeny_gene_order
changeset 11:9efb6d4ed19b draft
planemo upload for repository https://github.com/galaxy-genome-annotation/galaxy-tools/tree/master/tools/chado commit 0b135f1ea2623ea68e41ac88e13d99e6b4ad8bea
author | gga |
---|---|
date | Mon, 08 Jul 2019 05:31:09 -0400 |
parents | cba2274d1463 |
children | bb4b8932ccdc |
files | macros.xml phylogeny_gene_order.xml prepare_psql.sh |
diffstat | 3 files changed, 95 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/macros.xml Tue Mar 05 05:12:06 2019 -0500 +++ b/macros.xml Mon Jul 08 05:31:09 2019 -0400 @@ -2,12 +2,16 @@ <macros> <xml name="requirements"> <requirements> - <requirement type="package" version="2.2.5">python-chado</requirement> + <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" /> @@ -16,7 +20,7 @@ </stdio> </xml> - <token name="@WRAPPER_VERSION@">2.2.5</token> + <token name="@WRAPPER_VERSION@">2.2.6</token> <xml name="citation"> <citations> @@ -32,19 +36,6 @@ <token name="@HELP@"><![CDATA[ ]]></token> - <token name="@AUTH@"><![CDATA[ - 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' && - - CHAKIN_GLOBAL_CONFIG_PATH='.auth.yml' - ]]></token> - <xml name="sanitized"> <sanitizer> <valid initial="string.printable"> @@ -83,4 +74,63 @@ 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="@AUTH@"><![CDATA[ + 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 + ]]></token> + + <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 + @AUTH@ + #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>
--- a/phylogeny_gene_order.xml Tue Mar 05 05:12:06 2019 -0500 +++ b/phylogeny_gene_order.xml Mon Jul 08 05:31:09 2019 -0400 @@ -6,15 +6,18 @@ </macros> <expand macro="requirements"/> <command detect_errors="aggressive"><![CDATA[ -@AUTH@ +@START_PSQL@ && chakin phylogeny gene_order $nuke > '$results' + + && @ZIP_PSQL@ ]]></command> <inputs> + <expand macro="psql_target"/> <!-- options --> <param name="nuke" label="Nuke" argument="--nuke" type="boolean" truevalue="--nuke" falsevalue="" help="Removes all previous gene ordering data" /> <expand macro="wait_for"/> @@ -22,6 +25,9 @@ </inputs> <outputs> <data format="txt" name="results"/> + <data format="postgresql" name="outfile" from_work_dir="postgresql_out.tar.bz2" label="${tool.name} on ${on_string}"> + <filter>psql_target['method'] == "pgtools"</filter> + </data> </outputs> <help> Orders all the genes in the database by their order on their respective chromosomes in the gene_order table (for use in https://github.com/legumeinfo/lis_context_viewer/).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prepare_psql.sh Mon Jul 08 05:31:09 2019 -0400 @@ -0,0 +1,23 @@ +#!/bin/bash + +export PWD=`pwd` && +sed -i.bak "s|unix_socket_directories.*|unix_socket_directories = '$PWD/postgresql/'|" ./postgresql/db/postgresql.conf && + +pglite start -d ./postgresql && + +timeout 60 bash -c 'until pglite status -d ./postgresql | grep -F -q "server is running"; do sleep 1; done' && +pglite status -d ./postgresql && +timeout 60 bash -c 'until ls -la ./postgresql | grep -F -q ".s.PGSQL.5432"; do sleep 1; done' && +pglite status -d ./postgresql && + +echo "__default: local" > '.auth.yml' && +echo "local:" >> '.auth.yml' && +echo " dbhost: \"xxx\"" >> '.auth.yml' && +echo " dbname: \"xxx\"" >> '.auth.yml' && +echo " dbpass: \"xxx\"" >> '.auth.yml' && +echo " dbuser: \"xxx\"" >> '.auth.yml' && +echo " dbschema: \"$1\"" >> '.auth.yml' && +echo " dbport: \"xxx\"" >> '.auth.yml' && +echo " dburl: \"$(pglite url -d ./postgresql)\"" >> '.auth.yml' && + +export CHAKIN_GLOBAL_CONFIG_PATH='.auth.yml'