Mercurial > repos > bimib > cobraxy
comparison COBRAxy/tabular2MetabolicModel.py @ 498:df90f40a156c draft
Uploaded
author | francesco_lapi |
---|---|
date | Tue, 30 Sep 2025 16:13:08 +0000 |
parents | 7a413a5ec566 |
children |
comparison
equal
deleted
inserted
replaced
497:36838126cc07 | 498:df90f40a156c |
---|---|
38 help="Model format (SBML, JSON, MATLAB, YAML)") | 38 help="Model format (SBML, JSON, MATLAB, YAML)") |
39 | 39 |
40 | 40 |
41 parser.add_argument("--output", type=str, required=True, | 41 parser.add_argument("--output", type=str, required=True, |
42 help="Output model file path") | 42 help="Output model file path") |
43 | |
44 | 43 |
45 parser.add_argument("--tool_dir", type=str, default=os.path.dirname(__file__), | 44 parser.add_argument("--tool_dir", type=str, default=os.path.dirname(__file__), |
46 help="Tool directory (passed from Galaxy as $__tool_directory__)") | 45 help="Tool directory (passed from Galaxy as $__tool_directory__)") |
47 | 46 |
48 | 47 |
84 logging.info('Created missing output directory: %s', out_dir) | 83 logging.info('Created missing output directory: %s', out_dir) |
85 except Exception as e: | 84 except Exception as e: |
86 logging.exception('Cannot create output directory: %s', out_dir) | 85 logging.exception('Cannot create output directory: %s', out_dir) |
87 | 86 |
88 model = modelUtils.build_cobra_model_from_csv(ARGS.input) | 87 model = modelUtils.build_cobra_model_from_csv(ARGS.input) |
88 | |
89 | |
90 logging.info('Created model with name: %s (ID: %s)', model.name, model.id) | |
89 | 91 |
90 # Save model in requested format | 92 # Save model in requested format - Galaxy handles the filename |
91 if ARGS.format == "sbml": | 93 if ARGS.format == "sbml": |
92 cobra.io.write_sbml_model(model, ARGS.output) | 94 cobra.io.write_sbml_model(model, ARGS.output) |
93 elif ARGS.format == "json": | 95 elif ARGS.format == "json": |
94 cobra.io.save_json_model(model, ARGS.output) | 96 cobra.io.save_json_model(model, ARGS.output) |
95 elif ARGS.format == "mat": | 97 elif ARGS.format == "mat": |
96 cobra.io.save_matlab_model(model, ARGS.output) | 98 cobra.io.save_matlab_model(model, ARGS.output) |
97 elif ARGS.format == "yaml": | 99 elif ARGS.format == "yaml": |
98 cobra.io.save_yaml_model(model, ARGS.output) | 100 cobra.io.save_yaml_model(model, ARGS.output) |
99 else: | 101 else: |
100 logging.error('Unknown format requested: %s', ARGS.format) | 102 logging.error('Unknown format requested: %s', ARGS.format) |
101 print(f"ERROR: Unknown format: {ARGS.format}") | 103 raise ValueError(f"Unknown format: {ARGS.format}") |
102 | 104 |
103 | 105 |
104 logging.info('Model successfully written to %s (format=%s)', ARGS.output, ARGS.format) | 106 logging.info('Model successfully written to %s (format=%s)', ARGS.output, ARGS.format) |
107 print(f"Model created successfully in {ARGS.format.upper()} format") | |
105 | 108 |
106 except Exception: | 109 except Exception as e: |
107 # Log full traceback to the out_log so Galaxy users/admins can see what happened | 110 # Log full traceback to the out_log so Galaxy users/admins can see what happened |
108 logging.exception('Unhandled exception in fromCSVtoCOBRA') | 111 logging.exception('Unhandled exception in fromCSVtoCOBRA') |
112 print(f"ERROR: {str(e)}") | |
113 raise | |
109 | 114 |
110 | 115 |
111 if __name__ == '__main__': | 116 if __name__ == '__main__': |
112 main() | 117 main() |