comparison COBRAxy/ras_to_bounds.py @ 130:03bbbd9af67d draft

Uploaded
author luca_milaz
date Tue, 15 Oct 2024 18:31:34 +0000
parents dfb6a1dc6dbc
children 63cb32c3d8b1
comparison
equal deleted inserted replaced
129:dfb6a1dc6dbc 130:03bbbd9af67d
178 # Set medium conditions 178 # Set medium conditions
179 for reaction, value in medium.items(): 179 for reaction, value in medium.items():
180 if value is not None: 180 if value is not None:
181 model.reactions.get_by_id(reaction).lower_bound = -float(value) 181 model.reactions.get_by_id(reaction).lower_bound = -float(value)
182 182
183
184 mediumRxns_ids = medium.keys()
185 183
186 # Perform Flux Variability Analysis (FVA) on this medium 184 # Perform Flux Variability Analysis (FVA) on this medium
187 df_FVA = cobra.flux_analysis.flux_variability_analysis(model, fraction_of_optimum=0, processes=1).round(8) 185 df_FVA = cobra.flux_analysis.flux_variability_analysis(model, fraction_of_optimum=0, processes=1).round(8)
188 186
189 # Set FVA bounds 187 # Set FVA bounds
220 ARGS.output_folder = 'ras_to_bounds/' 218 ARGS.output_folder = 'ras_to_bounds/'
221 219
222 if(ARGS.ras_selector == True): 220 if(ARGS.ras_selector == True):
223 ras_file_list = ARGS.input_ras.split(",") 221 ras_file_list = ARGS.input_ras.split(",")
224 ras_file_names = ARGS.name.split(",") 222 ras_file_names = ARGS.name.split(",")
223 if len(ras_file_names) != len(set(ras_file_names)):
224 error_message = "Duplicated file names in the uploaded RAS matrices."
225 warning(error_message)
226 raise ValueError(error_message)
227 pass
225 ras_class_names = [] 228 ras_class_names = []
226 for file in ras_file_names: 229 for file in ras_file_names:
227 ras_class_names.append(file.split(".")[0]) 230 ras_class_names.append(file.split(".")[0])
228 ras_list = [] 231 ras_list = []
229 class_assignments = pd.DataFrame(columns=["Patient_ID", "Class"]) 232 class_assignments = pd.DataFrame(columns=["Patient_ID", "Class"])
231 ras = read_dataset(ras_matrix, "ras dataset") 234 ras = read_dataset(ras_matrix, "ras dataset")
232 ras.replace("None", None, inplace=True) 235 ras.replace("None", None, inplace=True)
233 ras.set_index("Reactions", drop=True, inplace=True) 236 ras.set_index("Reactions", drop=True, inplace=True)
234 ras = ras.T 237 ras = ras.T
235 ras = ras.astype(float) 238 ras = ras.astype(float)
239 #append class name to patient id (dataframe index)
240 ras.index = [f"{idx}_{ras_class_name}" for idx in ras.index]
236 ras_list.append(ras) 241 ras_list.append(ras)
237 for patient_id in ras.index: 242 for patient_id in ras.index:
238 class_assignments.loc[class_assignments.shape[0]] = [patient_id, ras_class_name] 243 class_assignments.loc[class_assignments.shape[0]] = [patient_id, ras_class_name]
239 244
240 245