Mercurial > repos > recetox > ipapy2_gibbs_sampler
comparison ipapy2_compute_bio.py @ 0:b2253cf7db76 draft default tip
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ipapy2 commit 64b61ff2823b4f54868c0ab7a4c0dc49eaf2979a
| author | recetox |
|---|---|
| date | Fri, 16 May 2025 08:02:01 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:b2253cf7db76 |
|---|---|
| 1 from ipaPy2 import ipa | |
| 2 from utils import CustomArgumentParser, group_by_peak_id | |
| 3 | |
| 4 | |
| 5 def main( | |
| 6 input_dataset_database, | |
| 7 input_dataset_annotations, | |
| 8 biochemical_mode, | |
| 9 connection_list, | |
| 10 output_dataset, | |
| 11 ncores, | |
| 12 ): | |
| 13 """ | |
| 14 Compute matrix of biochemical connections. Either based on a list of | |
| 15 possible connections in the form of a list of formulas or based on the | |
| 16 reactions present in the database. | |
| 17 """ | |
| 18 | |
| 19 if input_dataset_annotations is not None: | |
| 20 annotations = group_by_peak_id(input_dataset_annotations) | |
| 21 else: | |
| 22 annotations = None | |
| 23 | |
| 24 if biochemical_mode == "connections" and connection_list: | |
| 25 connections = connection_list.split(",") | |
| 26 else: | |
| 27 connections = [] | |
| 28 | |
| 29 Bio = ipa.Compute_Bio( | |
| 30 input_dataset_database, | |
| 31 annotations=annotations, | |
| 32 mode=biochemical_mode, | |
| 33 connections=connections, | |
| 34 ncores=ncores, | |
| 35 ) | |
| 36 write_func, file_path = output_dataset | |
| 37 write_func(Bio, file_path) | |
| 38 | |
| 39 | |
| 40 if __name__ == "__main__": | |
| 41 parser = CustomArgumentParser( | |
| 42 description=""" Compute matrix of biochemical connections. Either based on a list of | |
| 43 possible connections in the form of a list of formulas or based on the | |
| 44 reactions present in the database.""" | |
| 45 ) | |
| 46 parser.add_argument( | |
| 47 "--input_dataset_database", | |
| 48 nargs=2, | |
| 49 action="load_data", | |
| 50 required=True, | |
| 51 help=( | |
| 52 "a datset containing the database against which the annotationis performed." | |
| 53 ), | |
| 54 ) | |
| 55 parser.add_argument( | |
| 56 "--input_dataset_annotations", | |
| 57 nargs=2, | |
| 58 action="load_data", | |
| 59 help="a datset containing the annotations of the features.", | |
| 60 ) | |
| 61 parser.add_argument( | |
| 62 "--biochemical_mode", | |
| 63 type=str, | |
| 64 required=True, | |
| 65 help="""either 'reactions' (connections are computed based on the reactions | |
| 66 present in the database) or 'connections' (connections are computed | |
| 67 based on the list of connections provided). Default 'reactions'. """, | |
| 68 ) | |
| 69 parser.add_argument( | |
| 70 "--connection_list", type=str, help="list of connections" | |
| 71 ) | |
| 72 parser.add_argument( | |
| 73 "--ncores", | |
| 74 type=int, | |
| 75 default=None, | |
| 76 help="number of cores to use for the computation.", | |
| 77 ) | |
| 78 args = parser.parse_args() | |
| 79 | |
| 80 main( | |
| 81 args.input_dataset_database, | |
| 82 args.input_dataset_annotations, | |
| 83 args.biochemical_mode, | |
| 84 args.connection_list, | |
| 85 args.output_dataset, | |
| 86 args.ncores, | |
| 87 ) |
