changeset 3:6aabe4f367fd draft

planemo upload for repository https://github.com/quadram-institute-bioscience/galaxy-tools/tree/master/tools/ariba commit 067b5a6a02d5f04c2155b45eed5df257a1360645-dirty
author thanhlv
date Mon, 18 Feb 2019 11:48:39 -0500
parents 87341275b335
children 55d34d89fb76
files ariba_summary.xml data_manager_build_ariba_database/data_manager/ariba_data_base_builder.py data_manager_build_ariba_database/data_manager/ariba_database_builder.xml data_manager_build_ariba_database/data_manager/ariba_database_builder.xml.bk data_manager_build_ariba_database/data_manager_conf.xml data_manager_build_ariba_database/macros.xml data_manager_build_ariba_database/tool-data/ariba_databases.loc.sample data_manager_build_ariba_database/tool_data_table_conf.xml.sample help-command.txt planemo_command/planemo_command_ariba.sh planemo_command/planemo_command_ariba_flag.sh test.ipynb
diffstat 11 files changed, 384 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ariba_summary.xml	Mon Feb 18 11:39:14 2019 -0500
+++ b/ariba_summary.xml	Mon Feb 18 11:48:39 2019 -0500
@@ -1,4 +1,4 @@
-<tool id="ariba_run" name="ARIBA summary" version="@VERSION@">
+<tool id="ariba_sum" name="ARIBA summary" version="@VERSION@">
     <description>
         Summarises the results from one or more runs of ARIBA
     </description>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_build_ariba_database/data_manager/ariba_data_base_builder.py	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,32 @@
