Mercurial > repos > rhpvorderman > data_manager_select_index_by_path
changeset 10:442b983d948e draft
planemo upload for repository https://github.com/LUMC/lumc-galaxy-tools/tree/master/data_manager_select_index_by_path commit f7e0688eca04c26ceef980c78eb79fc3edbf92db
author | rhpvorderman |
---|---|
date | Mon, 11 Sep 2017 07:22:49 -0400 |
parents | eafb94d396ba |
children | 8ccfeedd1f03 |
files | data_manager/data_manager_select_index_by_path.xml data_manager/indexes.yml data_manager/path_name_value_key_manager.py data_manager_conf.xml tool-data/gemini_databases.loc.sample tool_data_table_conf.xml.sample |
diffstat | 6 files changed, 32 insertions(+), 79 deletions(-) [+] |
line wrap: on
line diff
--- a/data_manager/data_manager_select_index_by_path.xml Mon Sep 11 07:21:46 2017 -0400 +++ b/data_manager/data_manager_select_index_by_path.xml Mon Sep 11 07:22:49 2017 -0400 @@ -1,4 +1,4 @@ -<tool id="data_manager_select_index_by_path" name="Select index by path manager" tool_type="manage_data" version="0.0.2"> +<tool id="data_manager_select_index_by_path" name="Select index by path manager" tool_type="manage_data" version="0.0.1"> <description>path inputer</description> <command interpreter="python"> path_name_value_key_manager.py @@ -14,8 +14,8 @@ <param name="dbkey" type="text" value="" label="dbkey field for the entry. Defaults to value if left blank." /> <param name="name" type="text" value="" label="name field for the entry. Defaults to the file name from path if left blank." /> <param name="path" type="text" value="" label="path field for the entry" /> - <param name="data_table" type="select" value="" label="data table for the index"> - <option value='all_fasta --no_prefix'>all_fasta</option> + <param name="data_table" type="text" value="" label="data table for the index"> + <option value='all_fasta'>all_fasta --no_prefix</option> <option value='bowtie2_indexes'>bowtie2_indexes</option> <option value='bowtie_indexes'>bowtie_indexes</option> <option value='bowtie_indexes_color'>bowtie_indexes_color</option> @@ -23,9 +23,10 @@ <option value='bwameth_indexes'>bwameth_indexes</option> <option value='fasta_indexes'>fasta_indexes</option> <option value='gatk_picard_indexes'>gatk_picard_indexes</option> + <option value='gemini_databases'>gemini_databases</option> <option value='gene_transfer'>gene_transfer</option> <option value='hisat2_indexes'>hisat2_indexes</option> - <option value='kallisto_indexes --no-prefix'>kallisto_indexes</option> + <option value='kallisto_indexes'>kallisto_indexes --no-prefix</option> <option value='picard_indexes'>picard_indexes</option> <option value='tophat2_indexes'>tophat2_indexes</option> </param>
--- a/data_manager/indexes.yml Mon Sep 11 07:21:46 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -all_fasta: - name: fasta file - extensions: - - .fa -bowtie2_indexes: - name: bowtie2 index - extensions: - - .bt2 -bowtie_indexes: - name: bowtie index - extensions: - - .ebwt -bowtie_indexes_color: - name: bowtie color index - extensions: - - .ebwt -bwa_mem_indexes: - name: bwa mem index - extensions: - - .amb - - .ann - - .bwt - - .pac - - .sa -bwameth_indexes: - name: bwa_meth_index -fasta_indexes: - name: fasta index - extensions: - - .fai -gatk_picard_index: - name: picard index for GATK -gene_transfer: - name: Gene Transfer File - extensions: - - .gtf -hisat2_indexes: - name: hisat2 index - extensions: - - .ht2 -kallisto_indexes: - name: kallisto index -picard_indexes: - name: picard index -tophat2_indexes: - name: tophat2 index - extensions: - - .bt2
--- a/data_manager/path_name_value_key_manager.py Mon Sep 11 07:21:46 2017 -0400 +++ b/data_manager/path_name_value_key_manager.py Mon Sep 11 07:22:49 2017 -0400 @@ -3,7 +3,6 @@ import json import argparse import os -import yaml 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', {} ) @@ -33,16 +32,6 @@ # Empty list should return False return bool(matched_files) -def prefix_plus_extension_exists(directory, prefix, extension): - '''checks if files exist with prefix in a directory. Returns Boolean''' - matched_files = [] - directory_files = os.listdir(directory) - for directory_file in directory_files: - if directory_file.startswith(prefix) and directory_file.endswith(extension): - matched_files.append(directory_file) - # Empty list should return False - return bool(matched_files) - def main(): #value = "test_value" @@ -62,6 +51,17 @@ options = parser.parse_args() path = check_param("path", options.path) + + # Check if file or prefix exists + if not options.no_prefix: + dirname = os.path.dirname(path) + prefix = os.path.basename(path) + if not prefix_exists(dirname,prefix): + raise Exception( 'Unable to find files with prefix "{0}" in {1}.'.format( prefix, dirname ) ) + else: + if not os.path.exists(path): + raise Exception( 'Unable to find path {0}.'.format( path ) ) + basename = os.path.basename(path) filename = os.path.splitext(basename)[0] name = check_param("name", options.name, default=filename) @@ -70,21 +70,6 @@ data_table_name = check_param("data_table_name", options.data_table_name) json_output_file = check_param("json_output_file", options.json_output_file, check_tab=False) - # Check if file or prefix exists - indexes = yaml.load(file(os.path.join(os.path.dirname(__file__), 'indexes.yml'))) - index_dict = indexes.get(data_table_name,{}) - index_name = index_dict.get('name','index') - index_extensions = index_dict.get('extensions', ['']) - if not options.no_prefix: - dirname = os.path.dirname(path) - prefix = basename - for extension in index_extensions: - if not prefix_plus_extension_exists(dirname,prefix,extension): - raise Exception( 'Unable to find files with prefix "{0}" and extension "{1}" in {2}. Is this a valid {3}?'.format( prefix, extension, dirname, index_name ) ) - else: - if not os.path.exists(path): - raise Exception( 'Unable to find path {0}.'.format( path ) ) - if os.path.exists(json_output_file): params = json.loads( open( json_output_file ).read() ) print "params", params
--- a/data_manager_conf.xml Mon Sep 11 07:21:46 2017 -0400 +++ b/data_manager_conf.xml Mon Sep 11 07:22:49 2017 -0400 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <data_managers> - <data_manager tool_file="data_manager/data_manager_select_index_by_path.xml" id="data_manager_select_index_by_path" version="0.0.2"> + <data_manager tool_file="data_manager/data_manager_select_index_by_path.xml" id="data_manager_select_index_by_path" version="0.0.1"> <data_table name="all_fasta"> <output> <column name="value" /> @@ -65,6 +65,14 @@ <column name="path" /> </output> </data_table> + <data_table name="gemini_databases"> + <output> + <column name="value" /> + <column name="dbkey" /> + <column name="name" /> + <column name="path" /> + </output> + </data_table> <data_table name="gene_transfer"> <output> <column name="value" />
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/gemini_databases.loc.sample Mon Sep 11 07:22:49 2017 -0400 @@ -0,0 +1,3 @@ +## GEMINI databases +#Version dbkey Description +#08_08_2014 hg19 Database (08-08-2014)
--- a/tool_data_table_conf.xml.sample Mon Sep 11 07:21:46 2017 -0400 +++ b/tool_data_table_conf.xml.sample Mon Sep 11 07:22:49 2017 -0400 @@ -32,6 +32,10 @@ <columns>value, dbkey, name, path</columns> <file path="tool-data/gatk_sorted_picard_index.loc" /> </table> + <table name="gemini_databases" comment_char="#" allow_duplicate_entries="False"> + <columns>value, dbkey, name, path</columns> + <file path="tool-data/gemini_databases.loc" /> + </table> <table name="gene_transfer" comment_char="#"> <columns>value, dbkey, name, path</columns> <file path="tool-data/gene_transfer.loc" />