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" />