changeset 384:8a1213d1393d draft

Uploaded
author francesco_lapi
date Fri, 05 Sep 2025 09:53:40 +0000
parents d2e36a8ab451
children cbb2dcbe768c
files COBRAxy/custom_data_generator.py COBRAxy/custom_data_generator.xml
diffstat 2 files changed, 16 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/COBRAxy/custom_data_generator.py	Fri Sep 05 09:32:38 2025 +0000
+++ b/COBRAxy/custom_data_generator.py	Fri Sep 05 09:53:40 2025 +0000
@@ -36,15 +36,9 @@
     parser.add_argument("--medium", type=str,
                         help="Custom medium file if medium_selector=Custom")
     
-    parser.add_argument("--output_format", type=str, choices=["tabular", "xlsx"], required=True,
-                        help="Output format: CSV (tabular) or Excel (xlsx)")
-    
     parser.add_argument("--out_tabular", type=str,
                         help="Output file for the merged dataset (CSV or XLSX)")
     
-    parser.add_argument("--out_xlsx", type=str,
-                        help="Output file for the merged dataset (CSV or XLSX)")
-    
     parser.add_argument("--tool_dir", type=str, default=os.path.dirname(__file__),
                         help="Tool directory (passed from Galaxy as $__tool_directory__)")
 
@@ -199,14 +193,6 @@
     except Exception as e:
         raise utils.DataErr(path, f"failed writing tabular output: {e}")
 
-def save_as_xlsx_df(df: pd.DataFrame, path: str) -> None:
-    try:
-        if not path.lower().endswith(".xlsx"):
-            path += ".xlsx"
-        os.makedirs(os.path.dirname(path) or ".", exist_ok=True)
-        df.to_excel(path, index=False)
-    except Exception as e:
-        raise utils.DataErr(path, f"failed writing xlsx output: {e}")
 
 ###############################- ENTRY POINT -################################
 def main(args:List[str] = None) -> None:
@@ -272,17 +258,11 @@
 
     ####
 
-    # write only the requested output
-    if ARGS.output_format == "xlsx":
-        if not ARGS.out_xlsx:
-            raise utils.ArgsErr("out_xlsx", "output path (--out_xlsx) is required when output_format == xlsx", ARGS.out_xlsx)
-        save_as_xlsx_df(merged, ARGS.out_xlsx)
-        expected = ARGS.out_xlsx
-    else:
-        if not ARGS.out_tabular:
-            raise utils.ArgsErr("out_tabular", "output path (--out_tabular) is required when output_format == tabular", ARGS.out_tabular)
-        save_as_tabular_df(merged, ARGS.out_tabular)
-        expected = ARGS.out_tabular
+
+    if not ARGS.out_tabular:
+        raise utils.ArgsErr("out_tabular", "output path (--out_tabular) is required when output_format == tabular", ARGS.out_tabular)
+    save_as_tabular_df(merged, ARGS.out_tabular)
+    expected = ARGS.out_tabular
 
     # verify output exists and non-empty
     if not expected or not os.path.exists(expected) or os.path.getsize(expected) == 0:
--- a/COBRAxy/custom_data_generator.xml	Fri Sep 05 09:32:38 2025 +0000
+++ b/COBRAxy/custom_data_generator.xml	Fri Sep 05 09:53:40 2025 +0000
@@ -4,20 +4,18 @@
         <import>marea_macros.xml</import>
     </macros>
 
-    <requirements>
+	<requirements>
         <requirement type="package" version="1.24.4">numpy</requirement>
         <requirement type="package" version="2.0.3">pandas</requirement>
-        <requirement type="package" version="0.29.0">cobra</requirement>
+		<requirement type="package" version="0.29.0">cobra</requirement>
         <requirement type="package" version="5.2.2">lxml</requirement>
-        <requirement type="package" >openpyxl</requirement>
-    </requirements>
+	</requirements>
 
     <command detect_errors="exit_code">
         <![CDATA[
-        python $__tool_directory__/custom_data_generator.py
+      	python $__tool_directory__/custom_data_generator.py
         --tool_dir $__tool_directory__
         --medium_selector $cond_medium.medium_selector
-        --output_format $output_format
         #if $cond_model.model_selector == 'Custom_model'
             --input $cond_model.input
             --name $cond_model.name
@@ -29,19 +27,17 @@
             --medium $cond_medium.medium
         #end if
         --out_log $log
-
-        #if $output_format == 'tabular'
         --out_tabular $out_tabular
-        #end if
-        #if $output_format == 'xlsx'
-        --out_xlsx $out_xlsx
-        #end if
-
         ]]>
     </command>
     <inputs>
         <conditional name="cond_model">
-            <expand macro="options_model"/>
+            <param name="model_selector" argument="--model_selector" type="select" label="Model:">
+                <option value="HMRcore">HMRcore</option>
+                <option value="Recon">Recon 2.2</option>
+                <option value="ENGRO2"  selected="true">ENGRO 2</option>
+                <option value="Custom_model">Custom</option>
+            </param>
             <!-- ENGRO2 -->
             <when value="ENGRO2">
                 <param name="name" argument="--name" type="text" value="ENGRO2" hidden="true" />
@@ -97,20 +93,6 @@
             </when>
         </conditional>
 
-
-        <!-- formato output -->
-        <param name="output_format" argument="--output_format" type="select" label="Output format:">
-            <option value="tabular" selected="true">CSV (tabular)</option>
-            <option value="xlsx">Excel (.xlsx)</option>
-        </param>
-
-        <!-- formato output -->
-        <param name="output_format" argument="--output_format" type="select" label="Output format:">
-            <option value="tabular" selected="true">CSV (tabular)</option>
-            <option value="xlsx">Excel (.xlsx)</option>
-        </param>
-
-
     </inputs>
 
     <outputs>
@@ -118,16 +100,7 @@
 
     <data name="out_tabular" format="tabular"
             label="${cond_model.model_selector}_data_tabular"
-            optional="true"
-            filter="output_format == 'tabular'"/>
-
-    <data name="out_xlsx" format="xlsx"
-            label="${cond_model.model_selector}_data_xlsx"
-            optional="true"
-            filter="output_format == 'xlsx'"/>
-    </outputs>
-
-
+            optional="true"/>
 
     <help>
     <![CDATA[