diff workflow/run_tomo.py @ 11:9c48ef48c604 draft

planemo upload for repository https://github.com/rolfverberg/galaxytools commit f8c4bdb31c20c468045ad5e6eb255a293244bc6c
author rv43
date Tue, 21 Mar 2023 13:31:00 +0000
parents 1dbb29320ce8
children da3116b620b3
line wrap: on
line diff
--- a/workflow/run_tomo.py	Mon Mar 20 19:30:19 2023 +0000
+++ b/workflow/run_tomo.py	Tue Mar 21 13:31:00 2023 +0000
@@ -165,21 +165,34 @@
 
     def read(self, filename):
         logger.info(f'looking for {filename}')
-        extension = os_path.splitext(filename)[1]
-        if extension == '.yml' or extension == '.yaml' or self.galaxy_flag and extension == '.dat':
-            with open(filename, 'r') as f:
-                config = safe_load(f)
-#            if len(config) > 1:
-#                raise ValueError(f'Multiple root entries in {filename} not yet implemented')
-#            if len(list(config.values())[0]) > 1:
-#                raise ValueError(f'Multiple sample maps in {filename} not yet implemented')
-            return(config)
-        elif extension == '.nxs':
-            with NXFile(filename, mode='r') as nxfile:
-                nxroot = nxfile.readfile()
-            return(nxroot)
+        if self.galaxy_flag:
+            try:
+                with open(filename, 'r') as f:
+                    config = safe_load(f)
+                return(config)
+            except:
+                try:
+                    with NXFile(filename, mode='r') as nxfile:
+                        nxroot = nxfile.readfile()
+                    return(nxroot)
+                except:
+                    raise ValueError(f'Unable to open ({filename})')
         else:
-            raise ValueError(f'Invalid filename extension ({extension})')
+            extension = os_path.splitext(filename)[1]
+            if extension == '.yml' or extension == '.yaml':
+                with open(filename, 'r') as f:
+                    config = safe_load(f)
+#                if len(config) > 1:
+#                    raise ValueError(f'Multiple root entries in {filename} not yet implemented')
+#                if len(list(config.values())[0]) > 1:
+#                    raise ValueError(f'Multiple sample maps in {filename} not yet implemented')
+                return(config)
+            elif extension == '.nxs':
+                with NXFile(filename, mode='r') as nxfile:
+                    nxroot = nxfile.readfile()
+                return(nxroot)
+            else:
+                raise ValueError(f'Invalid filename extension ({extension})')
 
     def write(self, data, filename):
         extension = os_path.splitext(filename)[1]