comparison tile.py @ 6:667a513e67e4 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 57a0433defa3cbc37ab34fbb0ebcfaeb680db8d5
author bgruening
date Sun, 05 Nov 2023 09:24:38 +0000
parents b178453ea8d1
children
comparison
equal deleted inserted replaced
5:b178453ea8d1 6:667a513e67e4
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 import argparse 3 import argparse
4 import json 4 import json
5 5
6 from cp_common_functions import get_json_value 6 from cp_common_functions import (get_json_value,
7 from cp_common_functions import get_pipeline_lines 7 get_pipeline_lines,
8 from cp_common_functions import get_total_number_of_modules 8 get_total_number_of_modules,
9 from cp_common_functions import INDENTATION 9 INDENTATION, update_module_count,
10 from cp_common_functions import update_module_count 10 write_pipeline)
11 from cp_common_functions import write_pipeline
12
13 11
14 MODULE_NAME = "Tile" 12 MODULE_NAME = "Tile"
15 OUTPUT_FILENAME = "output.cppipe" 13 OUTPUT_FILENAME = "output.cppipe"
16 14
17 15
18 def build_header(module_name, module_number): 16 def build_header(module_name, module_number):
19 result = "|".join([f"{module_name}:[module_num:{module_number}", 17 result = "|".join(
20 "svn_version:\\'Unknown\\'", 18 [
21 "variable_revision_number:1", 19 f"{module_name}:[module_num:{module_number}",
22 "show_window:True", 20 "svn_version:\\'Unknown\\'",
23 "notes:\\x5B\\'Tile the original color image, the outlined image and the image of tracked labels together.\\'\\x5D", 21 "variable_revision_number:1",
24 "batch_state:array(\\x5B\\x5D, dtype=uint8)", 22 "show_window:True",
25 "enabled:True", 23 "notes:\\x5B\\'Tile the original color image, the outlined image and the image of tracked labels together.\\'\\x5D",
26 "wants_pause:False]\n"]) 24 "batch_state:array(\\x5B\\x5D, dtype=uint8)",
25 "enabled:True",
26 "wants_pause:False]\n",
27 ]
28 )
27 return result 29 return result
28 30
29 31
30 def build_main_block(input_params): 32 def build_main_block(input_params):
31 result = INDENTATION.join([f"{INDENTATION}Select an input image:{get_json_value(input_params,'input_image')}\n", 33 result = INDENTATION.join(
32 f"Name the output image:{get_json_value(input_params,'output_image_name')}\n", 34 [
33 f"Tile assembly method:{get_json_value(input_params,'con_assembly_method.assembly_method')}\n" 35 f"{INDENTATION}Select an input image:{get_json_value(input_params,'input_image')}\n",
34 ]) 36 f"Name the output image:{get_json_value(input_params,'output_image_name')}\n",
37 f"Tile assembly method:{get_json_value(input_params,'con_assembly_method.assembly_method')}\n",
38 ]
39 )
35 40
36 calc_rows = get_json_value(input_params, 'con_assembly_method.con_calc_no_row.calc_no_row') 41 calc_rows = get_json_value(
42 input_params, "con_assembly_method.con_calc_no_row.calc_no_row"
43 )
37 no_of_rows = 8 44 no_of_rows = 8
38 45
39 calc_cols = get_json_value(input_params, 'con_assembly_method.con_calc_no_cols.calc_no_cols') 46 calc_cols = get_json_value(
47 input_params, "con_assembly_method.con_calc_no_cols.calc_no_cols"
48 )
40 no_of_cols = 12 49 no_of_cols = 12
41 50
42 if calc_rows == "No": 51 if calc_rows == "No":
43 no_of_rows = get_json_value(input_params, 'con_assembly_method.con_calc_no_row.no_of_row') 52 no_of_rows = get_json_value(
53 input_params, "con_assembly_method.con_calc_no_row.no_of_row"
54 )
44 55
45 if calc_cols == "No": 56 if calc_cols == "No":
46 no_of_cols = get_json_value(input_params, 'con_assembly_method.con_calc_no_cols.no_of_cols') 57 no_of_cols = get_json_value(
58 input_params, "con_assembly_method.con_calc_no_cols.no_of_cols"
59 )
47 60
48 corner_to_begin = get_json_value(input_params, 'con_assembly_method.corner_to_begin') 61 corner_to_begin = get_json_value(
49 direction_tiling = get_json_value(input_params, 'con_assembly_method.direction') 62 input_params, "con_assembly_method.corner_to_begin"
50 meander = get_json_value(input_params, 'con_assembly_method.meander_mode') 63 )
64 direction_tiling = get_json_value(input_params, "con_assembly_method.direction")
65 meander = get_json_value(input_params, "con_assembly_method.meander_mode")
51 66
52 assembly_method = get_json_value(input_params, 'con_assembly_method.assembly_method') 67 assembly_method = get_json_value(
68 input_params, "con_assembly_method.assembly_method"
69 )
53 70
54 result += INDENTATION.join( 71 result += INDENTATION.join(
55 [f"{INDENTATION}Final number of rows:{str(no_of_rows)}\n", 72 [
56 f"Final number of columns:{str(no_of_cols)}\n", 73 f"{INDENTATION}Final number of rows:{str(no_of_rows)}\n",
57 f"Image corner to begin tiling:{corner_to_begin}\n", 74 f"Final number of columns:{str(no_of_cols)}\n",
58 f"Direction to begin tiling:{direction_tiling}\n", 75 f"Image corner to begin tiling:{corner_to_begin}\n",
59 f"Use meander mode?:{meander}\n", 76 f"Direction to begin tiling:{direction_tiling}\n",
60 f"Automatically calculate number of rows?:{calc_rows}\n", 77 f"Use meander mode?:{meander}\n",
61 f"Automatically calculate number of columns?:{calc_cols}\n" 78 f"Automatically calculate number of rows?:{calc_rows}\n",
62 ]) 79 f"Automatically calculate number of columns?:{calc_cols}\n",
80 ]
81 )
63 82
64 if assembly_method == "Within cycles": 83 if assembly_method == "Within cycles":
65 additionals = input_params['con_assembly_method']['rpt_additional_image'] 84 additionals = input_params["con_assembly_method"]["rpt_additional_image"]
66 85
67 for img in additionals: 86 for img in additionals:
68 result += INDENTATION.join( 87 result += INDENTATION.join(
69 [f"{INDENTATION}Select an additional image to tile:{get_json_value(img, 'additional_img')}\n" 88 [
70 ]) 89 f"{INDENTATION}Select an additional image to tile:{get_json_value(img, 'additional_img')}\n"
90 ]
91 )
71 result = result.rstrip("\n") 92 result = result.rstrip("\n")
72 return result 93 return result
73 94
74 95
75 if __name__ == "__main__": 96 if __name__ == "__main__":
76 parser = argparse.ArgumentParser() 97 parser = argparse.ArgumentParser()
77 parser.add_argument( 98 parser.add_argument("-p", "--pipeline", help="CellProfiler pipeline")
78 '-p', '--pipeline', 99 parser.add_argument("-i", "--inputs", help="JSON inputs from Galaxy")
79 help='CellProfiler pipeline'
80 )
81 parser.add_argument(
82 '-i', '--inputs',
83 help='JSON inputs from Galaxy'
84 )
85 args = parser.parse_args() 100 args = parser.parse_args()
86 101
87 pipeline_lines = get_pipeline_lines(args.pipeline) 102 pipeline_lines = get_pipeline_lines(args.pipeline)
88 inputs_galaxy = json.load(open(args.inputs, "r")) 103 inputs_galaxy = json.load(open(args.inputs, "r"))
89 104