Mercurial > repos > bimib > cobraxy
diff COBRAxy/ras_generator.py @ 398:09064ce8f095 draft
Uploaded
author | francesco_lapi |
---|---|
date | Sun, 07 Sep 2025 16:01:16 +0000 |
parents | 0a3ca20848f3 |
children | e94735cb40fa |
line wrap: on
line diff
--- a/COBRAxy/ras_generator.py Fri Sep 05 13:35:35 2025 +0000 +++ b/COBRAxy/ras_generator.py Sun Sep 07 16:01:16 2025 +0000 @@ -27,15 +27,10 @@ usage = '%(prog)s [options]', description = "process some value's genes to create a comparison's map.") - parser.add_argument( - '-rs', '--rules_selector', - type = utils.Model, default = utils.Model.ENGRO2, choices = list(utils.Model), - help = 'chose which type of dataset you want use') - - parser.add_argument("-rl", "--rule_list", type = str, + parser.add_argument("-rl", "--model_upload", type = str, help = "path to input file with custom rules, if provided") - parser.add_argument("-rn", "--rules_name", type = str, help = "custom rules name") + parser.add_argument("-rn", "--model_upload_name", type = str, help = "custom rules name") # ^ I need this because galaxy converts my files into .dat but I need to know what extension they were in parser.add_argument( @@ -642,9 +637,9 @@ Returns: Dict[str, ruleUtils.OpList] : dict mapping reaction IDs to rules. """ - datFilePath = utils.FilePath.fromStrPath(ARGS.rule_list) # actual file, stored in galaxy as a .dat - - try: filenamePath = utils.FilePath.fromStrPath(ARGS.rules_name) # file's name in input, to determine its original ext + datFilePath = utils.FilePath.fromStrPath(ARGS.model_upload) # actual file, stored in galaxy as a .dat + + try: filenamePath = utils.FilePath.fromStrPath(ARGS.model_upload_name) # file's name in input, to determine its original ext except utils.PathErr as err: raise utils.PathErr(filenamePath, f"Please make sure your file's name is a valid file path, {err.msg}") @@ -678,35 +673,46 @@ # remove versioning from gene names dataset.iloc[:, 0] = dataset.iloc[:, 0].str.split('.').str[0] - # handle custom models - model :utils.Model = ARGS.rules_selector + rules = load_custom_rules() + reactions = list(rules.keys()) - if model is utils.Model.Custom: - rules = load_custom_rules() - reactions = list(rules.keys()) + save_as_tsv(ras_for_cell_lines(dataset, rules), reactions) + if ERRORS: utils.logWarning( + f"The following genes are mentioned in the rules but don't appear in the dataset: {ERRORS}", + ARGS.out_log) + + + ############ - save_as_tsv(ras_for_cell_lines(dataset, rules), reactions) - if ERRORS: utils.logWarning( - f"The following genes are mentioned in the rules but don't appear in the dataset: {ERRORS}", - ARGS.out_log) + # handle custom models + #model :utils.Model = ARGS.rules_selector + + #if model is utils.Model.Custom: + # rules = load_custom_rules() + # reactions = list(rules.keys()) + + # save_as_tsv(ras_for_cell_lines(dataset, rules), reactions) + # if ERRORS: utils.logWarning( + # f"The following genes are mentioned in the rules but don't appear in the dataset: {ERRORS}", + # ARGS.out_log) - return + # return # This is the standard flow of the ras_generator program, for non-custom models. - name = "RAS Dataset" - type_gene = gene_type(dataset.iloc[0, 0], name) + #name = "RAS Dataset" + #type_gene = gene_type(dataset.iloc[0, 0], name) - rules = model.getRules(ARGS.tool_dir) - genes = data_gene(dataset, type_gene, name, None) - ids, rules = load_id_rules(rules.get(type_gene)) + #rules = model.getRules(ARGS.tool_dir) + #genes = data_gene(dataset, type_gene, name, None) + #ids, rules = load_id_rules(rules.get(type_gene)) - resolve_rules, err = resolve(genes, rules, ids, ARGS.none, name) - create_ras(resolve_rules, name, rules, ids, ARGS.ras_output) + #resolve_rules, err = resolve(genes, rules, ids, ARGS.none, name) + #create_ras(resolve_rules, name, rules, ids, ARGS.ras_output) - if err: utils.logWarning( - f"Warning: gene(s) {err} not found in class \"{name}\", " + - "the expression level for this gene will be considered NaN", - ARGS.out_log) + #if err: utils.logWarning( + # f"Warning: gene(s) {err} not found in class \"{name}\", " + + # "the expression level for this gene will be considered NaN", + # ARGS.out_log) print("Execution succeded")