Mercurial > repos > bimib > cobraxy
comparison COBRAxy/utils/reaction_parsing.py @ 427:4a385fdb9e58 draft
Uploaded
author | francesco_lapi |
---|---|
date | Wed, 10 Sep 2025 11:38:08 +0000 |
parents | 0a3ca20848f3 |
children | a6e45049c1b9 |
comparison
equal
deleted
inserted
replaced
426:00a78da611ba | 427:4a385fdb9e58 |
---|---|
122 customReactionsPath : path to the reactions information file. | 122 customReactionsPath : path to the reactions information file. |
123 | 123 |
124 Returns: | 124 Returns: |
125 ReactionsDict : dictionary encoding custom reactions information. | 125 ReactionsDict : dictionary encoding custom reactions information. |
126 """ | 126 """ |
127 reactionsData :Dict[str, str] = {row[0]: row[1] for row in utils.readCsv(utils.FilePath.fromStrPath(customReactionsPath), delimiter = "\t")} | 127 try: |
128 rows = utils.readCsv(utils.FilePath.fromStrPath(customReactionsPath), delimiter = "\t", skipHeader=False) | |
129 if len(rows) <= 1: | |
130 raise ValueError("The custom reactions file must contain at least one reaction.") | |
131 | |
132 id_idx, idx_formula = utils.findIdxByName(rows[0], "Formula") | |
133 | |
134 except Exception as e: | |
135 | |
136 rows = utils.readCsv(utils.FilePath.fromStrPath(customReactionsPath), delimiter = "\t", skipHeader=False) | |
137 if len(rows) <= 1: | |
138 raise ValueError("The custom reactions file must contain at least one reaction.") | |
139 | |
140 id_idx, idx_formula = utils.findIdxByName(rows[0], "Formula") | |
141 | |
142 reactionsData = {row[id_idx] : row[idx_formula] for row in rows[1:]} | |
143 | |
128 return create_reaction_dict(reactionsData) | 144 return create_reaction_dict(reactionsData) |
129 | 145 |