Mercurial > repos > bimib > cobraxy
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[