Mercurial > repos > dfornika > pathogist
changeset 6:5f2bc984f931 draft
planemo upload for repository https://github.com/dfornika/tools-pathogist/tree/master/tools
| author | dfornika |
|---|---|
| date | Thu, 05 Oct 2017 19:31:49 -0400 |
| parents | c511745d5655 |
| children | 44ba809fc3d8 |
| files | data_managers/data_manager_mentalist_build_database/data_manager/mentalist_build.py data_managers/data_manager_mentalist_build_database/data_manager/mentalist_build.xml data_managers/data_manager_mentalist_build_database/data_manager_conf.xml data_managers/data_manager_mentalist_build_database/tool-data/mentalist_databases.loc.sample data_managers/data_manager_mentalist_build_database/tool_data_table_conf.xml.sample data_managers/data_manager_mentalist_build_db/data_manager/mentalist_build_db.py data_managers/data_manager_mentalist_build_db/data_manager/mentalist_build_db.xml data_managers/data_manager_mentalist_build_db/data_manager_conf.xml data_managers/data_manager_mentalist_build_db/tool-data/mentalist_databases.loc.sample data_managers/data_manager_mentalist_build_db/tool_data_table_conf.xml.sample |
| diffstat | 8 files changed, 130 insertions(+), 130 deletions(-) [+] |
line wrap: on
line diff
--- a/data_managers/data_manager_mentalist_build_database/data_manager/mentalist_build.py Thu Oct 05 19:19:44 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -#!/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 build_mentalist_database( data_manager_dict, database_name, kmer_size, profile, fasta_files, params, target_directory, dbkey, data_table_names=DEFAULT_DATA_TABLE_NAMES ): - args = [ 'mentalist', 'build_db', '--db', database_name, '-k', kmer_size, '--profile', profile, '--fasta_files', fasta_files] - 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=dbkey, name=database_name, path=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='fasta_filenames' ) - parser.add_argument( '-f', '--fasta_files', dest='fasta_files', nargs='+', default=None, help='fasta_filenames' ) - parser.add_argument( '-k', '--kmer_size', dest='kmer_size', type=int, default=None, help='kmer_size' ) - parser.add_argument( '-p', '--profile', dest='profile', type=int, default=None, help='kmer_size' ) - parser.add_argument( '-y', '--dbkey', dest='dbkey', default=None, help='dbkey' ) - 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 = {} - - dbkey = args.dbkey - - if dbkey in [ None, '', '?' ]: - raise Exception( '"%s" is not a valid dbkey. You must specify a valid dbkey.' % ( dbkey ) ) - - # build the index - build_mentalist_database( data_manager_dict, args.database_name, args.kmer_size, args.profile, args.fasta_files, params, target_directory, dbkey, 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_build_database/data_manager/mentalist_build.xml Thu Oct 05 19:19:44 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -<?xml version="1.0"?> -<tool id="mentalist_build" name="MentaLiST Build DB" tool_type="manage_data" version="0.1.2"> - <requirements> - <requirement type="package" version="0.1.2">mentalist</requirement> - </requirements> - <command detect_errors="exit_code"> - <![CDATA[ - python '$__tool_directory__/mentalist_build_db.py' - '${out_file}' - --db '$database_name' - -k '$kmer_size' - #if $profile - --profile '$profile' - #end if - --fasta_files ${" ".join(map(str, $input_fastas))} - ]]> - </command> - <inputs> - <param name="database_name" type="text" - label="Database Name" help="Database Name" /> - <param name="kmer_size" type="integer" - label="Kmer size" help="Kmer size" - value="31" min="1" max="32" /> - <param name="input_fastas" type="data_collection" collection_type="list" format="fasta" multiple="true" - label="Input Fasta" help="Fasta input files" /> - <param name="profile" type="data" format="tsv" optional="true" - label="Profile" help="Profile for known genotypes" /> - </inputs> - <outputs> - <data name="out_file" format="data_manager_json" /> - </outputs> - <citations> - <citation type="doi">10.1101/172858</citation> - </citations> -</tool>
--- a/data_managers/data_manager_mentalist_build_database/data_manager_conf.xml Thu Oct 05 19:19:44 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.xml" id="mentalist_build" 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_build_database/tool_data_table_conf.xml.sample Thu Oct 05 19:19:44 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -<?xml version="1.0"?> -<tables> - <!--Locations of MentaLiST database in the required format --> - <table name="mentalist_databases" comment_char="#"> - <columns>value, name, path</columns> - <file path="tool-data/mentalist_databases.loc" /> - </table> -</tables> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_managers/data_manager_mentalist_build_db/data_manager/mentalist_build_db.py Thu Oct 05 19:31:49 2017 -0400 @@ -0,0 +1,69 @@ +#!/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 build_mentalist_database( data_manager_dict, database_name, kmer_size, profile, fasta_files, params, target_directory, dbkey, data_table_names=DEFAULT_DATA_TABLE_NAMES ): + args = [ 'mentalist', 'build_db', '--db', database_name, '-k', kmer_size, '--profile', profile, '--fasta_files', fasta_files] + 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=dbkey, name=database_name, path=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='fasta_filenames' ) + parser.add_argument( '-f', '--fasta_files', dest='fasta_files', nargs='+', default=None, help='fasta_filenames' ) + parser.add_argument( '-k', '--kmer_size', dest='kmer_size', type=int, default=None, help='kmer_size' ) + parser.add_argument( '-p', '--profile', dest='profile', type=int, default=None, help='kmer_size' ) + parser.add_argument( '-y', '--dbkey', dest='dbkey', default=None, help='dbkey' ) + 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 = {} + + dbkey = args.dbkey + + if dbkey in [ None, '', '?' ]: + raise Exception( '"%s" is not a valid dbkey. You must specify a valid dbkey.' % ( dbkey ) ) + + # build the index + build_mentalist_database( data_manager_dict, args.database_name, args.kmer_size, args.profile, args.fasta_files, params, target_directory, dbkey, DEFAULT_DATA_TABLE_NAMES ) + + # save info to json file + open( args.params, 'wb' ).write( dumps( data_manager_dict ) ) + + +if __name__ == "__main__": + main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_managers/data_manager_mentalist_build_db/data_manager/mentalist_build_db.xml Thu Oct 05 19:31:49 2017 -0400 @@ -0,0 +1,35 @@ +<?xml version="1.0"?> +<tool id="mentalist_build_db" name="MentaLiST Build DB" tool_type="manage_data" version="0.1.2"> + <requirements> + <requirement type="package" version="0.1.2">mentalist</requirement> + </requirements> + <command detect_errors="exit_code"> + <![CDATA[ + python '$__tool_directory__/mentalist_build_db.py' + '${out_file}' + --db '$database_name' + -k '$kmer_size' + #if $profile + --profile '$profile' + #end if + --fasta_files ${" ".join(map(str, $input_fastas))} + ]]> + </command> + <inputs> + <param name="database_name" type="text" + label="Database Name" help="Database Name" /> + <param name="kmer_size" type="integer" + label="Kmer size" help="Kmer size" + value="31" min="1" max="32" /> + <param name="input_fastas" type="data_collection" collection_type="list" format="fasta" multiple="true" + label="Input Fasta" help="Fasta input files" /> + <param name="profile" type="data" format="tsv" optional="true" + label="Profile" help="Profile for known genotypes" /> + </inputs> + <outputs> + <data name="out_file" format="data_manager_json" /> + </outputs> + <citations> + <citation type="doi">10.1101/172858</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_managers/data_manager_mentalist_build_db/data_manager_conf.xml Thu Oct 05 19:31:49 2017 -0400 @@ -0,0 +1,18 @@ +<?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_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_managers/data_manager_mentalist_build_db/tool_data_table_conf.xml.sample Thu Oct 05 19:31:49 2017 -0400 @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<tables> + <!--Locations of MentaLiST database in the required format --> + <table name="mentalist_databases" comment_char="#"> + <columns>value, name, path</columns> + <file path="tool-data/mentalist_databases.loc" /> + </table> +</tables> \ No newline at end of file
