Mercurial > repos > bimib > marea
comparison Marea/marea.py @ 28:e6831924df01 draft
small fixes (elbow plot and output managment)
author | bimib |
---|---|
date | Mon, 14 Oct 2019 05:01:08 -0400 |
parents | c71ac0bb12de |
children | 944e15aa970a |
comparison
equal
deleted
inserted
replaced
27:8c480c977a12 | 28:e6831924df01 |
---|---|
48 type = str, | 48 type = str, |
49 required = True, | 49 required = True, |
50 help = 'your tool directory') | 50 help = 'your tool directory') |
51 parser.add_argument('-op', '--option', | 51 parser.add_argument('-op', '--option', |
52 type = str, | 52 type = str, |
53 choices = ['datasets', 'dataset_class'], | 53 choices = ['datasets', 'dataset_class', 'datasets_rasonly'], |
54 help='dataset or dataset and class') | 54 help='dataset or dataset and class') |
55 parser.add_argument('-ol', '--out_log', | 55 parser.add_argument('-ol', '--out_log', |
56 help = "Output log") | 56 help = "Output log") |
57 parser.add_argument('-ids', '--input_datas', | 57 parser.add_argument('-ids', '--input_datas', |
58 type = str, | 58 type = str, |
84 parser.add_argument('-gr', '--generate_ras', | 84 parser.add_argument('-gr', '--generate_ras', |
85 type = str, | 85 type = str, |
86 default = 'true', | 86 default = 'true', |
87 choices = ['true', 'false'], | 87 choices = ['true', 'false'], |
88 help = 'generate reaction activity score') | 88 help = 'generate reaction activity score') |
89 parser.add_argument('-sr', '--single_ras_file', | |
90 type = str, | |
91 help = 'file that will contain ras') | |
92 | |
89 args = parser.parse_args() | 93 args = parser.parse_args() |
90 return args | 94 return args |
91 | 95 |
92 ########################### warning ########################################### | 96 ########################### warning ########################################### |
93 | 97 |
656 ', the class has been disregarded\n') | 660 ', the class has been disregarded\n') |
657 return class_pat | 661 return class_pat |
658 | 662 |
659 ############################ create_ras ####################################### | 663 ############################ create_ras ####################################### |
660 | 664 |
661 def create_ras (resolve_rules, dataset_name): | 665 def create_ras (resolve_rules, dataset_name, single_ras): |
662 | 666 |
663 if resolve_rules == None: | 667 if resolve_rules == None: |
664 warning("Couldn't generate RAS for current dataset: " + dataset_name) | 668 warning("Couldn't generate RAS for current dataset: " + dataset_name) |
665 | 669 |
666 for geni in resolve_rules.values(): | 670 for geni in resolve_rules.values(): |
668 if valori == None: | 672 if valori == None: |
669 geni[i] = 'None' | 673 geni[i] = 'None' |
670 | 674 |
671 output_ras = pd.DataFrame.from_dict(resolve_rules) | 675 output_ras = pd.DataFrame.from_dict(resolve_rules) |
672 output_to_csv = pd.DataFrame.to_csv(output_ras, sep = '\t', index = False) | 676 output_to_csv = pd.DataFrame.to_csv(output_ras, sep = '\t', index = False) |
673 | 677 |
674 text_file = open("ras/Reaction_Activity_Score_Of_" + dataset_name + ".tsv", "w") | 678 if (single_ras): |
679 args = process_args(sys.argv) | |
680 text_file = open(args.single_ras_file, "w") | |
681 else: | |
682 text_file = open("ras/Reaction_Activity_Score_Of_" + dataset_name + ".tsv", "w") | |
683 | |
675 text_file.write(output_to_csv) | 684 text_file.write(output_to_csv) |
676 text_file.close() | 685 text_file.close() |
677 | 686 |
678 ############################ map ############################################## | 687 ############################ map ############################################## |
679 | 688 |
747 | 756 |
748 resolve_none = check_bool(args.none) | 757 resolve_none = check_bool(args.none) |
749 | 758 |
750 class_pat = {} | 759 class_pat = {} |
751 | 760 |
752 if args.option == 'datasets': | 761 if args.option == 'datasets_rasonly': |
762 name = "RAS Dataset" | |
763 dataset = read_dataset(args.input_datas[0],"dataset") | |
764 | |
765 dataset.iloc[:, 0] = (dataset.iloc[:, 0]).astype(str) | |
766 | |
767 type_gene = gene_type(dataset.iloc[0, 0], name) | |
768 | |
769 if args.rules_selector != 'Custom': | |
770 genes = data_gene(dataset, type_gene, name, None) | |
771 ids, rules = load_id_rules(recon.get(type_gene)) | |
772 elif args.rules_selector == 'Custom': | |
773 genes = data_gene(dataset, type_gene, name, gene_in_rule) | |
774 | |
775 resolve_rules, err = resolve(genes, rules, ids, resolve_none, name) | |
776 | |
777 create_ras(resolve_rules, name, True) | |
778 | |
779 if err != None and err: | |
780 warning('Warning: gene\n' + str(err) + '\nnot found in class ' | |
781 + name + ', the expression level for this gene ' + | |
782 'will be considered NaN\n') | |
783 | |
784 print('execution succeded') | |
785 return None | |
786 | |
787 | |
788 elif args.option == 'datasets': | |
753 num = 1 | 789 num = 1 |
754 for i, j in zip(args.input_datas, args.names): | 790 for i, j in zip(args.input_datas, args.names): |
755 | 791 |
756 name = name_dataset(j, num) | 792 name = name_dataset(j, num) |
757 dataset = read_dataset(i, name) | 793 dataset = read_dataset(i, name) |
767 genes = data_gene(dataset, type_gene, name, gene_in_rule) | 803 genes = data_gene(dataset, type_gene, name, gene_in_rule) |
768 | 804 |
769 resolve_rules, err = resolve(genes, rules, ids, resolve_none, name) | 805 resolve_rules, err = resolve(genes, rules, ids, resolve_none, name) |
770 | 806 |
771 if generate_ras: | 807 if generate_ras: |
772 create_ras(resolve_rules, name) | 808 create_ras(resolve_rules, name, False) |
773 | |
774 | 809 |
775 if err != None and err: | 810 if err != None and err: |
776 warning('Warning: gene\n' + str(err) + '\nnot found in class ' | 811 warning('Warning: gene\n' + str(err) + '\nnot found in class ' |
777 + name + ', the expression level for this gene ' + | 812 + name + ', the expression level for this gene ' + |
778 'will be considered NaN\n') | 813 'will be considered NaN\n') |
799 warning('Warning: gene\n'+str(err)+'\nnot found in class ' | 834 warning('Warning: gene\n'+str(err)+'\nnot found in class ' |
800 + name + ', the expression level for this gene ' + | 835 + name + ', the expression level for this gene ' + |
801 'will be considered NaN\n') | 836 'will be considered NaN\n') |
802 if resolve_rules != None: | 837 if resolve_rules != None: |
803 class_pat = split_class(classes, resolve_rules) | 838 class_pat = split_class(classes, resolve_rules) |
804 | 839 |
840 | |
805 if args.rules_selector == 'Custom': | 841 if args.rules_selector == 'Custom': |
806 if args.yes_no == 'yes': | 842 if args.yes_no == 'yes': |
807 try: | 843 try: |
808 core_map = ET.parse(args.custom_map) | 844 core_map = ET.parse(args.custom_map) |
809 except (ET.XMLSyntaxError, ET.XMLSchemaParseError): | 845 except (ET.XMLSyntaxError, ET.XMLSchemaParseError): |