1212
1313
1414class MachineConfig (BaseModel , extra = Extra .allow ): # type: ignore
15- acquisition_software : List [str ]
16- calibrations : Dict [str , Dict [str , Union [dict , float ]]]
17- data_directories : List [Path ]
18- rsync_basepath : Path
19- default_model : Path
15+ """
16+ Keys that describe the type of workflow conducted on the client side, and how
17+ Murfey will handle its data transfer and processing
18+ """
19+
20+ # General info --------------------------------------------------------------------
2021 display_name : str = ""
2122 instrument_name : str = ""
2223 image_path : Optional [Path ] = None
24+ machine_override : str = ""
25+
26+ # Hardware and software -----------------------------------------------------------
27+ camera : str = "FALCON"
28+ superres : bool = False
29+ calibrations : Dict [str , Dict [str , Union [dict , float ]]]
30+ acquisition_software : List [str ]
2331 software_versions : Dict [str , str ] = {}
24- external_executables : Dict [str , str ] = {}
25- external_executables_eer : Dict [str , str ] = {}
26- external_environment : Dict [str , str ] = {}
27- rsync_module : str = ""
32+ software_settings_output_directories : Dict [str , List [str ]] = {}
33+ data_required_substrings : Dict [str , Dict [str , List [str ]]] = {}
34+
35+ # Client side directory setup -----------------------------------------------------
36+ data_directories : List [Path ]
2837 create_directories : list [str ] = ["atlas" ]
2938 analyse_created_directories : List [str ] = []
3039 gain_reference_directory : Optional [Path ] = None
3140 eer_fractionation_file_template : str = ""
32- processed_directory_name : str = "processed"
33- gain_directory_name : str = "processing"
34- node_creator_queue : str = "node_creator"
35- superres : bool = False
36- camera : str = "FALCON"
37- data_required_substrings : Dict [str , Dict [str , List [str ]]] = {}
38- allow_removal : bool = False
41+
42+ # Data transfer setup -------------------------------------------------------------
43+ # Rsync setup
3944 data_transfer_enabled : bool = True
45+ rsync_url : str = ""
46+ rsync_module : str = ""
47+ rsync_basepath : Path
48+ allow_removal : bool = False
49+
50+ # Upstream data download setup
51+ upstream_data_directories : List [Path ] = [] # Previous sessions
52+ upstream_data_download_directory : Optional [Path ] = None # Set by microscope config
53+ upstream_data_tiff_locations : List [str ] = ["processed" ] # Location of CLEM TIFFs
54+
55+ # Data processing setup -----------------------------------------------------------
56+ # General processing setup
4057 processing_enabled : bool = True
41- machine_override : str = ""
42- processed_extra_directory : str = ""
43- plugin_packages : Dict [str , Path ] = {}
44- software_settings_output_directories : Dict [str , List [str ]] = {}
4558 process_by_default : bool = True
59+ gain_directory_name : str = "processing"
60+ processed_directory_name : str = "processed"
61+ processed_extra_directory : str = ""
4662 recipes : Dict [str , str ] = {
4763 "em-spa-bfactor" : "em-spa-bfactor" ,
4864 "em-spa-class2d" : "em-spa-class2d" ,
@@ -53,22 +69,27 @@ class MachineConfig(BaseModel, extra=Extra.allow): # type: ignore
5369 "em-tomo-align" : "em-tomo-align" ,
5470 }
5571
56- # Find and download upstream directories
57- upstream_data_directories : List [Path ] = [] # Previous sessions
58- upstream_data_download_directory : Optional [Path ] = None # Set by microscope config
59- upstream_data_tiff_locations : List [str ] = ["processed" ] # Location of CLEM TIFFs
60-
72+ # Particle picking setup
73+ default_model : Path
6174 model_search_directory : str = "processing"
6275 initial_model_search_directory : str = "processing/initial_model"
6376
64- failure_queue : str = ""
65- instrument_server_url : str = "http://localhost:8001"
66- frontend_url : str = "http://localhost:3000"
67- murfey_url : str = "http://localhost:8000"
68- rsync_url : str = ""
77+ # Data analysis plugins
78+ external_executables : Dict [ str , str ] = {}
79+ external_executables_eer : Dict [ str , str ] = {}
80+ external_environment : Dict [ str , str ] = {}
81+ plugin_packages : Dict [ str , Path ] = {}
6982
83+ # Server and network setup --------------------------------------------------------
84+ # Configurations and URLs
7085 security_configuration_path : Optional [Path ] = None
86+ murfey_url : str = "http://localhost:8000"
87+ frontend_url : str = "http://localhost:3000"
88+ instrument_server_url : str = "http://localhost:8001"
7189
90+ # Messaging queues
91+ failure_queue : str = ""
92+ node_creator_queue : str = "node_creator"
7293 notifications_queue : str = "pato_notification"
7394
7495
0 commit comments