+import argparse
+import json
+import os
+import shutil
+
+
+def main(args):
+    output_path = os.getcwd()
+    db_folder = [d for d in os.listdir(output_path) if os.path.isdir(d)]
+    params = json.loads(open(args.output).read())
+    target_directory = params['output_data'][0]['extra_files_path']
+    os.mkdir(target_directory)
+    data_manager_entry = []
+    for db in db_folder:
+        print("Current: ".format(os.path.join(output_path, d)))
+        print("Target: {}".format(target_directory))
+        shutil.move(os.path.join(output_path, d), os.path.join(target_directory, d))
+        data_manager_entry.append(dict(value=db.lower(),
+                                  name=db,
+                                  path=target_directory)
+                                    )
+    data_manager_json = dict(data_tables=dict(ariba_databases=data_manager_entry))
+    file(args.output, 'w').write(json.dumps(data_manager_json))
+
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description='Create data manager json.')
+    # parser.add_argument('--db', dest='database', action='store', help='Database name')
+    parser.add_argument('--out', dest='output', action='store', help='JSON filename')
+    args = parser.parse_args()
+    main(args)
+    
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_build_ariba_database/data_manager/ariba_database_builder.xml	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<tool id="ariba_database_builder" name="ARIBA build database" tool_type="manage_data" version="@VERSION@">
+    <description>database builder</description>
+     <expand macro="requirements" />
+    <version_command>ariba version | head head -n 1</version_command>
+    <command detect_errors="exit_code">
+    <![CDATA[
+        #if str($library.lib_type) == "curated"
+            #set $library_list = str($library.curated).split(',')
+            #for $library_ in $library_list:
+                #if str($library_) != 'None':
+                    ariba getref '$library_' _tmp_db && ariba prepareref -f _tmp_db.fa -m _tmp_db.tsv '$library_' &&
+                #end if
+            #end for
+        #end if
+        
+        #if str($library.lib_type) == "fasta"
+            #if str($library).fasta != 'None':
+                ariba prepareref --all_coding '$coding' -f '$library.fasta' '$library.db_name'
+            #end if
+        #end if
+
+        python '$__tool_directory__/ariba_data_base_builder.py'  --out '${out_file}'
+    ]]>
+    </command>
+     <inputs>
+        <conditional name="library">
+        <param name="lib_type" type="select" label="Input reads type or collection" help="Select a curated database or a fasta from the history">
+                <option value="curated" selected="true">Curated Database</option>
+                <option value="fasta">A fasta file</option>
+        </param>
+        <when value="curated">
+        <param name="curated" type="select" multiple="true" label="Select partial library to download">
+            <option value="card">CARD</option>
+            <option value="resfinder">Resfinder</option>
+            <option value="plasmidfinder">Plasmidfinder</option>
+            <option value="megares">Megares</option>
+            <option value="argannot">Argannot</option>
+            <option value="vfdb_core">vfdb_core</option>
+            <option value="vfdb_full">vfdb_full</option>
+            <option value="virulencefinder">virulencefinder</option>
+        </param>
+        </when>
+         <when value="fasta">
+            <param name="fasta" type="data" format="fasta" optional="false" />
+            <param name="db_name" type="text" label="DB name" help = "The DB name should include no space and special characters" />
+            <param name="coding" type="boolean" truevalue="yes" falsevalue="no" checked="False" label="Coding sequence?" />
+         </when>
+         </conditional>
+    </inputs>
+    <outputs>
+        <data name="out_file" format="data_manager_json" />
+    </outputs>
+    <help>
+    </help>
+    <citations>
+        <citation type="doi">110.1099/mgen.0.000131</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_build_ariba_database/data_manager/ariba_database_builder.xml.bk	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<tool id="ariba_database_builder" name="ARIBA build database" tool_type="manage_data" version="@VERSION@">
+    <description>database builder</description>
+     <expand macro="requirements" />
+    <version_command>ariba version | head head -n 1</version_command>
+    <command detect_errors="exit_code">
+    <![CDATA[
+        #set $library_list = str($libraries).split(',')
+        mkdir ariba-database && cd ariba-database &&
+        #for $library in $library_list:
+            #if str($library) != 'None':
+                ariba getref $library _tmp_db && ariba prepareref -f _tmp_db.fa -m _tmp_db.tsv $library &&
+            #end if
+        #end for
+        #for $fasta in $input_fasta:
+            #if str($fasta) != 'None':
+                ariba preparef --all_coding no $fasta $fasta    &&
+            #end if
+        #end for
+        cd .. && 
+        python '$__tool_directory__/ariba_data_base_builder.py' --db '${database_name}' --out '${out_file}'
+    ]]>
+    </command>
+    <inputs>
+        <param name="database_name" type="text" label="Name for this database" />
+        <param name="libraries" type="select" multiple="true" label="Select partial library to download">
+            <option value="card">CARD</option>
+            <option value="resfinder">Resfinder</option>
+            <option value="plasmidfinder">Plasmidfinder</option>
+        </param>
+        <param name="input_fasta" type="data" format="fasta" multiple="True" optional="true" label="Select history item" />
+    </inputs>
+    <outputs>
+        <data name="out_file" format="data_manager_json" />
+    </outputs>
+    <help>
+    </help>
+    <citations>
+        <citation type="doi">110.1099/mgen.0.000131</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_build_ariba_database/data_manager_conf.xml	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<data_managers>
+    <data_manager tool_file="data_manager/ariba_database_builder.xml" id="ariba_database_builder" version="2.12.2">
+        <data_table name="ariba_databases">
+            <output>
+                <column name="value" />
+                <column name="name" />
+                <column name="path" output_ref="out_file">
+                    <move type="directory" relativize_symlinks="True">
+                        <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">ariba_databases/${value}</target>
+                    </move>
+                    <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/ariba_databases/${value}</value_translation>
+                    <value_translation type="function">abspath</value_translation>
+                </column>
+            </output>
+        </data_table>
+    </data_manager>
+</data_managers>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_build_ariba_database/macros.xml	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,19 @@
+<macros>
+    <token name="@VERSION@">0.1.0</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="2.13.2">ariba</requirement>
+        </requirements>
+    </xml>
+
+    <xml name="version_command">
+        <version_command>ariba version | head -n 1</version_command>
+    </xml>
+
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1099/mgen.0.000131</citation>
+        </citations>
+    </xml>
+    
+</macros>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_build_ariba_database/tool_data_table_conf.xml.sample	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<tables>
+    <!-- Locations of ARIBA database in the required format -->
+    <table name="ariba_databases" comment_char="#">
+        <columns>value, name, path</columns>
+        <file path="tool-data/ariba_databases.loc" />
+    </table>
+</tables>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/help-command.txt	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,23 @@
+usage: ariba <command> <options>
+
+ARIBA: Antibiotic Resistance Identification By Assembly
+
+optional arguments:
+  -h, --help      show this help message and exit
+
+Available commands:
+  
+    aln2meta      Converts multi-aln fasta and SNPs to metadata
+    expandflag    Expands flag column of report file
+    flag          Translate the meaning of a flag
+    getref        Download reference data
+    micplot       Make violin/dot plots using MIC data
+    prepareref    Prepare reference data for input to "run"
+    pubmlstget    Download species from PubMLST and make db
+    pubmlstspecies
+                  Get list of available species from PubMLST
+    refquery      Get cluster or sequence info from prepareref output
+    run           Run the local assembly pipeline
+    summary       Summarise multiple reports made by "run"
+    test          Run small built-in test dataset
+    version       Get versions and exit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/planemo_command/planemo_command_ariba.sh	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+planemo tool_init \
+        --force \
+        --id "ariba_run" \
+        --name "Antimicrobial Resistance Identification By Assembly" \
+        --requirement ariba@2.13.1 \
+        --example_command 'ariba run $DBNAME reads1.fastq reads2.fastq out.run' \
+        --example_input 2.fastq \
+        --example_output out.run \
+        --cite_url 'https://github.com/sanger-pathogens/ariba'
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/planemo_command/planemo_command_ariba_flag.sh	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+planemo tool_init \
+        --force \
+        --id "ariba_flag" \
+        --name "Antimicrobial Resistance Identification By Assembly" \
+        --requirement ariba@2.13.1 \
+        --example_command 'ariba run $DBNAME reads1.fastq reads2.fastq out.run' \
+        --example_input 2.fastq \
+        --example_output out.run \
+        --cite_url 'https://github.com/sanger-pathogens/ariba'
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test.ipynb	Mon Feb 18 11:48:39 2019 -0500
@@ -0,0 +1,163 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "name = \"thanh\"\n",
+    "data_manager_entry = {}\n",
+    "data_manager_entry['value'] = name.lower()\n",
+    "data_manager_entry['name'] = name\n",
+    "data_manager_entry['path'] = '.'\n",
+    "data_manager_json = dict(data_tables=dict(busco=data_manager_entry))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'value': 'thanh', 'name': 'thanh', 'path': '.'}"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "data_manager_entry"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'data_tables': {'busco': {'value': 'thanh', 'name': 'thanh', 'path': '.'}}}"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "data_manager_json"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import os\n",
+    "directories=[d for d in os.listdir(os.getcwd()) if os.path.isdir(d)]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[{'value': 'database', 'name': 'DATABASE'},\n",
+       " {'value': 'data_manager_build_ariba_database',\n",
+       "  'name': 'DATA_MANAGER_BUILD_ARIBA_DATABASE'},\n",
+       " {'value': 'test-data', 'name': 'TEST-DATA'},\n",
+       " {'value': 'tool-data', 'name': 'TOOL-DATA'},\n",
+       " {'value': 'planemo_command', 'name': 'PLANEMO_COMMAND'},\n",
+       " {'value': '.ipynb_checkpoints', 'name': '.IPYNB_CHECKPOINTS'},\n",
+       " {'value': '.git', 'name': '.GIT'}]"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "a_db = []\n",
+    "for d in directories:\n",
+    "    dict_entry = dict(value=d,name=d.upper())\n",
+    "    a_db.append(dict_entry)\n",
+    "a_db"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "data_manager_json = dict(ariba_databases=a_db)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'ariba_databases': [{'value': 'database', 'name': 'DATABASE'},\n",
+       "  {'value': 'data_manager_build_ariba_database',\n",
+       "   'name': 'DATA_MANAGER_BUILD_ARIBA_DATABASE'},\n",
+       "  {'value': 'test-data', 'name': 'TEST-DATA'},\n",
+       "  {'value': 'tool-data', 'name': 'TOOL-DATA'},\n",
+       "  {'value': 'planemo_command', 'name': 'PLANEMO_COMMAND'},\n",
+       "  {'value': '.ipynb_checkpoints', 'name': '.IPYNB_CHECKPOINTS'},\n",
+       "  {'value': '.git', 'name': '.GIT'}]}"
+      ]
+     },
+     "execution_count": 19,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "data_manager_json"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.6"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}