def migrate_settings(cls, settings, version): if (version is None or version < 2) and \ ("limit_lower" in settings and "limit_upper" in settings): # v2 changed limit_lower, limit_upper to per filter limits stored # in a single dict lower = settings.pop("limit_lower") upper = settings.pop("limit_upper") settings["thresholds"] = { (Cells, TotalCounts): (lower, upper), (Cells, DetectionCount): (lower, upper), (Genes, TotalCounts): (lower, upper), (Genes, DetectionCount): (lower, upper), (Data, -1): (lower, upper), } if version == 2: thresholds = settings["thresholds"] c = thresholds.pop(Cells) g = thresholds.pop(Genes) d = thresholds.pop(Data) thresholds = { (Cells, TotalCounts): c, (Cells, DetectionCount): c, (Genes, TotalCounts): g, (Genes, DetectionCount): g, (Data, -1): d, } settings["thresholds"] = thresholds
def migrate_settings(cls, settings, version): if version < 2: settings.pop('selected_tree_index', None) v1_min, v1_max = 20, 150 v2_min, v2_max = 100, 400 ratio = (v2_max - v2_min) / (v1_max - v1_min) settings['zoom'] = int(ratio * (settings['zoom'] - v1_min) + v2_min)
def migrate_to_version_2(): settings["selected_source"] = settings.pop("selected_db_source", "") settings["selected_organism"] = settings.pop("selected_group", "") if "context_settings" in settings: for co in settings["context_settings"]: co.values["selected_genes"] = [ g[0] + g[1] for g in co.values["selected_genes"] ]
def migrate_settings(cls, settings, version): if version is not None and version < 3: def st2cl(state: bool) -> Clustering: return Clustering.OrderedClustering if state else \ Clustering.None_ rc = settings.pop("row_clustering", False) cc = settings.pop("col_clustering", False) settings["row_clustering_method"] = st2cl(rc).name settings["col_clustering_method"] = st2cl(cc).name
def migrate_settings(cls, settings, version): if (version is None or version < 2) and \ ("limit_lower" in settings and "limit_upper" in settings): # v2 changed limit_lower, limit_upper to per filter limits stored # in a single dict lower = settings.pop("limit_lower") upper = settings.pop("limit_upper") settings["thresholds"] = { Cells: (lower, upper), Genes: (lower, upper), Data: (lower, upper), }
def migrate_settings(cls, settings, version): if "variance_covered" in settings: # Due to the error in gh-1896 the variance_covered was persisted # as a NaN value, causing a TypeError in the widgets `__init__`. vc = settings["variance_covered"] if isinstance(vc, numbers.Real): if numpy.isfinite(vc): vc = int(vc) else: vc = 100 settings["variance_covered"] = vc if settings.get("ncomponents", 0) > MAX_COMPONENTS: settings["ncomponents"] = MAX_COMPONENTS # Remove old `decomposition_idx` when SVD was still included settings.pop("decomposition_idx", None)
def migrate_settings(cls, settings, version): if "variance_covered" in settings: # Due to the error in gh-1896 the variance_covered was persisted # as a NaN value, causing a TypeError in the widgets `__init__`. vc = settings["variance_covered"] if isinstance(vc, numbers.Real): if numpy.isfinite(vc): vc = int(vc) else: vc = 100 settings["variance_covered"] = vc if settings.get("ncomponents", 0) > MAX_COMPONENTS: settings["ncomponents"] = MAX_COMPONENTS # Remove old `decomposition_idx` when SVD was still included settings.pop("decomposition_idx", None) # Remove RemotePCA settings settings.pop("batch_size", None) settings.pop("address", None) settings.pop("auto_update", None)
def migrate_settings(cls, settings, version): # pylint: disable=redefined-outer-name if version is None or version < 2: # was stored as int indexing Methods (but offset by 1) default = settings.pop("default_method", 0) default = Methods(default + 1) settings["default_method_name"] = default.name