changeset 11:c50e8b4f74d7 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_bakta commit 572bbceeba9a22cdb591d526abda362595f8f0c4
author pimarin
date Wed, 02 Nov 2022 11:06:36 +0000
parents 9c65e5da43e2
children 7bd60bfa8ffc
files data_manager/bakta_build_database.py data_manager/bakta_build_database.xml test-data/bakta_test.loc
diffstat 3 files changed, 28 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/data_manager/bakta_build_database.py	Thu Oct 27 15:56:22 2022 +0000
+++ b/data_manager/bakta_build_database.py	Wed Nov 02 11:06:36 2022 +0000
@@ -8,8 +8,6 @@
 from datetime import datetime
 from pathlib import Path
 
-import bakta.constants as bc
-import bakta.utils as bu
 import requests
 from alive_progress import alive_bar
 
@@ -29,6 +27,7 @@
         self.data_table_name = data_table_name
         self.db_name = db_name
         self.db_version = db_version
+        self.DB_VERSIONS_URL = 'https://raw.githubusercontent.com/oschwengers/bakta/master/db-versions.json'
 
     def get_data_table_format(self):
         """
@@ -57,7 +56,7 @@
         return: info for the select or the latest bakta db version
         """
         try:
-            with requests.get(bc.DB_VERSIONS_URL) as resp:
+            with requests.get(self.DB_VERSIONS_URL) as resp:
                 versions = json.loads(resp.content)
         except IOError as e:
             print(e, file=sys.stderr)
@@ -108,7 +107,8 @@
                          bakta_version=str(
                              f"{bakta_database_info['software-min']['major']}."
                              f"{bakta_database_info['software-min']['minor']}"
-                         ), path=output_path)
+                         ),
+                         path=output_path)
         self.bakta_table_list["data_tables"][self.data_table_name] = data_info
         return self.bakta_table_list
 
@@ -130,7 +130,6 @@
         self.db_name = db_name
         self.tarball_name = tarball_name
         self.tarball_path = None
-        bu.test_dependency(bu.DEPENDENCY_AMRFINDERPLUS)
 
     def download(self):
         self.db_name = f'{self.db_name}_{self.db_version}'
@@ -221,6 +220,8 @@
                                  'default is the latest version',
                             default="latest",
                             required=True)
+    arg_parser.add_argument("-t", "--test", action='store_true',
+                            help="option to test the script with an empty database")
     return arg_parser.parse_args()
 
 
@@ -236,12 +237,15 @@
     # init the class to download bakta db
     bakta_upload = InstallBaktaDatabase()
     # extract the version
-    bakta_db = bakta_upload.fetch_db_versions(
-        db_version=all_args.database_version)
+    if all_args.test is True:
+        bakta_db = bakta_upload.fetch_db_versions(
+            db_version="test")
+    else:
+        bakta_db = bakta_upload.fetch_db_versions(
+            db_version=all_args.database_version)
     # update the path for galaxy
     bakta_upload.db_dir = target_dir
     # download the database
-    print(bakta_db)
     bakta_upload.download()
     # check md5 sum
     bakta_upload.calc_md5_sum()
@@ -252,7 +256,7 @@
     # make the data_manager metadata
     bakta_data_manager = bakta_upload.get_data_manager(bakta_database_info=bakta_db, output_path=bakta_extracted_path)
     with open(all_args.data_manager_json, 'w') as fh:
-        json.dump(bakta_data_manager, fh, indent=2, sort_keys=True)
+        json.dump(bakta_data_manager, fh, sort_keys=True)
 
 
 if __name__ == '__main__':
--- a/data_manager/bakta_build_database.xml	Thu Oct 27 15:56:22 2022 +0000
+++ b/data_manager/bakta_build_database.xml	Wed Nov 02 11:06:36 2022 +0000
@@ -1,6 +1,6 @@
 
 <tool id="bakta_build_database" name="Bakta" tool_type="manage_data" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
-    <description> Bakta database builder </description>
+    <description>Bakta database builder</description>
     <macros>
         <import>macro.xml</import>
     </macros>
@@ -8,31 +8,30 @@
     <expand macro="version_command"/>
 
     <command detect_errors="aggressive"><![CDATA[
-        mkdir './output_dir_json' &&
-        ln -s '$output_file' './output_dir_json/json_output.json' &&
         python '$__tool_directory__/bakta_build_database.py'
-        './output_dir_json/json_output.json'
+        '$output_file'
         --database_version '$database_select'
+        '$test_data_manager'
     ]]></command>
     <inputs>
-        <param name="database_select" type="select" label="Database version" help="Choose a database version to download (default latest version)" >
-            <option value="latest" selected="true" > Latest available version </option>
-            <option value="1.0"> V1.0_2020-11-20 </option>
-            <option value="1.1"> V1.1_2020-12-18 </option>
-            <option value="2.0"> V2.0_2021-04-05 </option>
-            <option value="3.0"> V3.0_2021-08-05 </option>
-            <option value="3.1"> V3.1_2022-02-03  </option>
-            <option value="4.0"> V4.0_2022-08-29 </option>
-            <option value="test"> database_test </option>
+        <param name="database_select" type="select" label="Database version" help="Choose a database version to download (default latest version)">
+            <option value="latest" selected="true">Latest available version</option>
+            <option value="1.0">V1.0_2020-11-20</option>
+            <option value="1.1">V1.1_2020-12-18</option>
+            <option value="2.0">V2.0_2021-04-05</option>
+            <option value="3.0">V3.0_2021-08-05</option>
+            <option value="3.1">V3.1_2022-02-03</option>
+            <option value="4.0">V4.0_2022-08-29</option>
         </param>
+        <param name="test_data_manager" type="hidden" value=""/>
     </inputs>
     <outputs>
-        <data name="output_file" format="data_manager_json" from_work_dir="./output_dir_json/json_output.json"/>
+        <data name="output_file" format="data_manager_json"/>
     </outputs>
     <tests>
         <!-- Test download -->
         <test expect_num_outputs="1">
-            <param name="database_select" value="test"/>
+            <param name="test_data_manager" value="--test"/>
             <output name="output_file" value="bakta_test_data_manager.json" compare="contains"/>
         </test>
     </tests>
--- a/test-data/bakta_test.loc	Thu Oct 27 15:56:22 2022 +0000
+++ b/test-data/bakta_test.loc	Wed Nov 02 11:06:36 2022 +0000
@@ -4,4 +4,4 @@
 # value, dbkey, database_record, bakta_version, path
 #
 # for example
-bakta_0.0    date_test    7197299    0.0    ${__HERE__}
+bakta_0.0	date_test	7197299	0.0	${__HERE__}