Mercurial > repos > bimib > marea
comparison Marea/marea.py @ 53:7b57a93ac594 draft
Uploaded
author | bimib |
---|---|
date | Sun, 15 Mar 2020 11:19:36 -0400 |
parents | e4235b5231e4 |
children | 68375ead0ee4 |
comparison
equal
deleted
inserted
replaced
52:88b7180d7b79 | 53:7b57a93ac594 |
---|---|
535 split_rules.append([]) | 535 split_rules.append([]) |
536 if err_rules: | 536 if err_rules: |
537 warning('Warning: wrong format rule in ' + str(err_rules) + '\n') | 537 warning('Warning: wrong format rule in ' + str(err_rules) + '\n') |
538 return (split_rules, list(set(tmp_gene_in_rule))) | 538 return (split_rules, list(set(tmp_gene_in_rule))) |
539 | 539 |
540 def make_recon(data): | |
541 try: | |
542 import cobra as cb | |
543 import warnings | |
544 with warnings.catch_warnings(): | |
545 warnings.simplefilter('ignore') | |
546 recon = cb.io.read_sbml_model(data) | |
547 react = recon.reactions | |
548 rules = [react[i].gene_reaction_rule for i in range(len(react))] | |
549 ids = [react[i].id for i in range(len(react))] | |
550 except cb.io.sbml.CobraSBMLError: | |
551 try: | |
552 data = (pd.read_csv(data, sep = '\t', dtype = str, engine='python')).fillna('') | |
553 if len(data.columns) < 2: | |
554 sys.exit('Execution aborted: wrong format of '+ | |
555 'custom datarules\n') | |
556 if not len(data.columns) == 2: | |
557 warning('Warning: more than 2 columns in custom datarules.\n' + | |
558 'Extra columns have been disregarded\n') | |
559 ids = list(data.iloc[:, 0]) | |
560 rules = list(data.iloc[:, 1]) | |
561 except pd.errors.EmptyDataError: | |
562 sys.exit('Execution aborted: wrong format of custom datarules\n') | |
563 except pd.errors.ParserError: | |
564 sys.exit('Execution aborted: wrong format of custom datarules\n') | |
565 split_rules, tmp_genes = do_rules(rules) | |
566 gene_in_rule = {} | |
567 for i in tmp_genes: | |
568 gene_in_rule[i] = 'ok' | |
569 return (ids, split_rules, gene_in_rule) | |
570 | 540 |
571 ############################ gene ############################################# | 541 ############################ gene ############################################# |
572 | 542 |
573 def data_gene(gene, type_gene, name, gene_custom): | 543 def data_gene(gene, type_gene, name, gene_custom): |
574 args = process_args(sys.argv) | 544 args = process_args(sys.argv) |
810 create_svg = check_bool(args.generate_svg) | 780 create_svg = check_bool(args.generate_svg) |
811 create_pdf = check_bool(args.generate_pdf) | 781 create_pdf = check_bool(args.generate_pdf) |
812 | 782 |
813 if os.path.isdir('result') == False: | 783 if os.path.isdir('result') == False: |
814 os.makedirs('result') | 784 os.makedirs('result') |
815 | |
816 if args.custom_rules == 'true': | |
817 ids, rules, gene_in_rule = make_recon(args.custom_rule) | |
818 | 785 |
819 class_pat = {} | 786 class_pat = {} |
820 | 787 |
821 if args.option == 'datasets': | 788 if args.option == 'datasets': |
822 num = 1 | 789 num = 1 |