Mercurial > repos > dfornika > mentalist
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>