def __fetch_design_rack_layout(self, design_rack): """ Fetches the transfection layouts for each design rack. """ converter = TransfectionLayoutConverter(design_rack.rack_layout, is_iso_request_layout=False, parent=self) tf_layout = converter.get_result() if tf_layout is None: msg = 'Could not get layout for design rack "%s"!' \ % (design_rack.label) self.add_error(msg) return tf_layout
def _fetch_expected_layout(self): """ The expected layout is the ISO layout of the ISO request. """ self.add_debug('Get ISO layout ...') converter = TransfectionLayoutConverter( rack_layout=self.iso_request.rack_layout, parent=self) self._expected_layout = converter.get_result() if self._expected_layout is None: msg = 'Error when trying to convert transfection layout.' self.add_error(msg) else: self._expected_layout.close() has_floatings = self._expected_layout.has_floatings() if has_floatings: self.__get_iso_map()
def __get_experiment_layouts(self): # Generates the transfection layouts for the experiment design's # design racks. self.add_debug('Determine experiment design transfection layouts ...') for design_rack in self.experiment_design.experiment_design_racks: experiment_layout = design_rack.rack_layout converter = TransfectionLayoutConverter( experiment_layout, is_iso_request_layout=False, is_mastermix_template=True, parent=self) experiment_layout = converter.get_result() if experiment_layout is None: msg = 'Error when trying to convert design rack layout for ' \ 'design rack "%s".' % (design_rack.label) self.add_error(msg) break else: self.__experiment_layouts[design_rack.label] = \ experiment_layout self.__sort_floatings(experiment_layout, design_rack.label) for design_rack in self.experiment_design.experiment_design_racks: if self.__check_for_iso_volume_and_concentration(design_rack): break