changeset 5:7ff3267c1d11 draft

planemo upload for repository https://github.com/WGS-TB/MentaLiST/tree/master/galaxy commit b4e2e1e69829a9aaa33b29834ac2b557ff86cb74
author dfornika
date Tue, 10 Oct 2017 19:00:07 -0400
parents 01319da48668
children a0c05da8a961
files data_managers/data_manager_conf.xml data_managers/data_manager_mentalist_build_db/data_manager_conf.xml data_managers/data_manager_mentalist_download_cgmlst/data_manager/make_json.py data_managers/data_manager_mentalist_download_cgmlst/data_manager/mentalist_download_cgmlst.py data_managers/data_manager_mentalist_download_cgmlst/data_manager/mentalist_download_cgmlst.xml data_managers/data_manager_mentalist_download_cgmlst/data_manager_conf.xml data_managers/data_manager_mentalist_download_pubmlst/data_manager/mentalist_download_pubmlst.py data_managers/data_manager_mentalist_download_pubmlst/data_manager/mentalist_download_pubmlst.xml data_managers/data_manager_mentalist_download_pubmlst/data_manager_conf.xml
diffstat 9 files changed, 122 insertions(+), 92 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_managers/data_manager_conf.xml	Tue Oct 10 19:00:07 2017 -0400
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<data_managers>
+  <data_manager tool_file="data_manager_mentalist_build_db/data_manager/mentalist_build_db.xml" id="mentalist_build_db" version="0.1.2">
+    <data_table name="mentalist_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}">mentalist_databases/${value}</target>
+          </move>
+          <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/mentalist_databases/${value}/${value}</value_translation>
+          <value_translation type="function">abspath</value_translation>
+        </column>
+      </output>
+    </data_table>
+  </data_manager>
+  <data_manager tool_file="data_manager_mentalist_download_cgmlst/data_manager/mentalist_download_pubmlst.xml" id="mentalist_download_pubmlst" version="0.1.2">
+    <data_table name="mentalist_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}">mentalist_databases/${value}</target>
+          </move>
+          <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/mentalist_databases/${value}/${value}</value_translation>
+          <value_translation type="function">abspath</value_translation>
+        </column>
+      </output>
+    </data_table>
+  </data_manager>
+  <data_manager tool_file="data_manager_mentalist_download_pubmlstdata_manager/mentalist_download_pubmlst.xml" id="mentalist_download_pubmlst" version="0.1.2">
+    <data_table name="mentalist_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}">mentalist_databases/${value}</target>
+          </move>
+          <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/mentalist_databases/${value}/${value}</value_translation>
+          <value_translation type="function">abspath</value_translation>
+        </column>
+      </output>
+    </data_table>
+  </data_manager>
+</data_managers>
--- a/data_managers/data_manager_mentalist_build_db/data_manager_conf.xml	Tue Oct 10 14:59:34 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<data_managers>
-  <data_manager tool_file="data_manager/mentalist_build_db.xml" id="mentalist_build_db" version="0.1.2">
-    <data_table name="mentalist_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}">mentalist_databases/${value}</target>
-          </move>
-          <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/mentalist_databases/${value}/${value}</value_translation>
-          <value_translation type="function">abspath</value_translation>
-        </column>
-      </output>
-    </data_table>
-  </data_manager>
-</data_managers>
--- a/data_managers/data_manager_mentalist_download_cgmlst/data_manager/make_json.py	Tue Oct 10 14:59:34 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-import argparse
-import json
-import os
-import shutil
-
-
-def main(args):
-    data_manager_entry = {}
-    data_manager_entry['value'] = args.database.lower()
-    data_manager_entry['name'] = args.database
-    data_manager_entry['path'] = '.'
-    data_manager_json = dict(data_tables = dict(mentalist_databases = data_manager_entry))
-    params = json.loads(open(args.output).read())
-    target_directory = params['output_data'][0]['extra_files_path']
-    os.mkdir(target_directory)
-    output_path = os.path.join(os.getcwd(), 'mentalist-database/cgmlst')
-    for filename in os.listdir(output_path):
-        shutil.move(os.path.join(output_path, filename), target_directory)
-    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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data_managers/data_manager_mentalist_download_cgmlst/data_manager/mentalist_download_cgmlst.py	Tue Oct 10 19:00:07 2017 -0400
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+from __future__ import print_function
+
+import argparse
+import os
+import subprocess
+import sys
+import errno
+from json import dumps, loads
+
+DEFAULT_DATA_TABLE_NAMES = ["mentalist_databases"]
+
+
+def mentalist_download_cgmlst( data_manager_dict, database_name, kmer_size, scheme, output, params, target_directory, data_table_names=DEFAULT_DATA_TABLE_NAMES ):
+    args = [ 'mentalist', 'download_pubmlst', '--db', database_name, '-k', str(kmer_size), '-s', scheme, '-o' output]
+    proc = subprocess.Popen( args=args, shell=False, cwd=target_directory )
+    return_code = proc.wait()
+    if return_code:
+        print("Error building database.", file=sys.stderr)
+        sys.exit( return_code )
+    data_table_entry = dict( value=database_name, dbkey=database_name, name=database_name, path=(database_name + '/' + database_name) )
+    for data_table_name in data_table_names:
+        _add_data_table_entry( data_manager_dict, data_table_name, data_table_entry )
+
+
+def _add_data_table_entry( data_manager_dict, data_table_name, data_table_entry ):
+    data_manager_dict['data_tables'] = data_manager_dict.get( 'data_tables', {} )
+    data_manager_dict['data_tables'][ data_table_name ] = data_manager_dict['data_tables'].get( data_table_name, [] )
+    data_manager_dict['data_tables'][ data_table_name ].append( data_table_entry )
+    return data_manager_dict
+
+
+def main():
+    parser = argparse.ArgumentParser()
+    parser.add_argument('params')
+    parser.add_argument( '-d', '--db', dest='database_name', default=None, help='Database Name' )
+    parser.add_argument( '-k', '--kmer_size', dest='kmer_size', type=int, default=None, help='kmer Size' )
+    parser.add_argument( '-s', '--scheme', dest='scheme', default=None, help='Scheme' )
+    parser.add_argument( '-o', '--output', dest='output', default=None, help='Output' )
+    args = parser.parse_args()
+
+    params = loads( open( args.params ).read() )
+    target_directory = params[ 'output_data' ][0]['extra_files_path']
+
+    try:
+        os.mkdir( target_directory )
+    except OSError as exc:
+        if exc.errno == errno.EEXIST and os.path.isdir( target_directory ):
+            pass
+        else:
+            raise
+
+    data_manager_dict = {}
+
+    # build the index
+    mentalist_download_cgmlst( data_manager_dict, args.database_name, args.kmer_size, args.scheme, args.output, params, target_directory, DEFAULT_DATA_TABLE_NAMES )
+
+    # save info to json file
+    open( args.params, 'wb' ).write( dumps( data_manager_dict ) )
+
+
+if __name__ == "__main__":
+    main()
--- a/data_managers/data_manager_mentalist_download_cgmlst/data_manager/mentalist_download_cgmlst.xml	Tue Oct 10 14:59:34 2017 -0400
+++ b/data_managers/data_manager_mentalist_download_cgmlst/data_manager/mentalist_download_cgmlst.xml	Tue Oct 10 19:00:07 2017 -0400
@@ -5,7 +5,7 @@
   </requirements>
   <command detect_errors="exit_code">
     <![CDATA[
-	     python '$__tool_directory__/mentalist_download_pubmlst.py'
+	     python '$__tool_directory__/mentalist_download_cgmlst.py'
 	     '{$out_file}'
 	     --db '$database_name'
 	     -k '$kmer_size'
--- a/data_managers/data_manager_mentalist_download_cgmlst/data_manager_conf.xml	Tue Oct 10 14:59:34 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<data_managers>
-  <data_manager tool_file="data_manager/mentalist_download_cgmlst.xml" id="mentalist_download_cgmlst" version="0.1.2">
-    <data_table name="mentalist_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}">mentalist_database/${value}</target>
-          </move>
-          <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/mentalist_database/${value}</value_translation>
-          <value_translation type="function">abspath</value_translation>
-        </column>
-      </output>
-    </data_table>
-  </data_manager>
-</data_managers>
--- a/data_managers/data_manager_mentalist_download_pubmlst/data_manager/mentalist_download_pubmlst.py	Tue Oct 10 14:59:34 2017 -0400
+++ b/data_managers/data_manager_mentalist_download_pubmlst/data_manager/mentalist_download_pubmlst.py	Tue Oct 10 19:00:07 2017 -0400
@@ -11,7 +11,7 @@
 DEFAULT_DATA_TABLE_NAMES = ["mentalist_databases"]
 
 
-def mentalist_download_cgmlst( data_manager_dict, database_name, kmer_size, scheme, output, params, target_directory, data_table_names=DEFAULT_DATA_TABLE_NAMES ):
+def mentalist_download_pubmlst( data_manager_dict, database_name, kmer_size, scheme, output, params, target_directory, data_table_names=DEFAULT_DATA_TABLE_NAMES ):
     args = [ 'mentalist', 'download_pubmlst', '--db', database_name, '-k', str(kmer_size), '-s', scheme, '-o' output]
     proc = subprocess.Popen( args=args, shell=False, cwd=target_directory )
     return_code = proc.wait()
@@ -53,7 +53,7 @@
     data_manager_dict = {}
 
     # build the index
-    mentalist_download_cgmlst( data_manager_dict, args.database_name, args.kmer_size, args.scheme, args.output, params, target_directory, DEFAULT_DATA_TABLE_NAMES )
+    mentalist_download_pubmlst( data_manager_dict, args.database_name, args.kmer_size, args.scheme, args.output, params, target_directory, DEFAULT_DATA_TABLE_NAMES )
 
     # save info to json file
     open( args.params, 'wb' ).write( dumps( data_manager_dict ) )
--- a/data_managers/data_manager_mentalist_download_pubmlst/data_manager/mentalist_download_pubmlst.xml	Tue Oct 10 14:59:34 2017 -0400
+++ b/data_managers/data_manager_mentalist_download_pubmlst/data_manager/mentalist_download_pubmlst.xml	Tue Oct 10 19:00:07 2017 -0400
@@ -4,14 +4,14 @@
     <requirement type="package" version="0.1.2">mentalist</requirement>
   </requirements>
   <command detect_errors="exit_code">
-  <![CDATA[
-	   python '$__tool_directory__/mentalist_download_pubmlst.py'
-	   '{$out_file}'
-	   --db '$database_name'
-	   -k '$kmer_size'
-	   --scheme '$scheme'
-	   --output '$output'
-  ]]>
+    <![CDATA[
+	     python '$__tool_directory__/mentalist_download_pubmlst.py'
+	     '{$out_file}'
+	     --db '$database_name'
+	     -k '$kmer_size'
+	     --scheme '$scheme'
+	     --output '$output'
+    ]]>
   </command>
   <inputs>
     <param name="kmer_size" type="integer"
--- a/data_managers/data_manager_mentalist_download_pubmlst/data_manager_conf.xml	Tue Oct 10 14:59:34 2017 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<data_managers>
-  <data_manager tool_file="data_manager/mentalist_download_pubmlst.xml" id="mentalist_download_pubmlst" version="0.1.2">
-    <data_table name="mentalist_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}">mentalist_database/${value}</target>
-          </move>
-          <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/mentalist_database/${value}</value_translation>
-          <value_translation type="function">abspath</value_translation>
-        </column>
-      </output>
-    </data_table>
-  </data_manager>
-</data_managers>