diff data_manager/bakta_build_database.py @ 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 bcac3aa1f494
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__':