From a34ad0ec38845227ba00610e1b4c1c9d84e6c77f Mon Sep 17 00:00:00 2001 From: mk017 Date: Fri, 6 Nov 2020 23:09:28 +0100 Subject: [PATCH 01/61] add plot_npc and plot_active_latent_units (#9) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add plot_npc and plot_active_latent_units * make sure handling of z and z_mean is consistent for VAE embeddings * clean up and documentation * formatting Co-authored-by: Martin König Co-authored-by: le-ander <20015434+le-ander@users.noreply.github.com> --- sfaira/train/summaries.py | 120 +++++++++++++++++++++++++++++++++++++- 1 file changed, 117 insertions(+), 3 deletions(-) diff --git a/sfaira/train/summaries.py b/sfaira/train/summaries.py index c42fa6779..0f20a8748 100644 --- a/sfaira/train/summaries.py +++ b/sfaira/train/summaries.py @@ -506,7 +506,7 @@ def plot_training_history( ).tolist(): sns_data_temp = pandas.DataFrame(self.histories[run]) sns_data_temp["epoch"] = np.arange(0, sns_data_temp.shape[0]) - sns_data_temp["cv"] = run.split("_")[-1] + sns_data_temp["cv"] = int(run.split("_")[-1]) sns_data.append(sns_data_temp) sns_data = pandas.concat(sns_data, axis=0) else: @@ -1581,7 +1581,6 @@ def plot_gradient_cor( if by_type: v = avg_grads[model_type[0]] celltypes_coord = celltypes[model_type[0]] - cell_names = [str(i) for i in range(v.shape[0])] cormat = pandas.DataFrame( np.corrcoef(v), index=celltypes_coord, @@ -1594,4 +1593,119 @@ def plot_gradient_cor( plt.tight_layout() if save is not None: plt.savefig(save) - plt.show() \ No newline at end of file + plt.show() + + def plot_npc( + self, + organ, + topology_version, + cvs=None + ): + """ + Plots the explained variance ration that accumulates explained variation of the latent space’s ordered + principal components. + If an embedding file is found that contains z, z_mean, z_var (eg. output from predict_variational() function) + the model will use z, and not z_mean. + """ + import matplotlib.pyplot as plt + if self.summary_tab is None: + self.create_summary_tab() + models = np.unique(self.summary_tab["model_type"]).tolist() + self.summary_tab["topology"] = [x.split("_")[5] for x in self.summary_tab["model_gs_id"].values] + + with plt.style.context("seaborn-whitegrid"): + plt.figure(figsize=(12, 6)) + for model in models: + model_id, embedding, covar = self.best_model_embedding( + subset={"model_type": model, "organ": organ, "topology": topology_version}, + partition="val", + metric="loss", + cvs=cvs, + ) + if len(embedding[0].shape) == 3: + z = embedding[0][0] # in case of three-dimensional VAE embedding (z, z_mean, z_var), use z + else: + z = embedding[0] + cov = np.cov(z.T) + eig_vals, eig_vecs = np.linalg.eig(cov) + eig_sum = sum(eig_vals) + var_exp = [(i / eig_sum) for i in sorted(eig_vals, reverse=True)] + cum_var_exp = np.cumsum([0] + var_exp) + plt.step(range(0, eig_vals.shape[0]+1), cum_var_exp, where="post", linewidth=3, + label="%s cumulative explained variance (95%%: %s / 99%%: %s)" % (model, np.sum(cum_var_exp < .95), np.sum(cum_var_exp < .99))) + plt.yticks([0.0, .25, .50, .75, .95, .99]) + plt.ylabel("Explained variance ratio", fontsize=16) + plt.xlabel("Principal components", fontsize=16) + plt.legend(loc="best", fontsize=16, frameon=True) + plt.tight_layout() + plt.show() + + def plot_active_latent_units( + self, + organ, + topology_version, + cvs=None + ): + """ + Plots latent unit activity measured by empirical variance of the expected latent space. + See: https://arxiv.org/abs/1509.00519 + If an embedding file is found that contains z, z_mean, z_var (eg. output from predict_variational() function) + the model will use z, and not z_mean. + """ + + colors = ['red', 'blue', 'green', 'cyan', 'magenta', 'yellow', 'darkgreen', 'lime', 'navy', 'royalblue', 'pink', 'peru'] + + def active_latent_units_mask(z): + var_x = np.diagonal(np.cov(z.T)) + min_var_x = 0.01 + active_units_mask = var_x > min_var_x + return active_units_mask + + import matplotlib.pyplot as plt + if self.summary_tab is None: + self.create_summary_tab() + models = np.unique(self.summary_tab["model_type"]).tolist() + self.summary_tab["topology"] = [x.split("_")[5] for x in self.summary_tab["model_gs_id"].values] + + with plt.style.context("seaborn-whitegrid"): + plt.figure(figsize=(12, 6)) + plt.axhline(np.log(0.01), color="k", linestyle='dashed', linewidth=2, label="active unit threshold") + for i, model in enumerate(models): + model_id, embedding, covar = self.best_model_embedding( + subset={"model_type": model, "organ": organ, "topology": topology_version}, + partition="val", + metric="loss", + cvs=cvs, + ) + if len(embedding[0].shape) == 3: + z = embedding[0][0] # in case of three-dimensional VAE embedding (z, z_mean, z_var), use z + else: + z = embedding[0] + latent_dim = z.shape[1] + var = np.sort(np.diagonal(np.cov(z.T)))[::-1] + log_var = np.log(var) + active_units = np.log(var[active_latent_units_mask(z)]) + + plt.plot(range(1,log_var.shape[0]+1), log_var, color=colors[i], alpha=1.0, linewidth=3, + label="%s active units: %i" % (model, len(active_units))) + # to plot vertical lines + log_var_cut = var.copy() + log_var_cut[~active_latent_units_mask(z)] = 0 + log_var_cut = np.log(log_var_cut) + num_active = np.argmax(log_var_cut) + if num_active > 0: + plt.vlines(num_active, ymin = -.15, ymax = 0.15, color=colors[i], linestyle='solid', linewidth=3) + if model == "vaevamp": + z1, z2 = np.split(np.log(np.diagonal(np.cov(z.T))),2) + plt.plot(range(1, int(latent_dim/2)+1), np.sort(z2)[::-1], color=colors[i], alpha=1.0, + label=r"%s $z_2$ active units: %i" % (model, len(z2[z2>np.log(0.01)])), linestyle='dashed', + linewidth=3) + plt.plot(range(1, int(latent_dim/2)+1), np.sort(z1)[::-1], color=colors[i], alpha=1.0, + label=r"%s $z_1$ active units: %i" % (model, len(z1[z1 > np.log(0.01)])), + linestyle='dotted', linewidth=3) + plt.xlabel(r'Latent unit $i$', fontsize=16) + plt.ylabel(r'$\log\,{(A_{\bf z})}_i$', fontsize=16) + plt.title(r"Latent unit activity", fontsize=16) + plt.legend(loc="upper right", frameon=True, fontsize=12) + plt.tight_layout() + plt.show() From e45e5e121e9f62b4d327614720666a9a128bd85e Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 9 Nov 2020 13:09:55 +0100 Subject: [PATCH 02/61] added data loader for interactive workflows with unprocessed data --- sfaira/data/interactive/__init__.py | 3 ++ sfaira/data/interactive/external.py | 1 + sfaira/data/interactive/loader.py | 44 +++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 sfaira/data/interactive/__init__.py create mode 100644 sfaira/data/interactive/external.py create mode 100644 sfaira/data/interactive/loader.py diff --git a/sfaira/data/interactive/__init__.py b/sfaira/data/interactive/__init__.py new file mode 100644 index 000000000..209809e16 --- /dev/null +++ b/sfaira/data/interactive/__init__.py @@ -0,0 +1,3 @@ +from .base import DatasetBase, DatasetGroupBase, DatasetSuperGroup +from . import mouse +from . import human \ No newline at end of file diff --git a/sfaira/data/interactive/external.py b/sfaira/data/interactive/external.py new file mode 100644 index 000000000..9f4e3db68 --- /dev/null +++ b/sfaira/data/interactive/external.py @@ -0,0 +1 @@ +from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/interactive/loader.py b/sfaira/data/interactive/loader.py new file mode 100644 index 000000000..cc64a9259 --- /dev/null +++ b/sfaira/data/interactive/loader.py @@ -0,0 +1,44 @@ +import anndata +from typing import Union +from .external import DatasetBase + + +class Dataset(DatasetBase): + + def __init__( + self, + data: anndata.AnnData, + species: str, + organ: str, + gene_symbol_col: Union[str, None] = 'index', + gene_ensg_col: Union[str, None] = None, + class_maps: dict = {}, + dataset_id: str = "interactive", + **kwargs + ): + """ + + :param data: + :param species: + :param organ: + :param class_maps: + :param id: + :param kwargs: + """ + DatasetBase.__init__(self=self, path=None, meta_path=None, **kwargs) + self.adata = data + self.species = species + self.id = dataset_id + self.organ = organ + + self.gene_symbol_col = gene_symbol_col + self.gene_ensg_col = gene_ensg_col + + self.class_maps = class_maps + + def _load(self, fn=None): + self._convert_and_set_var_names( + symbol_col=self.gene_symbol_col, + ensembl_col=self.gene_ensg_col, + new_index='ensembl' + ) From 9307be3e4e812a8acdecd2f4c6e2436ee5642f5a Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 9 Nov 2020 13:14:39 +0100 Subject: [PATCH 03/61] made cell type loading optional in dataset .load() --- sfaira/api/data.py | 1 + sfaira/data/__init__.py | 3 ++- sfaira/data/base.py | 11 ++++++----- sfaira/data/interactive/__init__.py | 4 +--- sfaira/data/interactive/loader.py | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/sfaira/api/data.py b/sfaira/api/data.py index 4ff0d90f7..dcbb39a65 100644 --- a/sfaira/api/data.py +++ b/sfaira/api/data.py @@ -1,3 +1,4 @@ from sfaira.data import DatasetBase, DatasetGroupBase, DatasetSuperGroup from sfaira.data import mouse from sfaira.data import human +from sfaira.data import DatasetInteractive diff --git a/sfaira/data/__init__.py b/sfaira/data/__init__.py index 209809e16..896eb5de2 100644 --- a/sfaira/data/__init__.py +++ b/sfaira/data/__init__.py @@ -1,3 +1,4 @@ from .base import DatasetBase, DatasetGroupBase, DatasetSuperGroup from . import mouse -from . import human \ No newline at end of file +from . import human +from .interactive import DatasetInteractive diff --git a/sfaira/data/base.py b/sfaira/data/base.py index aed49e4e0..ed9910046 100644 --- a/sfaira/data/base.py +++ b/sfaira/data/base.py @@ -97,11 +97,12 @@ def load( if 'cell_ontology_id' not in self.adata.obs.columns: self.adata.obs["cell_ontology_id"] = None - # Map cell type names from raw IDs to ontology maintained ones:: - self.adata.obs["cell_ontology_class"] = self.map_ontology_class( - raw_ids=self.adata.obs["cell_ontology_class"].values, - celltype_version=celltype_version - ) + # Map cell type names from raw IDs to ontology maintained ones: + if "cell_ontology_class" in self.adata.obs.columns: + self.adata.obs["cell_ontology_class"] = self.map_ontology_class( + raw_ids=self.adata.obs["cell_ontology_class"].values, + celltype_version=celltype_version + ) # Remove version tag on ensembl gene ID so that different versions are superimposed downstream: if remove_gene_version: diff --git a/sfaira/data/interactive/__init__.py b/sfaira/data/interactive/__init__.py index 209809e16..2c6ea4905 100644 --- a/sfaira/data/interactive/__init__.py +++ b/sfaira/data/interactive/__init__.py @@ -1,3 +1 @@ -from .base import DatasetBase, DatasetGroupBase, DatasetSuperGroup -from . import mouse -from . import human \ No newline at end of file +from .loader import DatasetInteractive diff --git a/sfaira/data/interactive/loader.py b/sfaira/data/interactive/loader.py index cc64a9259..7991f7de8 100644 --- a/sfaira/data/interactive/loader.py +++ b/sfaira/data/interactive/loader.py @@ -3,7 +3,7 @@ from .external import DatasetBase -class Dataset(DatasetBase): +class DatasetInteractive(DatasetBase): def __init__( self, From e266773247c75de3671729943ff8188f07732919 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 9 Nov 2020 13:47:08 +0100 Subject: [PATCH 04/61] enabled usage of type estimator on data without labels in prediction mode --- sfaira/estimators/keras.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sfaira/estimators/keras.py b/sfaira/estimators/keras.py index 188d39b05..08e469ff6 100644 --- a/sfaira/estimators/keras.py +++ b/sfaira/estimators/keras.py @@ -1047,7 +1047,7 @@ def generator(): return dataset - elif mode == 'eval' or mode == 'predict': + elif mode == 'eval': weights, y = self._get_celltype_out(idx=idx) if not weighted: weights = np.ones_like(weights) @@ -1064,6 +1064,19 @@ def generator(): return x, y, weights + elif mode == 'predict': + # Prepare data reading according to whether anndata is backed or not: + if self.data.isbacked: + # Need to supply sorted indices to backed anndata: + x = self.data.X[np.sort(idx), :] + # Sort back in original order of indices. + x = x[[np.where(np.sort(idx) == i)[0][0] for i in idx], :] + else: + x = self._prepare_data_matrix(idx=idx) + x = x.toarray() + + return x, None, None + else: raise ValueError(f'Mode {mode} not recognised. Should be "train", "eval" or" predict"') @@ -1092,7 +1105,7 @@ def predict(self): prediction """ if self.idx_test is None or self.idx_test.any(): # true if the array is not empty or if the passed value is None - x, y, _ = self._get_dataset( + x, _, _ = self._get_dataset( idx=self.idx_test, batch_size=None, mode='predict' From 35404efd5176b807b13dc0f4a3fae7c5c4d7d6d9 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 10 Nov 2020 11:05:30 +0100 Subject: [PATCH 05/61] recursively search custom model repo for weights files --- sfaira/interface/user_interface.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 98783060a..05b53d7e3 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -120,39 +120,36 @@ def write_lookuptable( repo_path: str ): """ - checks if there is a txt file that lists the model_id and path of models in the directory - adds model_index that connects model_id with the link to the model - :param repo_path: :return: """ import hashlib - files = [ - os.path.join(repo_path, f) for f in os.listdir(repo_path) - if (os.path.isfile(os.path.join(repo_path, f)) - and (f.endswith('_weights.h5') or f.endswith('_weights.data-00000-of-00001')) - and (f.startswith('embedding') or f.startswith('celltype')) - ) - ] + weights_files = [] + for subdir, dirs, files in os.walk(repo_path): + for file in files: + if os.path.isfile(os.path.join(subdir, file)) and ( + file.endswith('_weights.h5') or file.endswith('_weights.data-00000-of-00001')) and ( + file.startswith('embedding') or file.startswith('celltype')): + weights_files.append(os.path.join(subdir, file)) - if files: - file_names = [f.split('/')[-1] for f in files] + if weights_files: + file_names = [f.split('/')[-1] for f in weights_files] s = [i.split('_')[0:7] for i in file_names] ids = ['_'.join(i) for i in s] md5 = [] - for file in files: + for file in weights_files: with open(file, 'rb') as f: md5.append(hashlib.md5(f.read()).hexdigest()) pd.DataFrame( - list(zip(ids, [repo_path for i in files], md5)), + list(zip(ids, [repo_path for i in weights_files], md5)), columns=['model_id', 'model_path', 'md5'] ).to_csv(repo_path + 'model_lookuptable.csv') else: - raise ValueError('No model weights found in {}.' + raise ValueError(f'No model weights found in {repo_path} ' 'Weights need to have .h5 or .data-00000-of-00001 extension' - 'to be recognised'.format(repo_path) + 'to be recognised' ) def load_data( From dd0452660f8b2fed7c04ecb5683f212d8c49ba01 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 10 Nov 2020 11:47:09 +0100 Subject: [PATCH 06/61] sort model lookuptable alphabetically before writing it --- sfaira/interface/user_interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 05b53d7e3..166a9d0b9 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -145,7 +145,7 @@ def write_lookuptable( pd.DataFrame( list(zip(ids, [repo_path for i in weights_files], md5)), columns=['model_id', 'model_path', 'md5'] - ).to_csv(repo_path + 'model_lookuptable.csv') + ).sort_values('model_id').to_csv(repo_path + 'model_lookuptable.csv') else: raise ValueError(f'No model weights found in {repo_path} ' 'Weights need to have .h5 or .data-00000-of-00001 extension' From 8c665c0f82ba5503a0dc48aefa2b2630caabb0cd Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 10 Nov 2020 12:59:10 +0100 Subject: [PATCH 07/61] make sure mode_path is set correctly in model_lookuptable when recursive weights loading is used --- sfaira/estimators/keras.py | 2 +- sfaira/interface/user_interface.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sfaira/estimators/keras.py b/sfaira/estimators/keras.py index 08e469ff6..9dcd7c4b7 100644 --- a/sfaira/estimators/keras.py +++ b/sfaira/estimators/keras.py @@ -78,7 +78,7 @@ def load_pretrained_weights(self): """ Loads model weights from local directory or zenodo. """ - if self.model_dir.endswith('/'): + if not self.model_dir.endswith('/'): self.model_dir += '/' if self.model_dir.startswith('http'): diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 166a9d0b9..72db71ece 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -135,6 +135,7 @@ def write_lookuptable( if weights_files: file_names = [f.split('/')[-1] for f in weights_files] + weights_paths = [f.split('/')[:-1] for f in weights_files] s = [i.split('_')[0:7] for i in file_names] ids = ['_'.join(i) for i in s] md5 = [] @@ -143,7 +144,7 @@ def write_lookuptable( md5.append(hashlib.md5(f.read()).hexdigest()) pd.DataFrame( - list(zip(ids, [repo_path for i in weights_files], md5)), + list(zip(ids, weights_paths, md5)), columns=['model_id', 'model_path', 'md5'] ).sort_values('model_id').to_csv(repo_path + 'model_lookuptable.csv') else: From 78b1243e0a62e430f9cd7ff7a13c245a1a85b3e2 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 10 Nov 2020 18:41:28 +0100 Subject: [PATCH 08/61] fix os.path.join usage in dataloaders --- docs/data.rst | 2 +- .../adipose/human_adipose_2020_microwell_han_001.py | 2 +- .../human_adrenalgland_2020_microwell_han_001.py | 2 +- .../human_adrenalgland_2020_microwell_han_002.py | 2 +- .../human_adrenalgland_2020_microwell_han_003.py | 2 +- .../human_adrenalgland_2020_microwell_han_004.py | 2 +- .../human_adrenalgland_2020_microwell_han_005.py | 2 +- .../human_adrenalgland_2020_microwell_han_006.py | 2 +- .../artery/human_artery_2020_microwell_han_001.py | 2 +- .../bladder/human_bladder_2020_microwell_han_001.py | 2 +- .../bladder/human_bladder_2020_microwell_han_002.py | 2 +- .../bladder/human_bladder_2020_microwell_han_003.py | 2 +- .../data/human/blood/human_blood_2018_10x_ica_001.py | 4 ++-- .../blood/human_blood_2019_10x_10xGenomics_001.py | 2 +- .../human/blood/human_blood_2020_microwell_han_001.py | 2 +- .../human/blood/human_blood_2020_microwell_han_002.py | 2 +- .../human/blood/human_blood_2020_microwell_han_003.py | 2 +- .../human/blood/human_blood_2020_microwell_han_004.py | 2 +- .../human/blood/human_blood_2020_microwell_han_005.py | 2 +- .../human/blood/human_blood_2020_microwell_han_006.py | 2 +- .../human/blood/human_blood_2020_microwell_han_007.py | 2 +- sfaira/data/human/bone/human_bone_2018_10x_ica_001.py | 4 ++-- .../human/bone/human_bone_2020_microwell_han_001.py | 2 +- .../human/bone/human_bone_2020_microwell_han_002.py | 2 +- .../human/brain/human_brain_2017_DroNcSeq_habib_001.py | 2 +- .../human/brain/human_brain_2020_microwell_han_001.py | 2 +- .../human/brain/human_brain_2020_microwell_han_002.py | 2 +- .../human/brain/human_brain_2020_microwell_han_003.py | 2 +- .../human/brain/human_brain_2020_microwell_han_004.py | 2 +- .../human/brain/human_brain_2020_microwell_han_005.py | 2 +- .../human/brain/human_brain_2020_microwell_han_006.py | 2 +- .../calvaria/human_calvaria_2020_microwell_han_001.py | 2 +- .../cervix/human_cervix_2020_microwell_han_001.py | 2 +- .../human_chorionicvillus_2020_microwell_han_001.py | 2 +- .../human/colon/human_colon_2019_10x_kinchen_001.py | 8 ++++---- .../human/colon/human_colon_2019_10x_smilie_001.py | 2 +- .../data/human/colon/human_colon_2019_10x_wang_001.py | 2 +- .../data/human/colon/human_colon_2020_10x_james_001.py | 2 +- .../human/colon/human_colon_2020_microwell_han_001.py | 2 +- .../human/colon/human_colon_2020_microwell_han_002.py | 2 +- .../human/colon/human_colon_2020_microwell_han_003.py | 2 +- .../human/colon/human_colon_2020_microwell_han_004.py | 2 +- .../duodenum/human_duodenum_2020_microwell_han_001.py | 2 +- .../human_epityphlon_2020_microwell_han_001.py | 2 +- .../human_esophagus_2019_10x_madissoon_001.py | 2 +- .../human_esophagus_2020_microwell_han_001.py | 2 +- .../human_esophagus_2020_microwell_han_002.py | 2 +- .../data/human/eye/human_eye_2019_10x_lukowski_001.py | 2 +- sfaira/data/human/eye/human_eye_2019_10x_menon_001.py | 2 +- sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py | 2 +- .../data/human/eye/human_eye_2020_microwell_han_001.py | 2 +- .../human_fallopiantube_2020_microwell_han_001.py | 2 +- .../human_femalegonad_2020_microwell_han_001.py | 2 +- .../human_femalegonad_2020_microwell_han_002.py | 2 +- .../human_gallbladder_2020_microwell_han_001.py | 2 +- .../human/heart/human_heart_2020_microwell_han_001.py | 2 +- .../human/heart/human_heart_2020_microwell_han_002.py | 2 +- .../human/heart/human_heart_2020_microwell_han_003.py | 2 +- .../human/heart/human_heart_2020_microwell_han_004.py | 2 +- .../human/hesc/human_hesc_2020_microwell_han_001.py | 2 +- .../human/ileum/human_ileum_2019_10x_martin_001.py | 2 +- .../data/human/ileum/human_ileum_2019_10x_wang_001.py | 2 +- .../human/ileum/human_ileum_2020_microwell_han_001.py | 2 +- .../jejunum/human_jejunum_2020_microwell_han_001.py | 2 +- .../human/kidney/human_kidney_2019_10xSn_lake_001.py | 4 ++-- .../human/kidney/human_kidney_2019_10x_stewart_001.py | 4 ++-- .../human/kidney/human_kidney_2020_10x_liao_001.py | 4 ++-- .../kidney/human_kidney_2020_microwell_han_001.py | 2 +- .../kidney/human_kidney_2020_microwell_han_002.py | 2 +- .../kidney/human_kidney_2020_microwell_han_003.py | 2 +- .../kidney/human_kidney_2020_microwell_han_004.py | 2 +- .../kidney/human_kidney_2020_microwell_han_005.py | 2 +- .../kidney/human_kidney_2020_microwell_han_006.py | 2 +- .../kidney/human_kidney_2020_microwell_han_007.py | 2 +- .../human/liver/human_liver_2018_10x_macparland_001.py | 4 ++-- .../human/liver/human_liver_2019_10x_popescu_001.py | 2 +- .../liver/human_liver_2019_10x_ramachandran_001.py | 2 +- .../liver/human_liver_2019_mCELSeq2_aizarani_001.py | 4 ++-- .../human/liver/human_liver_2020_microwell_han_001.py | 2 +- .../human/liver/human_liver_2020_microwell_han_002.py | 2 +- .../human/liver/human_liver_2020_microwell_han_003.py | 2 +- .../human/liver/human_liver_2020_microwell_han_004.py | 2 +- .../human/liver/human_liver_2020_microwell_han_005.py | 2 +- .../data/human/lung/human_lung_2019_10x_braga_001.py | 2 +- .../data/human/lung/human_lung_2019_10x_braga_002.py | 2 +- .../human/lung/human_lung_2019_10x_madissoon_001.py | 2 +- .../human/lung/human_lung_2019_dropseq_braga_003.py | 4 ++-- .../human/lung/human_lung_2020_10x_habermann_001.py | 10 +++++----- .../human/lung/human_lung_2020_10x_lukassen_001.py | 2 +- .../human/lung/human_lung_2020_10x_lukassen_002.py | 2 +- .../data/human/lung/human_lung_2020_10x_miller_001.py | 2 +- .../human/lung/human_lung_2020_10x_travaglini_001.py | 2 +- .../human/lung/human_lung_2020_microwell_han_001.py | 2 +- .../human/lung/human_lung_2020_microwell_han_002.py | 2 +- .../human/lung/human_lung_2020_microwell_han_003.py | 2 +- .../human/lung/human_lung_2020_microwell_han_004.py | 2 +- .../human/lung/human_lung_2020_microwell_han_005.py | 2 +- .../lung/human_lung_2020_smartseq2_travaglini_002.py | 2 +- .../malegonad/human_malegonad_2018_10x_guo_001.py | 2 +- .../human_malegonad_2020_microwell_han_001.py | 2 +- .../human_malegonad_2020_microwell_han_002.py | 2 +- .../data/human/mixed/human_mixed_2019_10x_szabo_001.py | 8 ++++---- .../muscle/human_muscle_2020_microwell_han_001.py | 2 +- .../muscle/human_muscle_2020_microwell_han_002.py | 2 +- .../omentum/human_omentum_2020_microwell_han_001.py | 2 +- .../omentum/human_omentum_2020_microwell_han_002.py | 2 +- .../omentum/human_omentum_2020_microwell_han_003.py | 2 +- .../pancreas/human_pancreas_2016_indrop_baron_001.py | 2 +- .../human_pancreas_2016_smartseq2_segerstolpe_001.py | 4 ++-- .../pancreas/human_pancreas_2017_smartseq2_enge_001.py | 6 +++--- .../pancreas/human_pancreas_2020_microwell_han_001.py | 2 +- .../pancreas/human_pancreas_2020_microwell_han_002.py | 2 +- .../pancreas/human_pancreas_2020_microwell_han_003.py | 2 +- .../pancreas/human_pancreas_2020_microwell_han_004.py | 2 +- .../placenta/human_placenta_2018_10x_ventotormo_001.py | 4 ++-- .../human_placenta_2018_smartseq2_ventotormo_001.py | 4 ++-- .../placenta/human_placenta_2020_microwell_han_001.py | 2 +- .../pleura/human_pleura_2020_microwell_han_001.py | 2 +- .../prostate/human_prostate_2018_10x_henry_001.py | 2 +- .../prostate/human_prostate_2020_microwell_han_001.py | 2 +- .../human/rectum/human_rectum_2019_10x_wang_001.py | 2 +- .../rectum/human_rectum_2020_microwell_han_001.py | 2 +- .../data/human/rib/human_rib_2020_microwell_han_001.py | 2 +- .../data/human/rib/human_rib_2020_microwell_han_002.py | 2 +- .../human/skin/human_skin_2020_microwell_han_001.py | 2 +- .../human/skin/human_skin_2020_microwell_han_002.py | 2 +- .../human_spinalcord_2020_microwell_han_001.py | 2 +- .../spleen/human_spleen_2019_10x_madissoon_001.py | 2 +- .../spleen/human_spleen_2020_microwell_han_001.py | 2 +- .../spleen/human_spleen_2020_microwell_han_002.py | 2 +- .../stomach/human_stomach_2020_microwell_han_001.py | 2 +- .../stomach/human_stomach_2020_microwell_han_002.py | 2 +- .../stomach/human_stomach_2020_microwell_han_003.py | 2 +- .../stomach/human_stomach_2020_microwell_han_004.py | 2 +- .../stomach/human_stomach_2020_microwell_han_005.py | 2 +- .../stomach/human_stomach_2020_microwell_han_006.py | 2 +- .../stomach/human_stomach_2020_microwell_han_007.py | 2 +- .../stomach/human_stomach_2020_microwell_han_008.py | 2 +- .../stomach/human_stomach_2020_microwell_han_009.py | 2 +- .../stomach/human_stomach_2020_microwell_han_010.py | 2 +- .../human/thymus/human_thymus_2020_10x_park_001.py | 2 +- .../thymus/human_thymus_2020_microwell_han_001.py | 2 +- .../thymus/human_thymus_2020_microwell_han_002.py | 2 +- .../thyroid/human_thyroid_2020_microwell_han_001.py | 2 +- .../thyroid/human_thyroid_2020_microwell_han_002.py | 2 +- .../trachea/human_trachea_2020_microwell_han_001.py | 2 +- .../ureter/human_ureter_2020_microwell_han_001.py | 2 +- .../uterus/human_uterus_2020_microwell_han_001.py | 2 +- .../bladder/mouse_bladder_2018_microwell_han_001.py | 4 ++-- .../mouse/bladder/mouse_bladder_2019_10x_pisco_001.py | 4 ++-- .../bladder/mouse_bladder_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/brain/mouse_brain_2018_microwell_han_001.py | 4 ++-- .../mouse/brain/mouse_brain_2018_microwell_han_002.py | 4 ++-- .../brain/mouse_brain_2019_mouse_brain_atlas_temp.py | 8 ++++---- .../brain/mouse_brain_2019_smartseq2_pisco_001.py | 4 ++-- .../brain/mouse_brain_2019_smartseq2_pisco_002.py | 4 ++-- .../mouse_diaphragm_2019_smartseq2_pisco_001.py | 4 ++-- sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py | 4 ++-- .../mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py | 4 ++-- .../mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py | 4 ++-- .../mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py | 4 ++-- .../data/mouse/heart/mouse_heart_2019_10x_pisco_001.py | 4 ++-- .../heart/mouse_heart_2019_smartseq2_pisco_001.py | 4 ++-- .../heart/mouse_heart_2019_smartseq2_pisco_002.py | 2 +- .../kidney/mouse_kidney_2018_microwell_han_001.py | 4 ++-- .../kidney/mouse_kidney_2018_microwell_han_002.py | 4 ++-- .../mouse/kidney/mouse_kidney_2019_10x_pisco_001.py | 4 ++-- .../kidney/mouse_kidney_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse_large_intestine_2019_10x_pisco_001.py | 6 +++--- .../mouse_large_intestine_2019_smartseq2_pisco_001.py | 6 +++--- .../mouse_limb_muscle_2018_microwell_han_001.py | 4 ++-- .../mouse_limb_muscle_2019_10x_pisco_001.py | 4 ++-- .../mouse_limb_muscle_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/liver/mouse_liver_2018_microwell_han_001.py | 4 ++-- .../mouse/liver/mouse_liver_2018_microwell_han_002.py | 4 ++-- .../data/mouse/liver/mouse_liver_2019_10x_pisco_001.py | 4 ++-- .../liver/mouse_liver_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/lung/mouse_lung_2018_microwell_han_001.py | 4 ++-- .../mouse/lung/mouse_lung_2018_microwell_han_002.py | 4 ++-- .../mouse/lung/mouse_lung_2018_microwell_han_003.py | 4 ++-- .../data/mouse/lung/mouse_lung_2019_10x_pisco_001.py | 4 ++-- .../mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse_mammary_gland_2018_microwell_han_001.py | 4 ++-- .../mouse_mammary_gland_2018_microwell_han_002.py | 4 ++-- .../mouse_mammary_gland_2018_microwell_han_003.py | 4 ++-- .../mouse_mammary_gland_2018_microwell_han_004.py | 4 ++-- .../mouse_mammary_gland_2019_10x_pisco_001.py | 4 ++-- .../mouse_mammary_gland_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/marrow/mouse_marrow_2018_microwell_001.py | 4 ++-- .../mouse/marrow/mouse_marrow_2019_10x_pisco_001.py | 4 ++-- .../marrow/mouse_marrow_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/ovary/mouse_ovary_2018_microwell_han_001.py | 4 ++-- .../mouse/ovary/mouse_ovary_2018_microwell_han_002.py | 4 ++-- .../pancreas/mouse_pancreas_2018_microwell_han_001.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_pisco_001.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_001.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_002.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_003.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_004.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_005.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_006.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_007.py | 4 ++-- .../pancreas/mouse_pancreas_2019_10x_thompson_008.py | 4 ++-- .../mouse_pancreas_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse_peripheral_blood_2018_microwell_han_001.py | 4 ++-- .../mouse_peripheral_blood_2018_microwell_han_002.py | 4 ++-- .../mouse_peripheral_blood_2018_microwell_han_003.py | 4 ++-- .../mouse_peripheral_blood_2018_microwell_han_004.py | 4 ++-- .../mouse_peripheral_blood_2018_microwell_han_005.py | 4 ++-- .../placenta/mouse_placenta_2018_microwell_han_001.py | 4 ++-- .../placenta/mouse_placenta_2018_microwell_han_002.py | 4 ++-- .../prostate/mouse_prostate_2018_microwell_han_001.py | 4 ++-- .../prostate/mouse_prostate_2018_microwell_han_002.py | 4 ++-- .../data/mouse/rib/mouse_rib_2018_microwell_han_001.py | 4 ++-- .../data/mouse/rib/mouse_rib_2018_microwell_han_002.py | 4 ++-- .../data/mouse/rib/mouse_rib_2018_microwell_han_003.py | 4 ++-- .../data/mouse/skin/mouse_skin_2019_10x_pisco_001.py | 4 ++-- .../mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py | 6 +++--- .../mouse_small_intestine_2018_microwell_han_001.py | 4 ++-- .../mouse_small_intestine_2018_microwell_han_002.py | 4 ++-- .../mouse_small_intestine_2018_microwell_han_003.py | 4 ++-- .../spleen/mouse_spleen_2018_microwell_han_001.py | 4 ++-- .../mouse/spleen/mouse_spleen_2019_10x_pisco_001.py | 4 ++-- .../spleen/mouse_spleen_2019_smartseq2_pisco_001.py | 4 ++-- .../stomach/mouse_stomach_2018_microwell_han_001.py | 4 ++-- .../testis/mouse_testis_2018_microwell_han_001.py | 4 ++-- .../testis/mouse_testis_2018_microwell_han_002.py | 4 ++-- .../thymus/mouse_thymus_2018_microwell_han_001.py | 4 ++-- .../mouse/thymus/mouse_thymus_2019_10x_pisco_001.py | 4 ++-- .../thymus/mouse_thymus_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/tongue/mouse_tongue_2019_10x_pisco_001.py | 4 ++-- .../tongue/mouse_tongue_2019_smartseq2_pisco_001.py | 4 ++-- .../mouse/trachae/mouse_trachea_2019_10x_pisco_001.py | 6 +++--- .../trachae/mouse_trachea_2019_smartseq2_pisco_001.py | 4 ++-- .../uterus/mouse_uterus_2018_microwell_han_001.py | 4 ++-- .../uterus/mouse_uterus_2018_microwell_han_002.py | 4 ++-- 237 files changed, 354 insertions(+), 354 deletions(-) diff --git a/docs/data.rst b/docs/data.rst index 1cefc1745..b1f5a820c 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -74,7 +74,7 @@ before it is loaded into memory: if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "human/eye/my_data.h5ad") defined file in streamlined directory structure + fn = os.path.join(self.path, "human", "eye", "my_data.h5ad") defined file in streamlined directory structure self.adata = anndata.read(fn) # loading instruction into .adata, use other ones if the data is not h5ad self.adata.uns["lab"] = x # load the adata.uns with meta data diff --git a/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py b/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py index a0e19c524..95b8c86bd 100644 --- a/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py +++ b/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/adipose/hcl_AdultAdipose_1.h5ad") + fn = os.path.join(self.path, "human", "adipose", "hcl_AdultAdipose_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py index 094a44de0..cf03cffc8 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/adrenalgland/hcl_NeonatalAdrenalGland_1.h5ad") + fn = os.path.join(self.path, "human", "adrenalgland", "hcl_NeonatalAdrenalGland_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py index 600746da2..4b0a06984 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/adrenalgland/hcl_FetalAdrenalGland_2.h5ad") + fn = os.path.join(self.path, "human", "adrenalgland", "hcl_FetalAdrenalGland_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py index 1583829f8..6b84d86ec 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/adrenalgland/hcl_FetalAdrenalGland_3.h5ad") + fn = os.path.join(self.path, "human", "adrenalgland", "hcl_FetalAdrenalGland_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py index 7b794fbd2..fbad71450 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/adrenalgland/hcl_AdultAdrenalGland_3.h5ad") + fn = os.path.join(self.path, "human", "adrenalgland", "hcl_AdultAdrenalGland_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py index 2b56ea90e..e773b7fa4 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/adrenalgland/hcl_FetalAdrenalGland_4.h5ad") + fn = os.path.join(self.path, "human", "adrenalgland", "hcl_FetalAdrenalGland_4.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py index 439ac8d67..9eb6e68e3 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/adrenalgland/hcl_AdultAdrenalGland_2.h5ad") + fn = os.path.join(self.path, "human", "adrenalgland", "hcl_AdultAdrenalGland_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py b/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py index 754d504a9..fb4d4a536 100644 --- a/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py +++ b/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/artery/hcl_AdultArtery_1.h5ad") + fn = os.path.join(self.path, "human", "artery", "hcl_AdultArtery_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py index 48ff8872e..a2086a738 100644 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py +++ b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/bladder/hcl_AdultBladder_1.h5ad") + fn = os.path.join(self.path, "human", "bladder", "hcl_AdultBladder_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py index e0a68f985..ea32e48c4 100644 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py +++ b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/bladder/hcl_AdultBladder_2.h5ad") + fn = os.path.join(self.path, "human", "bladder", "hcl_AdultBladder_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py index afbf3049b..2005dbd87 100644 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py +++ b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/bladder/hcl_AdultGallbladder_2.h5ad") + fn = os.path.join(self.path, "human", "bladder", "hcl_AdultGallbladder_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py b/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py index ef4e3a3d3..c8d481b2f 100644 --- a/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py +++ b/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py @@ -50,7 +50,7 @@ def _load(self, fn=None): if self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom") + fn = os.path.join(self.path, "human", "blood", "cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom") self.adata = anndata.read_loom(fn) idx = np.logical_and((self.adata.obs['derived_organ_parts_label'] == 'umbilical cord blood').values, (self.adata.obs['emptydrops_is_cell'] == 't').values) @@ -58,7 +58,7 @@ def _load(self, fn=None): else: if fn is None: - fn = os.path.join(self.path, "human/blood/ica_blood.h5ad") + fn = os.path.join(self.path, "human", "blood", "ica_blood.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Regev' diff --git a/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py b/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py index 30e6a101f..558a9728d 100644 --- a/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py +++ b/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py @@ -42,7 +42,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/pbmc_10k_v3_filtered_feature_bc_matrix.h5ad") + fn = os.path.join(self.path, "human", "blood", "pbmc_10k_v3_filtered_feature_bc_matrix.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = '10x Genomics' diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py index 0aa599f3a..6ff9fafa4 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/hcl_AdultPeripheralBlood_3.h5ad") + fn = os.path.join(self.path, "human", "blood", "hcl_AdultPeripheralBlood_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py index a9066f16f..486a27cc8 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/hcl_PeripheralBlood_1.h5ad") + fn = os.path.join(self.path, "human", "blood", "hcl_PeripheralBlood_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py index ddd7ff8eb..1fb437c06 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/hcl_CordBlood_2.h5ad") + fn = os.path.join(self.path, "human", "blood", "hcl_CordBlood_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py index 08ed4bc3e..3bf16d316 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/hcl_AdultPeripheralBlood_4.h5ad") + fn = os.path.join(self.path, "human", "blood", "hcl_AdultPeripheralBlood_4.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py index b08a77faf..94c092a45 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/hcl_CordBloodCD34P_1.h5ad") + fn = os.path.join(self.path, "human", "blood", "hcl_CordBloodCD34P_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py index e33fc2e47..3b1b705a8 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/hcl_CordBloodCD34P_2.h5ad") + fn = os.path.join(self.path, "human", "blood", "hcl_CordBloodCD34P_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py index 2c07335e1..7a83a010c 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/blood/hcl_CordBlood_1.h5ad") + fn = os.path.join(self.path, "human", "blood", "hcl_CordBlood_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py b/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py index 5b8e68eec..c88c4028c 100644 --- a/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py +++ b/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py @@ -50,7 +50,7 @@ def _load(self, fn=None): if self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/bone/cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom") + fn = os.path.join(self.path, "human", "bone", "cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom") self.adata = anndata.read_loom(fn) idx = np.logical_and((self.adata.obs['derived_organ_parts_label'] == 'bone marrow').values, (self.adata.obs['emptydrops_is_cell'] == 't').values) @@ -58,7 +58,7 @@ def _load(self, fn=None): else: if fn is None: - fn = os.path.join(self.path, "human/bone/ica_bone.h5ad") + fn = os.path.join(self.path, "human", "bone", "ica_bone.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Regev' diff --git a/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py b/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py index d05f88665..1783f1622 100644 --- a/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py +++ b/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/bone/hcl_BoneMarrow_1.h5ad") + fn = os.path.join(self.path, "human", "bone", "hcl_BoneMarrow_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py b/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py index 93fcedda2..1e9fe4339 100644 --- a/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py +++ b/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/bone/hcl_BoneMarrow_2.h5ad") + fn = os.path.join(self.path, "human", "bone", "hcl_BoneMarrow_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py b/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py index e4db82a37..d4865ebcb 100644 --- a/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py +++ b/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py @@ -56,7 +56,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/brain/habib17.processed.h5ad") + fn = os.path.join(self.path, "human", "brain", "habib17.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py index f4462bee1..2bea42a10 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py @@ -72,7 +72,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/brain/hcl_FetalBrain_4.h5ad") + fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_4.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py index ec6ab470b..4364aa8d5 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py @@ -72,7 +72,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/brain/hcl_FetalBrain_5.h5ad") + fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_5.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py index 7a7c42f66..03b611119 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py @@ -72,7 +72,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/brain/hcl_FetalBrain_3.h5ad") + fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py index bb3edc3ac..e128723ca 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py @@ -72,7 +72,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/brain/hcl_AdultTemporalLobe_1.h5ad") + fn = os.path.join(self.path, "human", "brain", "hcl_AdultTemporalLobe_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py index a43f47937..a69281db2 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py @@ -72,7 +72,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/brain/hcl_FetalBrain_6.h5ad") + fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_6.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py index 74859be68..a922249c3 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py @@ -72,7 +72,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/brain/hcl_AdultCerebellum_1.h5ad") + fn = os.path.join(self.path, "human", "brain", "hcl_AdultCerebellum_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py b/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py index 00900b80e..ee3ea3a8b 100644 --- a/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py +++ b/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/calvaria/hcl_FetalCalvaria_1.h5ad") + fn = os.path.join(self.path, "human", "calvaria", "hcl_FetalCalvaria_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py b/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py index 88e2a25d5..f940441a9 100644 --- a/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py +++ b/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/cervix/hcl_AdultCervix_1.h5ad") + fn = os.path.join(self.path, "human", "cervix", "hcl_AdultCervix_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py b/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py index 9c5065766..199131619 100644 --- a/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py +++ b/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/chorionicvillus/hcl_ChorionicVillus_1.h5ad") + fn = os.path.join(self.path, "human", "chorionicvillus", "hcl_ChorionicVillus_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py b/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py index dc0608fd5..7dc3c9caf 100644 --- a/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py +++ b/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py @@ -93,9 +93,9 @@ def _load(self, fn=None): if self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/colon/f8aa201c-4ff1-45a4-890e-840d63459ca2.homo_sapiens.loom"), - os.path.join(self.path, "human/colon/uc_meta_data_stromal_with_donor.txt"), - os.path.join(self.path, "human/colon/hc_meta_data_stromal_with_donor.txt") + os.path.join(self.path, "human", "colon", "f8aa201c-4ff1-45a4-890e-840d63459ca2.homo_sapiens.loom"), + os.path.join(self.path, "human", "colon", "uc_meta_data_stromal_with_donor.txt"), + os.path.join(self.path, "human", "colon", "hc_meta_data_stromal_with_donor.txt") ] adata = anndata.read_loom(fn[0]) ctuc = pd.read_csv(fn[1], sep='\t') @@ -124,7 +124,7 @@ def _load(self, fn=None): else: if fn is None: - fn = os.path.join(self.path, "human/colon/kinchenetal.h5ad") + fn = os.path.join(self.path, "human", "colon", "kinchenetal.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Simmons' diff --git a/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py b/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py index 3606b7ec5..1f8456f29 100644 --- a/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py +++ b/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py @@ -80,7 +80,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/colon/smillie19_epi.processed.h5ad") + fn = os.path.join(self.path, "human", "colon", "smillie19_epi.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py b/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py index 92c8528cd..1c473817e 100644 --- a/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py +++ b/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py @@ -48,7 +48,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/colon/wang20_colon.processed.h5ad") + fn = os.path.join(self.path, "human", "colon", "wang20_colon.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/colon/human_colon_2020_10x_james_001.py b/sfaira/data/human/colon/human_colon_2020_10x_james_001.py index a7f8152a3..8a6f82c08 100644 --- a/sfaira/data/human/colon/human_colon_2020_10x_james_001.py +++ b/sfaira/data/human/colon/human_colon_2020_10x_james_001.py @@ -67,7 +67,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/colon/james20.processed.h5ad") + fn = os.path.join(self.path, "human", "colon", "james20.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py index 698fff04a..cfb604d63 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py @@ -68,7 +68,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/colon/hcl_AdultAscendingColon_1.h5ad") + fn = os.path.join(self.path, "human", "colon", "hcl_AdultAscendingColon_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py index bf71d5056..fccde3fed 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py @@ -68,7 +68,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/colon/hcl_AdultColon_1.h5ad") + fn = os.path.join(self.path, "human", "colon", "hcl_AdultColon_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py index 36a8f821c..8549a9219 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py @@ -68,7 +68,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/colon/hcl_AdultColon_1.h5ad") + fn = os.path.join(self.path, "human", "colon", "hcl_AdultColon_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py index 2a71bfb62..81860144d 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py @@ -68,7 +68,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/colon/hcl_AdultColon_1.h5ad") + fn = os.path.join(self.path, "human", "colon", "hcl_AdultColon_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py b/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py index d2e14855a..8d482002b 100644 --- a/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py +++ b/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/duodenum/hcl_AdultDuodenum_1.h5ad") + fn = os.path.join(self.path, "human", "duodenum", "hcl_AdultDuodenum_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py b/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py index e33f5fed1..2df8678de 100644 --- a/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py +++ b/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/epityphlon/hcl_AdultEpityphlon_1.h5ad") + fn = os.path.join(self.path, "human", "epityphlon", "hcl_AdultEpityphlon_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py b/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py index 84d5d42ca..636f59e23 100644 --- a/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py +++ b/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py @@ -59,7 +59,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/esophagus/oesophagus.cellxgene.h5ad") + fn = os.path.join(self.path, "human", "esophagus", "oesophagus.cellxgene.h5ad") self.adata = anndata.read(fn) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ .multiply(1/10000) diff --git a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py index b117fd396..946fa1097 100644 --- a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py +++ b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py @@ -65,7 +65,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/esophagus/hcl_AdultEsophagus_1.h5ad") + fn = os.path.join(self.path, "human", "esophagus", "hcl_AdultEsophagus_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py index 87fc666ec..3ad217f3c 100644 --- a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py +++ b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py @@ -65,7 +65,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/esophagus/hcl_AdultEsophagus_2.h5ad") + fn = os.path.join(self.path, "human", "esophagus", "hcl_AdultEsophagus_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py b/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py index 7361ffc6d..cdbf1a2d9 100644 --- a/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py +++ b/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py @@ -55,7 +55,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/eye/lukowski19.processed.h5ad") + fn = os.path.join(self.path, "human", "eye", "lukowski19.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py b/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py index bf8c624a4..ce77fd602 100644 --- a/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py +++ b/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py @@ -48,7 +48,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/eye/menon19.processed.h5ad") + fn = os.path.join(self.path, "human", "eye", "menon19.processed.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Hafler' diff --git a/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py b/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py index 977603919..6b8ab2413 100644 --- a/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py +++ b/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py @@ -51,7 +51,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/eye/voigt19.processed.h5ad") + fn = os.path.join(self.path, "human", "eye", "voigt19.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) diff --git a/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py b/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py index f03e981c8..132759289 100644 --- a/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py +++ b/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py @@ -64,7 +64,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/eye/hcl_FetalEyes_1.h5ad") + fn = os.path.join(self.path, "human", "eye", "hcl_FetalEyes_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py b/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py index 856a59805..50a0f8c9b 100644 --- a/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py +++ b/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/fallopiantube/hcl_AdultFallopiantube_1.h5ad") + fn = os.path.join(self.path, "human", "fallopiantube", "hcl_AdultFallopiantube_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py index 518941a26..d0d74d3ad 100644 --- a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py +++ b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/femalegonad/hcl_FetalFemaleGonad_2.h5ad") + fn = os.path.join(self.path, "human", "femalegonad", "hcl_FetalFemaleGonad_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py index 3643e5a9c..783c743e5 100644 --- a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py +++ b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/femalegonad/hcl_FetalFemaleGonad_1.h5ad") + fn = os.path.join(self.path, "human", "femalegonad", "hcl_FetalFemaleGonad_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py b/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py index ca768c108..91f22a5fa 100644 --- a/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py +++ b/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/gallbladder/hcl_AdultGallbladder_1.h5ad") + fn = os.path.join(self.path, "human", "gallbladder", "hcl_AdultGallbladder_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py index 662c91f72..48a462051 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/heart/hcl_FetalHeart_2.h5ad") + fn = os.path.join(self.path, "human", "heart", "hcl_FetalHeart_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py index 4ba0b416c..910593638 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/heart/hcl_AdultHeart_2.h5ad") + fn = os.path.join(self.path, "human", "heart", "hcl_AdultHeart_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py index b22792c45..f7a0fe549 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/heart/hcl_AdultHeart_1.h5ad") + fn = os.path.join(self.path, "human", "heart", "hcl_AdultHeart_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py index 130392ed9..9a5d5b76b 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/heart/hcl_FetalHeart_1.h5ad") + fn = os.path.join(self.path, "human", "heart", "hcl_FetalHeart_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py b/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py index ead563c93..9e3dc8a7a 100644 --- a/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py +++ b/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/hesc/hcl_HESC_1.h5ad") + fn = os.path.join(self.path, "human", "hesc", "hcl_HESC_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py b/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py index 2ec29b13b..a91b69466 100644 --- a/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py +++ b/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py @@ -61,7 +61,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/ileum/martin19.processed.h5ad") + fn = os.path.join(self.path, "human", "ileum", "martin19.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py b/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py index 95d1a1c2a..4526d6e59 100644 --- a/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py +++ b/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py @@ -48,7 +48,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/ileum/wang20_ileum.processed.h5ad") + fn = os.path.join(self.path, "human", "ileum", "wang20_ileum.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py b/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py index 187f29aad..07e045bc3 100644 --- a/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py +++ b/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py @@ -67,7 +67,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/ileum/hcl_AdultIleum_2.h5ad") + fn = os.path.join(self.path, "human", "ileum", "hcl_AdultIleum_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py b/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py index f91f4cb54..6d95a1912 100644 --- a/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py +++ b/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/jejunum/hcl_AdultJejunum_2.h5ad") + fn = os.path.join(self.path, "human", "jejunum", "hcl_AdultJejunum_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/kidney/human_kidney_2019_10xSn_lake_001.py b/sfaira/data/human/kidney/human_kidney_2019_10xSn_lake_001.py index 8bc1ea72d..2066abbf6 100644 --- a/sfaira/data/human/kidney/human_kidney_2019_10xSn_lake_001.py +++ b/sfaira/data/human/kidney/human_kidney_2019_10xSn_lake_001.py @@ -69,8 +69,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/kidney/GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotated_Raw_UMI_Matrix.tsv.gz"), - os.path.join(self.path, 'human/kidney/GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotations.csv.gz') + os.path.join(self.path, "human", "kidney", "GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotated_Raw_UMI_Matrix.tsv.gz"), + os.path.join(self.path, "human", "kidney", "GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotations.csv.gz") ] self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t').T) annot = pd.read_csv(fn[1], index_col=0, dtype='category') diff --git a/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py b/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py index b0b6a4ec0..e6970965f 100644 --- a/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py +++ b/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py @@ -114,8 +114,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/kidney/Mature_Full_v2.1.h5ad"), - os.path.join(self.path, 'human/kidney/Fetal_full.h5ad') + os.path.join(self.path, "human", "kidney", "Mature_Full_v2.1.h5ad"), + os.path.join(self.path, "human", "kidney", "Fetal_full.h5ad") ] adult = anndata.read(fn[0]) fetal = anndata.read(fn[1]) diff --git a/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py b/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py index 8c2c79afe..cfacf9dd5 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py +++ b/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/GSE131685_RAW.tar") + fn = os.path.join(self.path, "human", "kidney", "GSE131685_RAW.tar") adatas = [] with tarfile.open(fn) as tar: for member in tar.getmembers(): @@ -92,7 +92,7 @@ def _load(self, fn=None): else: if fn is None: - fn = os.path.join(self.path, "human/kidney/GSE131685.h5ad") + fn = os.path.join(self.path, "human", "kidney", "GSE131685.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Mo' diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py index ea7033528..dd4e2b120 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py @@ -90,7 +90,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/hcl_AdultKidney_2.h5ad") + fn = os.path.join(self.path, "human", "kidney", "hcl_AdultKidney_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py index 3fd1638e1..5c92021a2 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py @@ -90,7 +90,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/hcl_AdultKidney_3.h5ad") + fn = os.path.join(self.path, "human", "kidney", "hcl_AdultKidney_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py index 5c41ce28e..817a6b10d 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py @@ -90,7 +90,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/hcl_AdultKidney_4.h5ad") + fn = os.path.join(self.path, "human", "kidney", "hcl_AdultKidney_4.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py index 3d9a04730..cc176e7ea 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py @@ -90,7 +90,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/hcl_FetalKidney_3.h5ad") + fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py index 0fbe4b250..ea0a74fd4 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py @@ -90,7 +90,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/hcl_FetalKidney_4.h5ad") + fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_4.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py index 6ef4147e2..77ef83d73 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py @@ -90,7 +90,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/hcl_FetalKidney_5.h5ad") + fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_5.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py index 498321158..b2b6e0af5 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py @@ -90,7 +90,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/kidney/hcl_FetalKidney_6.h5ad") + fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_6.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py b/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py index 52e8dd7cb..7b641107c 100644 --- a/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py +++ b/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py @@ -62,8 +62,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/liver/GSE115469.csv.gz"), - os.path.join(self.path, 'human/liver/GSE115469_labels.txt') + os.path.join(self.path, "human", "liver", "GSE115469.csv.gz"), + os.path.join(self.path, "human", "liver", "GSE115469_labels.txt") ] self.adata = anndata.read_csv(fn[0]).T celltype_df = pd.read_csv(fn[1], sep='\t').set_index('CellName') diff --git a/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py b/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py index 1b4e83eea..547f73257 100644 --- a/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py +++ b/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py @@ -66,7 +66,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/liver/fetal_liver_alladata_.h5ad") + fn = os.path.join(self.path, "human", "liver", "fetal_liver_alladata_.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Haniffa' diff --git a/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py b/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py index 906badbfb..ddec0af66 100644 --- a/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py +++ b/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py @@ -68,7 +68,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/liver/ramachandran.h5ad") + fn = os.path.join(self.path, "human", "liver", "ramachandran.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Henderson' diff --git a/sfaira/data/human/liver/human_liver_2019_mCELSeq2_aizarani_001.py b/sfaira/data/human/liver/human_liver_2019_mCELSeq2_aizarani_001.py index 5c6316083..18a94f9ab 100644 --- a/sfaira/data/human/liver/human_liver_2019_mCELSeq2_aizarani_001.py +++ b/sfaira/data/human/liver/human_liver_2019_mCELSeq2_aizarani_001.py @@ -81,8 +81,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/liver/GSE124395_Normalhumanlivercellatlasdata.txt.gz"), - os.path.join(self.path, 'human/liver/GSE124395_clusterpartition.txt.gz') + os.path.join(self.path, "human", "liver", "GSE124395_Normalhumanlivercellatlasdata.txt.gz"), + os.path.join(self.path, "human", "liver", "GSE124395_clusterpartition.txt.gz") ] self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t').T) celltype_df = pd.read_csv(fn[1], sep=' ') diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py index 43d2f97f9..2affb5fbc 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/liver/hcl_AdultLiver_1.h5ad") + fn = os.path.join(self.path, "human", "liver", "hcl_AdultLiver_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py index dbf7b742e..c2a938826 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/liver/hcl_AdultLiver_2.h5ad") + fn = os.path.join(self.path, "human", "liver", "hcl_AdultLiver_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py index dcf1884d5..02fa0fdb9 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/liver/hcl_AdultLiver_4.h5ad") + fn = os.path.join(self.path, "human", "liver", "hcl_AdultLiver_4.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py index cf8d491a3..cd91fde13 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/liver/hcl_Liver_1.h5ad") + fn = os.path.join(self.path, "human", "liver", "hcl_Liver_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py index 325c5990a..9284b626c 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/liver/hcl_Liver_2.h5ad") + fn = os.path.join(self.path, "human", "liver", "hcl_Liver_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py b/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py index 788fb0d7e..390501f52 100644 --- a/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py +++ b/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py @@ -59,7 +59,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/vieira19_Alveoli_and_parenchyma_anonymised.processed.h5ad") + fn = os.path.join(self.path, "human", "lung", "vieira19_Alveoli_and_parenchyma_anonymised.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) diff --git a/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py b/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py index 9f51dbc0e..75cc12176 100644 --- a/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py +++ b/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py @@ -59,7 +59,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/vieira19_Bronchi_anonymised.processed.h5ad") + fn = os.path.join(self.path, "human", "lung", "vieira19_Bronchi_anonymised.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) diff --git a/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py b/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py index cf396e708..5b21d47e3 100644 --- a/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py +++ b/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py @@ -64,7 +64,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/madissoon19_lung.processed.h5ad") + fn = os.path.join(self.path, "human", "lung", "madissoon19_lung.processed.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Meyer' diff --git a/sfaira/data/human/lung/human_lung_2019_dropseq_braga_003.py b/sfaira/data/human/lung/human_lung_2019_dropseq_braga_003.py index 809f442a5..145ee1a13 100644 --- a/sfaira/data/human/lung/human_lung_2019_dropseq_braga_003.py +++ b/sfaira/data/human/lung/human_lung_2019_dropseq_braga_003.py @@ -55,8 +55,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/lung/GSE130148_raw_counts.csv.gz"), - os.path.join(self.path, "human/lung/GSE130148_barcodes_cell_types.txt.gz"), + os.path.join(self.path, "human", "lung", "GSE130148_raw_counts.csv.gz"), + os.path.join(self.path, "human", "lung", "GSE130148_barcodes_cell_types.txt.gz"), ] self.adata = anndata.read_csv(fn[0]).T self.adata.obs = pd.read_csv(fn[1], sep='\t', index_col=0) diff --git a/sfaira/data/human/lung/human_lung_2020_10x_habermann_001.py b/sfaira/data/human/lung/human_lung_2020_10x_habermann_001.py index 3a538150d..149a1a092 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_habermann_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_habermann_001.py @@ -90,10 +90,10 @@ def _load(self, fn=None): if self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/lung/GSE135893_matrix.mtx.gz"), - os.path.join(self.path, "human/lung/GSE135893_genes.tsv.gz"), - os.path.join(self.path, "human/lung/GSE135893_barcodes.tsv.gz"), - os.path.join(self.path, "human/lung/GSE135893_IPF_metadata.csv.gz"), + os.path.join(self.path, "human", "lung", "GSE135893_matrix.mtx.gz"), + os.path.join(self.path, "human", "lung", "GSE135893_genes.tsv.gz"), + os.path.join(self.path, "human", "lung", "GSE135893_barcodes.tsv.gz"), + os.path.join(self.path, "human", "lung", "GSE135893_IPF_metadata.csv.gz"), ] self.adata = anndata.read_mtx(fn[0]).T self.adata.var = pd.read_csv(fn[1], index_col=0, header=None, names=['ids']) @@ -103,7 +103,7 @@ def _load(self, fn=None): self.adata.obs = obs else: if fn is None: - fn = os.path.join(self.path, "human/lung/habermann_processed.h5ad") + fn = os.path.join(self.path, "human", "lung", "habermann_processed.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Kropski' diff --git a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py index 93786b516..d1236e30b 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py @@ -50,7 +50,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/lukassen20_lung_orig.processed.h5ad") + fn = os.path.join(self.path, "human", "lung", "lukassen20_lung_orig.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nCount_RNA'].values[:, None]))\ diff --git a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py index bc37b39bb..997a0689c 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py @@ -55,7 +55,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/lukassen20_airway_orig.processed.h5ad") + fn = os.path.join(self.path, "human", "lung", "lukassen20_airway_orig.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nCount_RNA'].values[:, None]))\ diff --git a/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py b/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py index 2b20ac0d7..46e4e32f8 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py @@ -66,7 +66,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/miller20.processed.h5ad") + fn = os.path.join(self.path, "human", "lung", "miller20.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nUMI'].values[:, None]))\ diff --git a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py b/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py index 57a19ffc8..07d5bf06c 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py @@ -106,7 +106,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad") + fn = os.path.join(self.path, "human", "lung", "droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad") self.adata = anndata.read(fn) self.adata.X = scipy.sparse.csc_matrix(self.adata.X) self.adata.X = np.expm1(self.adata.X) diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py index 61b95de1f..df9723f47 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py @@ -91,7 +91,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/hcl_FetalLung_1.h5ad") + fn = os.path.join(self.path, "human", "lung", "hcl_FetalLung_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py index 7d44e00d6..8b0030d02 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py @@ -91,7 +91,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/hcl_AdultLung_3.h5ad") + fn = os.path.join(self.path, "human", "lung", "hcl_AdultLung_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py index 11d4dcd45..e8d7058c6 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py @@ -91,7 +91,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/hcl_AdultLung_2.h5ad") + fn = os.path.join(self.path, "human", "lung", "hcl_AdultLung_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py index 79810cc98..ee1098de7 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py @@ -91,7 +91,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/hcl_AdultLung_1.h5ad") + fn = os.path.join(self.path, "human", "lung", "hcl_AdultLung_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py index 5f69a87a3..03f5523d1 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py @@ -91,7 +91,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/hcl_FetalLung_2.h5ad") + fn = os.path.join(self.path, "human", "lung", "hcl_FetalLung_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py b/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py index ec9e1a422..c7c40fc4f 100644 --- a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py +++ b/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py @@ -93,7 +93,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/lung/facs_normal_lung_blood_scanpy.20200205.RC4.h5ad") + fn = os.path.join(self.path, "human", "lung", "facs_normal_lung_blood_scanpy.20200205.RC4.h5ad") self.adata = anndata.read(fn) self.adata.X = scipy.sparse.csc_matrix(self.adata.X) self.adata.X = np.expm1(self.adata.X) diff --git a/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py b/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py index 3934d0812..84968e7af 100644 --- a/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py +++ b/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py @@ -52,7 +52,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/malegonad/guo18_donor.processed.h5ad") + fn = os.path.join(self.path, "human", "malegonad", "guo18_donor.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py index f1f13bb2a..b691c740f 100644 --- a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py +++ b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/malegonad/hcl_FetalMaleGonad_1.h5ad") + fn = os.path.join(self.path, "human", "malegonad", "hcl_FetalMaleGonad_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py index 5ff1da1cc..91bcc19fa 100644 --- a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py +++ b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py @@ -69,7 +69,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/malegonad/hcl_FetalMaleGonad_2.h5ad") + fn = os.path.join(self.path, "human", "malegonad", "hcl_FetalMaleGonad_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py b/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py index 273ff0df8..c1a9a6e7b 100644 --- a/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py +++ b/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py @@ -97,9 +97,9 @@ def _load(self, fn=None): if self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/mixed/GSE126030_RAW.tar"), - os.path.join(self.path, "human/mixed/donor1.annotation.txt"), - os.path.join(self.path, "human/mixed/donor2.annotation.txt"), + os.path.join(self.path, "human", "mixed", "GSE126030_RAW.tar"), + os.path.join(self.path, "human", "mixed", "donor1.annotation.txt"), + os.path.join(self.path, "human", "mixed", "donor2.annotation.txt"), ] adatas = [] with tarfile.open(fn[0]) as tar: @@ -146,7 +146,7 @@ def _load(self, fn=None): self.adata.X = scipy.sparse.csc_matrix(self.adata.X) else: if fn is None: - fn = os.path.join(self.path, "human/mixed/GSE126030.h5ad") + fn = os.path.join(self.path, "human", "mixed", "GSE126030.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = "Sims" diff --git a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py index 8d924dab4..a6a1084ae 100644 --- a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py +++ b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/muscle/hcl_FetalMuscle_1.h5ad") + fn = os.path.join(self.path, "human", "muscle", "hcl_FetalMuscle_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py index d960599d1..0568036ee 100644 --- a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py +++ b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/muscle/hcl_AdultMuscle_1.h5ad") + fn = os.path.join(self.path, "human", "muscle", "hcl_AdultMuscle_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py index 8e1a29ac2..1154555c2 100644 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py +++ b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/omentum/hcl_AdultOmentum_2.h5ad") + fn = os.path.join(self.path, "human", "omentum", "hcl_AdultOmentum_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py index 2c1ea3cc6..1c8752deb 100644 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py +++ b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/omentum/hcl_AdultOmentum_3.h5ad") + fn = os.path.join(self.path, "human", "omentum", "hcl_AdultOmentum_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py index 49763f028..af77487c9 100644 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py +++ b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/omentum/hcl_AdultOmentum_1.h5ad") + fn = os.path.join(self.path, "human", "omentum", "hcl_AdultOmentum_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py b/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py index 20a355e7a..73df8ca20 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py +++ b/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py @@ -55,7 +55,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/pancreas/baron16.processed.h5ad") + fn = os.path.join(self.path, "human", "pancreas", "baron16.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/pancreas/human_pancreas_2016_smartseq2_segerstolpe_001.py b/sfaira/data/human/pancreas/human_pancreas_2016_smartseq2_segerstolpe_001.py index b8fe46882..f6a3edb1f 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2016_smartseq2_segerstolpe_001.py +++ b/sfaira/data/human/pancreas/human_pancreas_2016_smartseq2_segerstolpe_001.py @@ -56,8 +56,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/pancreas/E-MTAB-5061.processed.1.zip"), - os.path.join(self.path, "human/pancreas/E-MTAB-5061.sdrf.txt") + os.path.join(self.path, "human", "pancreas", "E-MTAB-5061.processed.1.zip"), + os.path.join(self.path, "human", "pancreas", "E-MTAB-5061.sdrf.txt") ] df = pd.read_csv(fn[0], sep='\t') df.index = df.index.get_level_values(0) diff --git a/sfaira/data/human/pancreas/human_pancreas_2017_smartseq2_enge_001.py b/sfaira/data/human/pancreas/human_pancreas_2017_smartseq2_enge_001.py index ffe8d252a..da22b76ae 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2017_smartseq2_enge_001.py +++ b/sfaira/data/human/pancreas/human_pancreas_2017_smartseq2_enge_001.py @@ -92,8 +92,8 @@ def _load(self, fn=None): if self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/pancreas/GSE81547_RAW.tar"), - os.path.join(self.path, "human/pancreas/GSE81547_series_matrix.txt.gz") + os.path.join(self.path, "human", "pancreas", "GSE81547_RAW.tar"), + os.path.join(self.path, "human", "pancreas", "GSE81547_series_matrix.txt.gz") ] dfs = [] with tarfile.open(fn[0]) as tar: @@ -125,7 +125,7 @@ def _load(self, fn=None): else: if fn is None: - fn = os.path.join(self.path, "human/pancreas/GSE81547.h5ad") + fn = os.path.join(self.path, "human", "pancreas", "GSE81547.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = "Quake" diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py index 87e1b7d35..4e643df04 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py @@ -79,7 +79,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/pancreas/hcl_AdultPancreas_1.h5ad") + fn = os.path.join(self.path, "human", "pancreas", "hcl_AdultPancreas_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py index 2fbfae543..3b7918703 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py @@ -79,7 +79,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/pancreas/hcl_FetalPancreas_1.h5ad") + fn = os.path.join(self.path, "human", "pancreas", "hcl_FetalPancreas_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py index 4a853229d..b74afd6a9 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py @@ -79,7 +79,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/pancreas/hcl_FetalPancreas_2.h5ad") + fn = os.path.join(self.path, "human", "pancreas", "hcl_FetalPancreas_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py index 9e56450cc..b94ae93c8 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py @@ -79,7 +79,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/pancreas/hcl_FetalPancreas_3.h5ad") + fn = os.path.join(self.path, "human", "pancreas", "hcl_FetalPancreas_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/placenta/human_placenta_2018_10x_ventotormo_001.py b/sfaira/data/human/placenta/human_placenta_2018_10x_ventotormo_001.py index 0c583030d..4067e9143 100644 --- a/sfaira/data/human/placenta/human_placenta_2018_10x_ventotormo_001.py +++ b/sfaira/data/human/placenta/human_placenta_2018_10x_ventotormo_001.py @@ -74,8 +74,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/placenta/E-MTAB-6701.processed.1.zip"), - os.path.join(self.path, "human/placenta/E-MTAB-6701.processed.2.zip"), + os.path.join(self.path, "human", "placenta", "E-MTAB-6701.processed.1.zip"), + os.path.join(self.path, "human", "placenta", "E-MTAB-6701.processed.2.zip"), ] self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t', index_col='Gene').T) df = pd.read_csv(fn[1], sep='\t') diff --git a/sfaira/data/human/placenta/human_placenta_2018_smartseq2_ventotormo_001.py b/sfaira/data/human/placenta/human_placenta_2018_smartseq2_ventotormo_001.py index 73b575c47..eb55155d9 100644 --- a/sfaira/data/human/placenta/human_placenta_2018_smartseq2_ventotormo_001.py +++ b/sfaira/data/human/placenta/human_placenta_2018_smartseq2_ventotormo_001.py @@ -74,8 +74,8 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: fn = [ - os.path.join(self.path, "human/placenta/E-MTAB-6678.processed.1.zip"), - os.path.join(self.path, "human/placenta/E-MTAB-6678.processed.2.zip"), + os.path.join(self.path, "human", "placenta", "E-MTAB-6678.processed.1.zip"), + os.path.join(self.path, "human", "placenta", "E-MTAB-6678.processed.2.zip"), ] self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t', index_col='Gene').T) df = pd.read_csv(fn[1], sep='\t') diff --git a/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py b/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py index 6f83acd15..87cb29a44 100644 --- a/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py +++ b/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py @@ -72,7 +72,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/placenta/hcl_Placenta_1.h5ad") + fn = os.path.join(self.path, "human", "placenta", "hcl_Placenta_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py b/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py index 77e0d70c2..c3e1b8d16 100644 --- a/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py +++ b/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/pleura/hcl_AdultPleura_1.h5ad") + fn = os.path.join(self.path, "human", "pleura", "hcl_AdultPleura_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py b/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py index 289a4f875..c748187c3 100644 --- a/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py +++ b/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py @@ -49,7 +49,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/prostate/henry18_0.processed.h5ad") + fn = os.path.join(self.path, "human", "prostate", "henry18_0.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py b/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py index 7d12b433e..66cc345d4 100644 --- a/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py +++ b/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py @@ -61,7 +61,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/prostate/hcl_AdultProstate_1.h5ad") + fn = os.path.join(self.path, "human", "prostate", "hcl_AdultProstate_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/rectum/human_rectum_2019_10x_wang_001.py b/sfaira/data/human/rectum/human_rectum_2019_10x_wang_001.py index 9fb9c9840..b43c3c31e 100644 --- a/sfaira/data/human/rectum/human_rectum_2019_10x_wang_001.py +++ b/sfaira/data/human/rectum/human_rectum_2019_10x_wang_001.py @@ -48,7 +48,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/rectum/wang20_rectum.processed.h5ad") + fn = os.path.join(self.path, "human", "rectum", "wang20_rectum.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ diff --git a/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py b/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py index 633d1e4d1..df9b326e6 100644 --- a/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py +++ b/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py @@ -56,7 +56,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/rectum/hcl_AdultRectum_1.h5ad") + fn = os.path.join(self.path, "human", "rectum", "hcl_AdultRectum_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py b/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py index 3a39c234b..d5ba5b561 100644 --- a/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py +++ b/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/rib/hcl_FetalRib_2.h5ad") + fn = os.path.join(self.path, "human", "rib", "hcl_FetalRib_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py b/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py index d7ed31090..ea8661c3b 100644 --- a/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py +++ b/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/rib/hcl_FetalRib_3.h5ad") + fn = os.path.join(self.path, "human", "rib", "hcl_FetalRib_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py b/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py index 735eda4ca..c3ef51f60 100644 --- a/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py +++ b/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py @@ -70,7 +70,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/skin/hcl_FetalSkin_2.h5ad") + fn = os.path.join(self.path, "human", "skin", "hcl_FetalSkin_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py b/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py index 0e023b2a8..7cdf93d42 100644 --- a/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py +++ b/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py @@ -70,7 +70,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/skin/hcl_FetalSkin_3.h5ad") + fn = os.path.join(self.path, "human", "skin", "hcl_FetalSkin_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py b/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py index 7ee1262d1..b543b29dd 100644 --- a/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py +++ b/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/spinalcord/hcl_FetalSpinalCord_1.h5ad") + fn = os.path.join(self.path, "human", "spinalcord", "hcl_FetalSpinalCord_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py b/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py index 5c4063379..e8951e8b1 100644 --- a/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py +++ b/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py @@ -68,7 +68,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/spleen/spleen.cellxgene.h5ad") + fn = os.path.join(self.path, "human", "spleen", "spleen.cellxgene.h5ad") self.adata = anndata.read(fn) self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ .multiply(1/10000) diff --git a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py index 88ee3ee3f..933a8d992 100644 --- a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py +++ b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py @@ -62,7 +62,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/spleen/hcl_AdultSpleenParenchyma_1.h5ad") + fn = os.path.join(self.path, "human", "spleen", "hcl_AdultSpleenParenchyma_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py index 35c6be5f0..7166d60ac 100644 --- a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py +++ b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py @@ -62,7 +62,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/spleen/hcl_AdultSpleen_1.h5ad") + fn = os.path.join(self.path, "human", "spleen", "hcl_AdultSpleen_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py index e1e3831a6..228ca6d51 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_AdultStomach_1.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_AdultStomach_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py index fc83d816e..efbab4cb8 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_FetalStomach_1.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_FetalStomach_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py index 7eb67e803..ce6cb5921 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_FetalIntestine_1.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py index cf2df4df6..a837c7d3d 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_FetalIntetsine_3.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntetsine_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py index 20e4e8cce..b4304c909 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_FetalStomach_2.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_FetalStomach_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py index d429383b6..3f960e64e 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_FetalIntestine_2.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py index 68ed90bfd..47ff8e1c1 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_FetalIntestine_5.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_5.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py index b98844e92..14f09f471 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_AdultStomach_3.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_AdultStomach_3.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py index 1e09a35f6..fd9951dc5 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_AdultStomach_2.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_AdultStomach_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py index 58a2fb6dc..e84de8bb6 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/stomach/hcl_FetalIntestine_4.h5ad") + fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_4.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py b/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py index bd62d0f1a..accb11148 100644 --- a/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py +++ b/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py @@ -84,7 +84,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/thymus/park20.processed.h5ad") + fn = os.path.join(self.path, "human", "thymus", "park20.processed.h5ad") self.adata = anndata.read(fn) self.adata.X = np.expm1(self.adata.X) diff --git a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py index 28bd582bb..ecf88a2ad 100644 --- a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py +++ b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py @@ -54,7 +54,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/thymus/hcl_FetalThymus_2.h5ad") + fn = os.path.join(self.path, "human", "thymus", "hcl_FetalThymus_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py index ac84d199f..dcc79b2ed 100644 --- a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py +++ b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py @@ -54,7 +54,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/thymus/hcl_FetalThymus_1.h5ad") + fn = os.path.join(self.path, "human", "thymus", "hcl_FetalThymus_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py index d208b424e..bda7e9060 100644 --- a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py +++ b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/thyroid/hcl_AdultThyroid_2.h5ad") + fn = os.path.join(self.path, "human", "thyroid", "hcl_AdultThyroid_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py index 043daf36c..14a6d558b 100644 --- a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py +++ b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/thyroid/hcl_AdultThyroid_1.h5ad") + fn = os.path.join(self.path, "human", "thyroid", "hcl_AdultThyroid_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py b/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py index eee074bc4..4ed51b2e8 100644 --- a/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py +++ b/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/trachea/hcl_AdultTrachea_2.h5ad") + fn = os.path.join(self.path, "human", "trachea", "hcl_AdultTrachea_2.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py b/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py index fd5ac933e..6f018d1d6 100644 --- a/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py +++ b/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/ureter/hcl_AdultUreter_1.h5ad") + fn = os.path.join(self.path, "human", "ureter", "hcl_AdultUreter_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py b/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py index 24ba226e8..74c4be9b8 100644 --- a/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py +++ b/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py @@ -40,7 +40,7 @@ def _load(self, fn=None): if self._load_raw or not self._load_raw: if fn is None: - fn = os.path.join(self.path, "human/uterus/hcl_AdultUterus_1.h5ad") + fn = os.path.join(self.path, "human", "uterus", "hcl_AdultUterus_1.h5ad") self.adata = anndata.read(fn) self.adata.uns["lab"] = 'Guo' diff --git a/sfaira/data/mouse/bladder/mouse_bladder_2018_microwell_han_001.py b/sfaira/data/mouse/bladder/mouse_bladder_2018_microwell_han_001.py index 39f29ba3e..34bd88625 100644 --- a/sfaira/data/mouse/bladder/mouse_bladder_2018_microwell_han_001.py +++ b/sfaira/data/mouse/bladder/mouse_bladder_2018_microwell_han_001.py @@ -49,8 +49,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Bladder_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Bladder_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/bladder/mouse_bladder_2019_10x_pisco_001.py b/sfaira/data/mouse/bladder/mouse_bladder_2019_10x_pisco_001.py index e19bf95b8..6ae259062 100644 --- a/sfaira/data/mouse/bladder/mouse_bladder_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/bladder/mouse_bladder_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/bladder/tabula-muris-senis-droplet-processed-official-annotations-Bladder.h5ad") + fn = os.path.join(self.path, "mouse", "bladder", "tabula-muris-senis-droplet-processed-official-annotations-Bladder.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/bladder/Bladder_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "bladder", "Bladder_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/bladder/mouse_bladder_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/bladder/mouse_bladder_2019_smartseq2_pisco_001.py index 8dd1c4dee..c9bec9d34 100644 --- a/sfaira/data/mouse/bladder/mouse_bladder_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/bladder/mouse_bladder_2019_smartseq2_pisco_001.py @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/bladder/tabula-muris-senis-facs-processed-official-annotations-Bladder.h5ad") + fn = os.path.join(self.path, "mouse", "bladder", "tabula-muris-senis-facs-processed-official-annotations-Bladder.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/bladder/Bladder_facs.h5ad") + fn = os.path.join(self.path, "mouse", "bladder", "Bladder_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_001.py b/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_001.py index e0cac5c68..2d0920d30 100644 --- a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_001.py +++ b/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_001.py @@ -47,8 +47,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Brain1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Brain1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_002.py b/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_002.py index 6f4fa79d5..d49d98f73 100644 --- a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_002.py +++ b/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_002.py @@ -47,8 +47,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Brain2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Brain2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/brain/mouse_brain_2019_mouse_brain_atlas_temp.py b/sfaira/data/mouse/brain/mouse_brain_2019_mouse_brain_atlas_temp.py index 887670bd5..a8f0dc033 100644 --- a/sfaira/data/mouse/brain/mouse_brain_2019_mouse_brain_atlas_temp.py +++ b/sfaira/data/mouse/brain/mouse_brain_2019_mouse_brain_atlas_temp.py @@ -37,10 +37,10 @@ def __init__( def _load(self, fn=None): if fn is None: - fn = os.path.join(self.path, "mouse/temp_mouse_brain_atlas/matrix.mtx") - fn_barcodes = os.path.join(self.path, "mouse/temp_mouse_brain_atlas/barcodes.tsv") - fn_var = os.path.join(self.path, "mouse/temp_mouse_brain_atlas/genes.tsv") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_brain_atlas/annot_fullAggr.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "matrix.mtx") + fn_barcodes = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "barcodes.tsv") + fn_var = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "genes.tsv") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "annot_fullAggr.csv") self.adata = anndata.read_mtx(fn) self.adata = anndata.AnnData(self.adata.X.T) diff --git a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_001.py index bcda28f45..95dfc2ff6 100644 --- a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_001.py @@ -39,9 +39,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/brain/tabula-muris-senis-facs-processed-official-annotations-Brain_Non-Myeloid.h5ad") + fn = os.path.join(self.path, "mouse", "brain", "tabula-muris-senis-facs-processed-official-annotations-Brain_Non-Myeloid.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/brain/Brain_Non-Myeloid_facs.h5ad") + fn = os.path.join(self.path, "mouse", "brain", "Brain_Non-Myeloid_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_002.py b/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_002.py index 49cf49058..76bd3bb14 100644 --- a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_002.py +++ b/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_002.py @@ -39,9 +39,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/brain/tabula-muris-senis-facs-processed-official-annotations-Brain_Myeloid.h5ad") + fn = os.path.join(self.path, "mouse", "brain", "tabula-muris-senis-facs-processed-official-annotations-Brain_Myeloid.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/brain/Brain_Myeloid_facs.h5ad") + fn = os.path.join(self.path, "mouse", "brain", "Brain_Myeloid_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/diaphragm/mouse_diaphragm_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/diaphragm/mouse_diaphragm_2019_smartseq2_pisco_001.py index 4bfc20d5f..86264eaba 100644 --- a/sfaira/data/mouse/diaphragm/mouse_diaphragm_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/diaphragm/mouse_diaphragm_2019_smartseq2_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/diaphragm/tabula-muris-senis-facs-processed-official-annotations-Diaphragm.h5ad") + fn = os.path.join(self.path, "mouse", "diaphragm", "tabula-muris-senis-facs-processed-official-annotations-Diaphragm.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/diaphragm/Diaphragm_facs.h5ad") + fn = os.path.join(self.path, "mouse", "diaphragm", "Diaphragm_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py b/sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py index ddb71b954..40cb31075 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/fat/tabula-muris-senis-droplet-processed-official-annotations-Fat.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-droplet-processed-official-annotations-Fat.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/fat/Fat_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "Fat_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py index 6ae2a20c3..218205d03 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/fat/tabula-muris-senis-facs-processed-official-annotations-BAT.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-BAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/fat/bat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "bat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py index d7519c67d..c008b5bd5 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py +++ b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/fat/tabula-muris-senis-facs-processed-official-annotations-GAT.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-GAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/fat/gat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "gat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py index ec66c4f87..db1af7235 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py +++ b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/fat/tabula-muris-senis-facs-processed-official-annotations-MAT.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-MAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/fat/mat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "mat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py index e93410ad9..ebf1b4064 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py +++ b/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/fat/tabula-muris-senis-facs-processed-official-annotations-SCAT.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-SCAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/fat/scat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "fat", "scat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/heart/mouse_heart_2019_10x_pisco_001.py b/sfaira/data/mouse/heart/mouse_heart_2019_10x_pisco_001.py index a668f2a9e..ed29cb229 100644 --- a/sfaira/data/mouse/heart/mouse_heart_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/heart/mouse_heart_2019_10x_pisco_001.py @@ -39,9 +39,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/heart/tabula-muris-senis-droplet-processed-official-annotations-Heart_and_Aorta.h5ad") + fn = os.path.join(self.path, "mouse", "heart", "tabula-muris-senis-droplet-processed-official-annotations-Heart_and_Aorta.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/heart/Heart_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "heart", "Heart_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_001.py index 7bee524f7..d3bbee496 100644 --- a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/heart/tabula-muris-senis-facs-processed-official-annotations-Heart.h5ad") + fn = os.path.join(self.path, "mouse", "heart", "tabula-muris-senis-facs-processed-official-annotations-Heart.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/heart/Heart_facs.h5ad") + fn = os.path.join(self.path, "mouse", "heart", "Heart_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_002.py b/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_002.py index 113a05a7a..34a955e49 100644 --- a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_002.py +++ b/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_002.py @@ -38,7 +38,7 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/heart/tabula-muris-senis-facs-processed-official-annotations-Aorta.h5ad") + fn = os.path.join(self.path, "mouse", "heart", "tabula-muris-senis-facs-processed-official-annotations-Aorta.h5ad") elif self.source == "figshare": raise ValueError("not defined") else: diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_001.py b/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_001.py index 68f5e7223..b346cf539 100644 --- a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_001.py +++ b/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_001.py @@ -33,8 +33,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Kidney1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Kidney1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_002.py b/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_002.py index ebb4540ab..60b0d0260 100644 --- a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_002.py +++ b/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_002.py @@ -64,8 +64,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Kidney2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Kidney2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2019_10x_pisco_001.py b/sfaira/data/mouse/kidney/mouse_kidney_2019_10x_pisco_001.py index 5e1e0c8c2..b0f43d02d 100644 --- a/sfaira/data/mouse/kidney/mouse_kidney_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/kidney/mouse_kidney_2019_10x_pisco_001.py @@ -41,9 +41,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/kidney/tabula-muris-senis-droplet-processed-official-annotations-Kidney.h5ad") + fn = os.path.join(self.path, "mouse", "kidney", "tabula-muris-senis-droplet-processed-official-annotations-Kidney.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/kidney/Kidney_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "kidney", "Kidney_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/kidney/mouse_kidney_2019_smartseq2_pisco_001.py index 5d97568c8..88dfe4448 100644 --- a/sfaira/data/mouse/kidney/mouse_kidney_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/kidney/mouse_kidney_2019_smartseq2_pisco_001.py @@ -40,9 +40,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/kidney/tabula-muris-senis-facs-processed-official-annotations-Kidney.h5ad") + fn = os.path.join(self.path, "mouse", "kidney", "tabula-muris-senis-facs-processed-official-annotations-Kidney.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/kidney/Kidney_facs.h5ad") + fn = os.path.join(self.path, "mouse", "kidney", "Kidney_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py b/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py index 0b7010fb2..e043fd42b 100644 --- a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py @@ -37,11 +37,11 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/large_intestine/Large_Intestine_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_droplet.h5ad") if self.source == "aws": - fn = os.path.join(self.path, "mouse/large_intestine/tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad") + fn = os.path.join(self.path, "mouse", "large_intestine", "tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/large_intestine/Large_Intestine_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py index 4cb70806c..7842fb514 100644 --- a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py @@ -37,11 +37,11 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/large_intestine/Large_Intestine_facs.h5ad") + fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_facs.h5ad") if self.source == "aws": - fn = os.path.join(self.path, "mouse/large_intestine/tabula-muris-senis-facs-processed-official-annotations-Large_Intestine.h5ad") + fn = os.path.join(self.path, "mouse", "large_intestine", "tabula-muris-senis-facs-processed-official-annotations-Large_Intestine.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/large_intestine/Large_Intestine_facs.h5ad") + fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py b/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py index a91050ac8..2763822e0 100644 --- a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py +++ b/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py @@ -50,8 +50,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Muscle_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Muscle_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py b/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py index de9fd3590..d3574544e 100644 --- a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/limb_muscle/tabula-muris-senis-droplet-processed-official-annotations-Limb_Muscle.h5ad") + fn = os.path.join(self.path, "mouse", "limb_muscle", "tabula-muris-senis-droplet-processed-official-annotations-Limb_Muscle.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/limb_muscle/Limb_Muscle_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "limb_muscle", "Limb_Muscle_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py index a1436d46a..aa431d549 100644 --- a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/limb_muscle/tabula-muris-senis-facs-processed-official-annotations-Limb_Muscle.h5ad") + fn = os.path.join(self.path, "mouse", "limb_muscle", "tabula-muris-senis-facs-processed-official-annotations-Limb_Muscle.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/limb_muscle/Limb_Muscle_facs.h5ad") + fn = os.path.join(self.path, "mouse", "limb_muscle", "Limb_Muscle_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_001.py b/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_001.py index 131417f26..130b0b06c 100644 --- a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_001.py +++ b/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_001.py @@ -51,8 +51,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Liver1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Liver1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_002.py b/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_002.py index 2688fc5ab..13bc3b39d 100644 --- a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_002.py +++ b/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_002.py @@ -45,8 +45,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Liver2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Liver2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/liver/mouse_liver_2019_10x_pisco_001.py b/sfaira/data/mouse/liver/mouse_liver_2019_10x_pisco_001.py index 39ea195f0..51957d57b 100644 --- a/sfaira/data/mouse/liver/mouse_liver_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/liver/mouse_liver_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/liver/tabula-muris-senis-droplet-processed-official-annotations-Liver.h5ad") + fn = os.path.join(self.path, "mouse", "liver", "tabula-muris-senis-droplet-processed-official-annotations-Liver.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/liver/Liver_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "liver", "Liver_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/liver/mouse_liver_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/liver/mouse_liver_2019_smartseq2_pisco_001.py index 724c7c01d..cbe999809 100644 --- a/sfaira/data/mouse/liver/mouse_liver_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/liver/mouse_liver_2019_smartseq2_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/liver/tabula-muris-senis-facs-processed-official-annotations-Liver.h5ad") + fn = os.path.join(self.path, "mouse", "liver", "tabula-muris-senis-facs-processed-official-annotations-Liver.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/liver/Liver_facs.h5ad") + fn = os.path.join(self.path, "mouse", "liver", "Liver_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_001.py b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_001.py index 4194c434c..2afdf6e2d 100644 --- a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_001.py +++ b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_001.py @@ -65,8 +65,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Lung1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Lung1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_002.py b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_002.py index 0a084a485..6eba6b10b 100644 --- a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_002.py +++ b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_002.py @@ -65,8 +65,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Lung2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Lung2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_003.py b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_003.py index 3f1b21d44..64b47219b 100644 --- a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_003.py +++ b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_003.py @@ -65,8 +65,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Lung3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Lung3_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/lung/mouse_lung_2019_10x_pisco_001.py b/sfaira/data/mouse/lung/mouse_lung_2019_10x_pisco_001.py index a61851467..da2b80c7d 100644 --- a/sfaira/data/mouse/lung/mouse_lung_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/lung/mouse_lung_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/lung/tabula-muris-senis-droplet-processed-official-annotations-Lung.h5ad") + fn = os.path.join(self.path, "mouse", "lung", "tabula-muris-senis-droplet-processed-official-annotations-Lung.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/lung/Lung_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "lung", "Lung_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py index 056973243..0eae363a0 100644 --- a/sfaira/data/mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/lung/tabula-muris-senis-facs-processed-official-annotations-Lung.h5ad") + fn = os.path.join(self.path, "mouse", "lung", "tabula-muris-senis-facs-processed-official-annotations-Lung.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/lung/Lung_facs.h5ad") + fn = os.path.join(self.path, "mouse", "lung", "Lung_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py index 43c767b27..b87c7817e 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py +++ b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py @@ -49,8 +49,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/MammaryGland.Virgin1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py index 13a01a6da..d47328af9 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py +++ b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py @@ -49,8 +49,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/MammaryGland.Virgin2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py index 9142e5089..a02d5d095 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py +++ b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py @@ -49,8 +49,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/MammaryGland.Virgin3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin3_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py index 2615c658b..579dc7926 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py +++ b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py @@ -49,8 +49,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/MammaryGland.Virgin4_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin4_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py index 13adf557a..ad9039b4e 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/mammary_gland/tabula-muris-senis-droplet-processed-official-annotations-Mammary_Gland.h5ad") + fn = os.path.join(self.path, "mouse", "mammary_gland", "tabula-muris-senis-droplet-processed-official-annotations-Mammary_Gland.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/mammary_gland/Mammary_Gland_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "mammary_gland", "Mammary_Gland_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py index e1c1436fb..227ab44f8 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/mammary_gland/tabula-muris-senis-facs-processed-official-annotations-Mammary_Gland.h5ad") + fn = os.path.join(self.path, "mouse", "mammary_gland", "tabula-muris-senis-facs-processed-official-annotations-Mammary_Gland.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/mammary_gland/Mammary_Gland_facs.h5ad") + fn = os.path.join(self.path, "mouse", "mammary_gland", "Mammary_Gland_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/marrow/mouse_marrow_2018_microwell_001.py b/sfaira/data/mouse/marrow/mouse_marrow_2018_microwell_001.py index df2092dc2..8fb5a55ae 100644 --- a/sfaira/data/mouse/marrow/mouse_marrow_2018_microwell_001.py +++ b/sfaira/data/mouse/marrow/mouse_marrow_2018_microwell_001.py @@ -48,8 +48,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/BoneMarrow1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "BoneMarrow1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/marrow/mouse_marrow_2019_10x_pisco_001.py b/sfaira/data/mouse/marrow/mouse_marrow_2019_10x_pisco_001.py index e0ee5bf18..1062f62f5 100644 --- a/sfaira/data/mouse/marrow/mouse_marrow_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/marrow/mouse_marrow_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/marrow/tabula-muris-senis-droplet-processed-official-annotations-Marrow.h5ad") + fn = os.path.join(self.path, "mouse", "marrow", "tabula-muris-senis-droplet-processed-official-annotations-Marrow.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/marrow/Marrow_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "marrow", "Marrow_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/marrow/mouse_marrow_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/marrow/mouse_marrow_2019_smartseq2_pisco_001.py index 31a9fa0e8..59dd26c3b 100644 --- a/sfaira/data/mouse/marrow/mouse_marrow_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/marrow/mouse_marrow_2019_smartseq2_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/marrow/tabula-muris-senis-facs-processed-official-annotations-Marrow.h5ad") + fn = os.path.join(self.path, "mouse", "marrow", "tabula-muris-senis-facs-processed-official-annotations-Marrow.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/marrow/Marrow_facs.h5ad") + fn = os.path.join(self.path, "mouse", "marrow", "Marrow_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py index f28051a0d..b92bda486 100644 --- a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py +++ b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py @@ -45,8 +45,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Ovary1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Ovary1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py index 412b8ec49..db4888291 100644 --- a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py +++ b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py @@ -45,8 +45,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Ovary2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Ovary2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2018_microwell_han_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2018_microwell_han_001.py index 4510fc358..11786a84f 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2018_microwell_han_001.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2018_microwell_han_001.py @@ -55,8 +55,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Pancreas_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Pancreas_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_pisco_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_pisco_001.py index 2ef395265..cf952ffcb 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/pancreas/tabula-muris-senis-droplet-processed-official-annotations-Pancreas.h5ad") + fn = os.path.join(self.path, "mouse", "pancreas", "tabula-muris-senis-droplet-processed-official-annotations-Pancreas.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/pancreas/Pancreas_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "pancreas", "Pancreas_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_001.py index d09459d5a..0165cef0c 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_001.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_001.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308545_NOD_08w_A") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308545_NOD_08w_A_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308545_NOD_08w_A") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308545_NOD_08w_A_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_002.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_002.py index 11498807b..7f282ce57 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_002.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_002.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308547_NOD_08w_C") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308547_NOD_08w_C_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308547_NOD_08w_C") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308547_NOD_08w_C_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_003.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_003.py index 5b9b592c6..c9a48f9c5 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_003.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_003.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308548_NOD_14w_A") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308548_NOD_14w_A_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308548_NOD_14w_A") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308548_NOD_14w_A_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_004.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_004.py index 423f0d36b..bb959e09c 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_004.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_004.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308549_NOD_14w_B") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308549_NOD_14w_B_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308549_NOD_14w_B") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308549_NOD_14w_B_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_005.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_005.py index 7641e4c21..199f56b92 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_005.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_005.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308550_NOD_14w_C") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308550_NOD_14w_C_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308550_NOD_14w_C") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308550_NOD_14w_C_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_006.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_006.py index 55e065fd7..f3bfe767e 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_006.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_006.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308551_NOD_16w_A") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308551_NOD_16w_A_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308551_NOD_16w_A") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308551_NOD_16w_A_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_007.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_007.py index 5cb3af4ac..8d0f7e4e3 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_007.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_007.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308552_NOD_16w_B") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308552_NOD_16w_B_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308552_NOD_16w_B") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308552_NOD_16w_B_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_008.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_008.py index 6d4d40260..e72f25101 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_008.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_008.py @@ -46,8 +46,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/pancreas/GSM3308553_NOD_16w_C") - fn_meta = os.path.join(self.path, "mouse/pancreas/GSM3308553_NOD_16w_C_annotation.csv") + fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308553_NOD_16w_C") + fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308553_NOD_16w_C_annotation.csv") celltypes = pandas.read_csv(fn_meta, index_col=0) diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_smartseq2_pisco_001.py index b60993e8c..1aae53943 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_smartseq2_pisco_001.py @@ -40,9 +40,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/pancreas/tabula-muris-senis-facs-processed-official-annotations-Pancreas.h5ad") + fn = os.path.join(self.path, "mouse", "pancreas", "tabula-muris-senis-facs-processed-official-annotations-Pancreas.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/pancreas/Pancreas_facs.h5ad") + fn = os.path.join(self.path, "mouse", "pancreas", "Pancreas_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py index 63838308d..32084ee95 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py +++ b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py @@ -54,8 +54,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/PeripheralBlood1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py index 5779e420f..010468a3f 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py +++ b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py @@ -54,8 +54,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/PeripheralBlood2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py index 806a2a8df..427e8c8ad 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py +++ b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py @@ -54,8 +54,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/PeripheralBlood3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood3_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py index ba0300acc..642f50e60 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py +++ b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py @@ -54,8 +54,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/PeripheralBlood4_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood4_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py index 36db6d2a1..5cf7db1b2 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py +++ b/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py @@ -54,8 +54,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/PeripheralBlood5_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood5_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_001.py b/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_001.py index 61cd8bae3..3942615f3 100644 --- a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_001.py +++ b/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_001.py @@ -61,8 +61,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/PlacentaE14.1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PlacentaE14.1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_002.py b/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_002.py index ad2401ac3..7f6cfc8c7 100644 --- a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_002.py +++ b/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_002.py @@ -61,8 +61,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/PlacentaE14.2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PlacentaE14.2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_001.py b/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_001.py index d9430a650..21706713b 100644 --- a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_001.py +++ b/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_001.py @@ -39,8 +39,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Prostate1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Prostate1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_002.py b/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_002.py index 545793907..8a622afb7 100644 --- a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_002.py +++ b/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_002.py @@ -39,8 +39,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Prostate2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Prostate2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_001.py b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_001.py index af132a49a..8a445e893 100644 --- a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_001.py +++ b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_001.py @@ -56,8 +56,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/NeonatalRib1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "NeonatalRib1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_002.py b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_002.py index 78d0b13c3..3d7e693d4 100644 --- a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_002.py +++ b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_002.py @@ -56,8 +56,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/NeonatalRib2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "NeonatalRib2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_003.py b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_003.py index 34245b902..77bcdf73a 100644 --- a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_003.py +++ b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_003.py @@ -56,8 +56,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/NeonatalRib3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "NeonatalRib3_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/skin/mouse_skin_2019_10x_pisco_001.py b/sfaira/data/mouse/skin/mouse_skin_2019_10x_pisco_001.py index 397363db3..c7f5fdd8e 100644 --- a/sfaira/data/mouse/skin/mouse_skin_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/skin/mouse_skin_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/skin/tabula-muris-senis-droplet-processed-official-annotations-Skin.h5ad") + fn = os.path.join(self.path, "mouse", "skin", "tabula-muris-senis-droplet-processed-official-annotations-Skin.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/skin/Skin_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "skin", "Skin_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py index aded7f7bf..be1dc7b71 100644 --- a/sfaira/data/mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py @@ -37,11 +37,11 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/skin/Skin_facs.h5ad") + fn = os.path.join(self.path, "mouse", "skin", "Skin_facs.h5ad") if self.source == "aws": - fn = os.path.join(self.path, "mouse/skin/tabula-muris-senis-facs-processed-official-annotations-Skin.h5ad") + fn = os.path.join(self.path, "mouse", "skin", "tabula-muris-senis-facs-processed-official-annotations-Skin.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/skin/Skin_facs.h5ad") + fn = os.path.join(self.path, "mouse", "skin", "Skin_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_001.py b/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_001.py index 17f2293f0..312f00fbe 100644 --- a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_001.py +++ b/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_001.py @@ -56,8 +56,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/SmallIntestine1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "SmallIntestine1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_002.py b/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_002.py index c866f90e8..0cf4518af 100644 --- a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_002.py +++ b/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_002.py @@ -56,8 +56,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/SmallIntestine2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "SmallIntestine2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_003.py b/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_003.py index cb1dd0343..0296b4c43 100644 --- a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_003.py +++ b/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_003.py @@ -56,8 +56,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/SmallIntestine3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "SmallIntestine3_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/spleen/mouse_spleen_2018_microwell_han_001.py b/sfaira/data/mouse/spleen/mouse_spleen_2018_microwell_han_001.py index 306ddb2e3..fcd5ed494 100644 --- a/sfaira/data/mouse/spleen/mouse_spleen_2018_microwell_han_001.py +++ b/sfaira/data/mouse/spleen/mouse_spleen_2018_microwell_han_001.py @@ -44,8 +44,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Spleen_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Spleen_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/spleen/mouse_spleen_2019_10x_pisco_001.py b/sfaira/data/mouse/spleen/mouse_spleen_2019_10x_pisco_001.py index 7067a41b4..a65d097b5 100644 --- a/sfaira/data/mouse/spleen/mouse_spleen_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/spleen/mouse_spleen_2019_10x_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/spleen/tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad") + fn = os.path.join(self.path, "mouse", "spleen", "tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/spleen/Spleen_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "spleen", "Spleen_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/spleen/mouse_spleen_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/spleen/mouse_spleen_2019_smartseq2_pisco_001.py index 3aa007671..1575c8dd7 100644 --- a/sfaira/data/mouse/spleen/mouse_spleen_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/spleen/mouse_spleen_2019_smartseq2_pisco_001.py @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/spleen/tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad") + fn = os.path.join(self.path, "mouse", "spleen", "tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/spleen/Spleen_facs.h5ad") + fn = os.path.join(self.path, "mouse", "spleen", "Spleen_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/stomach/mouse_stomach_2018_microwell_han_001.py b/sfaira/data/mouse/stomach/mouse_stomach_2018_microwell_han_001.py index e8f96901f..5e2aaae2d 100644 --- a/sfaira/data/mouse/stomach/mouse_stomach_2018_microwell_han_001.py +++ b/sfaira/data/mouse/stomach/mouse_stomach_2018_microwell_han_001.py @@ -50,8 +50,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Stomach_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas", "500more_dge", "Stomach_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_001.py b/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_001.py index 6647e52e2..459975e78 100644 --- a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_001.py +++ b/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_001.py @@ -52,8 +52,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Testis1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Testis1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_002.py b/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_002.py index 7e36fc4f3..755664b68 100644 --- a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_002.py +++ b/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_002.py @@ -52,8 +52,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Testis2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Testis2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/thymus/mouse_thymus_2018_microwell_han_001.py b/sfaira/data/mouse/thymus/mouse_thymus_2018_microwell_han_001.py index 3cd6bec4b..3302f32ad 100644 --- a/sfaira/data/mouse/thymus/mouse_thymus_2018_microwell_han_001.py +++ b/sfaira/data/mouse/thymus/mouse_thymus_2018_microwell_han_001.py @@ -39,8 +39,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Thymus1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Thymus1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/thymus/mouse_thymus_2019_10x_pisco_001.py b/sfaira/data/mouse/thymus/mouse_thymus_2019_10x_pisco_001.py index 20f125a02..c3212bc66 100644 --- a/sfaira/data/mouse/thymus/mouse_thymus_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/thymus/mouse_thymus_2019_10x_pisco_001.py @@ -37,9 +37,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/thymus/tabula-muris-senis-droplet-processed-official-annotations-Thymus.h5ad") + fn = os.path.join(self.path, "mouse", "thymus", "tabula-muris-senis-droplet-processed-official-annotations-Thymus.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/thymus/Thymus_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "thymus", "Thymus_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/thymus/mouse_thymus_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/thymus/mouse_thymus_2019_smartseq2_pisco_001.py index f80047914..28a0ae3dc 100644 --- a/sfaira/data/mouse/thymus/mouse_thymus_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/thymus/mouse_thymus_2019_smartseq2_pisco_001.py @@ -37,9 +37,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/thymus/tabula-muris-senis-facs-processed-official-annotations-Thymus.h5ad") + fn = os.path.join(self.path, "mouse", "thymus", "tabula-muris-senis-facs-processed-official-annotations-Thymus.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/thymus/Thymus_facs.h5ad") + fn = os.path.join(self.path, "mouse", "thymus", "Thymus_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/tongue/mouse_tongue_2019_10x_pisco_001.py b/sfaira/data/mouse/tongue/mouse_tongue_2019_10x_pisco_001.py index 3f85122e0..0856c92ba 100644 --- a/sfaira/data/mouse/tongue/mouse_tongue_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/tongue/mouse_tongue_2019_10x_pisco_001.py @@ -39,9 +39,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/tongue/tabula-muris-senis-droplet-processed-official-annotations-Tongue.h5ad") + fn = os.path.join(self.path, "mouse", "tongue", "tabula-muris-senis-droplet-processed-official-annotations-Tongue.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/tongue/Tongue_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "tongue", "Tongue_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/tongue/mouse_tongue_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/tongue/mouse_tongue_2019_smartseq2_pisco_001.py index 44d5ba04b..b17e7dc86 100644 --- a/sfaira/data/mouse/tongue/mouse_tongue_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/tongue/mouse_tongue_2019_smartseq2_pisco_001.py @@ -39,9 +39,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/tongue/tabula-muris-senis-facs-processed-official-annotations-Tongue.h5ad") + fn = os.path.join(self.path, "mouse", "tongue", "tabula-muris-senis-facs-processed-official-annotations-Tongue.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/tongue/Tongue_facs.h5ad") + fn = os.path.join(self.path, "mouse", "tongue", "Tongue_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/trachae/mouse_trachea_2019_10x_pisco_001.py b/sfaira/data/mouse/trachae/mouse_trachea_2019_10x_pisco_001.py index 9fe60b810..c517b93a0 100644 --- a/sfaira/data/mouse/trachae/mouse_trachea_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/trachae/mouse_trachea_2019_10x_pisco_001.py @@ -38,11 +38,11 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/trachea/Trachea_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "trachea", "Trachea_droplet.h5ad") if self.source == "aws": - fn = os.path.join(self.path, "mouse/trachea/tabula-muris-senis-droplet-processed-official-annotations-Trachea.h5ad") + fn = os.path.join(self.path, "mouse", "trachea", "tabula-muris-senis-droplet-processed-official-annotations-Trachea.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/trachea/Trachea_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "trachea", "Trachea_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/trachae/mouse_trachea_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/trachae/mouse_trachea_2019_smartseq2_pisco_001.py index 4db9eee1a..98ccf9991 100644 --- a/sfaira/data/mouse/trachae/mouse_trachea_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/trachae/mouse_trachea_2019_smartseq2_pisco_001.py @@ -39,9 +39,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse/trachea/tabula-muris-senis-facs-processed-official-annotations-Trachea.h5ad") + fn = os.path.join(self.path, "mouse", "trachea", "tabula-muris-senis-facs-processed-official-annotations-Trachea.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse/trachea/Trachea_facs.h5ad") + fn = os.path.join(self.path, "mouse", "trachea", "Trachea_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_001.py b/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_001.py index 27f4e33e0..d2087b326 100644 --- a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_001.py +++ b/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_001.py @@ -52,8 +52,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Uterus1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Uterus1_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) diff --git a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_002.py b/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_002.py index 508a91e38..dc612bc3d 100644 --- a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_002.py +++ b/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_002.py @@ -52,8 +52,8 @@ def _load(self, fn=None): if fn is None: if self.path is None: raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse/temp_mouse_atlas/500more_dge/Uterus2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse/temp_mouse_atlas/MCA_CellAssignments.csv") + fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Uterus2_dge.txt.gz") + fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") celltypes = pandas.read_csv(fn_meta, index_col=1) celltypes = celltypes.drop(['Unnamed: 0'], axis=1) From 268594443f7a8d2af17212de845396fb746da973 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 10 Nov 2020 18:41:59 +0100 Subject: [PATCH 09/61] replace path handling through string concatenations with os.paths.join and f-strings --- sfaira/estimators/keras.py | 48 +++++----- sfaira/interface/user_interface.py | 47 ++++------ sfaira/train/summaries.py | 136 +++++++++++++++-------------- 3 files changed, 112 insertions(+), 119 deletions(-) diff --git a/sfaira/estimators/keras.py b/sfaira/estimators/keras.py index 9dcd7c4b7..df32c1378 100644 --- a/sfaira/estimators/keras.py +++ b/sfaira/estimators/keras.py @@ -45,7 +45,7 @@ def __init__( model_type: Union[str, None], model_topology: Union[str, None], weights_md5: Union[str, None] = None, - cache_path: str = 'cache/' + cache_path: str = os.path.join('cache', '') ): self.data = data self.obs_train = None @@ -78,8 +78,7 @@ def load_pretrained_weights(self): """ Loads model weights from local directory or zenodo. """ - if not self.model_dir.endswith('/'): - self.model_dir += '/' + self.model_dir = os.path.join(self.model_dir, '') if self.model_dir.startswith('http'): # Remote repo @@ -87,29 +86,32 @@ def load_pretrained_weights(self): os.makedirs(self.cache_path) import urllib.request + from urllib.parse import urljoin from urllib.error import HTTPError try: - urllib.request.urlretrieve(self.model_dir + self.model_id + '_weights.h5', - self.cache_path + self.model_id + '_weights.h5') + urllib.request.urlretrieve(urljoin(self.model_dir, f'{self.model_id}_weights.h5'), + os.path.join(self.cache_path, f'{self.model_id}_weights.h5') + ) except HTTPError: try: - urllib.request.urlretrieve(self.model_dir + self.model_id + '_weights.data-00000-of-00001', - self.cache_path + self.model_id + '_weights.data-00000-of-00001') + urllib.request.urlretrieve(urljoin(self.model_dir, f'{self.model_id}_weights.data-00000-of-00001'), + os.path.join(self.cache_path, f'{self.model_id}_weights.data-00000-of-00001') + ) except HTTPError: raise FileNotFoundError(f'cannot find remote weightsfile: {self.model_dir + self.model_id}') - fn = self.cache_path + self.model_id + "_weights" + fn = os.path.join(self.cache_path, f"{self.model_id}_weights") else: # Local repo if not self.model_dir: raise ValueError('the model_id is set but the path to the model is empty') - fn = self.model_dir + self.model_id + "_weights" + fn = os.path.join(self.model_dir, f"{self.model_id}_weights") - if os.path.exists(fn+'.h5'): - self._assert_md5_sum(fn+'.h5', self.md5) - self.model.training_model.load_weights(fn+'.h5') - elif os.path.exists(fn + ".data-00000-of-00001"): - self._assert_md5_sum(fn + ".data-00000-of-00001", self.md5) + if os.path.exists(f'{fn}.h5'): + self._assert_md5_sum(f'{fn}.h5', self.md5) + self.model.training_model.load_weights(f'{fn}.h5') + elif os.path.exists(f"{fn}.data-00000-of-00001"): + self._assert_md5_sum(f"{fn}.data-00000-of-00001", self.md5) self.model.training_model.load_weights(fn) elif os.path.exists(fn): raise ValueError('weights files saved in h5 format need to have an h5 file extension') @@ -117,13 +119,13 @@ def load_pretrained_weights(self): raise ValueError(f'the weightsfile {fn} could not be found') def save_weights_to_cache(self): - if not os.path.exists(self.cache_path+'weights/'): - os.makedirs(self.cache_path+'weights/') - fn = self.cache_path + 'weights/' + str(self.model_id) + "_weights_cache.h5" + if not os.path.exists(os.path.join(self.cache_path, 'weights')): + os.makedirs(os.path.join(self.cache_path, 'weights')) + fn = os.path.join(self.cache_path, 'weights', f"{self.model_id}_weights_cache.h5") self.model.training_model.save_weights(fn) def load_weights_from_cache(self): - fn = self.cache_path + 'weights/' + str(self.model_id) + "_weights_cache.h5" + fn = os.path.join(self.cache_path, 'weights', f"{self.model_id}_weights_cache.h5") self.model.training_model.load_weights(fn) def init_model(self, clear_weight_cache=True, override_hyperpar=None): @@ -132,9 +134,9 @@ def init_model(self, clear_weight_cache=True, override_hyperpar=None): :return: """ if clear_weight_cache: - if os.path.exists(self.cache_path+'weights/'): - for file in os.listdir(self.cache_path+'weights/'): - file_path = os.path.join(self.cache_path+'weights/', file) + if os.path.exists(os.path.join(self.cache_path, 'weights')): + for file in os.listdir(os.path.join(self.cache_path, 'weights')): + file_path = os.path.join(os.path.join(self.cache_path, 'weights'), file) os.remove(file_path) def _assert_md5_sum( @@ -466,7 +468,7 @@ def __init__( model_type: Union[str, None], model_topology: Union[str, None], weights_md5: Union[str, None] = None, - cache_path: str = 'cache/' + cache_path: str = os.path.join('cache', '') ): super(EstimatorKerasEmbedding, self).__init__( data=data, @@ -891,7 +893,7 @@ def __init__( model_type: Union[str, None], model_topology: Union[str, None], weights_md5: Union[str, None] = None, - cache_path: str = 'cache/', + cache_path: str = os.path.join('cache', ''), max_class_weight: float = 1e3 ): super(EstimatorKerasCelltype, self).__init__( diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 72db71ece..02c1b72d9 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -50,21 +50,14 @@ def __init__( self, custom_repo: Union[list, str, None] = None, sfaira_repo: bool = False, - cache_path: str = 'cache/' + cache_path: str = os.path.join('cache', '') ): self.model_kipoi_embedding = None self.model_kipoi_celltype = None self.estimator_embedding = None self.estimator_celltype = None self.use_sfaira_repo = sfaira_repo - - if cache_path.endswith("/"): - self.cache_path = cache_path - else: - self.cache_path = cache_path + "/" - - if custom_repo is not None and not custom_repo.endswith("/"): - custom_repo += "/" + self.cache_path = os.path.join(cache_path, '') if sfaira_repo: # check if public sfaira repository should be accessed self.model_lookuptable = self._load_lookuptable("https://sandbox.zenodo.org/record/647061/files/") #TODO: this still points to zenodo sandbox @@ -74,7 +67,7 @@ def __init__( custom_repo = [custom_repo] for repo in custom_repo: - if os.path.exists(repo) and not os.path.exists(repo + 'model_lookuptable.csv'): + if os.path.exists(repo) and not os.path.exists(os.path.join(repo, 'model_lookuptable.csv')): self.write_lookuptable(repo) if hasattr(self, 'model_lookuptable'): @@ -103,7 +96,7 @@ def _load_lookuptable( :param repo_path: :return: model_lookuptable """ - model_lookuptable = pd.read_csv(repo_path + 'model_lookuptable.csv', header=0, index_col=0) + model_lookuptable = pd.read_csv(os.path.join(repo_path, 'model_lookuptable.csv'), header=0, index_col=0) # check for any duplicated model_ids if hasattr(self, 'model_lookuptable'): @@ -125,28 +118,26 @@ def write_lookuptable( """ import hashlib - weights_files = [] + file_names = [] + file_paths = [] + md5 = [] for subdir, dirs, files in os.walk(repo_path): for file in files: if os.path.isfile(os.path.join(subdir, file)) and ( file.endswith('_weights.h5') or file.endswith('_weights.data-00000-of-00001')) and ( file.startswith('embedding') or file.startswith('celltype')): - weights_files.append(os.path.join(subdir, file)) - - if weights_files: - file_names = [f.split('/')[-1] for f in weights_files] - weights_paths = [f.split('/')[:-1] for f in weights_files] - s = [i.split('_')[0:7] for i in file_names] - ids = ['_'.join(i) for i in s] - md5 = [] - for file in weights_files: - with open(file, 'rb') as f: - md5.append(hashlib.md5(f.read()).hexdigest()) - + file_paths.append(subdir) + file_names.append(file) + with open(os.path.join(subdir, file), 'rb') as f: + md5.append(hashlib.md5(f.read()).hexdigest()) + s = [i.split('_')[0:7] for i in file_names] + ids = ['_'.join(i) for i in s] + + if ids: pd.DataFrame( list(zip(ids, weights_paths, md5)), columns=['model_id', 'model_path', 'md5'] - ).sort_values('model_id').to_csv(repo_path + 'model_lookuptable.csv') + ).sort_values('model_id').to_csv(os.path.join(repo_path, 'model_lookuptable.csv')) else: raise ValueError(f'No model weights found in {repo_path} ' 'Weights need to have .h5 or .data-00000-of-00001 extension' @@ -182,8 +173,7 @@ def load_model_embedding(self): """ assert self.zoo_embedding.model_id is not None, "choose embedding model first" model_dir = self.model_lookuptable.model_path[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] - if not model_dir.endswith("/"): - model_dir += "/" + model_dir = self.path.join(model_dir, '') md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] self.estimator_embedding = EstimatorKerasEmbedding( data=self.data, @@ -209,8 +199,7 @@ def load_model_celltype(self): """ assert self.zoo_celltype.model_id is not None, "choose cell type model first" model_dir = self.model_lookuptable.model_path[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] - if not model_dir.endswith("/"): - model_dir += "/" + model_dir = self.path.join(model_dir, '') md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] self.estimator_celltype = EstimatorKerasCelltype( data=self.data, diff --git a/sfaira/train/summaries.py b/sfaira/train/summaries.py index 0f20a8748..cb2832c0f 100644 --- a/sfaira/train/summaries.py +++ b/sfaira/train/summaries.py @@ -135,7 +135,7 @@ def load_gs( :param gs_ids: :return: """ - res_dirs = [self.source_path + x + "/results/" for x in gs_ids] + res_dirs = [os.path.join(self.source_path, x, "results", "") for x in gs_ids] run_ids = [ np.sort(np.unique([ x.split("_history.pickle")[0] @@ -149,36 +149,38 @@ def load_gs( hyperpars = {} model_hyperpars = {} run_ids_proc = [] - gs_keys = [] + gs_keys = gs_ids for i, indir in enumerate(res_dirs): for x in run_ids[i]: - fn_history = indir + x + "_history.pickle" + fn_history = os.path.join(indir, f"{x}_history.pickle") if os.path.isfile(fn_history): with open(fn_history, 'rb') as f: histories[x] = pickle.load(f) else: - print("file %s not found" % (x + "_history.pickle")) - fn_eval = indir + x + "_evaluation.pickle" + print(f"file {x}_history.pickle not found") + + fn_eval = os.path.join(indir, f"{x}_evaluation.pickle") if os.path.isfile(fn_eval): with open(fn_eval, 'rb') as f: evals[x] = pickle.load(f) else: - print("file %s not found" % (x + "_evaluation.pickle")) - fn_hp = indir + x + "_hyperparam.pickle" + print(f"file {x}_evaluation.pickle not found") + + fn_hp = os.path.join(indir, f"{x}_hyperparam.pickle") if os.path.isfile(fn_hp): with open(fn_hp, 'rb') as f: hyperpars[x] = pickle.load(f) else: - print("file %s not found" % (x + "_hyperparam.pickle")) - fn_mhp = indir + x + "_model_hyperparam.pickle" + print(f"file {x}_hyperparam.pickle not found") + + fn_mhp = os.path.join(indir, f"{x}_model_hyperparam.pickle") if os.path.isfile(fn_mhp): with open(fn_mhp, 'rb') as f: model_hyperpars[x] = pickle.load(f) else: - pass - #TODO add: print("file %s not found" % (x + "_model_hyperparam.pickle")) + print(f"file {x}_model_hyperparam.pickle not found") + run_ids_proc.append(x) - gs_keys.append(indir.split("/")[-3]) self.run_ids = run_ids_proc self.gs_keys = dict(zip(run_ids_proc, gs_keys)) @@ -192,7 +194,7 @@ def load_y( hat_or_true: str, run_id: str ): - fn = self.source_path + self.gs_keys[run_id] + "/results/" + run_id + f"_y{hat_or_true}.npy" + fn = os.path.join(self.source_path, self.gs_keys[run_id], "results", f"{run_id}_y{hat_or_true}.npy") return np.load(fn) def best_model_by_partition( @@ -273,7 +275,7 @@ def get_best_model_ids( if partition_select not in ["test", "val", "train"]: raise ValueError("partition %s not recognised" % partition_select) - metric_select = partition_select + "_" + metric_select + metric_select = f"{partition_select}_{metric_select}" if cv_mode.lower() == "mean": best_model = tab.groupby("run", as_index=False)[metric_select].mean().\ @@ -337,8 +339,8 @@ def save_best_weight( subset=subset, ) shutil.copyfile( - self.source_path + self.gs_keys[model_id] + "/results/" + model_id + "_weights.h5", - path + model_id + "_weights.h5" + os.path.join(self.source_path, self.gs_keys[model_id], "results", f"{model_id}_weights.h5"), + os.path.join(path, f"{model_id}_weights.h5") ) def plot_completions( @@ -438,7 +440,7 @@ def plot_best_model_by_hyperparam( for i, organ in enumerate(organs): summary_table = summary_table_param.loc[summary_table_param["organ"].values == organ, :] # Plot each metric: - ycol = partition_show + "_" + metric_select + ycol = f"{partition_show}_{metric_select}" if len(organs) == 1 and len(params) == 1: ax = np.array([ax]) sns.boxplot( @@ -511,7 +513,7 @@ def plot_training_history( sns_data = pandas.concat(sns_data, axis=0) else: cv = cv_key - sns_data = pandas.DataFrame(self.histories[model_gs_id + "_" + cv]) + sns_data = pandas.DataFrame(self.histories[f"{model_gs_id}_{cv}"]) sns_data["epoch"] = np.arange(0, sns_data.shape[0]) sns_data["cv"] = cv @@ -531,13 +533,13 @@ def plot_training_history( # metric if metric_show not in sns_data.columns: - raise ValueError("metric %s not found in %s" % (metric_show, str(sns_data.columns))) + raise ValueError(f"metric {metric_show} not found in {sns_data.columns}") sns_data_metric = pandas.concat([pandas.DataFrame({ "epoch": sns_data["epoch"].values, "cv": sns_data["cv"].values, metric_show: sns_data[metric_show].values, "partition": x - }) for i, x in enumerate([metric_show, "val_" + metric_show])]) + }) for i, x in enumerate([metric_show, f"val_{metric_show}"])]) sns.lineplot( x="epoch", y=metric_show, style="partition", hue="cv", data=sns_data_metric, ax=ax[i, 1] @@ -580,26 +582,26 @@ def write_best_hyparam( self.source_path, self.gs_keys[best_model_id], 'results', - best_model_id + best_model_id, ) else: file_path_base = os.path.join( self.source_path, - self.gs_keys[best_model_id + "_cv" + str(cvs[0])], + self.gs_keys[f"{best_model_id}_cv{cvs[0]}"], 'results', - best_model_id + "_cv" + str(cvs[0]) + f"{best_model_id}_cv{cvs[0]}", ) # Read model hyperparameter - with open(file_path_base + "_model_hyperparam.pickle", 'rb') as file: + with open(f"{file_path_base}_model_hyperparam.pickle", 'rb') as file: hyparam_model = pickle.load(file) # Read optimizer hyperparameter - with open(file_path_base + "_hyperparam.pickle", 'rb') as file: + with open(f"{file_path_base}_hyperparam.pickle", 'rb') as file: hyparam_optim = pickle.load(file) # Write both hyperparameter dicts - with open(os.path.join(write_path, best_model_id[:-12] + "_best_hyperparam.txt"), 'w') as file: + with open(os.path.join(write_path, f"{best_model_id[:-12]}_best_hyperparam.txt"), 'w') as file: file.write(json.dumps({"model": hyparam_model, "optimizer": hyparam_optim})) return @@ -630,7 +632,7 @@ def load_ontology_names( :param run_id: :return: """ - fn = self.source_path + self.gs_keys[run_id] + "/results/" + run_id + "_ontology_names.pickle" + fn = os.path.join(self.source_path, self.gs_keys[run_id], "results", f"{run_id}_ontology_names.pickle") if not os.path.isfile(fn): raise FileNotFoundError(f"file {run_id}_ontology_names.pickle not found") with open(fn, 'rb') as f: @@ -663,15 +665,15 @@ def create_summary_tab(self): metrics = list(self.evals.values())[0]['val'].keys() self.summary_tab = pandas.DataFrame(dict( list({ - "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], - "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], - "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], + "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], + "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], + "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], "dropout": [id_i.split("_")[self.model_id_len + 3] for id_i in self.run_ids], - "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], - "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], - "cv": [id_i.split("_")[-1] if self.cv else "cv0" for id_i in self.run_ids], - "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], - "organ": [id_i.split("_")[2] for id_i in self.run_ids], + "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], + "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], + "cv": [id_i.split("_")[-1] if self.cv else "cv0" for id_i in self.run_ids], + "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], + "organ": [id_i.split("_")[2] for id_i in self.run_ids], "model_type": [ "linear" if (id_i.split("_")[3] == "mlp" and id_i.split("_")[5].split(".")[1] == "0") else id_i.split("_")[3] @@ -705,12 +707,12 @@ def best_model_celltype( if model_id is not None: if cvs is not None: fns = [ - self.source_path + self.gs_keys[model_id + "_cv" + str(x)] + "/results/" + model_id + "_cv" + str(x) + os.path.join(self.source_path, self.gs_keys[f"{model_id}_cv{x}"], "results", f"{model_id}_cv{x}") for x in cvs ] else: - fns = [self.source_path + self.gs_keys[model_id] + "/results/" + model_id] - covar = [pandas.read_csv(x + "_covar.csv") for x in fns] + fns = [os.path.join(self.source_path, self.gs_keys[model_id], "results", model_id)] + covar = [pandas.read_csv(f"{x}_covar.csv") for x in fns] return model_id, covar else: return None, [None] @@ -777,7 +779,7 @@ def plot_best( np.logical_and( sns_tab["model_type"].values == m, sns_tab["organ"].values == o - ), partition_show + "_" + metric_show + ), f"{partition_show}_{metric_show}" ] if data_temp.shape[0] > 0: if self.cv: @@ -809,7 +811,7 @@ def plot_best( annot=True, fmt=".2f", ax=axs, vmin=0, vmax=1, xticklabels=True, yticklabels=True, - cbar_kws={'label': partition_show + "_" + metric_show}, + cbar_kws={'label': f"{partition_show}_{metric_show}"}, cmap=None ) return fig, axs, sns_data_heatmap @@ -910,9 +912,9 @@ def plot_best_classwise_heatmap( elif metric_show == "f1": m = f1(yhat, ytrue) else: - raise ValueError("did not recognize metric_show %s" % metric_show) + raise ValueError(f"did not recognize metric_show {metric_show}") vals.append(m) - sns_tab[metric_show + "_classwise"] = vals + sns_tab[f"{metric_show}_classwise"] = vals # Build figure. model_types = sns_tab["model_type"].unique() @@ -923,7 +925,7 @@ def plot_best_classwise_heatmap( hm = np.zeros((len(classes), len(model_types))) + np.nan # mask = np.isnan(hm) for i, m in enumerate(model_types): - data_temp = np.vstack(sns_tab.loc[sns_tab["model_type"].values == m, metric_show + "_classwise"].values) + data_temp = np.vstack(sns_tab.loc[sns_tab["model_type"].values == m, f"{metric_show}_classwise"].values) if data_temp.shape[0] > 0: if self.cv: if collapse_cv == "mean": @@ -961,7 +963,7 @@ def plot_best_classwise_heatmap( annot=True, fmt=".2f", ax=axs, vmin=0, vmax=1, xticklabels=True, yticklabels=True, - cbar_kws={'label': "test_" + metric_show}, + cbar_kws={'label': f"test_{metric_show}"}, cmap=None ) axs = sns.heatmap( @@ -1076,7 +1078,7 @@ def plot_best_classwise_scatter( else: raise ValueError("did not recognize metric_show %s" % metric_show) vals.append(m) - sns_tab[metric_show + "_classwise"] = vals + sns_tab[f"{metric_show}_classwise"] = vals # Build figure. model_types = sns_tab["model_type"].unique() @@ -1087,7 +1089,7 @@ def plot_best_classwise_scatter( hm = np.zeros((len(classes), len(model_types))) + np.nan # mask = np.isnan(hm) for i, m in enumerate(model_types): - data_temp = np.vstack(sns_tab.loc[sns_tab["model_type"].values == m, metric_show + "_classwise"].values) + data_temp = np.vstack(sns_tab.loc[sns_tab["model_type"].values == m, f"{metric_show}_classwise"].values) if data_temp.shape[0] > 0: if self.cv: if collapse_cv == "mean": @@ -1171,16 +1173,16 @@ def create_summary_tab(self): metrics = list(self.evals.values())[0]['val'].keys() self.summary_tab = pandas.DataFrame(dict( list({ - "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], - "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], - "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], - "dropout": [id_i.split("_")[self.model_id_len + 3] for id_i in self.run_ids], - "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], - "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], - "cv": [id_i.split("_")[-1] if self.cv else "1" for id_i in self.run_ids], - "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], - "organ": [id_i.split("_")[2] for id_i in self.run_ids], - "model_type": [id_i.split("_")[3] for id_i in self.run_ids], + "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], + "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], + "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], + "dropout": [id_i.split("_")[self.model_id_len + 3] for id_i in self.run_ids], + "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], + "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], + "cv": [id_i.split("_")[-1] if self.cv else "1" for id_i in self.run_ids], + "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], + "organ": [id_i.split("_")[2] for id_i in self.run_ids], + "model_type": [id_i.split("_")[3] for id_i in self.run_ids], "model_gs_id": ["_".join(id_i.split("_")[:(self.model_id_len + 6)]) for id_i in self.run_ids], "run": self.run_ids, }.items()) + @@ -1223,13 +1225,13 @@ def best_model_embedding( if model_id is not None: if cvs is not None: fns = [ - self.source_path + self.gs_keys[model_id + "_cv" + str(x)] + "/results/" + model_id + "_cv" + str(x) + os.path.join(self.source_path, self.gs_keys[f"{model_id}_cv{x}"], "results", f"{model_id}_cv{x}") for x in cvs ] else: - fns = [self.source_path + self.gs_keys[model_id] + "/results/" + model_id] - embedding = [np.load(x + "_embedding.npy") for x in fns] - covar = [pandas.read_csv(x + "_covar.csv") for x in fns] + fns = [os.path.join(self.source_path, self.gs_keys[model_id], "results", model_id)] + embedding = [np.load(f"{x}_embedding.npy") for x in fns] + covar = [pandas.read_csv(f"{x}_covar.csv") for x in fns] return model_id, embedding, covar else: return None, [None], [None] @@ -1288,7 +1290,7 @@ def plot_best( np.logical_and( sns_tab["model_type"].values == m, sns_tab["organ"].values == o - ), partition_show + "_" + metric_show + ), f"{partition_show}_{metric_show}" ] if data_temp.shape[0] > 0: if self.cv: @@ -1319,7 +1321,7 @@ def plot_best( annot=True, fmt=".2f", ax=axs, xticklabels=True, yticklabels=True, - cbar_kws={'label': partition_show + "_" + metric_show} + cbar_kws={'label': f"{partition_show}_{metric_show}"} ) return fig, axs, sns_data_heatmap @@ -1362,11 +1364,11 @@ def get_gradients_by_celltype( ) # check cached file - resultspath = os.path.join(self.source_path, self.gs_keys[model_id], 'results') + resultspath = os.path.join(self.source_path, self.gs_keys[model_id], 'results', '') - if os.path.isfile(os.path.join(resultspath, model_id + '_grads.pickle')) and not ignore_cache: + if os.path.isfile(os.path.join(resultspath, f'{model_id}_grads.pickle')) and not ignore_cache: print('Load gradients from cached file...') - with open(os.path.join(resultspath, model_id + '_grads.pickle'), 'rb') as f: + with open(os.path.join(resultspath, f'{model_id}_grads.pickle'), 'rb') as f: gradients_raw = pickle.load(f) else: print('Compute gradients (1/3): load data') @@ -1394,12 +1396,12 @@ def get_gradients_by_celltype( model_topology=model_id.split('_')[5] ) embedding.init_model() - embedding.model.training_model.load_weights(os.path.join(resultspath, model_id + '_weights.h5')) + embedding.model.training_model.load_weights(os.path.join(resultspath, f'{model_id}_weights.h5')) # compute gradients print('Compute gradients (3/3): cumulate gradients') gradients_raw = embedding.compute_gradients_input(test_data=test_data, batch_size=256, per_celltype=True) - with open(os.path.join(resultspath, model_id + '_grads.pickle'), 'wb') as f: + with open(os.path.join(resultspath, f'{model_id}_grads.pickle'), 'wb') as f: pickle.dump(gradients_raw, f, pickle.HIGHEST_PROTOCOL) print('Gradients saved to cache file!') From 511f9a3b5e87fcaa7fd01ee69173aaedccc85763 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 09:38:14 +0100 Subject: [PATCH 10/61] fix bug in lookup table writing --- sfaira/interface/user_interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 02c1b72d9..62ef9b32b 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -135,7 +135,7 @@ def write_lookuptable( if ids: pd.DataFrame( - list(zip(ids, weights_paths, md5)), + list(zip(ids, file_paths, md5)), columns=['model_id', 'model_path', 'md5'] ).sort_values('model_id').to_csv(os.path.join(repo_path, 'model_lookuptable.csv')) else: From 5781c7e04019a1dc7c184a870084179479598386 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 09:52:16 +0100 Subject: [PATCH 11/61] add mdoel file path to lookup table --- sfaira/interface/user_interface.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 62ef9b32b..b9557eb35 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -119,6 +119,7 @@ def write_lookuptable( import hashlib file_names = [] + model_paths = [] file_paths = [] md5 = [] for subdir, dirs, files in os.walk(repo_path): @@ -126,7 +127,8 @@ def write_lookuptable( if os.path.isfile(os.path.join(subdir, file)) and ( file.endswith('_weights.h5') or file.endswith('_weights.data-00000-of-00001')) and ( file.startswith('embedding') or file.startswith('celltype')): - file_paths.append(subdir) + model_paths.append(os.path.join(subdir, "")) + file_paths.append(os.path.join(subdir, file)) file_names.append(file) with open(os.path.join(subdir, file), 'rb') as f: md5.append(hashlib.md5(f.read()).hexdigest()) @@ -135,8 +137,8 @@ def write_lookuptable( if ids: pd.DataFrame( - list(zip(ids, file_paths, md5)), - columns=['model_id', 'model_path', 'md5'] + list(zip(ids, model_paths, file_paths, md5)), + columns=['model_id', 'model_path', 'model_file_path', 'md5'] ).sort_values('model_id').to_csv(os.path.join(repo_path, 'model_lookuptable.csv')) else: raise ValueError(f'No model weights found in {repo_path} ' From c18bf68c5dc86a60d09bbeaccff6d986afd96028 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 15:49:07 +0100 Subject: [PATCH 12/61] reset index in model lookuptable before saving --- sfaira/interface/user_interface.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index b9557eb35..2e49810e1 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -137,9 +137,12 @@ def write_lookuptable( if ids: pd.DataFrame( - list(zip(ids, model_paths, file_paths, md5)), - columns=['model_id', 'model_path', 'model_file_path', 'md5'] - ).sort_values('model_id').to_csv(os.path.join(repo_path, 'model_lookuptable.csv')) + list(zip(ids, model_paths, file_paths, md5)), + columns=['model_id', 'model_path', 'model_file_path', 'md5'] + )\ + .sort_values('model_id')\ + .reset_index(drop=True)\ + .to_csv(os.path.join(repo_path, 'model_lookuptable.csv')) else: raise ValueError(f'No model weights found in {repo_path} ' 'Weights need to have .h5 or .data-00000-of-00001 extension' From 77102ef1fb9ea5eb6cc548810953c82d6447bfc8 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 17:29:25 +0100 Subject: [PATCH 13/61] add method to user interface for pushing local model weights to zenodo --- requirements.txt | 1 + setup.py | 3 + sfaira/interface/user_interface.py | 103 +++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+) diff --git a/requirements.txt b/requirements.txt index 8c0d197f1..2ecab3f17 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,3 +12,4 @@ sphinx sphinx-autodoc-typehints sphinx_rtd_theme tqdm +requests diff --git a/setup.py b/setup.py index 2fa199560..95e4de8ce 100644 --- a/setup.py +++ b/setup.py @@ -47,6 +47,9 @@ 'extension': [ "sfaira_extension", ], + 'zenodo': [ + "requests" + ], 'docs': [ 'sphinx', 'sphinx-autodoc-typehints', diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 2e49810e1..6eb3f9ad3 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -7,6 +7,7 @@ import pandas as pd import os from typing import List, Union +import warnings from .external import EstimatorKerasEmbedding, EstimatorKerasCelltype from .model_zoo import ModelZooEmbedding, ModelZooCelltype @@ -149,6 +150,108 @@ def write_lookuptable( 'to be recognised' ) + def deposit_zenodo( + self, + zenodo_access_token: str, + title: str, + authors: list, + description: str, + publish: bool = False, + sandbox: bool = False + ): + """ + Deposit all models in model lookup table on Zenodo. If publish is set to false, files will be uploaded to a + deposition draft, which can be further edited (additional metadata, files etc.). Returns the DOI link if + publish=True or a link to the deposition draft if publish=False. + + :param zenodo_access_token: Your personal Zenodo API access token. Create one here: https://zenodo.org/account/settings/applications/tokens/new/ + :param title: Title of the Zenodo deposition + :param authors: List of dicts, where each dict defines one author (dict keys: name: Name of creator in the format "Family name, Given names", affiliation: Affiliation of creator (optional), orcid: ORCID identifier of creator (optional), gnd: GND identifier of creator (optional) + :param description: Description of the Zenodo deposition. + :param publish: Set this to True to directly publish the weights on Zenodo. When set to False a draft will be created, which can be edited in the browser before publishing. + :param sandbox: If True, use the Zenodo testing platform at https://sandbox.zenodo.org for your deposition. We recommend testing your upload with sandbox first as depositions cannot be deleted from the main Zenodo platfowm once created. + """ + + import requests + import json + headers = {"Content-Type": "application/json"} + params = {'access_token': zenodo_access_token} + sandbox = 'sandbox.' if sandbox else '' + + # Verify access token + r = requests.get(f'https://{sandbox}zenodo.org/api/deposit/depositions', params=params) + if r.status_code != 200: + raise ValueError( + "Your Zenodo access token was not accepted by the API. Please provide a valid access token.") + + # Create empty deposition + r = requests.post(f'https://{sandbox}zenodo.org/api/deposit/depositions', + params=params, + json={}, + headers=headers) + + # Obtain bucket URL and deposition ID + bucket_url = r.json()["links"]["bucket"] + deposition_id = r.json()['id'] + + # Loop over files in model lookup table and upload them one by one + for i, weight_path in enumerate(self.model_lookuptable['model_file_path']): + filename = os.path.basename(weight_path) + with open(weight_path, "rb") as fp: + r = requests.put( + f"{bucket_url}/{filename}", + data=fp, + params=params, + ) + # Verify checksum after upload + if r.json()['checksum'][4:] != self.model_lookuptable['md5'][i]: + warnings.warn(f"The md5 checksum in your model_lookuptable for {self.model_lookuptable['model_id'][i]} " + f"does not match the md5 checksum of the uploaded file.") + + # Add model lookup table to zenodo + df = self.model_lookuptable.copy() + df['model_path'] = f"https://{sandbox}zenodo.org/record/{deposition_id}/files/" + df['model_file_path'] = [f"https://{sandbox}zenodo.org/record/{deposition_id}/files/{os.path.basename(f)}" for f + in self.model_lookuptable['model_file_path']] + r = requests.put( + f"{bucket_url}/model_lookuptable.csv", + data=df.to_csv(), + params=params, + ) + + # Add metadata + r = requests.put(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}', + params=params, + data=json.dumps({ + 'metadata': { + 'title': title, + 'creators': authors, + 'description': description, + 'license': 'cc-by-4.0', + 'upload_type': 'dataset', + 'access_right': 'open' + } + }), + headers=headers) + + if not publish: + print(f"Zenodo deposition draft has been created: {r.json()['links']['latest_draft_html']}") + return r.json()['links']['latest_draft_html'] + else: + # Publish the deposition + r = requests.post(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}/actions/publish', + params=params) + if r.status_code == 202: + print(f"Weights referenced in model_lookuptable have been sucessfully published on Zenodo: " + f"{r.json()['links']['conceptdoi']}") + return r.json()['links']['conceptdoi'] + else: + try: + m = r.json()['message'] + except KeyError: + m = f"Submission failed with html status code {r.status_code}" + raise ValueError(m) + def load_data( self, data: anndata.AnnData From 76210698f871acc144639e36d5fa81ddda171cb1 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 18:20:14 +0100 Subject: [PATCH 14/61] fix bug in user interface --- sfaira/interface/user_interface.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 6eb3f9ad3..dc86cdfe9 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -281,7 +281,7 @@ def load_model_embedding(self): """ assert self.zoo_embedding.model_id is not None, "choose embedding model first" model_dir = self.model_lookuptable.model_path[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] - model_dir = self.path.join(model_dir, '') + model_dir = os.path.join(model_dir, '') md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] self.estimator_embedding = EstimatorKerasEmbedding( data=self.data, @@ -307,7 +307,7 @@ def load_model_celltype(self): """ assert self.zoo_celltype.model_id is not None, "choose cell type model first" model_dir = self.model_lookuptable.model_path[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] - model_dir = self.path.join(model_dir, '') + model_dir = os.path.join(model_dir, '') md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] self.estimator_celltype = EstimatorKerasCelltype( data=self.data, From 22cfca3dae14b6f2186769ad949fa3ae537dfb4a Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 21:07:30 +0100 Subject: [PATCH 15/61] fix bux in summaries.py --- sfaira/train/summaries.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sfaira/train/summaries.py b/sfaira/train/summaries.py index cb2832c0f..9dcae08fa 100644 --- a/sfaira/train/summaries.py +++ b/sfaira/train/summaries.py @@ -149,7 +149,7 @@ def load_gs( hyperpars = {} model_hyperpars = {} run_ids_proc = [] - gs_keys = gs_ids + gs_keys = [] for i, indir in enumerate(res_dirs): for x in run_ids[i]: fn_history = os.path.join(indir, f"{x}_history.pickle") @@ -181,6 +181,7 @@ def load_gs( print(f"file {x}_model_hyperparam.pickle not found") run_ids_proc.append(x) + gs_keys.append(os.path.normpath(indir).split(os.path.sep)[-2]) self.run_ids = run_ids_proc self.gs_keys = dict(zip(run_ids_proc, gs_keys)) From ab185f1bf3baa5693fbf95a4d56f3245d2967b2c Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 22:05:51 +0100 Subject: [PATCH 16/61] use absolute model paths when model_lookuptable is used --- sfaira/estimators/keras.py | 47 +++++++++++++++++++----------- sfaira/interface/user_interface.py | 6 ++-- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/sfaira/estimators/keras.py b/sfaira/estimators/keras.py index df32c1378..0e08e777d 100644 --- a/sfaira/estimators/keras.py +++ b/sfaira/estimators/keras.py @@ -89,34 +89,47 @@ def load_pretrained_weights(self): from urllib.parse import urljoin from urllib.error import HTTPError try: - urllib.request.urlretrieve(urljoin(self.model_dir, f'{self.model_id}_weights.h5'), - os.path.join(self.cache_path, f'{self.model_id}_weights.h5') + urllib.request.urlretrieve(self.model_dir, + os.path.join(self.cache_path, os.path.basename(self.model_dir)) ) + fn = os.path.join(self.cache_path, os.path.basename(self.model_dir)) except HTTPError: try: - urllib.request.urlretrieve(urljoin(self.model_dir, f'{self.model_id}_weights.data-00000-of-00001'), - os.path.join(self.cache_path, f'{self.model_id}_weights.data-00000-of-00001') + urllib.request.urlretrieve(urljoin(self.model_dir, f'{self.model_id}_weights.h5'), + os.path.join(self.cache_path, f'{self.model_id}_weights.h5') ) + fn = os.path.join(self.cache_path, f"{self.model_id}_weights.h5") except HTTPError: - raise FileNotFoundError(f'cannot find remote weightsfile: {self.model_dir + self.model_id}') - - fn = os.path.join(self.cache_path, f"{self.model_id}_weights") + try: + urllib.request.urlretrieve(urljoin(self.model_dir, f'{self.model_id}_weights.data-00000-of-00001'), + os.path.join(self.cache_path, f'{self.model_id}_weights.data-00000-of-00001') + ) + fn = os.path.join(self.cache_path, f"{self.model_id}_weights.data-00000-of-00001") + except HTTPError: + raise FileNotFoundError(f'cannot find remote weightsfile') else: # Local repo if not self.model_dir: raise ValueError('the model_id is set but the path to the model is empty') - fn = os.path.join(self.model_dir, f"{self.model_id}_weights") + if os.path.isfile(self.model_dir) \ + and not self.model_dir.endswith(".h5") \ + and not self.model_dir.endswith(".data-00000-of-00001"): + raise ValueError('weights files saved in h5 format need to have an h5 file extension') + + if os.path.isfile(self.model_dir): + fn = self.model_dir + elif os.path.isfile(os.path.join(self.model_dir, f"{self.model_id}_weights.data-00000-of-00001")): + fn = os.path.join(self.model_dir, f"{self.model_id}_weights.data-00000-of-00001") + elif os.path.isfile(os.path.join(self.model_dir, f"{self.model_id}_weights.h5")): + fn = os.path.join(self.model_dir, f"{self.model_id}_weights.h5") + else: + raise ValueError(f'the weightsfile {fn} could not be found') - if os.path.exists(f'{fn}.h5'): - self._assert_md5_sum(f'{fn}.h5', self.md5) - self.model.training_model.load_weights(f'{fn}.h5') - elif os.path.exists(f"{fn}.data-00000-of-00001"): - self._assert_md5_sum(f"{fn}.data-00000-of-00001", self.md5) - self.model.training_model.load_weights(fn) - elif os.path.exists(fn): - raise ValueError('weights files saved in h5 format need to have an h5 file extension') + self._assert_md5_sum(fn, self.md5) + if fn.endswith(".data-00000-of-00001"): + self.model.training_model.load_weights(".".join(fn.split(".")[:-1])) else: - raise ValueError(f'the weightsfile {fn} could not be found') + self.model.training_model.load_weights(fn) def save_weights_to_cache(self): if not os.path.exists(os.path.join(self.cache_path, 'weights')): diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index dc86cdfe9..11ca4f119 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -280,8 +280,7 @@ def load_model_embedding(self): :return: Model ID loaded. """ assert self.zoo_embedding.model_id is not None, "choose embedding model first" - model_dir = self.model_lookuptable.model_path[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] - model_dir = os.path.join(model_dir, '') + model_dir = self.model_lookuptable.model_file_path[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] self.estimator_embedding = EstimatorKerasEmbedding( data=self.data, @@ -306,8 +305,7 @@ def load_model_celltype(self): :return: Model ID loaded. """ assert self.zoo_celltype.model_id is not None, "choose cell type model first" - model_dir = self.model_lookuptable.model_path[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] - model_dir = os.path.join(model_dir, '') + model_dir = self.model_lookuptable.model_file_path[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] self.estimator_celltype = EstimatorKerasCelltype( data=self.data, From 71d41364999f24aef09e3498f719e12003ecf617 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 22:10:13 +0100 Subject: [PATCH 17/61] fix bug in pretrained weights loading --- sfaira/estimators/keras.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sfaira/estimators/keras.py b/sfaira/estimators/keras.py index 0e08e777d..a544b7b9f 100644 --- a/sfaira/estimators/keras.py +++ b/sfaira/estimators/keras.py @@ -78,7 +78,7 @@ def load_pretrained_weights(self): """ Loads model weights from local directory or zenodo. """ - self.model_dir = os.path.join(self.model_dir, '') + self.model_dir = self.model_dir if os.path.isfile(self.model_dir) else os.path.join(self.model_dir, '') if self.model_dir.startswith('http'): # Remote repo @@ -123,7 +123,7 @@ def load_pretrained_weights(self): elif os.path.isfile(os.path.join(self.model_dir, f"{self.model_id}_weights.h5")): fn = os.path.join(self.model_dir, f"{self.model_id}_weights.h5") else: - raise ValueError(f'the weightsfile {fn} could not be found') + raise ValueError('the weightsfile could not be found') self._assert_md5_sum(fn, self.md5) if fn.endswith(".data-00000-of-00001"): From 9d97d65d25656c708f5c9c42ea09c66c8fadca26 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 22:18:15 +0100 Subject: [PATCH 18/61] fix bug in pretrained weights loading --- sfaira/estimators/keras.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/sfaira/estimators/keras.py b/sfaira/estimators/keras.py index a544b7b9f..960a091b8 100644 --- a/sfaira/estimators/keras.py +++ b/sfaira/estimators/keras.py @@ -78,8 +78,6 @@ def load_pretrained_weights(self): """ Loads model weights from local directory or zenodo. """ - self.model_dir = self.model_dir if os.path.isfile(self.model_dir) else os.path.join(self.model_dir, '') - if self.model_dir.startswith('http'): # Remote repo if not os.path.exists(self.cache_path): From cce9e95affc339bb775ae2fd46d660f2e60573aa Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 22:47:20 +0100 Subject: [PATCH 19/61] automatically create an InteractiveDataset when loading data through the UI --- sfaira/data/interactive/loader.py | 4 ++-- sfaira/interface/external.py | 1 + sfaira/interface/user_interface.py | 37 ++++++++++++++++++++++++++---- 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/sfaira/data/interactive/loader.py b/sfaira/data/interactive/loader.py index 7991f7de8..45e6b6d8a 100644 --- a/sfaira/data/interactive/loader.py +++ b/sfaira/data/interactive/loader.py @@ -11,7 +11,7 @@ def __init__( species: str, organ: str, gene_symbol_col: Union[str, None] = 'index', - gene_ensg_col: Union[str, None] = None, + gene_ens_col: Union[str, None] = None, class_maps: dict = {}, dataset_id: str = "interactive", **kwargs @@ -32,7 +32,7 @@ def __init__( self.organ = organ self.gene_symbol_col = gene_symbol_col - self.gene_ensg_col = gene_ensg_col + self.gene_ensg_col = gene_ens_col self.class_maps = class_maps diff --git a/sfaira/interface/external.py b/sfaira/interface/external.py index f4e9a8a8f..21b2f69a2 100644 --- a/sfaira/interface/external.py +++ b/sfaira/interface/external.py @@ -3,3 +3,4 @@ import sfaira.versions.celltype_versions as celltype_versions from sfaira.versions.genome_versions import SuperGenomeContainer from sfaira.versions.topology_versions import Topologies +from sfaira.data.interactive import DatasetInteractive diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 11ca4f119..6739e6ea9 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -9,7 +9,7 @@ from typing import List, Union import warnings -from .external import EstimatorKerasEmbedding, EstimatorKerasCelltype +from .external import EstimatorKerasEmbedding, EstimatorKerasCelltype, DatasetInteractive from .model_zoo import ModelZooEmbedding, ModelZooCelltype @@ -254,13 +254,40 @@ def deposit_zenodo( def load_data( self, - data: anndata.AnnData + data: anndata.AnnData, + gene_symbol_col: Union[str, None] = None, + gene_ens_col: Union[str, None] = None ): """ + Loads the provided AnnData object into sfaira. + If genes in the provided AnnData object are annotated as gene symbols, please provide the name of the corresponding var column (or 'index') through the gene_symbol_col argument. + If genes in the provided AnnData object are annotated as ensembl ids, please provide the name of the corresponding var column (or 'index') through the gene_ens_col argument. + You need to provide at least one of the two. + :param data: AnnData object to load + :param gene_symbol_col: Var column name (or 'index') which contains gene symbols + :param gene_ens_col: ar column name (or 'index') which contains ensembl ids + """ + if self.zoo_embedding.species is not None: + species = self.zoo_embedding.species + organ = self.zoo_embedding.organ + elif self.zoo_celltype.species is None: + species = self.zoo_embedding.species + organ = self.zoo_embedding.organ + else: + raise ValueError("Please first set which model_id to use via the model zoo before loading the data") - :return: - """ - self.data = data + if gene_ens_col is None and gene_symbol_col is None: + raise ValueError("Please provide either the gene_ens_col or the gene_symbol_col argument.") + + dataset = DatasetInteractive( + data=data, + species=species, + organ=organ, + gene_symbol_col=gene_symbol_col, + gene_ens_col=gene_ens_col + ) + dataset.load() + self.data = dataset.adata def filter_cells(self): """ From ab9c5c7ef67052f67a8aabedda8bf323bd82dff2 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 11 Nov 2020 22:49:34 +0100 Subject: [PATCH 20/61] fix bug inUI data loading --- sfaira/interface/user_interface.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 6739e6ea9..132e35fed 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -270,9 +270,9 @@ def load_data( if self.zoo_embedding.species is not None: species = self.zoo_embedding.species organ = self.zoo_embedding.organ - elif self.zoo_celltype.species is None: - species = self.zoo_embedding.species - organ = self.zoo_embedding.organ + elif self.zoo_celltype.species is not None: + species = self.zoo_celltype.species + organ = self.zoo_celltype.organ else: raise ValueError("Please first set which model_id to use via the model zoo before loading the data") From b54cdb55d3f23ea46be176f6d4f8a56d2a48f792 Mon Sep 17 00:00:00 2001 From: Abdul Moeed Date: Fri, 20 Nov 2020 16:48:25 +0100 Subject: [PATCH 21/61] Explicitly cast indices and indptr of final backed file to int64. (#17) For the background on this: https://github.com/theislab/anndata/issues/453 --- sfaira/data/base.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sfaira/data/base.py b/sfaira/data/base.py index ed9910046..98d6d55c9 100644 --- a/sfaira/data/base.py +++ b/sfaira/data/base.py @@ -816,7 +816,10 @@ def load_all_tobacked( self.adata.filename = fn_backed # setting this attribute switches this anndata to a backed object # Note that setting .filename automatically redefines .X as dense, so we have to redefine it as sparse: if not as_dense: - self.adata.X = scipy.sparse.csr_matrix(self.adata.X) # redefines this backed anndata as sparse + X = scipy.sparse.csr_matrix(self.adata.X) # redefines this backed anndata as sparse + X.indices = X.indices.astype(np.int64) + X.indptr = X.indptr.astype(np.int64) + self.adata.X = X keys = [ "lab", "year", From 7273b504000e212299b307fe94b3c008fa2fe229 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Thu, 26 Nov 2020 18:48:47 +0100 Subject: [PATCH 22/61] update human lung dataset doi --- sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py | 4 ++-- .../human/lung/human_lung_2020_smartseq2_travaglini_002.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py b/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py index 07d5bf06c..21c3529fc 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py @@ -32,7 +32,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "human" - self.id = "human_lung_2020_10x_travaglini_001_10.1101/742320" + self.id = "human_lung_2020_10x_travaglini_001_10.1038/s41586-020-2922-4" self.download_website = "https://www.synapse.org/#!Synapse:syn21041850" self.organ = "lung" self.sub_tissue = "proximal, medial, distal, blood" @@ -115,7 +115,7 @@ def _load(self, fn=None): self.adata.uns["lab"] = 'Krasnow' self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1101/742320" + self.adata.uns["doi"] = "10.1038/s41586-020-2922-4" self.adata.uns["protocol"] = '10x' self.adata.uns["organ"] = self.organ self.adata.uns["subtissue"] = self.sub_tissue diff --git a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py b/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py index c7c40fc4f..0069a8bae 100644 --- a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py +++ b/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py @@ -32,7 +32,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "human" - self.id = "human_lung_2020_smartseq2_travaglini_002_10.1101/742320" + self.id = "human_lung_2020_smartseq2_travaglini_002_10.1038/s41586-020-2922-4" self.download_website = "https://www.synapse.org/#!Synapse:syn21041850" self.organ = "lung" self.sub_tissue = "proximal, medial, distal, blood" @@ -102,7 +102,7 @@ def _load(self, fn=None): self.adata.uns["lab"] = 'Krasnow' self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1101/742320" + self.adata.uns["doi"] = "10.1038/s41586-020-2922-4" self.adata.uns["protocol"] = 'smartseq2' self.adata.uns["organ"] = self.organ self.adata.uns["subtissue"] = self.sub_tissue From 76ca89b8929c0816fbe28c5f3c8c2f286f030009 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 1 Dec 2020 12:44:10 +0100 Subject: [PATCH 23/61] align mouse organ names with human organ names --- sfaira/data/mouse/__init__.py | 16 ++--- sfaira/data/mouse/adipose/__init__.py | 1 + .../data/mouse/{fat => adipose}/external.py | 0 .../mouse_adipose.py} | 14 ++-- .../mouse_adipose_2019_10x_pisco_001.py} | 10 +-- ...mouse_adipose_2019_smartseq2_pisco_001.py} | 10 +-- ...mouse_adipose_2019_smartseq2_pisco_002.py} | 10 +-- ...mouse_adipose_2019_smartseq2_pisco_003.py} | 10 +-- ...mouse_adipose_2019_smartseq2_pisco_004.py} | 10 +-- sfaira/data/mouse/blood/__init__.py | 1 + .../{large_intestine => blood}/external.py | 0 .../mouse_fat.py => blood/mouse_blood.py} | 14 ++-- .../mouse_blood_2018_microwell_han_001.py} | 6 +- .../mouse_blood_2018_microwell_han_002.py} | 6 +- .../mouse_blood_2018_microwell_han_003.py} | 6 +- .../mouse_blood_2018_microwell_han_004.py} | 6 +- .../mouse_blood_2018_microwell_han_005.py} | 6 +- sfaira/data/mouse/bone/__init__.py | 1 + .../mouse/{limb_muscle => bone}/external.py | 0 .../mouse_bone.py} | 10 +-- .../mouse_bone_2018_microwell_001.py} | 4 +- .../mouse_bone_2019_10x_pisco_001.py} | 8 +-- .../mouse_bone_2019_smartseq2_pisco_001.py} | 8 +-- sfaira/data/mouse/colon/__init__.py | 1 + .../{mammary_gland => colon}/external.py | 0 .../mouse_colon.py} | 8 +-- .../colon/mouse_colon_2019_10x_pisco_001.py | 72 +++++++++++++++++++ .../mouse_colon_2019_smartseq2_pisco_001.py | 72 +++++++++++++++++++ sfaira/data/mouse/fat/__init__.py | 1 - sfaira/data/mouse/ileum/__init__.py | 1 + .../data/mouse/{marrow => ileum}/external.py | 0 .../mouse_ileum.py} | 10 +-- .../mouse_ileum_2018_microwell_han_001.py} | 6 +- .../mouse_ileum_2018_microwell_han_002.py} | 6 +- .../mouse_ileum_2018_microwell_han_003.py} | 6 +- sfaira/data/mouse/large_intestine/__init__.py | 1 - ...ouse_large_intestine_2019_10x_pisco_001.py | 72 ------------------- ...arge_intestine_2019_smartseq2_pisco_001.py | 72 ------------------- sfaira/data/mouse/limb_muscle/__init__.py | 1 - ...se_limb_muscle_2019_smartseq2_pisco_001.py | 69 ------------------ sfaira/data/mouse/malegonad/__init__.py | 1 + .../external.py | 0 .../mouse_malegonad.py} | 8 +-- ...mouse_malegonad_2018_microwell_han_001.py} | 6 +- ...mouse_malegonad_2018_microwell_han_002.py} | 6 +- sfaira/data/mouse/mammary_gland/__init__.py | 1 - ..._mammary_gland_2019_smartseq2_pisco_001.py | 69 ------------------ sfaira/data/mouse/mammarygland/__init__.py | 1 + .../external.py | 0 .../mouse_mammarygland.py} | 12 ++-- ...se_mammarygland_2018_microwell_han_001.py} | 7 +- ...se_mammarygland_2018_microwell_han_002.py} | 6 +- ...se_mammarygland_2018_microwell_han_003.py} | 6 +- ...se_mammarygland_2018_microwell_han_004.py} | 6 +- .../mouse_mammarygland_2019_10x_pisco_001.py} | 10 +-- ...e_mammarygland_2019_smartseq2_pisco_001.py | 69 ++++++++++++++++++ sfaira/data/mouse/marrow/__init__.py | 1 - sfaira/data/mouse/muscle/__init__.py | 1 + .../data/mouse/{testis => muscle}/external.py | 0 .../mouse_muscle.py} | 10 +-- .../mouse_muscle_2018_microwell_han_001.py} | 6 +- .../mouse_muscle_2019_10x_pisco_001.py} | 10 +-- .../mouse_muscle_2019_smartseq2_pisco_001.py | 69 ++++++++++++++++++ .../data/mouse/peripheral_blood/__init__.py | 1 - sfaira/data/mouse/small_intestine/__init__.py | 1 - sfaira/data/mouse/testis/__init__.py | 1 - sfaira/data/utils/create_meta_mouse.py | 14 ++-- sfaira/data/utils/write_backed_mouse.py | 14 ++-- sfaira/train/train_model.py | 14 ++-- .../celltype_versions/mouse/__init__.py | 30 ++++---- .../mouse/{fat.py => adipose.py} | 12 ++-- .../mouse/{peripheral_blood.py => blood.py} | 12 ++-- .../mouse/{marrow.py => bone.py} | 12 ++-- .../mouse/{large_intestine.py => colon.py} | 12 ++-- .../mouse/{small_intestine.py => ileum.py} | 12 ++-- .../mouse/{testis.py => malegonad.py} | 12 ++-- .../{mammary_gland.py => mammarygland.py} | 0 .../mouse/{limb_muscle.py => muscle.py} | 12 ++-- 78 files changed, 509 insertions(+), 510 deletions(-) create mode 100644 sfaira/data/mouse/adipose/__init__.py rename sfaira/data/mouse/{fat => adipose}/external.py (100%) rename sfaira/data/mouse/{peripheral_blood/mouse_peripheral_blood.py => adipose/mouse_adipose.py} (62%) rename sfaira/data/mouse/{fat/mouse_fat_2019_10x_pisco_001.py => adipose/mouse_adipose_2019_10x_pisco_001.py} (87%) rename sfaira/data/mouse/{fat/mouse_fat_2019_smartseq2_pisco_003.py => adipose/mouse_adipose_2019_smartseq2_pisco_001.py} (87%) rename sfaira/data/mouse/{fat/mouse_fat_2019_smartseq2_pisco_002.py => adipose/mouse_adipose_2019_smartseq2_pisco_002.py} (87%) rename sfaira/data/mouse/{fat/mouse_fat_2019_smartseq2_pisco_004.py => adipose/mouse_adipose_2019_smartseq2_pisco_003.py} (87%) rename sfaira/data/mouse/{fat/mouse_fat_2019_smartseq2_pisco_001.py => adipose/mouse_adipose_2019_smartseq2_pisco_004.py} (87%) create mode 100644 sfaira/data/mouse/blood/__init__.py rename sfaira/data/mouse/{large_intestine => blood}/external.py (100%) rename sfaira/data/mouse/{fat/mouse_fat.py => blood/mouse_blood.py} (68%) rename sfaira/data/mouse/{peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py => blood/mouse_blood_2018_microwell_han_001.py} (95%) rename sfaira/data/mouse/{peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py => blood/mouse_blood_2018_microwell_han_002.py} (95%) rename sfaira/data/mouse/{peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py => blood/mouse_blood_2018_microwell_han_003.py} (95%) rename sfaira/data/mouse/{peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py => blood/mouse_blood_2018_microwell_han_004.py} (95%) rename sfaira/data/mouse/{peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py => blood/mouse_blood_2018_microwell_han_005.py} (95%) create mode 100644 sfaira/data/mouse/bone/__init__.py rename sfaira/data/mouse/{limb_muscle => bone}/external.py (100%) rename sfaira/data/mouse/{limb_muscle/mouse_limb_muscle.py => bone/mouse_bone.py} (70%) rename sfaira/data/mouse/{marrow/mouse_marrow_2018_microwell_001.py => bone/mouse_bone_2018_microwell_001.py} (96%) rename sfaira/data/mouse/{marrow/mouse_marrow_2019_10x_pisco_001.py => bone/mouse_bone_2019_10x_pisco_001.py} (88%) rename sfaira/data/mouse/{marrow/mouse_marrow_2019_smartseq2_pisco_001.py => bone/mouse_bone_2019_smartseq2_pisco_001.py} (88%) create mode 100644 sfaira/data/mouse/colon/__init__.py rename sfaira/data/mouse/{mammary_gland => colon}/external.py (100%) rename sfaira/data/mouse/{large_intestine/mouse_large_intestine.py => colon/mouse_colon.py} (73%) create mode 100644 sfaira/data/mouse/colon/mouse_colon_2019_10x_pisco_001.py create mode 100644 sfaira/data/mouse/colon/mouse_colon_2019_smartseq2_pisco_001.py delete mode 100644 sfaira/data/mouse/fat/__init__.py create mode 100644 sfaira/data/mouse/ileum/__init__.py rename sfaira/data/mouse/{marrow => ileum}/external.py (100%) rename sfaira/data/mouse/{small_intestine/mouse_small_intestine.py => ileum/mouse_ileum.py} (69%) rename sfaira/data/mouse/{small_intestine/mouse_small_intestine_2018_microwell_han_001.py => ileum/mouse_ileum_2018_microwell_han_001.py} (95%) rename sfaira/data/mouse/{small_intestine/mouse_small_intestine_2018_microwell_han_002.py => ileum/mouse_ileum_2018_microwell_han_002.py} (95%) rename sfaira/data/mouse/{small_intestine/mouse_small_intestine_2018_microwell_han_003.py => ileum/mouse_ileum_2018_microwell_han_003.py} (95%) delete mode 100644 sfaira/data/mouse/large_intestine/__init__.py delete mode 100644 sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py delete mode 100644 sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py delete mode 100644 sfaira/data/mouse/limb_muscle/__init__.py delete mode 100644 sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py create mode 100644 sfaira/data/mouse/malegonad/__init__.py rename sfaira/data/mouse/{peripheral_blood => malegonad}/external.py (100%) rename sfaira/data/mouse/{testis/mouse_testis.py => malegonad/mouse_malegonad.py} (75%) rename sfaira/data/mouse/{testis/mouse_testis_2018_microwell_han_001.py => malegonad/mouse_malegonad_2018_microwell_han_001.py} (95%) rename sfaira/data/mouse/{testis/mouse_testis_2018_microwell_han_002.py => malegonad/mouse_malegonad_2018_microwell_han_002.py} (95%) delete mode 100644 sfaira/data/mouse/mammary_gland/__init__.py delete mode 100644 sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py create mode 100644 sfaira/data/mouse/mammarygland/__init__.py rename sfaira/data/mouse/{small_intestine => mammarygland}/external.py (100%) rename sfaira/data/mouse/{mammary_gland/mouse_mammary_gland.py => mammarygland/mouse_mammarygland.py} (67%) rename sfaira/data/mouse/{mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py => mammarygland/mouse_mammarygland_2018_microwell_han_001.py} (95%) rename sfaira/data/mouse/{mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py => mammarygland/mouse_mammarygland_2018_microwell_han_002.py} (95%) rename sfaira/data/mouse/{mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py => mammarygland/mouse_mammarygland_2018_microwell_han_003.py} (95%) rename sfaira/data/mouse/{mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py => mammarygland/mouse_mammarygland_2018_microwell_han_004.py} (95%) rename sfaira/data/mouse/{mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py => mammarygland/mouse_mammarygland_2019_10x_pisco_001.py} (85%) create mode 100644 sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_smartseq2_pisco_001.py delete mode 100644 sfaira/data/mouse/marrow/__init__.py create mode 100644 sfaira/data/mouse/muscle/__init__.py rename sfaira/data/mouse/{testis => muscle}/external.py (100%) rename sfaira/data/mouse/{marrow/mouse_marrow.py => muscle/mouse_muscle.py} (73%) rename sfaira/data/mouse/{limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py => muscle/mouse_muscle_2018_microwell_han_001.py} (95%) rename sfaira/data/mouse/{limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py => muscle/mouse_muscle_2019_10x_pisco_001.py} (86%) create mode 100644 sfaira/data/mouse/muscle/mouse_muscle_2019_smartseq2_pisco_001.py delete mode 100644 sfaira/data/mouse/peripheral_blood/__init__.py delete mode 100644 sfaira/data/mouse/small_intestine/__init__.py delete mode 100644 sfaira/data/mouse/testis/__init__.py rename sfaira/versions/celltype_versions/mouse/{fat.py => adipose.py} (76%) rename sfaira/versions/celltype_versions/mouse/{peripheral_blood.py => blood.py} (60%) rename sfaira/versions/celltype_versions/mouse/{marrow.py => bone.py} (83%) rename sfaira/versions/celltype_versions/mouse/{large_intestine.py => colon.py} (67%) rename sfaira/versions/celltype_versions/mouse/{small_intestine.py => ileum.py} (64%) rename sfaira/versions/celltype_versions/mouse/{testis.py => malegonad.py} (66%) rename sfaira/versions/celltype_versions/mouse/{mammary_gland.py => mammarygland.py} (100%) rename sfaira/versions/celltype_versions/mouse/{limb_muscle.py => muscle.py} (72%) diff --git a/sfaira/data/mouse/__init__.py b/sfaira/data/mouse/__init__.py index 69c58a155..e67027a7f 100644 --- a/sfaira/data/mouse/__init__.py +++ b/sfaira/data/mouse/__init__.py @@ -1,26 +1,26 @@ from .bladder import DatasetGroupBladder from .brain import DatasetGroupBrain from .diaphragm import DatasetGroupDiaphragm -from .fat import DatasetGroupFat +from .adipose import DatasetGroupAdipose from .heart import DatasetGroupHeart from .kidney import DatasetGroupKidney -from .large_intestine import DatasetGroupLargeintestine -from .limb_muscle import DatasetGroupLimbmuscle +from .colon import DatasetGroupColon +from .muscle import DatasetGroupMuscle from .liver import DatasetGroupLiver from .lung import DatasetGroupLung -from .mammary_gland import DatasetGroupMammaryGland -from .marrow import DatasetGroupMarrow +from .mammarygland import DatasetGroupMammaryGland +from .bone import DatasetGroupBone from .ovary import DatasetGroupOvary from .pancreas import DatasetGroupPancreas from .placenta import DatasetGroupPlacenta -from .peripheral_blood import DatasetGroupPeripheralBlood +from .blood import DatasetGroupBlood from .prostate import DatasetGroupProstate from .rib import DatasetGroupRib -from .small_intestine import DatasetGroupSmallintestine +from .ileum import DatasetGroupIleum from .skin import DatasetGroupSkin from .spleen import DatasetGroupSpleen from .stomach import DatasetGroupStomach -from .testis import DatasetGroupTestis +from .malegonad import DatasetGroupMalegonad from .thymus import DatasetGroupThymus from .tongue import DatasetGroupTongue from .trachae import DatasetGroupTrachea diff --git a/sfaira/data/mouse/adipose/__init__.py b/sfaira/data/mouse/adipose/__init__.py new file mode 100644 index 000000000..c23acef29 --- /dev/null +++ b/sfaira/data/mouse/adipose/__init__.py @@ -0,0 +1 @@ +from .mouse_adipose import DatasetGroupAdipose \ No newline at end of file diff --git a/sfaira/data/mouse/fat/external.py b/sfaira/data/mouse/adipose/external.py similarity index 100% rename from sfaira/data/mouse/fat/external.py rename to sfaira/data/mouse/adipose/external.py diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood.py b/sfaira/data/mouse/adipose/mouse_adipose.py similarity index 62% rename from sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood.py rename to sfaira/data/mouse/adipose/mouse_adipose.py index 6177b0115..f1e14026a 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood.py +++ b/sfaira/data/mouse/adipose/mouse_adipose.py @@ -3,14 +3,14 @@ from .external import DatasetGroupBase -from .mouse_peripheral_blood_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_peripheral_blood_2018_microwell_han_002 import Dataset as Dataset0002 -from .mouse_peripheral_blood_2018_microwell_han_003 import Dataset as Dataset0003 -from .mouse_peripheral_blood_2018_microwell_han_004 import Dataset as Dataset0004 -from .mouse_peripheral_blood_2018_microwell_han_005 import Dataset as Dataset0005 +from .mouse_adipose_2019_10x_pisco_001 import Dataset as Dataset0001 +from .mouse_adipose_2019_smartseq2_pisco_001 import Dataset as Dataset0002 +from .mouse_adipose_2019_smartseq2_pisco_002 import Dataset as Dataset0003 +from .mouse_adipose_2019_smartseq2_pisco_003 import Dataset as Dataset0004 +from .mouse_adipose_2019_smartseq2_pisco_004 import Dataset as Dataset0005 -class DatasetGroupPeripheralBlood (DatasetGroupBase): +class DatasetGroupAdipose(DatasetGroupBase): def __init__( self, @@ -29,6 +29,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupPeripheralBlood().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupAdipose().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_10x_pisco_001.py similarity index 87% rename from sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py rename to sfaira/data/mouse/adipose/mouse_adipose_2019_10x_pisco_001.py index 40cb31075..1ce6d2f0c 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/adipose/mouse_adipose_2019_10x_pisco_001.py @@ -17,7 +17,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_fat_2019_smartseq2_pisco_004_10.1101/661728" + self.id = "mouse_adipose_2019_smartseq2_pisco_004_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -25,8 +25,8 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "fat" - self.sub_tissue = "fat" + self.organ = "adipose" + self.sub_tissue = "adipose" self.has_celltypes = True self.class_maps = { @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-droplet-processed-official-annotations-Fat.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-droplet-processed-official-annotations-Fat.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "fat", "Fat_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "Fat_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_001.py similarity index 87% rename from sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py rename to sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_001.py index db1af7235..1a1e6e614 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_003.py +++ b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_001.py @@ -17,7 +17,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_fat_2019_smartseq2_pisco_003_10.1101/661728" + self.id = "mouse_adipose_2019_smartseq2_pisco_001_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -25,8 +25,8 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "fat" - self.sub_tissue = "fat" + self.organ = "adipose" + self.sub_tissue = "adipose" self.has_celltypes = True self.class_maps = { @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-MAT.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-BAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "fat", "mat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "bat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_002.py similarity index 87% rename from sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py rename to sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_002.py index c008b5bd5..7499b3ab6 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_002.py +++ b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_002.py @@ -15,7 +15,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_fat_2019_smartseq2_pisco_002_10.1101/661728" + self.id = "mouse_adipose_2019_smartseq2_pisco_002_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -23,8 +23,8 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "fat" - self.sub_tissue = "fat" + self.organ = "adipose" + self.sub_tissue = "adipose" self.has_celltypes = True self.class_maps = { @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-GAT.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-GAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "fat", "gat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "gat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_003.py similarity index 87% rename from sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py rename to sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_003.py index ebf1b4064..0f0030c8c 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_004.py +++ b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_003.py @@ -17,7 +17,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_fat_2019_smartseq2_pisco_004_10.1101/661728" + self.id = "mouse_adipose_2019_smartseq2_pisco_003_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -25,8 +25,8 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "fat" - self.sub_tissue = "fat" + self.organ = "adipose" + self.sub_tissue = "adipose" self.has_celltypes = True self.class_maps = { @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-SCAT.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-MAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "fat", "scat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "mat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_004.py similarity index 87% rename from sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py rename to sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_004.py index 218205d03..e74a9c555 100644 --- a/sfaira/data/mouse/fat/mouse_fat_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_004.py @@ -17,7 +17,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_fat_2019_smartseq2_pisco_001_10.1101/661728" + self.id = "mouse_adipose_2019_smartseq2_pisco_004_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -25,8 +25,8 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "fat" - self.sub_tissue = "fat" + self.organ = "adipose" + self.sub_tissue = "adipose" self.has_celltypes = True self.class_maps = { @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "fat", "tabula-muris-senis-facs-processed-official-annotations-BAT.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-SCAT.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "fat", "bat_facs.h5ad") + fn = os.path.join(self.path, "mouse", "adipose", "scat_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/blood/__init__.py b/sfaira/data/mouse/blood/__init__.py new file mode 100644 index 000000000..6b0e27f4f --- /dev/null +++ b/sfaira/data/mouse/blood/__init__.py @@ -0,0 +1 @@ +from .mouse_blood import DatasetGroupBlood \ No newline at end of file diff --git a/sfaira/data/mouse/large_intestine/external.py b/sfaira/data/mouse/blood/external.py similarity index 100% rename from sfaira/data/mouse/large_intestine/external.py rename to sfaira/data/mouse/blood/external.py diff --git a/sfaira/data/mouse/fat/mouse_fat.py b/sfaira/data/mouse/blood/mouse_blood.py similarity index 68% rename from sfaira/data/mouse/fat/mouse_fat.py rename to sfaira/data/mouse/blood/mouse_blood.py index 670227066..451fa7b70 100644 --- a/sfaira/data/mouse/fat/mouse_fat.py +++ b/sfaira/data/mouse/blood/mouse_blood.py @@ -3,14 +3,14 @@ from .external import DatasetGroupBase -from .mouse_fat_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_fat_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_fat_2019_smartseq2_pisco_002 import Dataset as Dataset0003 -from .mouse_fat_2019_smartseq2_pisco_003 import Dataset as Dataset0004 -from .mouse_fat_2019_smartseq2_pisco_004 import Dataset as Dataset0005 +from .mouse_blood_2018_microwell_han_001 import Dataset as Dataset0001 +from .mouse_blood_2018_microwell_han_002 import Dataset as Dataset0002 +from .mouse_blood_2018_microwell_han_003 import Dataset as Dataset0003 +from .mouse_blood_2018_microwell_han_004 import Dataset as Dataset0004 +from .mouse_blood_2018_microwell_han_005 import Dataset as Dataset0005 -class DatasetGroupFat(DatasetGroupBase): +class DatasetGroupBlood (DatasetGroupBase): def __init__( self, @@ -29,6 +29,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupFat().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupBlood().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_001.py similarity index 95% rename from sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py rename to sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_001.py index 32084ee95..8435f9343 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_001.py +++ b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_001.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_peripheral_blood_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" + self.id = "mouse_blood_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "peripheral_blood" - self.sub_tissue = "peripheral_blood" + self.organ = "blood" + self.sub_tissue = "blood" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_002.py similarity index 95% rename from sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py rename to sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_002.py index 010468a3f..9693ae727 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_002.py +++ b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_002.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_peripheral_blood_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" + self.id = "mouse_blood_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "peripheral_blood" - self.sub_tissue = "peripheral_blood" + self.organ = "blood" + self.sub_tissue = "blood" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_003.py similarity index 95% rename from sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py rename to sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_003.py index 427e8c8ad..9d8ef9088 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_003.py +++ b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_003.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_peripheral_blood_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" + self.id = "mouse_blood_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "peripheral_blood" - self.sub_tissue = "peripheral_blood" + self.organ = "blood" + self.sub_tissue = "blood" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_004.py similarity index 95% rename from sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py rename to sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_004.py index 642f50e60..e8b1920a1 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_004.py +++ b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_004.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_peripheral_blood_2018_microwell-seq_han_004_10.1016/j.cell.2018.02.001" + self.id = "mouse_blood_2018_microwell-seq_han_004_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "peripheral_blood" - self.sub_tissue = "peripheral_blood" + self.organ = "blood" + self.sub_tissue = "blood" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_005.py similarity index 95% rename from sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py rename to sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_005.py index 5cf7db1b2..c6ab5b055 100644 --- a/sfaira/data/mouse/peripheral_blood/mouse_peripheral_blood_2018_microwell_han_005.py +++ b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_005.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_peripheral_blood_2018_microwell-seq_han_005_10.1016/j.cell.2018.02.001" + self.id = "mouse_blood_2018_microwell-seq_han_005_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "peripheral_blood" - self.sub_tissue = "peripheral_blood" + self.organ = "blood" + self.sub_tissue = "blood" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/bone/__init__.py b/sfaira/data/mouse/bone/__init__.py new file mode 100644 index 000000000..9b6ccd006 --- /dev/null +++ b/sfaira/data/mouse/bone/__init__.py @@ -0,0 +1 @@ +from .mouse_bone import DatasetGroupBone \ No newline at end of file diff --git a/sfaira/data/mouse/limb_muscle/external.py b/sfaira/data/mouse/bone/external.py similarity index 100% rename from sfaira/data/mouse/limb_muscle/external.py rename to sfaira/data/mouse/bone/external.py diff --git a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle.py b/sfaira/data/mouse/bone/mouse_bone.py similarity index 70% rename from sfaira/data/mouse/limb_muscle/mouse_limb_muscle.py rename to sfaira/data/mouse/bone/mouse_bone.py index f37eec502..2b9596bcb 100644 --- a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle.py +++ b/sfaira/data/mouse/bone/mouse_bone.py @@ -3,12 +3,12 @@ from .external import DatasetGroupBase -from .mouse_limb_muscle_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_limb_muscle_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_limb_muscle_2018_microwell_han_001 import Dataset as Dataset0003 +from .mouse_bone_2019_10x_pisco_001 import Dataset as Dataset0001 +from .mouse_bone_2019_smartseq2_pisco_001 import Dataset as Dataset0002 +from .mouse_bone_2018_microwell_001 import Dataset as Dataset0003 -class DatasetGroupLimbmuscle(DatasetGroupBase): +class DatasetGroupBone(DatasetGroupBase): def __init__( self, @@ -25,6 +25,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupLimbmuscle().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupBone().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/marrow/mouse_marrow_2018_microwell_001.py b/sfaira/data/mouse/bone/mouse_bone_2018_microwell_001.py similarity index 96% rename from sfaira/data/mouse/marrow/mouse_marrow_2018_microwell_001.py rename to sfaira/data/mouse/bone/mouse_bone_2018_microwell_001.py index 8fb5a55ae..0834d2d1d 100644 --- a/sfaira/data/mouse/marrow/mouse_marrow_2018_microwell_001.py +++ b/sfaira/data/mouse/bone/mouse_bone_2018_microwell_001.py @@ -16,9 +16,9 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_marrow_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" + self.id = "mouse_bone_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "marrow" + self.organ = "bone" self.sub_tissue = "marrow" self.has_celltypes = True diff --git a/sfaira/data/mouse/marrow/mouse_marrow_2019_10x_pisco_001.py b/sfaira/data/mouse/bone/mouse_bone_2019_10x_pisco_001.py similarity index 88% rename from sfaira/data/mouse/marrow/mouse_marrow_2019_10x_pisco_001.py rename to sfaira/data/mouse/bone/mouse_bone_2019_10x_pisco_001.py index 1062f62f5..76bfffe2d 100644 --- a/sfaira/data/mouse/marrow/mouse_marrow_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/bone/mouse_bone_2019_10x_pisco_001.py @@ -17,7 +17,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_marrow_2019_10x_pisco_001_10.1101/661728" + self.id = "mouse_bone_2019_10x_pisco_001_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -25,7 +25,7 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "marrow" + self.organ = "bone" self.sub_tissue = "marrow" self.has_celltypes = True @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "marrow", "tabula-muris-senis-droplet-processed-official-annotations-Marrow.h5ad") + fn = os.path.join(self.path, "mouse", "bone", "tabula-muris-senis-droplet-processed-official-annotations-Marrow.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "marrow", "Marrow_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "bone", "Marrow_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/marrow/mouse_marrow_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/bone/mouse_bone_2019_smartseq2_pisco_001.py similarity index 88% rename from sfaira/data/mouse/marrow/mouse_marrow_2019_smartseq2_pisco_001.py rename to sfaira/data/mouse/bone/mouse_bone_2019_smartseq2_pisco_001.py index 59dd26c3b..ae69b645a 100644 --- a/sfaira/data/mouse/marrow/mouse_marrow_2019_smartseq2_pisco_001.py +++ b/sfaira/data/mouse/bone/mouse_bone_2019_smartseq2_pisco_001.py @@ -17,7 +17,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_marrow_2019_smartseq2_pisco_001_10.1101/661728" + self.id = "mouse_bone_2019_smartseq2_pisco_001_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -25,7 +25,7 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "marrow" + self.organ = "bone" self.sub_tissue = "marrow" self.has_celltypes = True @@ -38,9 +38,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "marrow", "tabula-muris-senis-facs-processed-official-annotations-Marrow.h5ad") + fn = os.path.join(self.path, "mouse", "bone", "tabula-muris-senis-facs-processed-official-annotations-Marrow.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "marrow", "Marrow_facs.h5ad") + fn = os.path.join(self.path, "mouse", "bone", "Marrow_facs.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/colon/__init__.py b/sfaira/data/mouse/colon/__init__.py new file mode 100644 index 000000000..8e57ba03e --- /dev/null +++ b/sfaira/data/mouse/colon/__init__.py @@ -0,0 +1 @@ +from .mouse_colon import DatasetGroupColon \ No newline at end of file diff --git a/sfaira/data/mouse/mammary_gland/external.py b/sfaira/data/mouse/colon/external.py similarity index 100% rename from sfaira/data/mouse/mammary_gland/external.py rename to sfaira/data/mouse/colon/external.py diff --git a/sfaira/data/mouse/large_intestine/mouse_large_intestine.py b/sfaira/data/mouse/colon/mouse_colon.py similarity index 73% rename from sfaira/data/mouse/large_intestine/mouse_large_intestine.py rename to sfaira/data/mouse/colon/mouse_colon.py index ebf9c14cc..94723347d 100644 --- a/sfaira/data/mouse/large_intestine/mouse_large_intestine.py +++ b/sfaira/data/mouse/colon/mouse_colon.py @@ -3,11 +3,11 @@ from .external import DatasetGroupBase -from .mouse_large_intestine_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_large_intestine_2019_smartseq2_pisco_001 import Dataset as Dataset0002 +from .mouse_colon_2019_10x_pisco_001 import Dataset as Dataset0001 +from .mouse_colon_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -class DatasetGroupLargeintestine(DatasetGroupBase): +class DatasetGroupColon(DatasetGroupBase): def __init__( self, @@ -23,6 +23,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupLargeintestine().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupColon().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/colon/mouse_colon_2019_10x_pisco_001.py b/sfaira/data/mouse/colon/mouse_colon_2019_10x_pisco_001.py new file mode 100644 index 000000000..18db6f265 --- /dev/null +++ b/sfaira/data/mouse/colon/mouse_colon_2019_10x_pisco_001.py @@ -0,0 +1,72 @@ +import anndata +import os +from typing import Union +from .external import DatasetBase + + +class Dataset(DatasetBase): + + id: str + + def __init__( + self, + path: Union[str, None] = None, + meta_path: Union[str, None] = None, + source: str = "aws", + **kwargs + ): + DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) + self.species = "mouse" + self.id = "mouse_colon_2019_10x_pisco_001_10.1101/661728" + self.source = source + if self.source == "aws": + self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" + elif self.source == "figshare": + self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" + else: + raise ValueError("source %s not recognized" % self.source) + self.organ = "colon" + self.sub_tissue = "colon" + self.has_celltypes = True + + self.class_maps = { + "0": {}, + } + + def _load(self, fn=None): + if fn is None: + if self.path is None: + raise ValueError("provide either fn in load or path in constructor") + fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_droplet.h5ad") + if self.source == "aws": + fn = os.path.join(self.path, "mouse", "colon", "tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad") + elif self.source == "figshare": + fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_droplet.h5ad") + else: + raise ValueError("source %s not recognized" % self.source) + self.adata = anndata.read_h5ad(fn) + if self.source == "aws": + self.adata.X = self.adata.raw.X + self.adata.var = self.adata.raw.var + del self.adata.raw + self.adata.obsm = {} + self.adata.varm = {} + self.adata.uns = {} + + self.adata.uns["lab"] = "Quake" + self.adata.uns["year"] = "2019" + self.adata.uns["doi"] = "10.1101/661728" + self.adata.uns["protocol"] = "10x" + self.adata.uns["organ"] = self.organ + self.adata.uns["subtissue"] = self.sub_tissue + self.adata.uns["animal"] = "mouse" + self.adata.uns["id"] = self.id + self.adata.uns["wget_download"] = self.download_website + self.adata.uns["has_celltypes"] = self.has_celltypes + self.adata.uns["counts"] = 'norm' + # self.adata.obs["cell_ontology_class"] is already set + self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() + self.adata.obs["healthy"] = True + self.adata.obs["state_exact"] = "healthy" + + self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/colon/mouse_colon_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/colon/mouse_colon_2019_smartseq2_pisco_001.py new file mode 100644 index 000000000..299b15ede --- /dev/null +++ b/sfaira/data/mouse/colon/mouse_colon_2019_smartseq2_pisco_001.py @@ -0,0 +1,72 @@ +import anndata +import os +from typing import Union +from .external import DatasetBase + + +class Dataset(DatasetBase): + + id: str + + def __init__( + self, + path: Union[str, None] = None, + meta_path: Union[str, None] = None, + source: str = "aws", + **kwargs + ): + DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) + self.species = "mouse" + self.id = "mouse_colon_2019_smartseq2_pisco_001_10.1101/661728" + self.source = source + if self.source == "aws": + self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" + elif self.source == "figshare": + self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" + else: + raise ValueError("source %s not recognized" % self.source) + self.organ = "colon" + self.sub_tissue = "colon" + self.has_celltypes = True + + self.class_maps = { + "0": {}, + } + + def _load(self, fn=None): + if fn is None: + if self.path is None: + raise ValueError("provide either fn in load or path in constructor") + fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_facs.h5ad") + if self.source == "aws": + fn = os.path.join(self.path, "mouse", "colon", "tabula-muris-senis-facs-processed-official-annotations-Large_Intestine.h5ad") + elif self.source == "figshare": + fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_facs.h5ad") + else: + raise ValueError("source %s not recognized" % self.source) + self.adata = anndata.read_h5ad(fn) + if self.source == "aws": + self.adata.X = self.adata.raw.X + self.adata.var = self.adata.raw.var + del self.adata.raw + self.adata.obsm = {} + self.adata.varm = {} + self.adata.uns = {} + + self.adata.uns["lab"] = "Quake" + self.adata.uns["year"] = "2019" + self.adata.uns["doi"] = "10.1101/661728" + self.adata.uns["protocol"] = "smartseq2" + self.adata.uns["organ"] = self.organ + self.adata.uns["subtissue"] = self.sub_tissue + self.adata.uns["animal"] = "mouse" + self.adata.uns["id"] = self.id + self.adata.uns["wget_download"] = self.download_website + self.adata.uns["has_celltypes"] = self.has_celltypes + self.adata.uns["counts"] = 'norm' + # self.adata.obs["cell_ontology_class"] is already set + self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() + self.adata.obs["healthy"] = True + self.adata.obs["state_exact"] = "healthy" + + self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/fat/__init__.py b/sfaira/data/mouse/fat/__init__.py deleted file mode 100644 index b4ea53fe0..000000000 --- a/sfaira/data/mouse/fat/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_fat import DatasetGroupFat \ No newline at end of file diff --git a/sfaira/data/mouse/ileum/__init__.py b/sfaira/data/mouse/ileum/__init__.py new file mode 100644 index 000000000..89c13450a --- /dev/null +++ b/sfaira/data/mouse/ileum/__init__.py @@ -0,0 +1 @@ +from .mouse_ileum import DatasetGroupIleum \ No newline at end of file diff --git a/sfaira/data/mouse/marrow/external.py b/sfaira/data/mouse/ileum/external.py similarity index 100% rename from sfaira/data/mouse/marrow/external.py rename to sfaira/data/mouse/ileum/external.py diff --git a/sfaira/data/mouse/small_intestine/mouse_small_intestine.py b/sfaira/data/mouse/ileum/mouse_ileum.py similarity index 69% rename from sfaira/data/mouse/small_intestine/mouse_small_intestine.py rename to sfaira/data/mouse/ileum/mouse_ileum.py index b7f86a1e0..0780d6382 100644 --- a/sfaira/data/mouse/small_intestine/mouse_small_intestine.py +++ b/sfaira/data/mouse/ileum/mouse_ileum.py @@ -3,12 +3,12 @@ from .external import DatasetGroupBase -from .mouse_small_intestine_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_small_intestine_2018_microwell_han_002 import Dataset as Dataset0002 -from .mouse_small_intestine_2018_microwell_han_003 import Dataset as Dataset0003 +from .mouse_ileum_2018_microwell_han_001 import Dataset as Dataset0001 +from .mouse_ileum_2018_microwell_han_002 import Dataset as Dataset0002 +from .mouse_ileum_2018_microwell_han_003 import Dataset as Dataset0003 -class DatasetGroupSmallintestine(DatasetGroupBase): +class DatasetGroupIleum(DatasetGroupBase): def __init__( self, @@ -25,6 +25,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupSmallintestine().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupIleum().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_001.py b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_001.py similarity index 95% rename from sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_001.py rename to sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_001.py index 312f00fbe..0007812a9 100644 --- a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_001.py +++ b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_001.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_small_intestine_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" + self.id = "mouse_ileum_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "small_intestine" - self.sub_tissue = "small_intestine" + self.organ = "ileum" + self.sub_tissue = "ileum" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_002.py b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_002.py similarity index 95% rename from sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_002.py rename to sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_002.py index 0cf4518af..f8277c143 100644 --- a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_002.py +++ b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_002.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_small_intestine_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" + self.id = "mouse_ileum_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "small_intestine" - self.sub_tissue = "small_intestine" + self.organ = "ileum" + self.sub_tissue = "ileum" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_003.py b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_003.py similarity index 95% rename from sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_003.py rename to sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_003.py index 0296b4c43..535ec2f75 100644 --- a/sfaira/data/mouse/small_intestine/mouse_small_intestine_2018_microwell_han_003.py +++ b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_003.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_small_intestine_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" + self.id = "mouse_ileum_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "small_intestine" - self.sub_tissue = "small_intestine" + self.organ = "ileum" + self.sub_tissue = "ileum" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/large_intestine/__init__.py b/sfaira/data/mouse/large_intestine/__init__.py deleted file mode 100644 index dac54df27..000000000 --- a/sfaira/data/mouse/large_intestine/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_large_intestine import DatasetGroupLargeintestine \ No newline at end of file diff --git a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py b/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py deleted file mode 100644 index e043fd42b..000000000 --- a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_10x_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_large_intestine_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "large_intestine" - self.sub_tissue = "large_intestine" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_droplet.h5ad") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "large_intestine", "tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py deleted file mode 100644 index 7842fb514..000000000 --- a/sfaira/data/mouse/large_intestine/mouse_large_intestine_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_large_intestine_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "large_intestine" - self.sub_tissue = "large_intestine" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_facs.h5ad") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "large_intestine", "tabula-muris-senis-facs-processed-official-annotations-Large_Intestine.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "large_intestine", "Large_Intestine_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/limb_muscle/__init__.py b/sfaira/data/mouse/limb_muscle/__init__.py deleted file mode 100644 index 9a3be10fb..000000000 --- a/sfaira/data/mouse/limb_muscle/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_limb_muscle import DatasetGroupLimbmuscle \ No newline at end of file diff --git a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py deleted file mode 100644 index aa431d549..000000000 --- a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,69 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_limb_muscle_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "limb_muscle" - self.sub_tissue = "limb_muscle" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "limb_muscle", "tabula-muris-senis-facs-processed-official-annotations-Limb_Muscle.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "limb_muscle", "Limb_Muscle_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/malegonad/__init__.py b/sfaira/data/mouse/malegonad/__init__.py new file mode 100644 index 000000000..a56dbc2f4 --- /dev/null +++ b/sfaira/data/mouse/malegonad/__init__.py @@ -0,0 +1 @@ +from .mouse_malegonad import DatasetGroupMalegonad \ No newline at end of file diff --git a/sfaira/data/mouse/peripheral_blood/external.py b/sfaira/data/mouse/malegonad/external.py similarity index 100% rename from sfaira/data/mouse/peripheral_blood/external.py rename to sfaira/data/mouse/malegonad/external.py diff --git a/sfaira/data/mouse/testis/mouse_testis.py b/sfaira/data/mouse/malegonad/mouse_malegonad.py similarity index 75% rename from sfaira/data/mouse/testis/mouse_testis.py rename to sfaira/data/mouse/malegonad/mouse_malegonad.py index 7f7586088..d0e9484a8 100644 --- a/sfaira/data/mouse/testis/mouse_testis.py +++ b/sfaira/data/mouse/malegonad/mouse_malegonad.py @@ -3,11 +3,11 @@ from .external import DatasetGroupBase -from .mouse_testis_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_testis_2018_microwell_han_002 import Dataset as Dataset0002 +from .mouse_malegonad_2018_microwell_han_001 import Dataset as Dataset0001 +from .mouse_malegonad_2018_microwell_han_002 import Dataset as Dataset0002 -class DatasetGroupTestis(DatasetGroupBase): +class DatasetGroupMalegonad(DatasetGroupBase): def __init__( self, @@ -23,6 +23,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupTestis().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupMalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_001.py b/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_001.py similarity index 95% rename from sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_001.py rename to sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_001.py index 459975e78..b3c9dad50 100644 --- a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_001.py +++ b/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_001.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_testis_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" + self.id = "mouse_malegonad_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "testis" - self.sub_tissue = "testis" + self.organ = "malegonad" + self.sub_tissue = "malegonad" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_002.py b/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_002.py similarity index 95% rename from sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_002.py rename to sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_002.py index 755664b68..c938d3fea 100644 --- a/sfaira/data/mouse/testis/mouse_testis_2018_microwell_han_002.py +++ b/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_002.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_testis_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" + self.id = "mouse_malegonad_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "testis" - self.sub_tissue = "testis" + self.organ = "malegonad" + self.sub_tissue = "malegonad" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/mammary_gland/__init__.py b/sfaira/data/mouse/mammary_gland/__init__.py deleted file mode 100644 index 0c53ff90f..000000000 --- a/sfaira/data/mouse/mammary_gland/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_mammary_gland import DatasetGroupMammaryGland \ No newline at end of file diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py deleted file mode 100644 index 227ab44f8..000000000 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,69 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_mammary_gland_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "mammary_gland" - self.sub_tissue = "mammary_gland" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "mammary_gland", "tabula-muris-senis-facs-processed-official-annotations-Mammary_Gland.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "mammary_gland", "Mammary_Gland_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/mammarygland/__init__.py b/sfaira/data/mouse/mammarygland/__init__.py new file mode 100644 index 000000000..6a42b03d9 --- /dev/null +++ b/sfaira/data/mouse/mammarygland/__init__.py @@ -0,0 +1 @@ +from .mouse_mammarygland import DatasetGroupMammaryGland \ No newline at end of file diff --git a/sfaira/data/mouse/small_intestine/external.py b/sfaira/data/mouse/mammarygland/external.py similarity index 100% rename from sfaira/data/mouse/small_intestine/external.py rename to sfaira/data/mouse/mammarygland/external.py diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland.py similarity index 67% rename from sfaira/data/mouse/mammary_gland/mouse_mammary_gland.py rename to sfaira/data/mouse/mammarygland/mouse_mammarygland.py index 9374cee4e..fdd56feb5 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland.py @@ -3,12 +3,12 @@ from .external import DatasetGroupBase -from .mouse_mammary_gland_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_mammary_gland_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_mammary_gland_2018_microwell_han_001 import Dataset as Dataset0003 -from .mouse_mammary_gland_2018_microwell_han_002 import Dataset as Dataset0004 -from .mouse_mammary_gland_2018_microwell_han_003 import Dataset as Dataset0005 -from .mouse_mammary_gland_2018_microwell_han_004 import Dataset as Dataset0006 +from .mouse_mammarygland_2019_10x_pisco_001 import Dataset as Dataset0001 +from .mouse_mammarygland_2019_smartseq2_pisco_001 import Dataset as Dataset0002 +from .mouse_mammarygland_2018_microwell_han_001 import Dataset as Dataset0003 +from .mouse_mammarygland_2018_microwell_han_002 import Dataset as Dataset0004 +from .mouse_mammarygland_2018_microwell_han_003 import Dataset as Dataset0005 +from .mouse_mammarygland_2018_microwell_han_004 import Dataset as Dataset0006 class DatasetGroupMammaryGland(DatasetGroupBase): diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_001.py similarity index 95% rename from sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py rename to sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_001.py index b87c7817e..2bea3de8b 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_001.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_001.py @@ -16,10 +16,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_mammary_gland_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" + self.id = "mouse_mammarygland_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammary_gland" - self.sub_tissue = "mammary_gland" + self.organ = "mammarygland" + self.sub_tissue = "mammarygland" self.has_celltypes = True self.class_maps = { @@ -78,4 +78,3 @@ def _load(self, fn=None): self.adata.obs["state_exact"] = "healthy" self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_002.py similarity index 95% rename from sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py rename to sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_002.py index d47328af9..2061683e5 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_002.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_002.py @@ -16,10 +16,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_mammary_gland_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" + self.id = "mouse_mammarygland_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammary_gland" - self.sub_tissue = "mammary_gland" + self.organ = "mammarygland" + self.sub_tissue = "mammarygland" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_003.py similarity index 95% rename from sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py rename to sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_003.py index a02d5d095..fb6ae9ab4 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_003.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_003.py @@ -16,10 +16,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_mammary_gland_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" + self.id = "mouse_mammarygland_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammary_gland" - self.sub_tissue = "mammary_gland" + self.organ = "mammarygland" + self.sub_tissue = "mammarygland" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_004.py similarity index 95% rename from sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py rename to sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_004.py index 579dc7926..69e3949d6 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2018_microwell_han_004.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_004.py @@ -16,10 +16,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_mammary_gland_2018_microwell-seq_han_004_10.1016/j.cell.2018.02.001" + self.id = "mouse_mammarygland_2018_microwell-seq_han_004_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammary_gland" - self.sub_tissue = "mammary_gland" + self.organ = "mammarygland" + self.sub_tissue = "mammarygland" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_10x_pisco_001.py similarity index 85% rename from sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py rename to sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_10x_pisco_001.py index ad9039b4e..b2d5d8e47 100644 --- a/sfaira/data/mouse/mammary_gland/mouse_mammary_gland_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_10x_pisco_001.py @@ -15,7 +15,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_mammary_gland_2019_10x_pisco_001_10.1101/661728" + self.id = "mouse_mammarygland_2019_10x_pisco_001_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -23,8 +23,8 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "mammary_gland" - self.sub_tissue = "mammary_gland" + self.organ = "mammarygland" + self.sub_tissue = "mammarygland" self.has_celltypes = True self.class_maps = { @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "mammary_gland", "tabula-muris-senis-droplet-processed-official-annotations-Mammary_Gland.h5ad") + fn = os.path.join(self.path, "mouse", "mammarygland", "tabula-muris-senis-droplet-processed-official-annotations-Mammary_Gland.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "mammary_gland", "Mammary_Gland_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "mammarygland", "Mammary_Gland_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_smartseq2_pisco_001.py new file mode 100644 index 000000000..b442c7f20 --- /dev/null +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_smartseq2_pisco_001.py @@ -0,0 +1,69 @@ +import anndata +import os +from typing import Union +from .external import DatasetBase + + +class Dataset(DatasetBase): + + def __init__( + self, + path: Union[str, None] = None, + meta_path: Union[str, None] = None, + source: str = "aws", + **kwargs + ): + DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) + self.species = "mouse" + self.id = "mouse_mammarygland_2019_smartseq2_pisco_001_10.1101/661728" + self.source = source + if self.source == "aws": + self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" + elif self.source == "figshare": + self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" + else: + raise ValueError("source %s not recognized" % self.source) + self.organ = "mammarygland" + self.sub_tissue = "mammarygland" + self.has_celltypes = True + + self.class_maps = { + "0": {}, + } + + def _load(self, fn=None): + if fn is None: + if self.path is None: + raise ValueError("provide either fn in load or path in constructor") + if self.source == "aws": + fn = os.path.join(self.path, "mouse", "mammarygland", "tabula-muris-senis-facs-processed-official-annotations-Mammary_Gland.h5ad") + elif self.source == "figshare": + fn = os.path.join(self.path, "mouse", "mammarygland", "Mammary_Gland_facs.h5ad") + else: + raise ValueError("source %s not recognized" % self.source) + self.adata = anndata.read_h5ad(fn) + if self.source == "aws": + self.adata.X = self.adata.raw.X + self.adata.var = self.adata.raw.var + del self.adata.raw + self.adata.obsm = {} + self.adata.varm = {} + self.adata.uns = {} + + self.adata.uns["lab"] = "Quake" + self.adata.uns["year"] = "2019" + self.adata.uns["doi"] = "10.1101/661728" + self.adata.uns["protocol"] = "smartseq2" + self.adata.uns["organ"] = self.organ + self.adata.uns["subtissue"] = self.sub_tissue + self.adata.uns["animal"] = "mouse" + self.adata.uns["id"] = self.id + self.adata.uns["wget_download"] = self.download_website + self.adata.uns["has_celltypes"] = self.has_celltypes + self.adata.uns["counts"] = 'norm' + # self.adata.obs["cell_ontology_class"] is already set + self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() + self.adata.obs["healthy"] = True + self.adata.obs["state_exact"] = "healthy" + + self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/marrow/__init__.py b/sfaira/data/mouse/marrow/__init__.py deleted file mode 100644 index b2b203505..000000000 --- a/sfaira/data/mouse/marrow/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_marrow import DatasetGroupMarrow \ No newline at end of file diff --git a/sfaira/data/mouse/muscle/__init__.py b/sfaira/data/mouse/muscle/__init__.py new file mode 100644 index 000000000..fa8cb5cfd --- /dev/null +++ b/sfaira/data/mouse/muscle/__init__.py @@ -0,0 +1 @@ +from .mouse_muscle import DatasetGroupMuscle \ No newline at end of file diff --git a/sfaira/data/mouse/testis/external.py b/sfaira/data/mouse/muscle/external.py similarity index 100% rename from sfaira/data/mouse/testis/external.py rename to sfaira/data/mouse/muscle/external.py diff --git a/sfaira/data/mouse/marrow/mouse_marrow.py b/sfaira/data/mouse/muscle/mouse_muscle.py similarity index 73% rename from sfaira/data/mouse/marrow/mouse_marrow.py rename to sfaira/data/mouse/muscle/mouse_muscle.py index 4a28ce069..002793157 100644 --- a/sfaira/data/mouse/marrow/mouse_marrow.py +++ b/sfaira/data/mouse/muscle/mouse_muscle.py @@ -3,12 +3,12 @@ from .external import DatasetGroupBase -from .mouse_marrow_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_marrow_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_marrow_2018_microwell_001 import Dataset as Dataset0003 +from .mouse_muscle_2019_10x_pisco_001 import Dataset as Dataset0001 +from .mouse_muscle_2019_smartseq2_pisco_001 import Dataset as Dataset0002 +from .mouse_muscle_2018_microwell_han_001 import Dataset as Dataset0003 -class DatasetGroupMarrow(DatasetGroupBase): +class DatasetGroupMuscle(DatasetGroupBase): def __init__( self, @@ -25,6 +25,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupMarrow().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupMuscle().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py b/sfaira/data/mouse/muscle/mouse_muscle_2018_microwell_han_001.py similarity index 95% rename from sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py rename to sfaira/data/mouse/muscle/mouse_muscle_2018_microwell_han_001.py index 2763822e0..afa327a9f 100644 --- a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2018_microwell_han_001.py +++ b/sfaira/data/mouse/muscle/mouse_muscle_2018_microwell_han_001.py @@ -18,10 +18,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_limb_muscle_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" + self.id = "mouse_muscle_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "limb_muscle" - self.sub_tissue = "limb_muscle" + self.organ = "muscle" + self.sub_tissue = "muscle" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py b/sfaira/data/mouse/muscle/mouse_muscle_2019_10x_pisco_001.py similarity index 86% rename from sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py rename to sfaira/data/mouse/muscle/mouse_muscle_2019_10x_pisco_001.py index d3574544e..ae3a2c9c3 100644 --- a/sfaira/data/mouse/limb_muscle/mouse_limb_muscle_2019_10x_pisco_001.py +++ b/sfaira/data/mouse/muscle/mouse_muscle_2019_10x_pisco_001.py @@ -15,7 +15,7 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_limb_muscle_2019_10x_pisco_001_10.1101/661728" + self.id = "mouse_muscle_2019_10x_pisco_001_10.1101/661728" self.source = source if self.source == "aws": self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" @@ -23,8 +23,8 @@ def __init__( self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" else: raise ValueError("source %s not recognized" % self.source) - self.organ = "limb_muscle" - self.sub_tissue = "limb_muscle" + self.organ = "muscle" + self.sub_tissue = "muscle" self.has_celltypes = True self.class_maps = { @@ -36,9 +36,9 @@ def _load(self, fn=None): if self.path is None: raise ValueError("provide either fn in load or path in constructor") if self.source == "aws": - fn = os.path.join(self.path, "mouse", "limb_muscle", "tabula-muris-senis-droplet-processed-official-annotations-Limb_Muscle.h5ad") + fn = os.path.join(self.path, "mouse", "muscle", "tabula-muris-senis-droplet-processed-official-annotations-Limb_Muscle.h5ad") elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "limb_muscle", "Limb_Muscle_droplet.h5ad") + fn = os.path.join(self.path, "mouse", "muscle", "Limb_Muscle_droplet.h5ad") else: raise ValueError("source %s not recognized" % self.source) self.adata = anndata.read_h5ad(fn) diff --git a/sfaira/data/mouse/muscle/mouse_muscle_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/muscle/mouse_muscle_2019_smartseq2_pisco_001.py new file mode 100644 index 000000000..06a563163 --- /dev/null +++ b/sfaira/data/mouse/muscle/mouse_muscle_2019_smartseq2_pisco_001.py @@ -0,0 +1,69 @@ +import anndata +import os +from typing import Union +from .external import DatasetBase + + +class Dataset(DatasetBase): + + def __init__( + self, + path: Union[str, None] = None, + meta_path: Union[str, None] = None, + source: str = "aws", + **kwargs + ): + DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) + self.species = "mouse" + self.id = "mouse_muscle_2019_smartseq2_pisco_001_10.1101/661728" + self.source = source + if self.source == "aws": + self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" + elif self.source == "figshare": + self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" + else: + raise ValueError("source %s not recognized" % self.source) + self.organ = "muscle" + self.sub_tissue = "muscle" + self.has_celltypes = True + + self.class_maps = { + "0": {}, + } + + def _load(self, fn=None): + if fn is None: + if self.path is None: + raise ValueError("provide either fn in load or path in constructor") + if self.source == "aws": + fn = os.path.join(self.path, "mouse", "muscle", "tabula-muris-senis-facs-processed-official-annotations-Limb_Muscle.h5ad") + elif self.source == "figshare": + fn = os.path.join(self.path, "mouse", "muscle", "Limb_Muscle_facs.h5ad") + else: + raise ValueError("source %s not recognized" % self.source) + self.adata = anndata.read_h5ad(fn) + if self.source == "aws": + self.adata.X = self.adata.raw.X + self.adata.var = self.adata.raw.var + del self.adata.raw + self.adata.obsm = {} + self.adata.varm = {} + self.adata.uns = {} + + self.adata.uns["lab"] = "Quake" + self.adata.uns["year"] = "2019" + self.adata.uns["doi"] = "10.1101/661728" + self.adata.uns["protocol"] = "smartseq2" + self.adata.uns["organ"] = self.organ + self.adata.uns["subtissue"] = self.sub_tissue + self.adata.uns["animal"] = "mouse" + self.adata.uns["id"] = self.id + self.adata.uns["wget_download"] = self.download_website + self.adata.uns["has_celltypes"] = self.has_celltypes + self.adata.uns["counts"] = 'norm' + # self.adata.obs["cell_ontology_class"] is already set + self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() + self.adata.obs["healthy"] = True + self.adata.obs["state_exact"] = "healthy" + + self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/peripheral_blood/__init__.py b/sfaira/data/mouse/peripheral_blood/__init__.py deleted file mode 100644 index 51ba0f4ab..000000000 --- a/sfaira/data/mouse/peripheral_blood/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_peripheral_blood import DatasetGroupPeripheralBlood \ No newline at end of file diff --git a/sfaira/data/mouse/small_intestine/__init__.py b/sfaira/data/mouse/small_intestine/__init__.py deleted file mode 100644 index 87c890041..000000000 --- a/sfaira/data/mouse/small_intestine/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_small_intestine import DatasetGroupSmallintestine \ No newline at end of file diff --git a/sfaira/data/mouse/testis/__init__.py b/sfaira/data/mouse/testis/__init__.py deleted file mode 100644 index cbd4fa1e7..000000000 --- a/sfaira/data/mouse/testis/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_testis import DatasetGroupTestis \ No newline at end of file diff --git a/sfaira/data/utils/create_meta_mouse.py b/sfaira/data/utils/create_meta_mouse.py index a56678c74..f7d3ff020 100644 --- a/sfaira/data/utils/create_meta_mouse.py +++ b/sfaira/data/utils/create_meta_mouse.py @@ -15,26 +15,26 @@ "bladder": mouse.DatasetGroupBladder(path=path, meta_path=path_meta), "brain": mouse.DatasetGroupBrain(path=path, meta_path=path_meta), "diaphragm": mouse.DatasetGroupDiaphragm(path=path, meta_path=path_meta), - "fat": mouse.DatasetGroupFat(path=path, meta_path=path_meta), + "adipose": mouse.DatasetGroupAdipose(path=path, meta_path=path_meta), "heart": mouse.DatasetGroupHeart(path=path, meta_path=path_meta), "kidney": mouse.DatasetGroupKidney(path=path, meta_path=path_meta), - "largeintestine": mouse.DatasetGroupLargeintestine(path=path, meta_path=path_meta), - "limbmuscle": mouse.DatasetGroupLimbmuscle(path=path, meta_path=path_meta), + "colon": mouse.DatasetGroupColon(path=path, meta_path=path_meta), + "muscle": mouse.DatasetGroupMuscle(path=path, meta_path=path_meta), "liver": mouse.DatasetGroupLiver(path=path, meta_path=path_meta), "lung": mouse.DatasetGroupLung(path=path, meta_path=path_meta), "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=path_meta), - "marrow": mouse.DatasetGroupMarrow(path=path, meta_path=path_meta), + "bone": mouse.DatasetGroupBone(path=path, meta_path=path_meta), "ovary": mouse.DatasetGroupOvary(path=path, meta_path=path_meta), "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=path_meta), - "peripheralblood": mouse.DatasetGroupPeripheralBlood(path=path, meta_path=path_meta), + "blood": mouse.DatasetGroupBlood(path=path, meta_path=path_meta), "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=path_meta), "prostate": mouse.DatasetGroupProstate(path=path, meta_path=path_meta), "rib": mouse.DatasetGroupRib(path=path, meta_path=path_meta), "skin": mouse.DatasetGroupSkin(path=path, meta_path=path_meta), - "smallintestine": mouse.DatasetGroupSmallintestine(path=path, meta_path=path_meta), + "ileum": mouse.DatasetGroupIleum(path=path, meta_path=path_meta), "spleen": mouse.DatasetGroupSpleen(path=path, meta_path=path_meta), "stomach": mouse.DatasetGroupStomach(path=path, meta_path=path_meta), - "testis": mouse.DatasetGroupTestis(path=path, meta_path=path_meta), + "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=path_meta), "thymus": mouse.DatasetGroupThymus(path=path, meta_path=path_meta), "tongue": mouse.DatasetGroupTongue(path=path, meta_path=path_meta), "trachae": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), diff --git a/sfaira/data/utils/write_backed_mouse.py b/sfaira/data/utils/write_backed_mouse.py index fc6ff9c5a..3b4102f58 100644 --- a/sfaira/data/utils/write_backed_mouse.py +++ b/sfaira/data/utils/write_backed_mouse.py @@ -21,26 +21,26 @@ "bladder": mouse.DatasetGroupBladder(path=path, meta_path=path_meta), "brain": mouse.DatasetGroupBrain(path=path, meta_path=path_meta), "diaphragm": mouse.DatasetGroupDiaphragm(path=path, meta_path=path_meta), - "fat": mouse.DatasetGroupFat(path=path, meta_path=path_meta), + "adipose": mouse.DatasetGroupAdipose(path=path, meta_path=path_meta), "heart": mouse.DatasetGroupHeart(path=path, meta_path=path_meta), "kidney": mouse.DatasetGroupKidney(path=path, meta_path=path_meta), - "largeintestine": mouse.DatasetGroupLargeintestine(path=path, meta_path=path_meta), - "limbmuscle": mouse.DatasetGroupLimbmuscle(path=path, meta_path=path_meta), + "colon": mouse.DatasetGroupColon(path=path, meta_path=path_meta), + "muscle": mouse.DatasetGroupMuscle(path=path, meta_path=path_meta), "liver": mouse.DatasetGroupLiver(path=path, meta_path=path_meta), "lung": mouse.DatasetGroupLung(path=path, meta_path=path_meta), "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=path_meta), - "marrow": mouse.DatasetGroupMarrow(path=path, meta_path=path_meta), + "bone": mouse.DatasetGroupBone(path=path, meta_path=path_meta), "ovary": mouse.DatasetGroupOvary(path=path, meta_path=path_meta), "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=path_meta), - "peripheralblood": mouse.DatasetGroupPeripheralBlood(path=path, meta_path=path_meta), + "blood": mouse.DatasetGroupBlood(path=path, meta_path=path_meta), "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=path_meta), "prostate": mouse.DatasetGroupProstate(path=path, meta_path=path_meta), "rib": mouse.DatasetGroupRib(path=path, meta_path=path_meta), "skin": mouse.DatasetGroupSkin(path=path, meta_path=path_meta), - "smallintestine": mouse.DatasetGroupSmallintestine(path=path, meta_path=path_meta), + "ileum": mouse.DatasetGroupIleum(path=path, meta_path=path_meta), "spleen": mouse.DatasetGroupSpleen(path=path, meta_path=path_meta), "stomach": mouse.DatasetGroupStomach(path=path, meta_path=path_meta), - "testis": mouse.DatasetGroupTestis(path=path, meta_path=path_meta), + "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=path_meta), "thymus": mouse.DatasetGroupThymus(path=path, meta_path=path_meta), "tongue": mouse.DatasetGroupTongue(path=path, meta_path=path_meta), "trachae": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), diff --git a/sfaira/train/train_model.py b/sfaira/train/train_model.py index e3ee5fcfd..475bb4ecd 100644 --- a/sfaira/train/train_model.py +++ b/sfaira/train/train_model.py @@ -20,26 +20,26 @@ def __init__(self, path: Union[str, None], meta_path: Union[str, None] = None): "bladder": mouse.DatasetGroupBladder(path=path, meta_path=meta_path), "brain": mouse.DatasetGroupBrain(path=path, meta_path=meta_path), "diaphragm": mouse.DatasetGroupDiaphragm(path=path, meta_path=meta_path), - "fat": mouse.DatasetGroupFat(path=path, meta_path=meta_path), + "adipose": mouse.DatasetGroupAdipose(path=path, meta_path=meta_path), "heart": mouse.DatasetGroupHeart(path=path, meta_path=meta_path), "kidney": mouse.DatasetGroupKidney(path=path, meta_path=meta_path), - "largeintestine": mouse.DatasetGroupLargeintestine(path=path, meta_path=meta_path), - "limbmuscle": mouse.DatasetGroupLimbmuscle(path=path, meta_path=meta_path), + "colon": mouse.DatasetGroupColon(path=path, meta_path=meta_path), + "muscle": mouse.DatasetGroupMuscle(path=path, meta_path=meta_path), "liver": mouse.DatasetGroupLiver(path=path, meta_path=meta_path), "lung": mouse.DatasetGroupLung(path=path, meta_path=meta_path), "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=meta_path), - "marrow": mouse.DatasetGroupMarrow(path=path, meta_path=meta_path), + "bone": mouse.DatasetGroupBone(path=path, meta_path=meta_path), "ovary": mouse.DatasetGroupOvary(path=path, meta_path=meta_path), "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=meta_path), - "peripheralblood": mouse.DatasetGroupPeripheralBlood(path=path, meta_path=meta_path), + "blood": mouse.DatasetGroupBlood(path=path, meta_path=meta_path), "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=meta_path), "prostate": mouse.DatasetGroupProstate(path=path, meta_path=meta_path), "rib": mouse.DatasetGroupRib(path=path, meta_path=meta_path), "skin": mouse.DatasetGroupSkin(path=path, meta_path=meta_path), - "smallintestine": mouse.DatasetGroupSmallintestine(path=path, meta_path=meta_path), + "ileum": mouse.DatasetGroupIleum(path=path, meta_path=meta_path), "spleen": mouse.DatasetGroupSpleen(path=path, meta_path=meta_path), "stomach": mouse.DatasetGroupStomach(path=path, meta_path=meta_path), - "testis": mouse.DatasetGroupTestis(path=path, meta_path=meta_path), + "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=meta_path), "thymus": mouse.DatasetGroupThymus(path=path, meta_path=meta_path), "tongue": mouse.DatasetGroupTongue(path=path, meta_path=meta_path), "trachae": mouse.DatasetGroupTrachea(path=path, meta_path=meta_path), diff --git a/sfaira/versions/celltype_versions/mouse/__init__.py b/sfaira/versions/celltype_versions/mouse/__init__.py index 1b764769d..6c79616c7 100644 --- a/sfaira/versions/celltype_versions/mouse/__init__.py +++ b/sfaira/versions/celltype_versions/mouse/__init__.py @@ -1,26 +1,26 @@ from .bladder import CelltypeVersionsMouseBladder from .brain import CelltypeVersionsMouseBrain from .diaphragm import CelltypeVersionsMouseDiaphragm -from .fat import CelltypeVersionsMouseFat +from .adipose import CelltypeVersionsMouseAdipose from .heart import CelltypeVersionsMouseHeart from .kidney import CelltypeVersionsMouseKidney -from .large_intestine import CelltypeVersionsMouseLargeintestine -from .limb_muscle import CelltypeVersionsMouseLimbmuscle +from .colon import CelltypeVersionsMouseColon +from .muscle import CelltypeVersionsMouseMuscle from .liver import CelltypeVersionsMouseLiver from .lung import CelltypeVersionsMouseLung -from .mammary_gland import CelltypeVersionsMouseMammarygland -from .marrow import CelltypeVersionsMouseMarrow +from .mammarygland import CelltypeVersionsMouseMammarygland +from .bone import CelltypeVersionsMouseBone from .ovary import CelltypeVersionsMouseOvary -from .peripheral_blood import CelltypeVersionsMousePeripheralblood +from .blood import CelltypeVersionsMouseBlood from .placenta import CelltypeVersionsMousePlacenta from .pancreas import CelltypeVersionsMousePancreas from .prostate import CelltypeVersionsMouseProstate from .rib import CelltypeVersionsMouseRib from .skin import CelltypeVersionsMouseSkin -from .small_intestine import CelltypeVersionsMouseSmallintestine +from .ileum import CelltypeVersionsMouseIleum from .spleen import CelltypeVersionsMouseSpleen from .stomach import CelltypeVersionsMouseStomach -from .testis import CelltypeVersionsMouseTestis +from .malegonad import CelltypeVersionsMouseMalegonad from .thymus import CelltypeVersionsMouseThymus from .tongue import CelltypeVersionsMouseTongue from .trachae import CelltypeVersionsMouseTrachae @@ -30,26 +30,26 @@ "bladder": CelltypeVersionsMouseBladder(), "brain": CelltypeVersionsMouseBrain(), "diaphragm": CelltypeVersionsMouseDiaphragm(), - "fat": CelltypeVersionsMouseFat(), + "adipose": CelltypeVersionsMouseAdipose(), "heart": CelltypeVersionsMouseHeart(), "kidney": CelltypeVersionsMouseKidney(), - "largeintestine": CelltypeVersionsMouseLargeintestine(), - "limbmuscle": CelltypeVersionsMouseLimbmuscle(), + "colon": CelltypeVersionsMouseColon(), + "muscle": CelltypeVersionsMouseMuscle(), "liver": CelltypeVersionsMouseLiver(), "lung": CelltypeVersionsMouseLung(), "mammarygland": CelltypeVersionsMouseMammarygland(), - "marrow": CelltypeVersionsMouseMarrow(), + "bone": CelltypeVersionsMouseBone(), "ovary": CelltypeVersionsMouseOvary(), - "peripheralblood": CelltypeVersionsMousePeripheralblood(), + "blood": CelltypeVersionsMouseBlood(), "placenta": CelltypeVersionsMousePlacenta(), "pancreas": CelltypeVersionsMousePancreas(), "prostate": CelltypeVersionsMouseProstate(), "rib": CelltypeVersionsMouseRib(), "skin": CelltypeVersionsMouseSkin(), - "smallintestine": CelltypeVersionsMouseSmallintestine(), + "ileum": CelltypeVersionsMouseIleum(), "spleen": CelltypeVersionsMouseSpleen(), "stomach": CelltypeVersionsMouseStomach(), - "testis": CelltypeVersionsMouseTestis(), + "malegonad": CelltypeVersionsMouseMalegonad(), "thymus": CelltypeVersionsMouseThymus(), "tongue": CelltypeVersionsMouseTongue(), "trachae": CelltypeVersionsMouseTrachae(), diff --git a/sfaira/versions/celltype_versions/mouse/fat.py b/sfaira/versions/celltype_versions/mouse/adipose.py similarity index 76% rename from sfaira/versions/celltype_versions/mouse/fat.py rename to sfaira/versions/celltype_versions/mouse/adipose.py index 8df7c99a1..5b390523d 100644 --- a/sfaira/versions/celltype_versions/mouse/fat.py +++ b/sfaira/versions/celltype_versions/mouse/adipose.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_FAT_V0 = [ +CELLTYPES_MOUSE_ADIPOSE_V0 = [ ["B cell", "CL:0000236"], ["CD4-positive, alpha-beta T cell", "nan"], ["CD8-positive, alpha-beta T cell", "nan"], @@ -14,7 +14,7 @@ ["NK cell", "CL:0000623"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_FAT_V0 = { +ONTOLOGIES_MOUSE_ADIPOSE_V0 = { "names": { "lymphocyte": [ "B cell", "CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", @@ -26,13 +26,13 @@ } -class CelltypeVersionsMouseFat(CelltypeVersionsBase): +class CelltypeVersionsMouseAdipose(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_FAT_V0 + "0": CELLTYPES_MOUSE_ADIPOSE_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_FAT_V0 + "0": ONTOLOGIES_MOUSE_ADIPOSE_V0 } - super(CelltypeVersionsMouseFat, self).__init__(**kwargs) + super(CelltypeVersionsMouseAdipose, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/peripheral_blood.py b/sfaira/versions/celltype_versions/mouse/blood.py similarity index 60% rename from sfaira/versions/celltype_versions/mouse/peripheral_blood.py rename to sfaira/versions/celltype_versions/mouse/blood.py index a381cd5ae..cc4613157 100644 --- a/sfaira/versions/celltype_versions/mouse/peripheral_blood.py +++ b/sfaira/versions/celltype_versions/mouse/blood.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_PERIPHERALBLOOD_V0 = [ +CELLTYPES_MOUSE_BLOOD_V0 = [ ["B cell", "CL:0000236"], ["macrophage", "CL:0000235"], ["T cell", "CL:0000084"], @@ -13,19 +13,19 @@ ["basophil", "nan"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_PERIPHERALBLOOD_V0 = { +ONTOLOGIES_MOUSE_BLOOD_V0 = { "names": {}, "ontology_ids": {}, } -class CelltypeVersionsMousePeripheralblood(CelltypeVersionsBase): +class CelltypeVersionsMouseBlood(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_PERIPHERALBLOOD_V0 + "0": CELLTYPES_MOUSE_BLOOD_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_PERIPHERALBLOOD_V0 + "0": ONTOLOGIES_MOUSE_BLOOD_V0 } - super(CelltypeVersionsMousePeripheralblood, self).__init__(**kwargs) + super(CelltypeVersionsMouseBlood, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/marrow.py b/sfaira/versions/celltype_versions/mouse/bone.py similarity index 83% rename from sfaira/versions/celltype_versions/mouse/marrow.py rename to sfaira/versions/celltype_versions/mouse/bone.py index a9f2f2afc..8cadbb0a2 100644 --- a/sfaira/versions/celltype_versions/mouse/marrow.py +++ b/sfaira/versions/celltype_versions/mouse/bone.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_MARROW_V0 = [ +CELLTYPES_MOUSE_BONE_V0 = [ ["basophil", "CL:0000767"], ["CD4-positive, alpha-beta T cell", "nan"], ["dendritic cell", "nan"], @@ -31,7 +31,7 @@ ["promonocyte", "CL:0000559"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_MARROW_V0 = { +ONTOLOGIES_MOUSE_BONE_V0 = { "names": { "granulocyte": ["basophil", "neutrophil", "mast cell"], "mature alpha-beta T cell": ["CD4-positive, alpha-beta T cell"] @@ -40,13 +40,13 @@ } -class CelltypeVersionsMouseMarrow(CelltypeVersionsBase): +class CelltypeVersionsMouseBone(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_MARROW_V0 + "0": CELLTYPES_MOUSE_BONE_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_MARROW_V0 + "0": ONTOLOGIES_MOUSE_BONE_V0 } - super(CelltypeVersionsMouseMarrow, self).__init__(**kwargs) + super(CelltypeVersionsMouseBone, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/large_intestine.py b/sfaira/versions/celltype_versions/mouse/colon.py similarity index 67% rename from sfaira/versions/celltype_versions/mouse/large_intestine.py rename to sfaira/versions/celltype_versions/mouse/colon.py index 16248610e..c901104ce 100644 --- a/sfaira/versions/celltype_versions/mouse/large_intestine.py +++ b/sfaira/versions/celltype_versions/mouse/colon.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_LARGEINTESTINE_V0 = [ +CELLTYPES_MOUSE_COLON_V0 = [ ["Brush cell of epithelium proper of large intestine", "CL:0002203"], ["enterocyte of epithelium of large intestine", "CL:0002071"], ["enteroendocrine cell", "CL:0000164"], @@ -12,19 +12,19 @@ ["secretory cell", "CL:0000151"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_LARGEINTESTINE_V0 = { +ONTOLOGIES_MOUSE_COLON_V0 = { "names": {}, "ontology_ids": {}, } -class CelltypeVersionsMouseLargeintestine(CelltypeVersionsBase): +class CelltypeVersionsMouseColon(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_LARGEINTESTINE_V0 + "0": CELLTYPES_MOUSE_COLON_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_LARGEINTESTINE_V0 + "0": ONTOLOGIES_MOUSE_COLON_V0 } - super(CelltypeVersionsMouseLargeintestine, self).__init__(**kwargs) + super(CelltypeVersionsMouseColon, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/small_intestine.py b/sfaira/versions/celltype_versions/mouse/ileum.py similarity index 64% rename from sfaira/versions/celltype_versions/mouse/small_intestine.py rename to sfaira/versions/celltype_versions/mouse/ileum.py index c350d7f46..1f190bd5c 100644 --- a/sfaira/versions/celltype_versions/mouse/small_intestine.py +++ b/sfaira/versions/celltype_versions/mouse/ileum.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_SMALLINTESTINE_V0 = [ +CELLTYPES_MOUSE_ILEUM_V0 = [ ["B cell", "CL:0000236"], ["macrophage", "CL:0000235"], ["T cell", "CL:0000084"], @@ -15,19 +15,19 @@ ["erythroblast", "nan"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_SMALLINTESTINE_V0 = { +ONTOLOGIES_MOUSE_ILEUM_V0 = { "names": {}, "ontology_ids": {}, } -class CelltypeVersionsMouseSmallintestine(CelltypeVersionsBase): +class CelltypeVersionsMouseIleum(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_SMALLINTESTINE_V0 + "0": CELLTYPES_MOUSE_ILEUM_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_SMALLINTESTINE_V0 + "0": ONTOLOGIES_MOUSE_ILEUM_V0 } - super(CelltypeVersionsMouseSmallintestine, self).__init__(**kwargs) + super(CelltypeVersionsMouseIleum, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/testis.py b/sfaira/versions/celltype_versions/mouse/malegonad.py similarity index 66% rename from sfaira/versions/celltype_versions/mouse/testis.py rename to sfaira/versions/celltype_versions/mouse/malegonad.py index 78b9b8b61..f311320a7 100644 --- a/sfaira/versions/celltype_versions/mouse/testis.py +++ b/sfaira/versions/celltype_versions/mouse/malegonad.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_TESTIS_V0 = [ +CELLTYPES_MOUSE_MALEGONAD_V0 = [ ["macrophage", "CL:0000235"], ["leydig cell", "nan"], ["elongating spermatid", "nan"], @@ -14,20 +14,20 @@ ["spermatid", "nan"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_TESTIS_V0 = { +ONTOLOGIES_MOUSE_MALEGONAD_V0 = { "names": { }, "ontology_ids": {}, } -class CelltypeVersionsMouseTestis(CelltypeVersionsBase): +class CelltypeVersionsMouseMalegonad(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_TESTIS_V0 + "0": CELLTYPES_MOUSE_MALEGONAD_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_TESTIS_V0 + "0": ONTOLOGIES_MOUSE_MALEGONAD_V0 } - super(CelltypeVersionsMouseTestis, self).__init__(**kwargs) + super(CelltypeVersionsMouseMalegonad, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/mammary_gland.py b/sfaira/versions/celltype_versions/mouse/mammarygland.py similarity index 100% rename from sfaira/versions/celltype_versions/mouse/mammary_gland.py rename to sfaira/versions/celltype_versions/mouse/mammarygland.py diff --git a/sfaira/versions/celltype_versions/mouse/limb_muscle.py b/sfaira/versions/celltype_versions/mouse/muscle.py similarity index 72% rename from sfaira/versions/celltype_versions/mouse/limb_muscle.py rename to sfaira/versions/celltype_versions/mouse/muscle.py index 8ac490914..b2ffdc66d 100644 --- a/sfaira/versions/celltype_versions/mouse/limb_muscle.py +++ b/sfaira/versions/celltype_versions/mouse/muscle.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_LIMBMUSCLE_V0 = [ +CELLTYPES_MOUSE_MUSCLE_V0 = [ ["B cell", "CL:0000236"], ["dendritic cell", "nan"], ["endothelial cell", "CL:0000115"], @@ -19,20 +19,20 @@ ["T cell", "CL:0000084"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_LIMBMUSCLE_V0 = { +ONTOLOGIES_MOUSE_MUSCLE_V0 = { "names": { }, "ontology_ids": {}, } -class CelltypeVersionsMouseLimbmuscle(CelltypeVersionsBase): +class CelltypeVersionsMouseMuscle(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_LIMBMUSCLE_V0 + "0": CELLTYPES_MOUSE_MUSCLE_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_LIMBMUSCLE_V0 + "0": ONTOLOGIES_MOUSE_MUSCLE_V0 } - super(CelltypeVersionsMouseLimbmuscle, self).__init__(**kwargs) + super(CelltypeVersionsMouseMuscle, self).__init__(**kwargs) From 84c3a8d18319ce59ffb7a2aa8ec4262fa3a1331e Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 1 Dec 2020 13:39:02 +0100 Subject: [PATCH 24/61] fix typo in trachea organ naming in mouse --- sfaira/data/mouse/__init__.py | 2 +- sfaira/data/mouse/{trachae => trachea}/__init__.py | 0 sfaira/data/mouse/{trachae => trachea}/external.py | 0 .../data/mouse/{trachae => trachea}/mouse_trachea.py | 0 .../mouse_trachea_2019_10x_pisco_001.py | 0 .../mouse_trachea_2019_smartseq2_pisco_001.py | 0 sfaira/data/utils/create_meta_mouse.py | 2 +- sfaira/data/utils/write_backed_mouse.py | 2 +- sfaira/train/train_model.py | 2 +- sfaira/versions/celltype_versions/mouse/__init__.py | 4 ++-- .../mouse/{trachae.py => trachea.py} | 12 ++++++------ 11 files changed, 12 insertions(+), 12 deletions(-) rename sfaira/data/mouse/{trachae => trachea}/__init__.py (100%) rename sfaira/data/mouse/{trachae => trachea}/external.py (100%) rename sfaira/data/mouse/{trachae => trachea}/mouse_trachea.py (100%) rename sfaira/data/mouse/{trachae => trachea}/mouse_trachea_2019_10x_pisco_001.py (100%) rename sfaira/data/mouse/{trachae => trachea}/mouse_trachea_2019_smartseq2_pisco_001.py (100%) rename sfaira/versions/celltype_versions/mouse/{trachae.py => trachea.py} (77%) diff --git a/sfaira/data/mouse/__init__.py b/sfaira/data/mouse/__init__.py index e67027a7f..8104562ad 100644 --- a/sfaira/data/mouse/__init__.py +++ b/sfaira/data/mouse/__init__.py @@ -23,5 +23,5 @@ from .malegonad import DatasetGroupMalegonad from .thymus import DatasetGroupThymus from .tongue import DatasetGroupTongue -from .trachae import DatasetGroupTrachea +from .trachea import DatasetGroupTrachea from .uterus import DatasetGroupUterus diff --git a/sfaira/data/mouse/trachae/__init__.py b/sfaira/data/mouse/trachea/__init__.py similarity index 100% rename from sfaira/data/mouse/trachae/__init__.py rename to sfaira/data/mouse/trachea/__init__.py diff --git a/sfaira/data/mouse/trachae/external.py b/sfaira/data/mouse/trachea/external.py similarity index 100% rename from sfaira/data/mouse/trachae/external.py rename to sfaira/data/mouse/trachea/external.py diff --git a/sfaira/data/mouse/trachae/mouse_trachea.py b/sfaira/data/mouse/trachea/mouse_trachea.py similarity index 100% rename from sfaira/data/mouse/trachae/mouse_trachea.py rename to sfaira/data/mouse/trachea/mouse_trachea.py diff --git a/sfaira/data/mouse/trachae/mouse_trachea_2019_10x_pisco_001.py b/sfaira/data/mouse/trachea/mouse_trachea_2019_10x_pisco_001.py similarity index 100% rename from sfaira/data/mouse/trachae/mouse_trachea_2019_10x_pisco_001.py rename to sfaira/data/mouse/trachea/mouse_trachea_2019_10x_pisco_001.py diff --git a/sfaira/data/mouse/trachae/mouse_trachea_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/trachea/mouse_trachea_2019_smartseq2_pisco_001.py similarity index 100% rename from sfaira/data/mouse/trachae/mouse_trachea_2019_smartseq2_pisco_001.py rename to sfaira/data/mouse/trachea/mouse_trachea_2019_smartseq2_pisco_001.py diff --git a/sfaira/data/utils/create_meta_mouse.py b/sfaira/data/utils/create_meta_mouse.py index f7d3ff020..062706538 100644 --- a/sfaira/data/utils/create_meta_mouse.py +++ b/sfaira/data/utils/create_meta_mouse.py @@ -37,7 +37,7 @@ "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=path_meta), "thymus": mouse.DatasetGroupThymus(path=path, meta_path=path_meta), "tongue": mouse.DatasetGroupTongue(path=path, meta_path=path_meta), - "trachae": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), + "trachea": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), "uterus": mouse.DatasetGroupUterus(path=path, meta_path=path_meta) } for k in list(ds_dict.keys()): diff --git a/sfaira/data/utils/write_backed_mouse.py b/sfaira/data/utils/write_backed_mouse.py index 3b4102f58..ffa5f54b0 100644 --- a/sfaira/data/utils/write_backed_mouse.py +++ b/sfaira/data/utils/write_backed_mouse.py @@ -43,7 +43,7 @@ "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=path_meta), "thymus": mouse.DatasetGroupThymus(path=path, meta_path=path_meta), "tongue": mouse.DatasetGroupTongue(path=path, meta_path=path_meta), - "trachae": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), + "trachea": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), "uterus": mouse.DatasetGroupUterus(path=path, meta_path=path_meta), } ds = sfaira.data.DatasetSuperGroup( diff --git a/sfaira/train/train_model.py b/sfaira/train/train_model.py index 475bb4ecd..4d69ea570 100644 --- a/sfaira/train/train_model.py +++ b/sfaira/train/train_model.py @@ -42,7 +42,7 @@ def __init__(self, path: Union[str, None], meta_path: Union[str, None] = None): "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=meta_path), "thymus": mouse.DatasetGroupThymus(path=path, meta_path=meta_path), "tongue": mouse.DatasetGroupTongue(path=path, meta_path=meta_path), - "trachae": mouse.DatasetGroupTrachea(path=path, meta_path=meta_path), + "trachea": mouse.DatasetGroupTrachea(path=path, meta_path=meta_path), "uterus": mouse.DatasetGroupUterus(path=path) } self.data_human = { diff --git a/sfaira/versions/celltype_versions/mouse/__init__.py b/sfaira/versions/celltype_versions/mouse/__init__.py index 6c79616c7..65db718e2 100644 --- a/sfaira/versions/celltype_versions/mouse/__init__.py +++ b/sfaira/versions/celltype_versions/mouse/__init__.py @@ -23,7 +23,7 @@ from .malegonad import CelltypeVersionsMouseMalegonad from .thymus import CelltypeVersionsMouseThymus from .tongue import CelltypeVersionsMouseTongue -from .trachae import CelltypeVersionsMouseTrachae +from .trachea import CelltypeVersionsMouseTrachea from .uterus import CelltypeVersionsMouseUterus ORGAN_DICT = { @@ -52,6 +52,6 @@ "malegonad": CelltypeVersionsMouseMalegonad(), "thymus": CelltypeVersionsMouseThymus(), "tongue": CelltypeVersionsMouseTongue(), - "trachae": CelltypeVersionsMouseTrachae(), + "trachea": CelltypeVersionsMouseTrachea(), "uterus": CelltypeVersionsMouseUterus() } diff --git a/sfaira/versions/celltype_versions/mouse/trachae.py b/sfaira/versions/celltype_versions/mouse/trachea.py similarity index 77% rename from sfaira/versions/celltype_versions/mouse/trachae.py rename to sfaira/versions/celltype_versions/mouse/trachea.py index 68d58e0d5..57ad18f33 100644 --- a/sfaira/versions/celltype_versions/mouse/trachae.py +++ b/sfaira/versions/celltype_versions/mouse/trachea.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_TRACHAE_V0 = [ +CELLTYPES_MOUSE_TRACHEA_V0 = [ ["basal epithelial cell of tracheobronchial tree", "CL:0002329"], ["chondrocyte", "CL:0000138"], ["ciliated columnar cell of tracheobronchial tree", "CL:0002145"], @@ -19,7 +19,7 @@ ["T cell", "CL:0000084"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_TRACHAE_V0 = { +ONTOLOGIES_MOUSE_TRACHEA_V0 = { "names": { 'blood cell': ["granulocyte", "macrophage", "T cell"] }, @@ -27,13 +27,13 @@ } -class CelltypeVersionsMouseTrachae(CelltypeVersionsBase): +class CelltypeVersionsMouseTrachea(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_TRACHAE_V0 + "0": CELLTYPES_MOUSE_TRACHEA_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_TRACHAE_V0 + "0": ONTOLOGIES_MOUSE_TRACHEA_V0 } - super(CelltypeVersionsMouseTrachae, self).__init__(**kwargs) + super(CelltypeVersionsMouseTrachea, self).__init__(**kwargs) From f7eb3208d22319859f77d74e44a4273b426a27dc Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 1 Dec 2020 13:58:16 +0100 Subject: [PATCH 25/61] rename mouse ovary organ to femalegonad --- sfaira/data/mouse/__init__.py | 2 +- sfaira/data/mouse/ovary/__init__.py | 2 +- sfaira/data/mouse/ovary/mouse_ovary.py | 8 ++++---- .../ovary/mouse_ovary_2018_microwell_han_001.py | 6 +++--- .../ovary/mouse_ovary_2018_microwell_han_002.py | 6 +++--- sfaira/data/utils/create_meta_mouse.py | 2 +- sfaira/data/utils/write_backed_mouse.py | 2 +- sfaira/train/train_model.py | 2 +- sfaira/versions/celltype_versions/mouse/__init__.py | 4 ++-- sfaira/versions/celltype_versions/mouse/ovary.py | 12 ++++++------ 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/sfaira/data/mouse/__init__.py b/sfaira/data/mouse/__init__.py index 8104562ad..f1063a851 100644 --- a/sfaira/data/mouse/__init__.py +++ b/sfaira/data/mouse/__init__.py @@ -10,7 +10,7 @@ from .lung import DatasetGroupLung from .mammarygland import DatasetGroupMammaryGland from .bone import DatasetGroupBone -from .ovary import DatasetGroupOvary +from .femalegonad import DatasetGroupFemalegonad from .pancreas import DatasetGroupPancreas from .placenta import DatasetGroupPlacenta from .blood import DatasetGroupBlood diff --git a/sfaira/data/mouse/ovary/__init__.py b/sfaira/data/mouse/ovary/__init__.py index 20d9cccfc..6cca0c4d4 100644 --- a/sfaira/data/mouse/ovary/__init__.py +++ b/sfaira/data/mouse/ovary/__init__.py @@ -1 +1 @@ -from .mouse_ovary import DatasetGroupOvary \ No newline at end of file +from .mouse_femalegonad import DatasetGroupFemalegonad \ No newline at end of file diff --git a/sfaira/data/mouse/ovary/mouse_ovary.py b/sfaira/data/mouse/ovary/mouse_ovary.py index 91f6ca71b..126c9a7b6 100644 --- a/sfaira/data/mouse/ovary/mouse_ovary.py +++ b/sfaira/data/mouse/ovary/mouse_ovary.py @@ -3,11 +3,11 @@ from .external import DatasetGroupBase -from .mouse_ovary_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_ovary_2018_microwell_han_002 import Dataset as Dataset0002 +from .mouse_femalegonad_2018_microwell_han_001 import Dataset as Dataset0001 +from .mouse_femalegonad_2018_microwell_han_002 import Dataset as Dataset0002 -class DatasetGroupOvary(DatasetGroupBase): +class DatasetGroupFemalegonad(DatasetGroupBase): def __init__( self, @@ -23,6 +23,6 @@ def __init__( # Load versions from extension if available: try: import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupOvary().datasets) + self.datasets.update(sfairae.data.mouse.DatasetGroupFemalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py index b92bda486..bc0878633 100644 --- a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py +++ b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py @@ -16,10 +16,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_ovary_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" + self.id = "mouse_femalegonad_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "ovary" - self.sub_tissue = "ovary" + self.organ = "femalegonad" + self.sub_tissue = "femalegonad" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py index db4888291..e6e3c0ede 100644 --- a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py +++ b/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py @@ -16,10 +16,10 @@ def __init__( ): DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) self.species = "mouse" - self.id = "mouse_ovary_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" + self.id = "mouse_femalegonad_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "ovary" - self.sub_tissue = "ovary" + self.organ = "femalegonad" + self.sub_tissue = "femalegonad" self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/utils/create_meta_mouse.py b/sfaira/data/utils/create_meta_mouse.py index 062706538..1634af953 100644 --- a/sfaira/data/utils/create_meta_mouse.py +++ b/sfaira/data/utils/create_meta_mouse.py @@ -24,7 +24,7 @@ "lung": mouse.DatasetGroupLung(path=path, meta_path=path_meta), "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=path_meta), "bone": mouse.DatasetGroupBone(path=path, meta_path=path_meta), - "ovary": mouse.DatasetGroupOvary(path=path, meta_path=path_meta), + "femalegonad": mouse.DatasetGroupFemalegonad(path=path, meta_path=path_meta), "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=path_meta), "blood": mouse.DatasetGroupBlood(path=path, meta_path=path_meta), "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=path_meta), diff --git a/sfaira/data/utils/write_backed_mouse.py b/sfaira/data/utils/write_backed_mouse.py index ffa5f54b0..a2bb1295d 100644 --- a/sfaira/data/utils/write_backed_mouse.py +++ b/sfaira/data/utils/write_backed_mouse.py @@ -30,7 +30,7 @@ "lung": mouse.DatasetGroupLung(path=path, meta_path=path_meta), "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=path_meta), "bone": mouse.DatasetGroupBone(path=path, meta_path=path_meta), - "ovary": mouse.DatasetGroupOvary(path=path, meta_path=path_meta), + "femalegonad": mouse.DatasetGroupFemalegonad(path=path, meta_path=path_meta), "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=path_meta), "blood": mouse.DatasetGroupBlood(path=path, meta_path=path_meta), "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=path_meta), diff --git a/sfaira/train/train_model.py b/sfaira/train/train_model.py index 4d69ea570..d4f323efc 100644 --- a/sfaira/train/train_model.py +++ b/sfaira/train/train_model.py @@ -29,7 +29,7 @@ def __init__(self, path: Union[str, None], meta_path: Union[str, None] = None): "lung": mouse.DatasetGroupLung(path=path, meta_path=meta_path), "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=meta_path), "bone": mouse.DatasetGroupBone(path=path, meta_path=meta_path), - "ovary": mouse.DatasetGroupOvary(path=path, meta_path=meta_path), + "femalegonad": mouse.DatasetGroupFemalegonad(path=path, meta_path=meta_path), "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=meta_path), "blood": mouse.DatasetGroupBlood(path=path, meta_path=meta_path), "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=meta_path), diff --git a/sfaira/versions/celltype_versions/mouse/__init__.py b/sfaira/versions/celltype_versions/mouse/__init__.py index 65db718e2..e19c15aea 100644 --- a/sfaira/versions/celltype_versions/mouse/__init__.py +++ b/sfaira/versions/celltype_versions/mouse/__init__.py @@ -10,7 +10,7 @@ from .lung import CelltypeVersionsMouseLung from .mammarygland import CelltypeVersionsMouseMammarygland from .bone import CelltypeVersionsMouseBone -from .ovary import CelltypeVersionsMouseOvary +from .femalegonad import CelltypeVersionsMouseFemalegonad from .blood import CelltypeVersionsMouseBlood from .placenta import CelltypeVersionsMousePlacenta from .pancreas import CelltypeVersionsMousePancreas @@ -39,7 +39,7 @@ "lung": CelltypeVersionsMouseLung(), "mammarygland": CelltypeVersionsMouseMammarygland(), "bone": CelltypeVersionsMouseBone(), - "ovary": CelltypeVersionsMouseOvary(), + "femalegonad": CelltypeVersionsMouseFemalegonad(), "blood": CelltypeVersionsMouseBlood(), "placenta": CelltypeVersionsMousePlacenta(), "pancreas": CelltypeVersionsMousePancreas(), diff --git a/sfaira/versions/celltype_versions/mouse/ovary.py b/sfaira/versions/celltype_versions/mouse/ovary.py index b2c10f074..19278ed31 100644 --- a/sfaira/versions/celltype_versions/mouse/ovary.py +++ b/sfaira/versions/celltype_versions/mouse/ovary.py @@ -1,7 +1,7 @@ from .external import CelltypeVersionsBase # Version 0 -CELLTYPES_MOUSE_OVARY_V0 = [ +CELLTYPES_MOUSE_FEMALEGONAD_V0 = [ ["cumulus cell", "nan"], ["granulosa cell", "nan"], ["large luteal cell", "nan"], @@ -13,7 +13,7 @@ ["thecal cell", "nan"], ["unknown", "nan"] ] -ONTOLOGIES_MOUSE_OVARY_V0 = { +ONTOLOGIES_MOUSE_FEMALEGONAD_V0 = { "names": { 'luteal cell': ['small luteal cell', 'large luteal cell'], }, @@ -21,13 +21,13 @@ } -class CelltypeVersionsMouseOvary(CelltypeVersionsBase): +class CelltypeVersionsMouseFemalegonad(CelltypeVersionsBase): def __init__(self, **kwargs): self.celltype_universe = { - "0": CELLTYPES_MOUSE_OVARY_V0 + "0": CELLTYPES_MOUSE_FEMALEGONAD_V0 } self.ontology = { - "0": ONTOLOGIES_MOUSE_OVARY_V0 + "0": ONTOLOGIES_MOUSE_FEMALEGONAD_V0 } - super(CelltypeVersionsMouseOvary, self).__init__(**kwargs) + super(CelltypeVersionsMouseFemalegonad, self).__init__(**kwargs) From ac0f959c73cf84c9c1b3bef7889bba6f6290004d Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Tue, 1 Dec 2020 14:12:37 +0100 Subject: [PATCH 26/61] rename mouse ovary organ to femalegonad --- sfaira/data/mouse/{ovary => femalegonad}/__init__.py | 0 sfaira/data/mouse/{ovary => femalegonad}/external.py | 0 .../{ovary/mouse_ovary.py => femalegonad/mouse_femalegonad.py} | 0 .../mouse_femalegonad_2018_microwell_han_001.py} | 0 .../mouse_femalegonad_2018_microwell_han_002.py} | 0 .../versions/celltype_versions/mouse/{ovary.py => femalegonad.py} | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename sfaira/data/mouse/{ovary => femalegonad}/__init__.py (100%) rename sfaira/data/mouse/{ovary => femalegonad}/external.py (100%) rename sfaira/data/mouse/{ovary/mouse_ovary.py => femalegonad/mouse_femalegonad.py} (100%) rename sfaira/data/mouse/{ovary/mouse_ovary_2018_microwell_han_001.py => femalegonad/mouse_femalegonad_2018_microwell_han_001.py} (100%) rename sfaira/data/mouse/{ovary/mouse_ovary_2018_microwell_han_002.py => femalegonad/mouse_femalegonad_2018_microwell_han_002.py} (100%) rename sfaira/versions/celltype_versions/mouse/{ovary.py => femalegonad.py} (100%) diff --git a/sfaira/data/mouse/ovary/__init__.py b/sfaira/data/mouse/femalegonad/__init__.py similarity index 100% rename from sfaira/data/mouse/ovary/__init__.py rename to sfaira/data/mouse/femalegonad/__init__.py diff --git a/sfaira/data/mouse/ovary/external.py b/sfaira/data/mouse/femalegonad/external.py similarity index 100% rename from sfaira/data/mouse/ovary/external.py rename to sfaira/data/mouse/femalegonad/external.py diff --git a/sfaira/data/mouse/ovary/mouse_ovary.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad.py similarity index 100% rename from sfaira/data/mouse/ovary/mouse_ovary.py rename to sfaira/data/mouse/femalegonad/mouse_femalegonad.py diff --git a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_001.py similarity index 100% rename from sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_001.py rename to sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_001.py diff --git a/sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_002.py similarity index 100% rename from sfaira/data/mouse/ovary/mouse_ovary_2018_microwell_han_002.py rename to sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_002.py diff --git a/sfaira/versions/celltype_versions/mouse/ovary.py b/sfaira/versions/celltype_versions/mouse/femalegonad.py similarity index 100% rename from sfaira/versions/celltype_versions/mouse/ovary.py rename to sfaira/versions/celltype_versions/mouse/femalegonad.py From 7e842608ca7a6a450822d446c5f9252a5a1f0838 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 2 Dec 2020 15:56:13 +0100 Subject: [PATCH 27/61] sort by model type in classwise f1 heatmap plot --- sfaira/train/summaries.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sfaira/train/summaries.py b/sfaira/train/summaries.py index 9dcae08fa..ac00506c8 100644 --- a/sfaira/train/summaries.py +++ b/sfaira/train/summaries.py @@ -919,6 +919,7 @@ def plot_best_classwise_heatmap( # Build figure. model_types = sns_tab["model_type"].unique() + model_types.sort() classes = self.load_ontology_names(run_id=sns_tab["run"].values[0]) if 'unknown' not in classes and 'Unknown' not in classes: classes = classes + ['Unknown'] @@ -946,7 +947,7 @@ def plot_best_classwise_heatmap( if c in cell_counts.keys(): n_cells.append(np.round(cell_counts[c])) else: - warnings.warn(f"Celltype {c} from cell ontology now found in {organism} {organ} dataset") + warnings.warn(f"Celltype {c} from cell ontology not found in {organism} {organ} dataset") n_cells.append(np.nan) n_cells = np.array(n_cells)[:, None] sns_data_heatmap = pandas.DataFrame( @@ -1110,7 +1111,7 @@ def plot_best_classwise_scatter( if c in cell_counts.keys(): n_cells.append(np.round(cell_counts[c])) else: - warnings.warn(f"Celltype {c} from cell ontology now found in {organism} {organ} dataset") + warnings.warn(f"Celltype {c} from cell ontology not found in {organism} {organ} dataset") n_cells.append(np.nan) n_cells = np.array(n_cells)[:, None] sns_data_scatter = pandas.DataFrame( From 1afe5966b8074e97d5eb7837ac59a44bad923097 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 2 Dec 2020 21:02:12 +0100 Subject: [PATCH 28/61] another hacky solution to ensure a summary tab can be created when both vae and other models are loaded at once --- sfaira/train/summaries.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sfaira/train/summaries.py b/sfaira/train/summaries.py index ac00506c8..86119aa17 100644 --- a/sfaira/train/summaries.py +++ b/sfaira/train/summaries.py @@ -1188,10 +1188,10 @@ def create_summary_tab(self): "model_gs_id": ["_".join(id_i.split("_")[:(self.model_id_len + 6)]) for id_i in self.run_ids], "run": self.run_ids, }.items()) + - list(dict([("train_" + m, [self.evals[x]["train"][m] for x in self.run_ids]) for m in metrics]).items()) + - list(dict([("test_" + m, [self.evals[x]["test"][m] for x in self.run_ids]) for m in metrics]).items()) + - list(dict([("val_" + m, [self.evals[x]["val"][m] for x in self.run_ids]) for m in metrics]).items()) + - list(dict([("all_" + m, [self.evals[x]["all"][m] for x in self.run_ids]) for m in metrics]).items()) + list(dict([("train_" + m, [self.evals[x]["train"][m] if m in self.evals[x]["train"].keys() else self.evals[x]["train"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) + # TODO: Hacky solution to make sure metrics are called the same in VAE and other models + list(dict([("test_" + m, [self.evals[x]["test"][m] if m in self.evals[x]["test"].keys() else self.evals[x]["test"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) + # TODO: Hacky solution to make sure metrics are called the same in VAE and other models + list(dict([("val_" + m, [self.evals[x]["val"][m] if m in self.evals[x]["val"].keys() else self.evals[x]["val"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) + # TODO: Hacky solution to make sure metrics are called the same in VAE and other models + list(dict([("all_" + m, [self.evals[x]["all"][m] if m in self.evals[x]["all"].keys() else self.evals[x]["all"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) # TODO: Hacky solution to make sure metrics are called the same in VAE and other models )) # TODO: Hacky solution to make sure metrics are called the same in VAE and other models From c71e2b3f86398506ab12022ee80eae481085a08b Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Thu, 3 Dec 2020 15:59:15 +0100 Subject: [PATCH 29/61] allow custom metadata in zenodo submission --- sfaira/interface/user_interface.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 132e35fed..54cdb1f8a 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -156,6 +156,7 @@ def deposit_zenodo( title: str, authors: list, description: str, + metadata: dict = {}, publish: bool = False, sandbox: bool = False ): @@ -168,6 +169,7 @@ def deposit_zenodo( :param title: Title of the Zenodo deposition :param authors: List of dicts, where each dict defines one author (dict keys: name: Name of creator in the format "Family name, Given names", affiliation: Affiliation of creator (optional), orcid: ORCID identifier of creator (optional), gnd: GND identifier of creator (optional) :param description: Description of the Zenodo deposition. + :param metadata: Dictionary with further metadata attributes of the deposit. See the Zenodo API refenrece for accepted keys: https://developers.zenodo.org/#representation :param publish: Set this to True to directly publish the weights on Zenodo. When set to False a draft will be created, which can be edited in the browser before publishing. :param sandbox: If True, use the Zenodo testing platform at https://sandbox.zenodo.org for your deposition. We recommend testing your upload with sandbox first as depositions cannot be deleted from the main Zenodo platfowm once created. """ @@ -220,17 +222,19 @@ def deposit_zenodo( ) # Add metadata + meta_core = { + 'title': title, + 'creators': authors, + 'description': description, + 'license': 'cc-by-4.0', + 'upload_type': 'dataset', + 'access_right': 'open' + } + meta = {**meta_core, **metadata} r = requests.put(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}', params=params, data=json.dumps({ - 'metadata': { - 'title': title, - 'creators': authors, - 'description': description, - 'license': 'cc-by-4.0', - 'upload_type': 'dataset', - 'access_right': 'open' - } + 'metadata': meta }), headers=headers) From 2d71aefd7527cc3afe2bacdae348b7bf5dd4d2db Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Thu, 3 Dec 2020 16:14:02 +0100 Subject: [PATCH 30/61] do not return doi but deposit url after depositing to zenodo sandbox as dois don't wrk on sandbox --- sfaira/interface/user_interface.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 54cdb1f8a..9334a3158 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -246,9 +246,14 @@ def deposit_zenodo( r = requests.post(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}/actions/publish', params=params) if r.status_code == 202: - print(f"Weights referenced in model_lookuptable have been sucessfully published on Zenodo: " - f"{r.json()['links']['conceptdoi']}") - return r.json()['links']['conceptdoi'] + if sandbox: + print(f"Weights referenced in model_lookuptable have been sucessfully published on Zenodo: " + f"{r.json()['links']['latest_html']}") + return r.json()['links']['latest_html'] + else: + print(f"Weights referenced in model_lookuptable have been sucessfully published on Zenodo: " + f"{r.json()['links']['conceptdoi']}") + return r.json()['links']['conceptdoi'] else: try: m = r.json()['message'] From b01c56619df8776f8f5b39392b1dbc454d930aed Mon Sep 17 00:00:00 2001 From: "David S. Fischer" Date: Thu, 3 Dec 2020 17:31:09 +0100 Subject: [PATCH 31/61] updated model zoo description --- README.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index ac3c3b500..ff160967c 100644 --- a/README.rst +++ b/README.rst @@ -6,9 +6,13 @@ Managing single-cell data sets and neural networks used for analysis :align: center sfaira_ is a model and a data repository in a single python package. -Its data API gives users access to streamlined data loaders that allow reproducible use of published and private data sets for model training and exploration. -Its model API gives user streamlined access to pre-trained models and to common model architectures to ease usage of neural networks in common single-cell analysis workflows. +Its data zoo gives users access to streamlined data loaders that allow reproducible use of published and private data sets for model training and exploration. +Its model zoo gives user streamlined access to pre-trained models and to common model architectures to ease usage of neural networks in common single-cell analysis workflows: +A model zoo is a software infrastructure that improves user access to pre-trained models which are separately published, such as DCA_ or scArches_: +Instead of focussing on developing new models, we focus on making models easily accessible to users and distributable by developers. sfaira integrates into scanpy_ workflows. .. _scanpy: https://github.com/theislab/scanpy .. _sfaira: https://sfaira.readthedocs.io +.. _DCA: https://github.com/theislab/dca +.. _scArches: https://github.com/theislab/scarches From c5eaa4e1a11f0cc1939269a26df19cadfaa52061 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Thu, 3 Dec 2020 17:35:03 +0100 Subject: [PATCH 32/61] recognise all .h5 and .data-0000... files as sfaira weights when constructing lookuptable --- sfaira/interface/user_interface.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 9334a3158..530ac97a4 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -126,8 +126,8 @@ def write_lookuptable( for subdir, dirs, files in os.walk(repo_path): for file in files: if os.path.isfile(os.path.join(subdir, file)) and ( - file.endswith('_weights.h5') or file.endswith('_weights.data-00000-of-00001')) and ( - file.startswith('embedding') or file.startswith('celltype')): + file.endswith('.h5') or file.endswith('.data-00000-of-00001')) and ( + file.startswith('embedding_') or file.startswith('celltype_')): model_paths.append(os.path.join(subdir, "")) file_paths.append(os.path.join(subdir, file)) file_names.append(file) From b0e92bf40c83909474853d8c1510ea6590a9f4fa Mon Sep 17 00:00:00 2001 From: "David S. Fischer" Date: Fri, 4 Dec 2020 17:12:27 +0100 Subject: [PATCH 33/61] Update README.rst --- README.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.rst b/README.rst index ff160967c..08d955ba9 100644 --- a/README.rst +++ b/README.rst @@ -6,6 +6,8 @@ Managing single-cell data sets and neural networks used for analysis :align: center sfaira_ is a model and a data repository in a single python package. +We provide an interactive overview of the current state of the zoos on sfaira-site_. + Its data zoo gives users access to streamlined data loaders that allow reproducible use of published and private data sets for model training and exploration. Its model zoo gives user streamlined access to pre-trained models and to common model architectures to ease usage of neural networks in common single-cell analysis workflows: A model zoo is a software infrastructure that improves user access to pre-trained models which are separately published, such as DCA_ or scArches_: @@ -16,3 +18,4 @@ sfaira integrates into scanpy_ workflows. .. _sfaira: https://sfaira.readthedocs.io .. _DCA: https://github.com/theislab/dca .. _scArches: https://github.com/theislab/scarches +.. _sfaira-site: https://theislab.github.io/sfaira-site/index.html From 82993e578ba82aa8bfad269518cc189a44e6b6d2 Mon Sep 17 00:00:00 2001 From: Abdul Moeed Date: Fri, 4 Dec 2020 21:44:14 +0100 Subject: [PATCH 34/61] Add selu activation and lecun_normal weight_init scheme for human VAEVAMP. (#19) --- .../versions/topology_versions/human/embedding/vaevamp.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sfaira/versions/topology_versions/human/embedding/vaevamp.py b/sfaira/versions/topology_versions/human/embedding/vaevamp.py index 7b4d1585c..c324f2635 100644 --- a/sfaira/versions/topology_versions/human/embedding/vaevamp.py +++ b/sfaira/versions/topology_versions/human/embedding/vaevamp.py @@ -7,8 +7,8 @@ "l2_coef": 0., "dropout_rate": 0., "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", + "activation": "selu", + "init": "lecun_normal", "output_layer": "nb_shared_disp" } }, @@ -20,8 +20,8 @@ "l2_coef": 0., "dropout_rate": 0., "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", + "activation": "selu", + "init": "lecun_normal", "output_layer": "nb_shared_disp" } } From ace102c08425c42d4a4fef3be57320a0cfa86f04 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Sat, 5 Dec 2020 12:13:08 +0100 Subject: [PATCH 35/61] update sfaira erpo url and handle .h5 extension in model lookuptable id --- sfaira/interface/user_interface.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 530ac97a4..6e8a5090f 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -61,7 +61,7 @@ def __init__( self.cache_path = os.path.join(cache_path, '') if sfaira_repo: # check if public sfaira repository should be accessed - self.model_lookuptable = self._load_lookuptable("https://sandbox.zenodo.org/record/647061/files/") #TODO: this still points to zenodo sandbox + self.model_lookuptable = self._load_lookuptable("https://zenodo.org/record/4304660/files/") if custom_repo: if isinstance(custom_repo, str): @@ -83,6 +83,9 @@ def __init__( raise ValueError("please either provide a custom folder/repository with model weights or specify " "`sfaira_repo=True` to access the public weight repository") + # TODO: workaround to deal with model ids bearing file endings in model lookuptable (as is the case in first sfaira model repo upload) + self.model_lookuptable['model_id'] = [i.replace('.h5', '').replace('.data-00000-of-00001', '') for i in self.model_lookuptable['model_id']] + self.zoo_embedding = ModelZooEmbedding(self.model_lookuptable) self.zoo_celltype = ModelZooCelltype(self.model_lookuptable) @@ -135,10 +138,11 @@ def write_lookuptable( md5.append(hashlib.md5(f.read()).hexdigest()) s = [i.split('_')[0:7] for i in file_names] ids = ['_'.join(i) for i in s] + ids_cleaned = [i.replace('.h5', '').replace('.data-00000-of-00001', '') for i in ids] # remove file extensions from ids if ids: pd.DataFrame( - list(zip(ids, model_paths, file_paths, md5)), + list(zip(ids_cleaned, model_paths, file_paths, md5)), columns=['model_id', 'model_path', 'model_file_path', 'md5'] )\ .sort_values('model_id')\ From b04aacd76515921707400724239949df99e27bc0 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Mon, 7 Dec 2020 11:15:54 +0100 Subject: [PATCH 36/61] add meta_data download information to all human dataloaders --- .../data/human/adipose/human_adipose_2020_microwell_han_001.py | 1 + .../adrenalgland/human_adrenalgland_2020_microwell_han_001.py | 1 + .../adrenalgland/human_adrenalgland_2020_microwell_han_002.py | 1 + .../adrenalgland/human_adrenalgland_2020_microwell_han_003.py | 1 + .../adrenalgland/human_adrenalgland_2020_microwell_han_004.py | 1 + .../adrenalgland/human_adrenalgland_2020_microwell_han_005.py | 1 + .../adrenalgland/human_adrenalgland_2020_microwell_han_006.py | 1 + .../data/human/artery/human_artery_2020_microwell_han_001.py | 1 + .../data/human/bladder/human_bladder_2020_microwell_han_001.py | 1 + .../data/human/bladder/human_bladder_2020_microwell_han_002.py | 1 + .../data/human/bladder/human_bladder_2020_microwell_han_003.py | 1 + sfaira/data/human/blood/human_blood_2018_10x_ica_001.py | 1 + .../data/human/blood/human_blood_2019_10x_10xGenomics_001.py | 1 + sfaira/data/human/blood/human_blood_2020_microwell_han_001.py | 1 + sfaira/data/human/blood/human_blood_2020_microwell_han_002.py | 1 + sfaira/data/human/blood/human_blood_2020_microwell_han_003.py | 1 + sfaira/data/human/blood/human_blood_2020_microwell_han_004.py | 1 + sfaira/data/human/blood/human_blood_2020_microwell_han_005.py | 1 + sfaira/data/human/blood/human_blood_2020_microwell_han_006.py | 1 + sfaira/data/human/blood/human_blood_2020_microwell_han_007.py | 1 + sfaira/data/human/bone/human_bone_2018_10x_ica_001.py | 1 + sfaira/data/human/bone/human_bone_2020_microwell_han_001.py | 1 + sfaira/data/human/bone/human_bone_2020_microwell_han_002.py | 1 + sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py | 1 + sfaira/data/human/brain/human_brain_2020_microwell_han_001.py | 1 + sfaira/data/human/brain/human_brain_2020_microwell_han_002.py | 1 + sfaira/data/human/brain/human_brain_2020_microwell_han_003.py | 1 + sfaira/data/human/brain/human_brain_2020_microwell_han_004.py | 1 + sfaira/data/human/brain/human_brain_2020_microwell_han_005.py | 1 + sfaira/data/human/brain/human_brain_2020_microwell_han_006.py | 1 + .../human/calvaria/human_calvaria_2020_microwell_han_001.py | 1 + .../data/human/cervix/human_cervix_2020_microwell_han_001.py | 1 + .../human_chorionicvillus_2020_microwell_han_001.py | 1 + sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py | 1 + sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py | 1 + sfaira/data/human/colon/human_colon_2019_10x_wang_001.py | 1 + sfaira/data/human/colon/human_colon_2020_10x_james_001.py | 1 + sfaira/data/human/colon/human_colon_2020_microwell_han_001.py | 3 ++- sfaira/data/human/colon/human_colon_2020_microwell_han_002.py | 3 ++- sfaira/data/human/colon/human_colon_2020_microwell_han_003.py | 3 ++- sfaira/data/human/colon/human_colon_2020_microwell_han_004.py | 3 ++- .../human/duodenum/human_duodenum_2020_microwell_han_001.py | 1 + .../epityphlon/human_epityphlon_2020_microwell_han_001.py | 1 + .../human/esophagus/human_esophagus_2019_10x_madissoon_001.py | 1 + .../human/esophagus/human_esophagus_2020_microwell_han_001.py | 3 ++- .../human/esophagus/human_esophagus_2020_microwell_han_002.py | 3 ++- sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py | 1 + sfaira/data/human/eye/human_eye_2019_10x_menon_001.py | 1 + sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py | 1 + sfaira/data/human/eye/human_eye_2020_microwell_han_001.py | 3 ++- .../human_fallopiantube_2020_microwell_han_001.py | 1 + .../femalegonad/human_femalegonad_2020_microwell_han_001.py | 1 + .../femalegonad/human_femalegonad_2020_microwell_han_002.py | 1 + .../gallbladder/human_gallbladder_2020_microwell_han_001.py | 1 + sfaira/data/human/heart/human_heart_2020_microwell_han_001.py | 1 + sfaira/data/human/heart/human_heart_2020_microwell_han_002.py | 1 + sfaira/data/human/heart/human_heart_2020_microwell_han_003.py | 1 + sfaira/data/human/heart/human_heart_2020_microwell_han_004.py | 1 + sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py | 1 + sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py | 1 + sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py | 1 + sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py | 1 + .../data/human/jejunum/human_jejunum_2020_microwell_han_001.py | 1 + sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py | 1 + sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py | 1 + .../data/human/kidney/human_kidney_2020_microwell_han_001.py | 3 ++- .../data/human/kidney/human_kidney_2020_microwell_han_002.py | 3 ++- .../data/human/kidney/human_kidney_2020_microwell_han_003.py | 3 ++- .../data/human/kidney/human_kidney_2020_microwell_han_004.py | 3 ++- .../data/human/kidney/human_kidney_2020_microwell_han_005.py | 3 ++- .../data/human/kidney/human_kidney_2020_microwell_han_006.py | 3 ++- .../data/human/kidney/human_kidney_2020_microwell_han_007.py | 3 ++- sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py | 1 + sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py | 1 + .../data/human/liver/human_liver_2019_10x_ramachandran_001.py | 1 + sfaira/data/human/liver/human_liver_2020_microwell_han_001.py | 3 ++- sfaira/data/human/liver/human_liver_2020_microwell_han_002.py | 3 ++- sfaira/data/human/liver/human_liver_2020_microwell_han_003.py | 3 ++- sfaira/data/human/liver/human_liver_2020_microwell_han_004.py | 3 ++- sfaira/data/human/liver/human_liver_2020_microwell_han_005.py | 3 ++- sfaira/data/human/lung/human_lung_2019_10x_braga_001.py | 1 + sfaira/data/human/lung/human_lung_2019_10x_braga_002.py | 1 + sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py | 1 + sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py | 1 + sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py | 1 + sfaira/data/human/lung/human_lung_2020_10x_miller_001.py | 1 + sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py | 1 + sfaira/data/human/lung/human_lung_2020_microwell_han_001.py | 1 + sfaira/data/human/lung/human_lung_2020_microwell_han_002.py | 1 + sfaira/data/human/lung/human_lung_2020_microwell_han_003.py | 1 + sfaira/data/human/lung/human_lung_2020_microwell_han_004.py | 1 + sfaira/data/human/lung/human_lung_2020_microwell_han_005.py | 1 + .../human/lung/human_lung_2020_smartseq2_travaglini_002.py | 1 + .../data/human/malegonad/human_malegonad_2018_10x_guo_001.py | 1 + .../human/malegonad/human_malegonad_2020_microwell_han_001.py | 1 + .../human/malegonad/human_malegonad_2020_microwell_han_002.py | 1 + sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py | 1 + .../data/human/muscle/human_muscle_2020_microwell_han_001.py | 1 + .../data/human/muscle/human_muscle_2020_microwell_han_002.py | 1 + .../data/human/omentum/human_omentum_2020_microwell_han_001.py | 1 + .../data/human/omentum/human_omentum_2020_microwell_han_002.py | 1 + .../data/human/omentum/human_omentum_2020_microwell_han_003.py | 1 + .../human/pancreas/human_pancreas_2016_indrop_baron_001.py | 1 + .../human/pancreas/human_pancreas_2020_microwell_han_001.py | 3 ++- .../human/pancreas/human_pancreas_2020_microwell_han_002.py | 3 ++- .../human/pancreas/human_pancreas_2020_microwell_han_003.py | 3 ++- .../human/pancreas/human_pancreas_2020_microwell_han_004.py | 3 ++- .../human/placenta/human_placenta_2020_microwell_han_001.py | 3 ++- .../data/human/pleura/human_pleura_2020_microwell_han_001.py | 1 + .../data/human/prostate/human_prostate_2018_10x_henry_001.py | 1 + .../human/prostate/human_prostate_2020_microwell_han_001.py | 1 + .../data/human/rectum/human_rectum_2020_microwell_han_001.py | 1 + sfaira/data/human/rib/human_rib_2020_microwell_han_001.py | 1 + sfaira/data/human/rib/human_rib_2020_microwell_han_002.py | 1 + sfaira/data/human/skin/human_skin_2020_microwell_han_001.py | 1 + sfaira/data/human/skin/human_skin_2020_microwell_han_002.py | 1 + .../spinalcord/human_spinalcord_2020_microwell_han_001.py | 1 + .../data/human/spleen/human_spleen_2019_10x_madissoon_001.py | 1 + .../data/human/spleen/human_spleen_2020_microwell_han_001.py | 3 ++- .../data/human/spleen/human_spleen_2020_microwell_han_002.py | 3 ++- .../data/human/stomach/human_stomach_2020_microwell_han_001.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_002.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_003.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_004.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_005.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_006.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_007.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_008.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_009.py | 1 + .../data/human/stomach/human_stomach_2020_microwell_han_010.py | 1 + sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py | 1 + .../data/human/thymus/human_thymus_2020_microwell_han_001.py | 1 + .../data/human/thymus/human_thymus_2020_microwell_han_002.py | 1 + .../data/human/thyroid/human_thyroid_2020_microwell_han_001.py | 1 + .../data/human/thyroid/human_thyroid_2020_microwell_han_002.py | 1 + .../data/human/trachea/human_trachea_2020_microwell_han_001.py | 1 + .../data/human/ureter/human_ureter_2020_microwell_han_001.py | 1 + .../data/human/uterus/human_uterus_2020_microwell_han_001.py | 1 + 138 files changed, 164 insertions(+), 26 deletions(-) diff --git a/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py b/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py index 95b8c86bd..ce2a52aff 100644 --- a/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py +++ b/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultAdipose' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py index cf03cffc8..2cea78fb3 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'NeonatalAdrenalGland' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py index 4b0a06984..8b5b750b6 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalAdrenalGland' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py index 6b84d86ec..a3a80ef5c 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalAdrenalGland' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py index fbad71450..9f35b56a1 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultAdrenalGland' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py index e773b7fa4..11adf9ee1 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalAdrenalGland' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py index 9eb6e68e3..3d887b371 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultAdrenalGland' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py b/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py index fb4d4a536..773dd0e23 100644 --- a/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py +++ b/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultArtery' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py index a2086a738..3886a46fa 100644 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py +++ b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultBladder' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py index ea32e48c4..6e8233113 100644 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py +++ b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultBladder' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py index 2005dbd87..3ed77905e 100644 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py +++ b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultBladder' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py b/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py index c8d481b2f..1079f1e00 100644 --- a/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py +++ b/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py @@ -36,6 +36,7 @@ def __init__( self.species = "human" self.id = "human_blood_2018_10x_ica_001_unknown" self.download_website = "https://data.humancellatlas.org/project-assets/project-matrices/cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom" + self.download_website_meta = None self.organ = "blood" self.sub_tissue = "umbilical_cord_blood" self.has_celltypes = False diff --git a/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py b/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py index 558a9728d..e14c1e16f 100644 --- a/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py +++ b/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py @@ -28,6 +28,7 @@ def __init__( self.species = "human" self.id = "human_blood_2019_10x_10xGenomics_001_unknown" self.download_website = "http://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_10k_v3/pbmc_10k_v3_filtered_feature_bc_matrix.h5" + self.download_website_meta = None self.organ = "blood" self.sub_tissue = "pbmcs" self.has_celltypes = False diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py index 6ff9fafa4..13a7ff87d 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultPeripheralBlood' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py index 486a27cc8..a66e761f3 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultPeripheralBlood' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py index 1fb437c06..fdc82a880 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'CordBlood' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py index 3bf16d316..51906a462 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultPeripheralBlood' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py index 94c092a45..baabbc5e7 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'CordBloodCD34P' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py index 3b1b705a8..9c4a22bac 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'CordBloodCD34P' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py index 7a83a010c..e23ba514a 100644 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py +++ b/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'CordBlood' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py b/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py index c88c4028c..e9cb4ddc5 100644 --- a/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py +++ b/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py @@ -36,6 +36,7 @@ def __init__( self.species = "human" self.id = "human_bone_2018_10x_ica_unknown" self.download_website = "https://data.humancellatlas.org/project-assets/project-matrices/cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom" + self.download_website_meta = None self.organ = "bone" self.sub_tissue = "bone_marrow" self.has_celltypes = False diff --git a/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py b/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py index 1783f1622..eed0fe2bf 100644 --- a/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py +++ b/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultBoneMarrow' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py b/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py index 1e9fe4339..25fdfb8fc 100644 --- a/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py +++ b/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultBoneMarrow' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py b/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py index d4865ebcb..f5abe85a0 100644 --- a/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py +++ b/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_brain_2017_DroNcSeq_habib_001_10.1038/nmeth.4407" self.download_website = "https://covid19.cog.sanger.ac.uk/habib17.processed.h5ad" + self.download_website_meta = None self.organ = "brain" self.sub_tissue = "hippocampus, prefrontal cortex" self.has_celltypes = True diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py index 2bea42a10..e0a33c1f7 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalBrain' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py index 4364aa8d5..c3ab3b15e 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalBrain' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py index 03b611119..ffb523ad2 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalBrain' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py index e128723ca..0f0c931dc 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultTemporalLobe' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py index a69281db2..5f293066a 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalBrain' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py index a922249c3..448e6795c 100644 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py +++ b/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultCerebellum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py b/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py index ee3ea3a8b..a012eecdb 100644 --- a/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py +++ b/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalCalvaria' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py b/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py index f940441a9..925b9b2e1 100644 --- a/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py +++ b/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultCervix' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py b/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py index 199131619..faa94f568 100644 --- a/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py +++ b/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'ChorionicVillus' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py b/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py index 7dc3c9caf..8f7b44e1c 100644 --- a/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py +++ b/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py @@ -63,6 +63,7 @@ def __init__( self.species = "human" self.id = "human_colon_2019_10x_kinchen_001_10.1016/j.cell.2018.08.067" self.download_website = "https://data.humancellatlas.org/project-assets/project-matrices/f8aa201c-4ff1-45a4-890e-840d63459ca2.homo_sapiens.loom" + self.download_website_meta = 'private' self.organ = "colon" self.sub_tissue = "lamina propria of mucosa of colon" self.has_celltypes = True diff --git a/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py b/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py index 1f8456f29..f54b4147f 100644 --- a/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py +++ b/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py @@ -27,6 +27,7 @@ def __init__( self.species = "human" self.id = "human_colon_2019_10x_smilie_001_10.1016/j.cell.2019.06.029" self.download_website = "https://covid19.cog.sanger.ac.uk/smillie19_epi.processed.h5ad" + self.download_website_meta = None self.organ = "colon" self.sub_tissue = "colonic epithelium" self.has_celltypes = True diff --git a/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py b/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py index 1c473817e..a760c20a6 100644 --- a/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py +++ b/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_colon_2019_10x_wang_001_10.1084/jem.20191130" self.download_website = "https://covid19.cog.sanger.ac.uk/wang20_colon.processed.h5ad" + self.download_website_meta = None self.organ = "colon" self.sub_tissue = "colon" self.has_celltypes = True diff --git a/sfaira/data/human/colon/human_colon_2020_10x_james_001.py b/sfaira/data/human/colon/human_colon_2020_10x_james_001.py index 8a6f82c08..cfaabd185 100644 --- a/sfaira/data/human/colon/human_colon_2020_10x_james_001.py +++ b/sfaira/data/human/colon/human_colon_2020_10x_james_001.py @@ -27,6 +27,7 @@ def __init__( self.species = "human" self.id = "human_colon_2019_10x_james_001_10.1038/s41590-020-0602-z" self.download_website = "https://covid19.cog.sanger.ac.uk/james20.processed.h5ad" + self.download_website_meta = None self.organ = "colon" self.sub_tissue = "colonic immune cells" self.has_celltypes = True diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py index cfb604d63..3281467e6 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Colon' self.sub_tissue = 'AdultAscendingColon' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py index fccde3fed..03e84d136 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Colon' self.sub_tissue = 'AdultTransverseColon' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py index 8549a9219..5a718c435 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Colon' self.sub_tissue = 'AdultTransverseColon' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py index 81860144d..66ed3ae31 100644 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py +++ b/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Colon' self.sub_tissue = 'AdultSigmoidColon' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py b/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py index 8d482002b..b55eeaba9 100644 --- a/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py +++ b/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultDuodenum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py b/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py index 2df8678de..dd6e2a396 100644 --- a/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py +++ b/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultEpityphlon' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py b/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py index 636f59e23..9d9a5b121 100644 --- a/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py +++ b/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py @@ -26,6 +26,7 @@ def __init__( self.id = "human_esophagus_2019_10x_madissoon_001_10.1101/741405" self.download_website = "https://cellgeni.cog.sanger.ac.uk/tissue-stability/tissue-stability/oesophagus.cellxgene.h5ad" # Associated HCA project: https://data.humancellatlas.org/explore/projects/c4077b3c-5c98-4d26-a614-246d12c2e5d7 + self.download_website_meta = None self.organ = "esophagus" self.sub_tissue = "esophagus" self.has_celltypes = True diff --git a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py index 946fa1097..dc9b6c58e 100644 --- a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py +++ b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Esophagus' self.sub_tissue = 'AdultEsophagus' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py index 3ad217f3c..e18b89e7d 100644 --- a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py +++ b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Esophagus' self.sub_tissue = 'AdultEsophagus' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py b/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py index cdbf1a2d9..530b4963d 100644 --- a/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py +++ b/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_eye_2019_10x_lukowski_001_10.15252/embj.2018100811" self.download_website = "https://covid19.cog.sanger.ac.uk/lukowski19.processed.h5ad" + self.download_website_meta = None self.organ = "eye" self.sub_tissue = "retina" self.has_celltypes = True diff --git a/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py b/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py index ce77fd602..17f77e22a 100644 --- a/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py +++ b/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py @@ -24,6 +24,7 @@ def __init__( self.species = "human" self.id = "human_eye_2019_10x_menon_001_10.1038/s41467-019-12780-8" self.download_website = "https://covid19.cog.sanger.ac.uk/menon19.processed.h5ad" + self.download_website_meta = None self.organ = "eye" self.sub_tissue = "retina" self.has_celltypes = True diff --git a/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py b/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py index 6b8ab2413..05f181393 100644 --- a/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py +++ b/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py @@ -25,6 +25,7 @@ def __init__( self.species = "human" self.id = "human_eye_2019_10x_voigt_001_10.1073/pnas.1914143116" self.download_website = "https://covid19.cog.sanger.ac.uk/voigt19.processed.h5ad" + self.download_website_meta = None self.organ = "eye" self.sub_tissue = "retina" self.has_celltypes = True diff --git a/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py b/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py index 132759289..a1b101a65 100644 --- a/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py +++ b/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Eye' self.sub_tissue = 'FetalEyes' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py b/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py index 50a0f8c9b..83618afc0 100644 --- a/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py +++ b/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultFallopiantube' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py index d0d74d3ad..e29aa96e1 100644 --- a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py +++ b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalFemaleGonad' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py index 783c743e5..36e38b6ee 100644 --- a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py +++ b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalFemaleGonad' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py b/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py index 91f22a5fa..3bf23a756 100644 --- a/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py +++ b/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultGallbladder' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py index 48a462051..a4e681323 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalHeart' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py index 910593638..d5436ab0f 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultHeart' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py index f7a0fe549..7a1ef3a44 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultHeart' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py index 9a5d5b76b..fd149a361 100644 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py +++ b/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalHeart' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py b/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py index 9e3dc8a7a..ad2f0abe1 100644 --- a/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py +++ b/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'HESC' self.dev_stage = 'HESC' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py b/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py index a91b69466..4e71cd032 100644 --- a/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py +++ b/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_ileum_2019_10x_martin_001_10.1016/j.cell.2019.08.008" self.download_website = "https://covid19.cog.sanger.ac.uk/martin19.processed.h5ad" + self.download_website_meta = None self.organ = "ileum" self.sub_tissue = "ileum" self.has_celltypes = True diff --git a/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py b/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py index 4526d6e59..b8c8513de 100644 --- a/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py +++ b/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_ileum_2019_10x_wang_001_10.1084/jem.20191130" self.download_website = "https://covid19.cog.sanger.ac.uk/wang20_ileum.processed.h5ad" + self.download_website_meta = None self.organ = "ileum" self.sub_tissue = "ileum" self.has_celltypes = True diff --git a/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py b/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py index 07e045bc3..6d158298b 100644 --- a/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py +++ b/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultIleum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py b/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py index 6d95a1912..deb5e3001 100644 --- a/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py +++ b/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultJejunum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py b/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py index e6970965f..f483c91f7 100644 --- a/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py +++ b/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py @@ -28,6 +28,7 @@ def __init__( 'https://cellgeni.cog.sanger.ac.uk/BenKidney_v2.1/Mature_Full_v2.1.h5ad', 'https://cellgeni.cog.sanger.ac.uk/BenKidney_v2.1/Fetal_full.h5ad' ] + self.download_website_meta = None self.organ = "kidney" self.sub_tissue = "renal medulla, renal pelvis, ureter, cortex of kidney" self.has_celltypes = True diff --git a/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py b/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py index cfacf9dd5..fcf46fcf6 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py +++ b/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py @@ -55,6 +55,7 @@ def __init__( self.species = "human" self.id = "human_kidney_2020_10x_liao_001_10.1038/s41597-019-0351-8" self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE131nnn/GSE131685/suppl/GSE131685_RAW.tar" + self.download_website_meta = None self.organ = "kidney" self.sub_tissue = "kidney" self.has_celltypes = False diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py index dd4e2b120..d785af18a 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Kidney' self.sub_tissue = 'AdultKidney' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py index 5c92021a2..fc69077f6 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Kidney' self.sub_tissue = 'AdultKidney' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py index 817a6b10d..e56bf1b0e 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Kidney' self.sub_tissue = 'AdultKidney' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py index cc176e7ea..a0a70e798 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Kidney' self.sub_tissue = 'FetalKidney' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py index ea0a74fd4..f236729e8 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Kidney' self.sub_tissue = 'FetalKidney' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py index 77ef83d73..8e0d05fd6 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Kidney' self.sub_tissue = 'FetalKidney' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py index b2b6e0af5..bd6fed9cd 100644 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py +++ b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Kidney' self.sub_tissue = 'FetalKidney' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py b/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py index 7b641107c..b87b419d9 100644 --- a/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py +++ b/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_liver_2018_10x_macparland_001_10.1038/s41467-018-06318-7" self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE115469" + self.download_website_meta = 'private' self.organ = "liver" self.sub_tissue = "caudate lobe" self.has_celltypes = True diff --git a/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py b/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py index 547f73257..8781bb009 100644 --- a/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py +++ b/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py @@ -24,6 +24,7 @@ def __init__( self.species = "human" self.id = "human_liver_2019_10x_popescu_001_10.1038/s41586-019-1652-y" self.download_website = "https://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-7407/" + self.download_website_meta = 'private' self.organ = "liver" self.sub_tissue = "liver" self.has_celltypes = True diff --git a/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py b/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py index ddec0af66..6c5425d92 100644 --- a/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py +++ b/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py @@ -41,6 +41,7 @@ def __init__( self.species = "human" self.id = "human_liver_2019_10x_ramachandran_001_10.1038/s41586-019-1631-3" self.download_website = "https://datashare.is.ed.ac.uk/bitstream/handle/10283/3433/tissue.rdata" + self.download_website_meta = None self.organ = "liver" self.sub_tissue = "liver" self.has_celltypes = True diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py index 2affb5fbc..cc5f732f8 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Liver' self.sub_tissue = 'AdultLiver' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py index c2a938826..6cb772184 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Liver' self.sub_tissue = 'AdultLiver' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py index 02fa0fdb9..bb6661adb 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Liver' self.sub_tissue = 'AdultLiver' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py index cd91fde13..577335596 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Liver' self.sub_tissue = 'FetalLiver' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py index 9284b626c..41199f34a 100644 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py +++ b/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Liver' self.sub_tissue = 'FetalLiver' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py b/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py index 390501f52..9d81ce069 100644 --- a/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py +++ b/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py @@ -26,6 +26,7 @@ def __init__( self.id = "human_lung_2019_10x_braga_001_10.1038/s41591-019-0468-5" self.download_website = "https://covid19.cog.sanger.ac.uk/" \ "vieira19_Alveoli_and_parenchyma_anonymised.processed.h5ad" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "alveoli, parenchyma" self.has_celltypes = True diff --git a/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py b/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py index 75cc12176..28843cea0 100644 --- a/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py +++ b/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py @@ -26,6 +26,7 @@ def __init__( self.id = "human_lung_2019_10x_braga_002_10.1038/s41591-019-0468-5" self.download_website = "https://covid19.cog.sanger.ac.uk/" \ "vieira19_Bronchi_anonymised.processed.h5ad" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "bronchi" self.has_celltypes = True diff --git a/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py b/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py index 5b21d47e3..88aff3f6a 100644 --- a/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py +++ b/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py @@ -24,6 +24,7 @@ def __init__( self.species = "human" self.id = "human_lung_2019_10x_madissoon_001._10.1186/s13059-019-1906-x" self.download_website = "https://covid19.cog.sanger.ac.uk/madissoon19_lung.processed.h5ad" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "parenchyma" self.has_celltypes = True diff --git a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py index d1236e30b..836ce163c 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_lung_2020_10x_lukassen_001_10.1101/2020.03.13.991455" self.download_website = "https://covid19.cog.sanger.ac.uk/lukassen20_lung_orig.processed.h5ad" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "lung" self.has_celltypes = True diff --git a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py index 997a0689c..84ad0d665 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_lung_2020_10x_lukassen_002_10.1101/2020.03.13.991455" self.download_website = "https://covid19.cog.sanger.ac.uk/lukassen20_airway_orig.processed.h5ad" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "bronchial epithelial cells" self.has_celltypes = True diff --git a/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py b/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py index 46e4e32f8..139c3cb9f 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_lung_2020_10x_miller_001_10.1016/j.devcel.2020.01.033" self.download_website = "https://covid19.cog.sanger.ac.uk/miller20.processed.h5ad" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "fetal lung" self.has_celltypes = True diff --git a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py b/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py index 21c3529fc..161251c6b 100644 --- a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py +++ b/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py @@ -34,6 +34,7 @@ def __init__( self.species = "human" self.id = "human_lung_2020_10x_travaglini_001_10.1038/s41586-020-2922-4" self.download_website = "https://www.synapse.org/#!Synapse:syn21041850" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "proximal, medial, distal, blood" self.has_celltypes = True diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py index df9723f47..fb70be4ca 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalLung' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py index 8b0030d02..f1a7c305e 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultLung' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py index e8d7058c6..8f3df4475 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultLung' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py index ee1098de7..b34774648 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultLung' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py index 03f5523d1..534048249 100644 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py +++ b/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalLung' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py b/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py index 0069a8bae..6b6abdf62 100644 --- a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py +++ b/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py @@ -34,6 +34,7 @@ def __init__( self.species = "human" self.id = "human_lung_2020_smartseq2_travaglini_002_10.1038/s41586-020-2922-4" self.download_website = "https://www.synapse.org/#!Synapse:syn21041850" + self.download_website_meta = None self.organ = "lung" self.sub_tissue = "proximal, medial, distal, blood" self.has_celltypes = True diff --git a/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py b/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py index 84968e7af..bae4b6a99 100644 --- a/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py +++ b/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_malegonad_2018_10x_guo_001_10.1038/s41422-018-0099-2" self.download_website = "https://covid19.cog.sanger.ac.uk/guo18_donor.processed.h5ad" + self.download_website_meta = None self.organ = "malegonad" self.sub_tissue = "testis" self.has_celltypes = True diff --git a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py index b691c740f..42e072149 100644 --- a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py +++ b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalMaleGonad' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py index 91bcc19fa..9b7b31072 100644 --- a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py +++ b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalMaleGonad' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py b/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py index c1a9a6e7b..f81edd222 100644 --- a/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py +++ b/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py @@ -81,6 +81,7 @@ def __init__( self.species = "human" self.id = "human_mixed_2019_10x_szabo_001_10.1038/s41467-019-12464-3" self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE126nnn/GSE126030/suppl/GSE126030_RAW.tar" + self.download_website_meta = 'private' self.organ = "mixed" self.sub_tissue = "Bone Marrow, Lung, Lymph Node" self.has_celltypes = True diff --git a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py index a6a1084ae..61fbdb6f8 100644 --- a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py +++ b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalMuscle' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py index 0568036ee..57927ee83 100644 --- a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py +++ b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultMuscle' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py index 1154555c2..02b8a3a13 100644 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py +++ b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultOmentum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py index 1c8752deb..b699a420d 100644 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py +++ b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultOmentum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py index af77487c9..dc2e3bf60 100644 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py +++ b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultOmentum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py b/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py index 73df8ca20..167cbf95a 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py +++ b/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_pancreas_2016_indrop_baron_001_10.1016/j.cels.2016.08.011" self.download_website = "https://covid19.cog.sanger.ac.uk/baron16.processed.h5ad" + self.download_website_meta = None self.organ = "pancreas" self.sub_tissue = "pancreas" self.has_celltypes = True diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py index 4e643df04..c89dac986 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Pancreas' self.sub_tissue = 'AdultPancreas' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py index 3b7918703..e7099ab75 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Pancreas' self.sub_tissue = 'FetalPancreas' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py index b74afd6a9..f1e9eda49 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Pancreas' self.sub_tissue = 'FetalPancreas' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py index b94ae93c8..a3eb68e6f 100644 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py +++ b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Pancreas' self.sub_tissue = 'FetalPancreas' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py b/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py index 87cb29a44..a0a1d8672 100644 --- a/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py +++ b/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Placenta' self.sub_tissue = 'Placenta' self.dev_stage = 'Fetus' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py b/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py index c3e1b8d16..4aa4ae998 100644 --- a/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py +++ b/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultPleura' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py b/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py index c748187c3..ad20b6ca1 100644 --- a/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py +++ b/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py @@ -26,6 +26,7 @@ def __init__( self.species = "human" self.id = "human_prostate_2018_10x_henry_001_10.1016/j.celrep.2018.11.086" self.download_website = "https://covid19.cog.sanger.ac.uk/henry18_0.processed.h5ad" + self.download_website_meta = None self.organ = "prostate" self.sub_tissue = "prostate" self.has_celltypes = True diff --git a/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py b/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py index 66cc345d4..4d8d59621 100644 --- a/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py +++ b/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultProstate' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py b/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py index df9b326e6..2d2a04765 100644 --- a/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py +++ b/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultRectum' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py b/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py index d5ba5b561..3acdface8 100644 --- a/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py +++ b/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalRib' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py b/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py index ea8661c3b..25d4aa329 100644 --- a/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py +++ b/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalRib' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py b/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py index c3ef51f60..9890e2e45 100644 --- a/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py +++ b/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalSkin' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py b/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py index 7cdf93d42..fe0bdb272 100644 --- a/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py +++ b/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalSkin' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py b/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py index b543b29dd..53403c020 100644 --- a/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py +++ b/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalSpinalCord' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py b/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py index e8951e8b1..ac6a7f2f2 100644 --- a/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py +++ b/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py @@ -25,6 +25,7 @@ def __init__( self.species = "human" self.id = "human_spleen_2019_10x_madissoon_001_10.1101/741405" self.download_website = "https://cellgeni.cog.sanger.ac.uk/tissue-stability/tissue-stability/spleen.cellxgene.h5ad" + self.download_website_meta = None self.organ = "spleen" self.sub_tissue = "spleen" self.has_celltypes = True diff --git a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py index 933a8d992..598a5cdca 100644 --- a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py +++ b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Spleen' self.sub_tissue = 'AdultSpleen' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py index 7166d60ac..8b5fb9e5e 100644 --- a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py +++ b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py @@ -27,7 +27,8 @@ def __init__( self.organ = 'Spleen' self.sub_tissue = 'AdultSpleen' self.dev_stage = 'Adult' - self.download_website = "https://figshare.com/articles/HCL_DGE_Data/7235471" + self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py index 228ca6d51..325d4bb96 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultStomach' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py index efbab4cb8..31374f5fc 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalStomach' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py index ce6cb5921..c95880899 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalIntestine' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py index a837c7d3d..1adb4202e 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalIntestine' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py index b4304c909..5e8d241ac 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalStomach' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py index 3f960e64e..7a32f80fd 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalIntestine' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py index 47ff8e1c1..33508412a 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalIntestine' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py index 14f09f471..85b44f52e 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultStomach' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py index fd9951dc5..55aa7a61f 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultStomach' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py index e84de8bb6..761cfe5e1 100644 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py +++ b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalIntestine' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py b/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py index accb11148..7e4699af0 100644 --- a/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py +++ b/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py @@ -25,6 +25,7 @@ def __init__( self.species = "human" self.id = "human_thymus_2020_10x_park_001_10.1126/science.aay3224" self.download_website = "https://covid19.cog.sanger.ac.uk/park20.processed.h5ad" + self.download_website_meta = None self.organ = "thymus" self.sub_tissue = "fetal thymus" self.has_celltypes = True diff --git a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py index ecf88a2ad..427207c52 100644 --- a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py +++ b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalThymus' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py index dcc79b2ed..f2d3a4b52 100644 --- a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py +++ b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'FetalThymus' self.dev_stage = 'Fetus' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py index bda7e9060..9a97c315e 100644 --- a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py +++ b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultThyroid' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py index 14a6d558b..5bae70ef3 100644 --- a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py +++ b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultThyroid' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py b/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py index 4ed51b2e8..cc107189a 100644 --- a/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py +++ b/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultTrachea' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py b/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py index 6f018d1d6..a9dd3d9a7 100644 --- a/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py +++ b/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultUreter' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { diff --git a/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py b/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py index 74c4be9b8..461154bd4 100644 --- a/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py +++ b/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py @@ -28,6 +28,7 @@ def __init__( self.sub_tissue = 'AdultUterus' self.dev_stage = 'Adult' self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' + self.download_website_meta = None self.has_celltypes = True self.class_maps = { From 183bc947e047c98dc25485369d23ddb5b9fd38b1 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 7 Dec 2020 18:18:50 +0100 Subject: [PATCH 37/61] updated docs --- docs/data.rst | 19 +++++++++++++----- docs/environment.rst | 28 ++++++++++++++++++++++++++ docs/environment_brief.rst | 26 ++++++++++++++++++++++++ docs/genomes.rst | 15 +++++++------- docs/index.rst | 41 +++++++++++++++++++++++++------------- docs/news.rst | 1 + docs/release-latest.rst | 6 ++++++ docs/release-notes.rst | 11 ++++++++++ docs/roadmap.rst | 21 +++++++++++++++++++ docs/tutorials.rst | 15 +++++++++++++- 10 files changed, 155 insertions(+), 28 deletions(-) create mode 100644 docs/environment.rst create mode 100644 docs/environment_brief.rst create mode 100644 docs/news.rst create mode 100644 docs/release-latest.rst create mode 100644 docs/release-notes.rst create mode 100644 docs/roadmap.rst diff --git a/docs/data.rst b/docs/data.rst index b1f5a820c..fc2871db1 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -4,12 +4,24 @@ Data Build data repository locally ------------------------------ -Build a repository structure: +Build a repository structure +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Choose a directory to dedicate to the data base, called root in the following. 2. Make subfolders in root for each organism for which you want to build a data base. 3. Make subfolders for each organ whithin each organism for which you want to build a data base. -Add data sets: +Use 3rd party repositories +~~~~~~~~~~~~~~~~~~~~~~~~~~ +Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira. +One example for such an organization is the cellxgene_ data portal. +Through these repositories, one can easily build or extend a collection of data sets that can be easily interfaced with sfaira. +Data loaders for cellxgene structured data objects will be available soon! +Contact us for support of any other repositories. + +.. _cellxgene: https://cellxgene.cziscience.com/ + +Add data sets +~~~~~~~~~~~~~ 4. For each species and organ combination, choose the data sets that you want to use. 5. Identify the raw files as indicated in the data loader classes and copy them into the folder. Use processed data using the described processing if this is required: This is usually done to speed up loading for file @@ -25,8 +37,6 @@ Depending on the functionalities you want to use, you need to create a directory can be easily done via the data set api itself, example python scripts are under benchmarks/data_preparation. This meta information is necessary to anticipate file sizes for backing merged adata objects for example. -TODO example. - Contribute data loaders ----------------------- @@ -117,4 +127,3 @@ This dictionary allows mapping of the cell type annotations that come with the r universe or ontology terms defined in sfaira, this is, however, only done upon loading of the data (.load()). The outcome of this map is a new set of cell type labels that can be propagated to leave nodes of the ontology graph. This dictionary requires a new entry for each new version of the corresponding cell type universe. - diff --git a/docs/environment.rst b/docs/environment.rst new file mode 100644 index 000000000..575443417 --- /dev/null +++ b/docs/environment.rst @@ -0,0 +1,28 @@ +Environment +=========== + +scanpy +------ + +scanpy_ provides an environment of tools that can be used to analysis single-cell data in python. +sfaira allows users to easily query third party data sets and models to complement these analysis workflows. + +.. _scanpy: https://github.com/theislab/scanpy + +Study-centric data set servers +------------------------------ + +Many authors of data sets provide their data sets on servers such as GEO or in manuscript supplements. +Our data zoo interface is able to represent these data sets such that they can be queried in a streamlined fashion, +together with many other data sets. + +Data providers which streamline data +------------------------------------ + +Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira. +One example for such an organization is the cellxgene_ data portal. +Through these repositories, one can easily build or extend a collection of data sets that can be easily interfaced with sfaira. +Data loaders for cellxgene structured data objects will be available soon! +Contact us for support of any other repositories. + +.. _cellxgene: https://cellxgene.cziscience.com/ diff --git a/docs/environment_brief.rst b/docs/environment_brief.rst new file mode 100644 index 000000000..c04d06093 --- /dev/null +++ b/docs/environment_brief.rst @@ -0,0 +1,26 @@ +.. role:: small +.. role:: smaller + +Sfaira fits into an envrionment of many other project centred on making data and models accessible. + +Data zoo +~~~~~~~~ + +We focus on providing a python interface to interact with locally stored data set collections +without requiring dedicated data reading and annotation harmonisation scripts: +These code blocks are absorbed into our data zoo backend and can be conveniently triggered with short commands. + + +Model zoo +~~~~~~~~~ + +A large body of recent research has been devoted to improving models that learn representation of cell captured with single-cell RNA-seq. +These models include embedding models such as autoencoders and cell type prediction models. +Many of these models are implemented in software packages and can be deployed on new data sets. +In many of these cases, it also makes sense to use pre-trained models to leverage previously published modelling results. +We provide a single interface to interact with such pre-trained models which abstracts model settings into a API +so that users can easily switch between different pre-trained models. +Importantly, model execution is performed locally so that data does not have to be uploaded to external servers +and model storage is decentral so that anybody can contribute models easily. +Users benefit from easy, streamlined access to models that can be used in analysis workflows, +developers benefit from being able to deploy models to a large community of users without having to set up a model zoo. diff --git a/docs/genomes.rst b/docs/genomes.rst index d144348e5..2522e55e2 100644 --- a/docs/genomes.rst +++ b/docs/genomes.rst @@ -4,11 +4,10 @@ Genomes Introduction to sfaira genome assembly management ------------------------------------------------- - -Contribute genome assemblies to sfaira --------------------------------------- - - -Use a model architecture on a new genome assembly --------------------------------------------------- - +We streamline feature spaces used by models by defining standardized gene sets that are used as model input. +Per default, sfaira works with the protein coding genes of a genome assembly right now. +A model topology version includes the genome it was trained for, which also defines the feature of this model as genes. +As genome assemblies are updated, model topology version can be updated and models retrained to reflect these changes. +Note that because protein coding genes do not change drastically between genome assemblies, +sample can be carried over to assemblies they were not aligned against by matching gene identifiers. +Sfaira automatically tries to overlap gene identifiers to the genome assembly selected through the current model. diff --git a/docs/index.rst b/docs/index.rst index 9c0c95392..331dace37 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,14 +1,33 @@ -.. You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. +.. include:: ../README.rst + :end-line: 22 +News +---- -Welcome to sfaira's documentation! -==================================== +.. include:: news.rst + + +Roadmap +------- + +.. include:: roadmap.rst + + +Environment +----------- + +.. include:: environment_brief.rst + + +Latest additions +---------------- + +.. include:: release-latest.rst .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 1 + :hidden: installation api/index @@ -18,11 +37,5 @@ Welcome to sfaira's documentation! ontologies genomes training - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` + environment + release-notes diff --git a/docs/news.rst b/docs/news.rst new file mode 100644 index 000000000..632cf17ac --- /dev/null +++ b/docs/news.rst @@ -0,0 +1 @@ +No news yet, stay tuned! diff --git a/docs/release-latest.rst b/docs/release-latest.rst new file mode 100644 index 000000000..913476eb3 --- /dev/null +++ b/docs/release-latest.rst @@ -0,0 +1,6 @@ +.. role:: small +.. role:: smaller + +0.2.1 :small:`2020-09-7` +~~~~~~~~~~~~~~~~~~~~~~~~ +Initial release with online documentation. diff --git a/docs/release-notes.rst b/docs/release-notes.rst new file mode 100644 index 000000000..7f8561271 --- /dev/null +++ b/docs/release-notes.rst @@ -0,0 +1,11 @@ +Release Notes +============= + +.. role:: small +.. role:: smaller + + +Version 0.2 +----------- + +.. include:: release-latest.rst diff --git a/docs/roadmap.rst b/docs/roadmap.rst new file mode 100644 index 000000000..cef9af1fe --- /dev/null +++ b/docs/roadmap.rst @@ -0,0 +1,21 @@ +.. role:: small +.. role:: smaller + + +Cell ontologies +~~~~~~~~~~~~~~~ +We are currently migrating our ontology to use the `Cell Onotology`_ as a backbone. +For details, read through this milestone_. + +.. _Cell Ontology: http://www.obofoundry.org/ontology/cl.html +.. _milestone: https://github.com/theislab/sfaira/milestone/1 + + +Interface online data repositories +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +We are preparing to interface online data repositories which provide streamlined data. +This allows users to build local data set collections more easily because these providers usually have a clear download interface, +consider the cellxgene_ data portal for example. +We aim to represent both these data set portals and data sets that have not been streamlined in such a fashion to provide a comprehensive collection of as many data sets as possible. + +.. _cellxgene: https://cellxgene.cziscience.com/ diff --git a/docs/tutorials.rst b/docs/tutorials.rst index bb1654138..a644fc8bf 100644 --- a/docs/tutorials.rst +++ b/docs/tutorials.rst @@ -1,4 +1,17 @@ Tutorials ========= -To come shortly! +Queries to data zoo +------------------- + +We provide a tutorial for queries to the data zoo through our python API (dataloaders_) and for assembling meta data across the zoo (metadata_). + +.. _dataloaders: https://nbviewer.jupyter.org/github.com/theislab/sfaira_tutorials/blob/master/tutorials/data_loaders.ipynb +.. _metadata: https://nbviewer.jupyter.org/github.com/theislab/sfaira_tutorials/blob/master/tutorials/meta_data.ipynb + +Queries to model zoo +-------------------- + +We provide a tutorial for interacting with our model zoo through a python API in a scanpy workflow through our `user interface`_ + +.. _user interface: https://nbviewer.jupyter.org/github.com/theislab/sfaira_tutorials/blob/master/tutorials/user_interface.ipynb From b7b2d417e0f57ef24378e2faa07d4d0d4950ba71 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 7 Dec 2020 18:25:36 +0100 Subject: [PATCH 38/61] updated reference to README in docs --- docs/index.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 331dace37..047d97a52 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,6 +1,8 @@ -.. include:: ../README.rst - :end-line: 22 +sfaira_ is a model and a data repository in a single python package. +We provide an interactive overview of the current state of the zoos on sfaira-site_. +.. _sfaira: https://sfaira.readthedocs.io +.. _sfaira-site: https://theislab.github.io/sfaira-site/index.html News ---- From c3cb1be21a0cf70830305a3ffff1510149181b05 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 7 Dec 2020 18:36:56 +0100 Subject: [PATCH 39/61] updated index --- README.rst | 4 ++-- docs/index.rst | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 08d955ba9..535753e11 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ -Managing single-cell data sets and neural networks used for analysis -===================================================================== +sfaira - data and model repository for single-cell data +======================================================= .. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.jpeg :width: 600px diff --git a/docs/index.rst b/docs/index.rst index 047d97a52..c69aa518d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,3 +1,6 @@ +sfaira - data and model repository for single-cell data +======================================================= + sfaira_ is a model and a data repository in a single python package. We provide an interactive overview of the current state of the zoos on sfaira-site_. From 33028d0c80d80ae39dfd1a85d059506ab94d0177 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 7 Dec 2020 18:49:00 +0100 Subject: [PATCH 40/61] included reference to svensson et al data base in docs --- docs/environment.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/environment.rst b/docs/environment.rst index 575443417..49ca1ba5e 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -26,3 +26,21 @@ Data loaders for cellxgene structured data objects will be available soon! Contact us for support of any other repositories. .. _cellxgene: https://cellxgene.cziscience.com/ + + +Single-cell study data base by Svensson et al. +---------------------------------------------- + +Svensson_ et al. published a single-cell database_ in the form of a table in wich each row contains a description of a study which published single-cell RNA-seq data. +Some of these data sets are already included in sfaira: +We aim to include all of these data sets but have currently a much smaller set of data sets. +However, the sfaira database handles direct access to these data sets, +allowing users to interact with anndata_ objects that represent subsets of this database, +without requiring any data loading code from the user, +therefore opening up further use cases. +Consider also our interactive website_ for a graphical user interface to our complete data zoo. + +.. _Svensson: https://academic.oup.com/database/article/doi/10.1093/database/baaa073/6008692 +.. _database: https://www.nxn.se/single-cell-studies/gui +.. _anndata: https://github.com/theislab/anndata +.. _website: https://theislab.github.io/sfaira-site/index.html From a88e49a62021374313217a7c3ab2197ae1043452 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 7 Dec 2020 18:49:31 +0100 Subject: [PATCH 41/61] fixed typo in docs --- docs/environment.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/environment.rst b/docs/environment.rst index 49ca1ba5e..443cf04f6 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -31,7 +31,7 @@ Contact us for support of any other repositories. Single-cell study data base by Svensson et al. ---------------------------------------------- -Svensson_ et al. published a single-cell database_ in the form of a table in wich each row contains a description of a study which published single-cell RNA-seq data. +Svensson_ et al. published a single-cell database_ in the form of a table in which each row contains a description of a study which published single-cell RNA-seq data. Some of these data sets are already included in sfaira: We aim to include all of these data sets but have currently a much smaller set of data sets. However, the sfaira database handles direct access to these data sets, From 7835f5c4e8fd6a9a2d084881f62f4b38b9e717ec Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Mon, 7 Dec 2020 18:52:22 +0100 Subject: [PATCH 42/61] fixed typos in docs --- docs/environment_brief.rst | 2 +- docs/roadmap.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/environment_brief.rst b/docs/environment_brief.rst index c04d06093..6cca3acde 100644 --- a/docs/environment_brief.rst +++ b/docs/environment_brief.rst @@ -1,7 +1,7 @@ .. role:: small .. role:: smaller -Sfaira fits into an envrionment of many other project centred on making data and models accessible. +sfaira fits into an environment of many other project centred on making data and models accessible. Data zoo ~~~~~~~~ diff --git a/docs/roadmap.rst b/docs/roadmap.rst index cef9af1fe..a41a85e5e 100644 --- a/docs/roadmap.rst +++ b/docs/roadmap.rst @@ -4,10 +4,10 @@ Cell ontologies ~~~~~~~~~~~~~~~ -We are currently migrating our ontology to use the `Cell Onotology`_ as a backbone. +We are currently migrating our ontology to use the Cell Onotology_ as a backbone. For details, read through this milestone_. -.. _Cell Ontology: http://www.obofoundry.org/ontology/cl.html +.. _Ontology: http://www.obofoundry.org/ontology/cl.html .. _milestone: https://github.com/theislab/sfaira/milestone/1 From 3af489cf5c8c4b87586ef39073035cfa9c90817a Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Tue, 8 Dec 2020 11:34:30 +0100 Subject: [PATCH 43/61] restructured docs --- docs/api/index.rst | 154 +++++++++++++++++++++++++++++++++++++++++++ docs/data.rst | 72 ++++++++++++++++---- docs/environment.rst | 51 ++++++++------ docs/genomes.rst | 13 ---- docs/index.rst | 21 ++---- docs/models.rst | 16 +++-- docs/ontologies.rst | 48 -------------- docs/training.rst | 8 --- 8 files changed, 263 insertions(+), 120 deletions(-) create mode 100644 docs/api/index.rst delete mode 100644 docs/genomes.rst delete mode 100644 docs/ontologies.rst delete mode 100644 docs/training.rst diff --git a/docs/api/index.rst b/docs/api/index.rst new file mode 100644 index 000000000..380b0d010 --- /dev/null +++ b/docs/api/index.rst @@ -0,0 +1,154 @@ +.. module:: sfaira +.. automodule:: sfaira + :noindex: + +API +=== + +Import sfaira as:: + + import sfaira.api as sfaira + + + +Data: `data` +------------ + +.. module:: sfaira.data +.. currentmodule:: sfaira + +The sfaira data zoo API. + + +Pre-defined data set collections +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This sub-module gives you access to curated subsets of the data zoo, e.g. all data sets from human lungs. + +.. autosummary:: + :toctree: . + + data.human + data.mouse + + +Functionalities for interactive data analysis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This sub-module gives you access to functionalities you need to define your own data set collections based on the sfaira data zoo. + +.. autosummary:: + :toctree: . + + data.DatasetBase + data.DatasetGroupBase + data.DatasetSuperGroup + + +Functionalities for interactive data analysis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This sub-module gives you access to functionalities you need to load new data live into the data zoo to handle a raw data set in the context of zoo data sets. + +.. autosummary:: + :toctree: . + + data.DatasetInteractive + + +Genomes: `genomes` +------------------ + +.. module:: sfaira.genomes +.. currentmodule:: sfaira + +This sub-module gives you access to properties of the genome representations used in sfaira. + +.. autosummary:: + :toctree: . + + genomes.ExtractFeatureListEnsemble + + +Models: `models` +---------------- + +.. module:: sfaira.models +.. currentmodule:: sfaira + +The sfaira model zoo API for advanced use. +This API is structured by streamlined, task-specific APIs for specific analysis problems. +This API is targeted at developers, see also `ui` for a user centric wrapping API for this model zoo. + + +Cell-type predictor models +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This sub-module handles models that predict cell types. + +.. autosummary:: + :toctree: . + + models.celltype + + +Embedding models +~~~~~~~~~~~~~~~~ + +This sub-module handles models that embed expression vectors (cells) into a latent space. + +.. autosummary:: + :toctree: . + + models.embedding + + +Train: `train` +-------------- + +.. module:: sfaira.train +.. currentmodule:: sfaira + +The interface for training sfaira compatible models. +This is a sub-module dedicated for developers to ease model training and deployment. + +Trainer classes +~~~~~~~~~~~~~~~ + +Trainer class wrap estimator classes (which wrap model classes) and handle grid-search specific tasks centred on model fits, +such as saving evaluation metrics and model weights. + +.. autosummary:: + :toctree: . + + train.TargetZoos + train.TrainModelCelltype + train.TrainModelEmbedding + + +Grid search summary classes +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Grid search summary classes allow a developer to easily interact with a finished grid search by loading and summarising results, +which were saved through Trainer classes. + +.. autosummary:: + :toctree: . + + train.GridsearchContainer + train.SummarizeGridsearchCelltype + train.SummarizeGridsearchEmbedding + +User interface: `ui` +-------------------- + +.. module:: sfaira.ui +.. currentmodule:: sfaira + +This sub-module gives users access to the model zoo, including model query from remote servers. +This API is designed to be used in analysis workflows and does not require any understanding of the way models are defined and stored. + +.. autosummary:: + :toctree: . + + ui.UserInterface diff --git a/docs/data.rst b/docs/data.rst index fc2871db1..1d8f02374 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -27,8 +27,11 @@ Add data sets using the described processing if this is required: This is usually done to speed up loading for file formats that are difficult to access. +Data loaders +------------ + Use data loaders on existing data repository --------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You only want to use data sets with existing data loaders and have adapted your directory structure as above? In that case, you can immediately start using the data loader functions, you just need to supply the root directory @@ -38,7 +41,7 @@ can be easily done via the data set api itself, example python scripts are under meta information is necessary to anticipate file sizes for backing merged adata objects for example. Contribute data loaders ------------------------ +~~~~~~~~~~~~~~~~~~~~~~~ Each data set (organsism, organ, protocol, optionally also batches) has its own data loader class. Each such class is in a separate file and inherits from a base class that contains most functionalities. Accordingly, the data loader class @@ -118,12 +121,59 @@ in which local data and cell type annotation can be managed separately but still The data loaders and cell type annotation formats between sfaira and sfaira_extensions are identical and can be easily copied over. - -Handling ontologies in data loaders ------------------------------------ - -Each data loader has a versioned cell type annotation map, a dictionary. -This dictionary allows mapping of the cell type annotations that come with the raw form of the data set to the cell type -universe or ontology terms defined in sfaira, this is, however, only done upon loading of the data (.load()). -The outcome of this map is a new set of cell type labels that can be propagated to leave nodes of the ontology graph. -This dictionary requires a new entry for each new version of the corresponding cell type universe. +Ontology management +------------------- + +Sfaira maintains versioned cell type universes and ontologies by species and organ. +A cell type universe is a list of the unique, most fine-grained cell type definitions available. +These cell types can be referred to by a human readable cell type name or a structure identifier within an ontology, +an ontology ID. +Often, one is also interested in access to more coarse grained groups of cell types, for example if the data quality +does not allow to distinguish between T cell subtypes. +To allow coarser type definition, sfaira maintains hierarchies of cell types, in which each hierarchical level is again +defined by a cell type identifier. +Such a hierarchy can be writted as directed acyclic graph which has the cell type universe as its leave nodes. +Intuitively, the cell type hierarchy graph depends on the cell type universe. +Accordingly, both are versioned together in sfaira: +Updates in the cell type universe, such as discovery of a new cell type, lead to an update of the ontology and an +incrementation in both of their versions. +These versioned changes materialise as a distinct list (universe) and dictionary (ontology) for each version in the +file that harbors the species- and organ-specific class that inherits from CelltypeVersionsBase and thus are available +even after updates. +This versioning without depreceation of the old objects allows sfaira to execute and train models that were designed +for older cell type universes and thus ensures reproducibility. + +Contribute cell types to ontologies +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To contibute new cell types or change existing cell type universe entries, the cell type universe version has to be +incremented and the new entry can simply be added to the list or modified in the list. +We do not increment the universe version if a change does not influence the identity of a leave node with respect to +the other types in the universe, ie if it simply changes the spelling of a cell type or if an onology ID is added to +a type that previously did not have one. + +Contribute hierarchies to ontologies +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To contribute a term to a cell type ontology, one just has to add a dictionary item that defines the new term as a set +of the leave nodes (cell type universe) of the corresponding universe version. + + +Using ontologies to train cell type classifiers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Cell type classifiers can be trained on data sets with different coarsity of cell type annotation using aggregate +cross-entropy as a loss and aggregate accuracy as a metric. +The one-hot encoded cell type label matrix is accordingly modified in the estimator class in data loading if terms +that correspond to intermediate nodes (rather than leave nodes) are encountered in the label set. + +Genome management +----------------- + +We streamline feature spaces used by models by defining standardized gene sets that are used as model input. +Per default, sfaira works with the protein coding genes of a genome assembly right now. +A model topology version includes the genome it was trained for, which also defines the feature of this model as genes. +As genome assemblies are updated, model topology version can be updated and models retrained to reflect these changes. +Note that because protein coding genes do not change drastically between genome assemblies, +sample can be carried over to assemblies they were not aligned against by matching gene identifiers. +Sfaira automatically tries to overlap gene identifiers to the genome assembly selected through the current model. diff --git a/docs/environment.rst b/docs/environment.rst index 443cf04f6..189ede10c 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -9,38 +9,51 @@ sfaira allows users to easily query third party data sets and models to compleme .. _scanpy: https://github.com/theislab/scanpy -Study-centric data set servers ------------------------------- - -Many authors of data sets provide their data sets on servers such as GEO or in manuscript supplements. -Our data zoo interface is able to represent these data sets such that they can be queried in a streamlined fashion, -together with many other data sets. +Data zoo +-------- Data providers which streamline data ------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira. -One example for such an organization is the cellxgene_ data portal. +Examples for such providers are: +- Human Cell Atlas data portal (HCA DCP_) +- cellxgene_ data portal +- Broad_ institute single cell data portal +- EBI_ single cell expression atlas + Through these repositories, one can easily build or extend a collection of data sets that can be easily interfaced with sfaira. -Data loaders for cellxgene structured data objects will be available soon! +Data loaders for cellxgene structured data objects will be available soon, we are working on interfacing more such organisations! Contact us for support of any other repositories. +.. _DCP: https://data.humancellatlas.org/explore/ .. _cellxgene: https://cellxgene.cziscience.com/ +.. _Broad: https://singlecell.broadinstitute.org/single_cell +.. _EBI: https://www.ebi.ac.uk/gxa/sc/home + + +Study-centric data set servers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Many authors of data sets provide their data sets on servers such as: +- GEO_ +- cloud storage servers +- manuscript supplements + +Our data zoo interface is able to represent these data sets such that they can be queried in a streamlined fashion, +together with many other data sets. + +.. _GEO: https://www.ncbi.nlm.nih.gov/geo/ -Single-cell study data base by Svensson et al. ----------------------------------------------- +Single-cell study look-up tables +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Svensson_ et al. published a single-cell database_ in the form of a table in which each row contains a description of a study which published single-cell RNA-seq data. -Some of these data sets are already included in sfaira: -We aim to include all of these data sets but have currently a much smaller set of data sets. -However, the sfaira database handles direct access to these data sets, -allowing users to interact with anndata_ objects that represent subsets of this database, -without requiring any data loading code from the user, -therefore opening up further use cases. -Consider also our interactive website_ for a graphical user interface to our complete data zoo. +Some of these data sets are already included in sfaira, +consider also our interactive website_ for a graphical user interface to our complete data zoo. +Note that this website can be used as a look-up table but sfaira also allows you to directly load and interact with these data sets. .. _Svensson: https://academic.oup.com/database/article/doi/10.1093/database/baaa073/6008692 .. _database: https://www.nxn.se/single-cell-studies/gui -.. _anndata: https://github.com/theislab/anndata .. _website: https://theislab.github.io/sfaira-site/index.html diff --git a/docs/genomes.rst b/docs/genomes.rst deleted file mode 100644 index 2522e55e2..000000000 --- a/docs/genomes.rst +++ /dev/null @@ -1,13 +0,0 @@ -Genomes -========== - -Introduction to sfaira genome assembly management -------------------------------------------------- - -We streamline feature spaces used by models by defining standardized gene sets that are used as model input. -Per default, sfaira works with the protein coding genes of a genome assembly right now. -A model topology version includes the genome it was trained for, which also defines the feature of this model as genes. -As genome assemblies are updated, model topology version can be updated and models retrained to reflect these changes. -Note that because protein coding genes do not change drastically between genome assemblies, -sample can be carried over to assemblies they were not aligned against by matching gene identifiers. -Sfaira automatically tries to overlap gene identifiers to the genome assembly selected through the current model. diff --git a/docs/index.rst b/docs/index.rst index c69aa518d..2297c74c0 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -7,24 +7,13 @@ We provide an interactive overview of the current state of the zoos on sfaira-si .. _sfaira: https://sfaira.readthedocs.io .. _sfaira-site: https://theislab.github.io/sfaira-site/index.html +.. include:: environment_brief.rst + News ---- .. include:: news.rst - -Roadmap -------- - -.. include:: roadmap.rst - - -Environment ------------ - -.. include:: environment_brief.rst - - Latest additions ---------------- @@ -37,10 +26,8 @@ Latest additions installation api/index tutorials - models data - ontologies - genomes - training + models environment + roadmap release-notes diff --git a/docs/models.rst b/docs/models.rst index a8b3f44ed..65b246065 100644 --- a/docs/models.rst +++ b/docs/models.rst @@ -1,8 +1,8 @@ Models ====== -Introduction to sfaira model management ---------------------------------------- +Model management +---------------- A sfaira model is a class that inherits from BasicModel which defines a tf.keras.models.Model in self.training_model. This training_model describes the full forward pass. Additionally, embedding models also have an attribute X, a @@ -16,11 +16,19 @@ In particular, ModelXVersioned - has access to a map of a version ID to an architectural hyperparameter setting (Topologies), allowing this class to set depth, width, etc of the model directly based on the name of the yielded model. - has access to the feature space of the model, including its gene names, which are defined by the model topology in Topologies - Contribute models ------------------ +~~~~~~~~~~~~~~~~~ Models can be contributed and used in two ways - Full model code in sfaira repo - Sfaira compatible model code in external package (to come) + +Training +-------- + +Estimator classes +~~~~~~~~~~~~~~~~~ + +We define estimator classes that have model instances as an attribute, that orchestrate all major aspects of model +fitting, such as a data loading, data streaming and model evaluation. \ No newline at end of file diff --git a/docs/ontologies.rst b/docs/ontologies.rst deleted file mode 100644 index 0091c9a45..000000000 --- a/docs/ontologies.rst +++ /dev/null @@ -1,48 +0,0 @@ -Ontologies -========== - -Introduction to sfaira ontology management ------------------------------------------- - -Sfaira maintains versioned cell type universes and ontologies by species and organ. -A cell type universe is a list of the unique, most fine-grained cell type definitions available. -These cell types can be referred to by a human readable cell type name or a structure identifier within an ontology, -an ontology ID. -Often, one is also interested in access to more coarse grained groups of cell types, for example if the data quality -does not allow to distinguish between T cell subtypes. -To allow coarser type definition, sfaira maintains hierarchies of cell types, in which each hierarchical level is again -defined by a cell type identifier. -Such a hierarchy can be writted as directed acyclic graph which has the cell type universe as its leave nodes. -Intuitively, the cell type hierarchy graph depends on the cell type universe. -Accordingly, both are versioned together in sfaira: -Updates in the cell type universe, such as discovery of a new cell type, lead to an update of the ontology and an -incrementation in both of their versions. -These versioned changes materialise as a distinct list (universe) and dictionary (ontology) for each version in the -file that harbors the species- and organ-specific class that inherits from CelltypeVersionsBase and thus are available -even after updates. -This versioning without depreceation of the old objects allows sfaira to execute and train models that were designed -for older cell type universes and thus ensures reproducibility. - -Contribute cell types to ontologies ------------------------------------ - -To contibute new cell types or change existing cell type universe entries, the cell type universe version has to be -incremented and the new entry can simply be added to the list or modified in the list. -We do not increment the universe version if a change does not influence the identity of a leave node with respect to -the other types in the universe, ie if it simply changes the spelling of a cell type or if an onology ID is added to -a type that previously did not have one. - -Contribute hierarchies to ontologies ------------------------------------- - -To contribute a term to a cell type ontology, one just has to add a dictionary item that defines the new term as a set -of the leave nodes (cell type universe) of the corresponding universe version. - - -Using ontologies to train cell type classifiers ------------------------------------------------ - -Cell type classifiers can be trained on data sets with different coarsity of cell type annotation using aggregate -cross-entropy as a loss and aggregate accuracy as a metric. -The one-hot encoded cell type label matrix is accordingly modified in the estimator class in data loading if terms -that correspond to intermediate nodes (rather than leave nodes) are encountered in the label set. diff --git a/docs/training.rst b/docs/training.rst deleted file mode 100644 index f15189d9a..000000000 --- a/docs/training.rst +++ /dev/null @@ -1,8 +0,0 @@ -Training -========= - -Introduction to sfaira estimator classes ----------------------------------------- - -We define estimator classes that have model instances as an attribute, that orchestrate all major aspects of model -fitting, such as a data loading, data streaming and model evaluation. From 01758b7a496000f6928cc591845df27406e5b241 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Tue, 8 Dec 2020 11:41:47 +0100 Subject: [PATCH 44/61] fixed bug in reference roadmap in docs --- docs/roadmap.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/roadmap.rst b/docs/roadmap.rst index a41a85e5e..85fe2369c 100644 --- a/docs/roadmap.rst +++ b/docs/roadmap.rst @@ -1,6 +1,5 @@ -.. role:: small -.. role:: smaller - +Roadmap +======= Cell ontologies ~~~~~~~~~~~~~~~ From 1990fa3ebe2ebc9206773ae4586a483eb0b223f5 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Tue, 8 Dec 2020 12:16:46 +0100 Subject: [PATCH 45/61] updated data and model zoo description --- docs/data.rst | 4 ++++ docs/{environment.rst => ecosystem.rst} | 4 ++-- docs/index.rst | 2 +- docs/models.rst | 12 ++++++++++++ resources/images/data_zoo.png | Bin 0 -> 87360 bytes resources/images/model_zoo.png | Bin 0 -> 81929 bytes 6 files changed, 19 insertions(+), 3 deletions(-) rename docs/{environment.rst => ecosystem.rst} (98%) create mode 100644 resources/images/data_zoo.png create mode 100644 resources/images/model_zoo.png diff --git a/docs/data.rst b/docs/data.rst index 1d8f02374..32aecaebd 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -1,6 +1,10 @@ Data ====== +.. image:: https://raw.githubusercontent.com/theislab/sfaira/master/resources/images/data_zoo.png + :width: 300px + :align: center + Build data repository locally ------------------------------ diff --git a/docs/environment.rst b/docs/ecosystem.rst similarity index 98% rename from docs/environment.rst rename to docs/ecosystem.rst index 189ede10c..be119a095 100644 --- a/docs/environment.rst +++ b/docs/ecosystem.rst @@ -1,5 +1,5 @@ -Environment -=========== +Ecosystem +========= scanpy ------ diff --git a/docs/index.rst b/docs/index.rst index 2297c74c0..dc41b5e08 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -28,6 +28,6 @@ Latest additions tutorials data models - environment + ecosystem roadmap release-notes diff --git a/docs/models.rst b/docs/models.rst index 65b246065..5e36cccb9 100644 --- a/docs/models.rst +++ b/docs/models.rst @@ -1,6 +1,18 @@ Models ====== +.. image:: https://raw.githubusercontent.com/theislab/sfaira/master/resources/images/model_zoo.png + :width: 300px + :align: center + +User interface +-------------- + +The user interface allows users to query model code and parameter estimates to run on local data. +It takes care of downloading model parameters from the relevant cloud storage, loading parameters into a model instance locally and performing the forward pass. +With the user interface, users only have to worry about which model they want to execute, but now how this is facilitated. + + Model management ---------------- diff --git a/resources/images/data_zoo.png b/resources/images/data_zoo.png new file mode 100644 index 0000000000000000000000000000000000000000..58048bfaae906911d30555cb7132258b71b3a894 GIT binary patch literal 87360 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%0D7{Ol>*G1uYUD+8MT;vBUubv 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 z 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 H27&(%At$1L literal 0 HcmV?d00001 From 4d1f10aea7a6e1d2d4cc66bc85d8859f248c6d70 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Tue, 8 Dec 2020 12:21:14 +0100 Subject: [PATCH 46/61] added summary picture into index of docs --- docs/data.rst | 2 +- docs/index.rst | 4 ++++ docs/models.rst | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/data.rst b/docs/data.rst index 32aecaebd..52790c4ac 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -2,7 +2,7 @@ Data ====== .. image:: https://raw.githubusercontent.com/theislab/sfaira/master/resources/images/data_zoo.png - :width: 300px + :width: 600px :align: center Build data repository locally diff --git a/docs/index.rst b/docs/index.rst index dc41b5e08..e82a09821 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,6 +1,10 @@ sfaira - data and model repository for single-cell data ======================================================= +.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.jpeg + :width: 600px + :align: center + sfaira_ is a model and a data repository in a single python package. We provide an interactive overview of the current state of the zoos on sfaira-site_. diff --git a/docs/models.rst b/docs/models.rst index 5e36cccb9..89b6f9545 100644 --- a/docs/models.rst +++ b/docs/models.rst @@ -2,7 +2,7 @@ Models ====== .. image:: https://raw.githubusercontent.com/theislab/sfaira/master/resources/images/model_zoo.png - :width: 300px + :width: 600px :align: center User interface @@ -18,7 +18,7 @@ Model management A sfaira model is a class that inherits from BasicModel which defines a tf.keras.models.Model in self.training_model. This training_model describes the full forward pass. Additionally, embedding models also have an attribute X, a -tf.keras.models.Model that desribes the partial forward pass into the embedding layer. +tf.keras.models.Model that describes the partial forward pass into the embedding layer. Such a model class, e.g. ModelX, is wrapped by an inheriting class ModelXVersioned, that handles properties of the model architecture. @@ -34,7 +34,7 @@ Contribute models Models can be contributed and used in two ways - Full model code in sfaira repo - - Sfaira compatible model code in external package (to come) + - sfaira compatible model code in external package (to come) Training -------- From 44eda0dd4229ba2dbc4d123561186d23b52d5221 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Tue, 8 Dec 2020 12:22:26 +0100 Subject: [PATCH 47/61] fixed typo in docs --- docs/roadmap.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/roadmap.rst b/docs/roadmap.rst index 85fe2369c..69b1a3ee2 100644 --- a/docs/roadmap.rst +++ b/docs/roadmap.rst @@ -3,7 +3,7 @@ Roadmap Cell ontologies ~~~~~~~~~~~~~~~ -We are currently migrating our ontology to use the Cell Onotology_ as a backbone. +We are currently migrating our ontology to use the Cell Ontology_ as a backbone. For details, read through this milestone_. .. _Ontology: http://www.obofoundry.org/ontology/cl.html From c5199a9e7a6752f662ecee6ebc08cf2be48367a4 Mon Sep 17 00:00:00 2001 From: "david.seb.fischer" Date: Tue, 8 Dec 2020 14:17:39 +0100 Subject: [PATCH 48/61] updated summary panel --- README.rst | 2 +- docs/data.rst | 16 +++++++++------- docs/ecosystem.rst | 20 +++++++++++--------- docs/index.rst | 2 +- resources/images/concept.jpeg | Bin 771343 -> 0 bytes resources/images/concept.png | Bin 0 -> 79259 bytes 6 files changed, 22 insertions(+), 18 deletions(-) delete mode 100644 resources/images/concept.jpeg create mode 100644 resources/images/concept.png diff --git a/README.rst b/README.rst index 535753e11..72923aec5 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ sfaira - data and model repository for single-cell data ======================================================= -.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.jpeg +.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.png :width: 600px :align: center diff --git a/docs/data.rst b/docs/data.rst index 52790c4ac..d29179069 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -10,9 +10,10 @@ Build data repository locally Build a repository structure ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. Choose a directory to dedicate to the data base, called root in the following. -2. Make subfolders in root for each organism for which you want to build a data base. -3. Make subfolders for each organ whithin each organism for which you want to build a data base. + + 1. Choose a directory to dedicate to the data base, called root in the following. + 2. Make subfolders in root for each organism for which you want to build a data base. + 3. Make subfolders for each organ whithin each organism for which you want to build a data base. Use 3rd party repositories ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -26,10 +27,11 @@ Contact us for support of any other repositories. Add data sets ~~~~~~~~~~~~~ -4. For each species and organ combination, choose the data sets that you want to use. -5. Identify the raw files as indicated in the data loader classes and copy them into the folder. Use processed data -using the described processing if this is required: This is usually done to speed up loading for file -formats that are difficult to access. + + 4. For each species and organ combination, choose the data sets that you want to use. + 5. Identify the raw files as indicated in the data loader classes and copy them into the folder. Use processed data + using the described processing if this is required: This is usually done to speed up loading for file + formats that are difficult to access. Data loaders ------------ diff --git a/docs/ecosystem.rst b/docs/ecosystem.rst index be119a095..aca80b451 100644 --- a/docs/ecosystem.rst +++ b/docs/ecosystem.rst @@ -16,11 +16,12 @@ Data providers which streamline data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira. -Examples for such providers are: -- Human Cell Atlas data portal (HCA DCP_) -- cellxgene_ data portal -- Broad_ institute single cell data portal -- EBI_ single cell expression atlas +Examples for such data providers are: + + - Human Cell Atlas data portal (HCA DCP_) + - cellxgene_ data portal + - Broad_ institute single cell data portal + - EBI_ single cell expression atlas Through these repositories, one can easily build or extend a collection of data sets that can be easily interfaced with sfaira. Data loaders for cellxgene structured data objects will be available soon, we are working on interfacing more such organisations! @@ -35,10 +36,11 @@ Contact us for support of any other repositories. Study-centric data set servers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Many authors of data sets provide their data sets on servers such as: -- GEO_ -- cloud storage servers -- manuscript supplements +Many authors of data sets provide their data sets on servers: + + - GEO_ + - cloud storage servers + - manuscript supplements Our data zoo interface is able to represent these data sets such that they can be queried in a streamlined fashion, together with many other data sets. diff --git a/docs/index.rst b/docs/index.rst index e82a09821..7ddcdd6b8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,7 @@ sfaira - data and model repository for single-cell data ======================================================= -.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.jpeg +.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.png :width: 600px :align: center diff --git a/resources/images/concept.jpeg b/resources/images/concept.jpeg deleted file mode 100644 index 77b1822e023572d09646da8d5556391753943f99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 771343 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­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�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

`2n&)ACYK}0XcU~@RF%5fod)= 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ξN&-o8U=yr1`c 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
KSa5N>(veU6#5%A(6KL47 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%0AE0 z-@#~i;w-!3P!!DG@HxpSez?zMa^*~baLVR-$biQMyIk`n)yhjN36;h)T$kcj%~k21hif=6$$K;TJ+Yq3FjQ|_ zX^@yv?YLq1O0F)FBOVYvPM+7gGn&0U!Shq)7G7n>EbP-|YX(B>uyJi=)^oyy|2|{Yvs)@yk<77 zi4n>rm_KxavzpvUe6aga$_UDDEC@by=?qPBm={J3y>G{E(Fqj72C`CWvC|({>qj5H z)=@JTJX3&tF{VscIL$1bSzD_&NQgw8CAd^xmg;%gn4f~R%f1exSLbz@`{(8R zJQV>6?7J03lE7G{wab8{S{vE*V7WGYc=u`IT)gG++c%OJo}zL;IH{aH}>e384tlm3q6E<>h=gwyFr+*X3AcL~XL;GA9n>$j6v8Tv$%$OX*EQ?}k+C>rfOC3XH z^rxwPgZ&E7Hi|HV$#=78^Jjl~K=+e+34WJI+4wMv)4emN559R^dQJH89vE)4>J(M!zYRo3_Og z!Je})#{)Nucr?el$B5;@OVvY1vOXf_^K}&y_&i-MYwZTQpS_!vP5d@1n_RoSM|BHJ zb3iywL6H}wM>H?DvC^U^t+qNQ8Gg(ivVWPOHi1%=M)qblJI9tJg~gWMS8%yN6nx2? z_1d`B-Ta=!(;5c_Q2CyxyqwWnSh(}Mj{3IK=s0wrr9l7*Vfj!B#%wBfX$nduBM52j zm$$-ZOHa}~0No2`O=J7<*^m43|LB-tx0N38-(oL(&LkiKf~JrCbJ`}`{m~A?-Wi3{ zt%lSy_w(|+G(H|nXJ=8pqBgXHgcz=^^|)FqrTSrTcS2N;asHE~a~Tu;;nIsE+Dk{J zsLTD#+msgIwvV+ky9^~$xVU8$e7yE73Gr6Of4))d`kv{=LQ4+=)7v5mZG2Sec zlP$r;*z?$7P4(l4Csoo_x132LR}IyvZt-Mf5aI%SujmX49k+=n5oKvVEVKWFN~P-U zbQ#F9;FZsttH~a9oSU`VxB>!D?21#%$ED^k{^txdQj8k zw7U$>*yK=_YKVYkR7{g}yg-;|Dr!HkrOiRJp~0dd+O5l$D@PQ2(OS=HkS zqtLkEmanSk&Pul4=)bKW_RU zfK6=HgFacHYm)H;)O!uhbX{J5_`&vcW7VbRb-Bhl1yd&^r#HcX7~~ZhmBR!gF=my_%Lr-Eh)u7ilATL*HyDgqNZKh_N2YluJGpr+bcZ>UMPx$VuO@3^@V$RDNhd zctoM7nSY|mCzj5siETQ(XCWYixAu(JgNH&_o*LW8FeTqBhZ0XP@IP$Q-Z%zfVDJ

vX^tjNw7P~ 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ⅇ8ik*Z_JdY`fdUDxhqx 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

P{etyIeZ@-j_szY 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%0D5y zDETA1fRWt#$VFdK9=}0c|CWw8I%NO1~V5E}fiyaV{J96S5Jy=eUVh2!||-$VpCURwadIkurceGMRg?S!V| zz4+7j;@G~Aef+=E1|WZ}p!u<{AN%^T4g5pd0OW5F7XR-&gO0!ZIK~~@z@KXakiSLW z`uJS`hdS4fedo{hoqx3Tg#4{)C&&JN?C-}m@DE`FkUxXZbG+C85PSWP7Ke_1@1L88 zK>p0;zGI(1_W5HQ_`9_M$T7bDce^*oaqZ8IYya%)d5o_g+tWY05B#&d|1rLP?Cbw5 Zw*Jrlp2zt5v9JHL`@lcT`$K+@{Vxa5>oNcU diff --git a/resources/images/concept.png b/resources/images/concept.png new file mode 100644 index 0000000000000000000000000000000000000000..ed26f5ebe3174f6b088375b6db7cba4f21f6619e GIT binary patch literal 79259 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

MLG>NT&Q^Bz1zk_0`k~!`lPrJiHwOzkt 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 Date: Tue, 8 Dec 2020 16:04:22 +0100 Subject: [PATCH 49/61] add badges to readme and docs index --- README.rst | 10 ++++++++++ docs/index.rst | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/README.rst b/README.rst index 535753e11..415cdb7e7 100644 --- a/README.rst +++ b/README.rst @@ -1,3 +1,13 @@ +|Stars| |PyPI| |PyPIDownloads| + +.. |Stars| image:: https://img.shields.io/github/stars/theislab/sfaira?logo=GitHub&color=yellow + :target: https://github.com/theislab/sfaira/stargazers +.. |PyPI| image:: https://img.shields.io/pypi/v/sfaira?logo=PyPI + :target: https://pypi.org/project/sfaira +.. |PyPIDownloads| image:: https://pepy.tech/badge/sfaira + :target: https://pepy.tech/project/sfaira + + sfaira - data and model repository for single-cell data ======================================================= diff --git a/docs/index.rst b/docs/index.rst index e82a09821..853538d79 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,3 +1,12 @@ +|Stars| |PyPI| |PyPIDownloads| + +.. |Stars| image:: https://img.shields.io/github/stars/theislab/sfaira?logo=GitHub&color=yellow + :target: https://github.com/theislab/sfaira/stargazers +.. |PyPI| image:: https://img.shields.io/pypi/v/sfaira?logo=PyPI + :target: https://pypi.org/project/sfaira +.. |PyPIDownloads| image:: https://pepy.tech/badge/sfaira + :target: https://pepy.tech/project/sfaira + sfaira - data and model repository for single-cell data ======================================================= From 3e77e72e3e26f9b8df66bedeb7f0e678a57d3757 Mon Sep 17 00:00:00 2001 From: "David S. Fischer" Date: Tue, 8 Dec 2020 16:59:28 +0100 Subject: [PATCH 50/61] updated summary panel (#20) --- README.rst | 2 +- docs/data.rst | 16 +++++++++------- docs/ecosystem.rst | 20 +++++++++++--------- docs/index.rst | 2 +- resources/images/concept.jpeg | Bin 771343 -> 0 bytes resources/images/concept.png | Bin 0 -> 79259 bytes 6 files changed, 22 insertions(+), 18 deletions(-) delete mode 100644 resources/images/concept.jpeg create mode 100644 resources/images/concept.png diff --git a/README.rst b/README.rst index 415cdb7e7..5eb69256b 100644 --- a/README.rst +++ b/README.rst @@ -11,7 +11,7 @@ sfaira - data and model repository for single-cell data ======================================================= -.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.jpeg +.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.png :width: 600px :align: center diff --git a/docs/data.rst b/docs/data.rst index 52790c4ac..d29179069 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -10,9 +10,10 @@ Build data repository locally Build a repository structure ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. Choose a directory to dedicate to the data base, called root in the following. -2. Make subfolders in root for each organism for which you want to build a data base. -3. Make subfolders for each organ whithin each organism for which you want to build a data base. + + 1. Choose a directory to dedicate to the data base, called root in the following. + 2. Make subfolders in root for each organism for which you want to build a data base. + 3. Make subfolders for each organ whithin each organism for which you want to build a data base. Use 3rd party repositories ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -26,10 +27,11 @@ Contact us for support of any other repositories. Add data sets ~~~~~~~~~~~~~ -4. For each species and organ combination, choose the data sets that you want to use. -5. Identify the raw files as indicated in the data loader classes and copy them into the folder. Use processed data -using the described processing if this is required: This is usually done to speed up loading for file -formats that are difficult to access. + + 4. For each species and organ combination, choose the data sets that you want to use. + 5. Identify the raw files as indicated in the data loader classes and copy them into the folder. Use processed data + using the described processing if this is required: This is usually done to speed up loading for file + formats that are difficult to access. Data loaders ------------ diff --git a/docs/ecosystem.rst b/docs/ecosystem.rst index be119a095..aca80b451 100644 --- a/docs/ecosystem.rst +++ b/docs/ecosystem.rst @@ -16,11 +16,12 @@ Data providers which streamline data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira. -Examples for such providers are: -- Human Cell Atlas data portal (HCA DCP_) -- cellxgene_ data portal -- Broad_ institute single cell data portal -- EBI_ single cell expression atlas +Examples for such data providers are: + + - Human Cell Atlas data portal (HCA DCP_) + - cellxgene_ data portal + - Broad_ institute single cell data portal + - EBI_ single cell expression atlas Through these repositories, one can easily build or extend a collection of data sets that can be easily interfaced with sfaira. Data loaders for cellxgene structured data objects will be available soon, we are working on interfacing more such organisations! @@ -35,10 +36,11 @@ Contact us for support of any other repositories. Study-centric data set servers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Many authors of data sets provide their data sets on servers such as: -- GEO_ -- cloud storage servers -- manuscript supplements +Many authors of data sets provide their data sets on servers: + + - GEO_ + - cloud storage servers + - manuscript supplements Our data zoo interface is able to represent these data sets such that they can be queried in a streamlined fashion, together with many other data sets. diff --git a/docs/index.rst b/docs/index.rst index 853538d79..05001c3f2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,7 +10,7 @@ sfaira - data and model repository for single-cell data ======================================================= -.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.jpeg +.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.png :width: 600px :align: center diff --git a/resources/images/concept.jpeg b/resources/images/concept.jpeg deleted file mode 100644 index 77b1822e023572d09646da8d5556391753943f99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 771343 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­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�q6(3Eda#7ymodksmraDzRPa@d6Dm%k%^KOX}~j;ptWcHkGSDALjPv2Ee`SJASga~hkRKR{~WJIppXbsUWB z#5_b*JBzmNUX}BF>Shm~GyB+rx{sbuTozpETljbWE>Ko$ehTxVioY&&%0gYFcY5d8 zV?U|h2Ex88rH|kzE|~A&B#G{gap*?V$_`&TyQh)8j{RRR9LwQRMXX%f)9i10D(^8 zG0e2tP5Rn1N)!DtxTSwKdKH5AzG&3bJbXP9&k~^GK0ZLow$(*zS+!**5^ z4tcqxR^AZV&j+q<2@>qM!!|Dyl>&X>j-+*V2e-11{NuwnBUni)I<+L#{#l>QPgEYl zu|!u|YPzXT!je#AdAGHr&dvBq?G4+}9N}YFKB@?YtX*N~IOTn1(J}Y3v4PrwZ!o#@ z+bA&>h_N9;v6i@Q+I1e%0B3ZFxovrJ89tI>1}1$-9&Q1r9m?IQpWvl)lCchpDABy5 zO8X?EDe@n-4qea^U0~a%W*iiDBC#aY#<&0KsP&zLf|&akG6BNTKSsHoofvX4>3&xI zLivV+`)5;`Vd?KSZ>=E96O;y%+zB5`@}0C93v#iJG5@VcQ*ICf*L}1uXvM(lrdTo@((l9NV$bOhyego|NK-h?}mdX#Sw|!Mhis7>;nE2`&b}e(4~)H=<4wU86~u00kAN>l4o{$2E~D zq`T}lDd(8V4*vnJl>BW`083whCd+)2-d5Z>LV0AtxvJcrTD6c<)kBJ#t?qh%ch^z+ zVmSH9Knw^7y#7Vn%Rlgc*uSmer56z3$z^mhz@1hf9(#ua2e3H_!JbXUTkg0mB~S zKfEt<&k39-w-E+vQt?El@<-7+{r&rFvCx1EJKO-5^saX&b9xuzkViVHFF&LL%0k%u z<~agQ6a+3Db$|3KpaJ%x3Q6QyRU!sA9Ef!FO|6^Q_+BRx4AE8rpdsMiw)1q33d`!& za%kzDuVEY=;LN1zlU0iEXr{=9ZQMD1pxc!1ufli6aN8fD|%Yd%vwD=1)W6<*H53(dZwn5%kr z*$4O5vhUv{z(`HTNCD zHOJ!oELDs5H`{YJ!R9{#>qLGe5NfGK$#;$FOGkQgXuK7+`^Gcz^a1#L>AXJ<90Xod zJ{6P<3vgVAJr=_?u5wN@HzE#~V6G9R6AuE4I-lY-WMydiv0j+3l|A){A`{HBska`{ z`g#5L5fzJN!&ZQ3k3|>VFlbI0-aRZi2Rnr7hq0($X?4!hdy-&Ye7s!0i*xm?_j7@@ zV^twN3QjVn`T81K6)*Ps;pGYy!4i;UaY6bshQwbDOAkbY^Dr-dpgvzJVh253mhB0- zpLc4=tlQ*!3$0eAdPsqQX@Cs7PicozM^spVO=D}IW#jDo*LRS@*g$CDqeitx5GsJY zJ`JzO240#XGJOj5N)DEEo-pTJFucyG791(CO$-b}KXg9kP-Ttv&9>@t`mSDzN~i}asCa*=6F5X^&6WEuX~5g#zGS~)-C7pKR|w#{5^{8S>+Bc zVUH(-)d3lMcKFm|q-1yfY)Q~?lcL4Y+?3o&u4fUs6rmdF+zMwR_=b{6zU6Xs;ERoX zz0U$eR)stxzLx$;J{*0yZf!V=)EI$lPf#21L{%{=i%EA;e^ik{PT@!K{W^6i4&2(E z>=F)p$|ppQJKoxal|oby$~jWv(zkZe18y0A z6vlWAO7Au)y&fT+bt4pWH1$re`^Q`n5h)Re2R~myB8qW3>W6gnbgu1BNjEZJv={G< zV0Gduh-d;n<^m1tx{81l-vP(4{psW9P9~*=MHR1V-H+uZ&WxQxC7NWPoL&PU2|OA)7@B} z^>8TL7}~W5GI6&SY&?QYT`Yk8$^@!U7{EXUsfv}72@dXFdYNq_MLub;)p|iORH_TY z+=GYI4lB%&u^>5lwg-PjY}ZmC_`VX6qXAgkFb zE>^&vI!$B*Jj_Efg5RT5vgW^>5V`HBvnkWCL)dK>Uo?DLT|-j_h8dWNywS57&)JvI z%f(tIbpK|@&eTI?bWMbb6(TU&6dtU~iRLFs%P+q&J8xlDY7V&-31%iTRfUtiDV84f z>KiMn&Y*#nXvPk6O}FF$!H3}jAq;B66({NpeDaKKOAj?U#z-&F&Lve$*PxH79wMF| z)xjh6MM_x8^mNefE|6R+)i_PI0ZWQNSuI*-BKYd% zi#AdSUvz{{MMl2>B&-mCEJ)*dkFffqZ;C&I&cG4c0?pNlR58XczvqVje?0a#*J@yl zBf_YDuvGwSH1z|Pgf|XofKQtK*BYNI+5sW4U0zZLu#;N=8{yz1Fzrlf?hgV0uT%S+f(qR38%A-7DqF4o~67OXb3P$-$>AInjnIjp^0KZ zKs3e)T=Wg|P~f=t^f~c0q~(o3^9j+V1E{Rdzp1H&W9diF$an);2|(bhGt@iP!!jR; zf_YEut&7rM+HuMO&wl?OP^xD$K!$?rN!wrrNmlLilxrGfb87v<7+Q58aWP)7$MxD- z*@qE;p`nDYW^X3oxB&dd7pq}tsgdT9Z}hpr1yaxe^Y8cu4IS8Q_Y(Lp#in$#uKr9b zoSKi~C9I$iGdTgw+TR>f`Xz#AsHre!rSi|K zY?4i4`UA3jh9jv1pI`|v=~MKV5m#lSCfvt5;4Ln@CYk-$ zU#GLl=?4vBu)HZhKpxxFG8A{trAxos{(qqY-E%;l?s@ht<(=m{%&yHxZ1ZQTV}}Ba z+rc!z>UCB7Av%}p+qE(DSp(+8rQdd>iJa!X65tm9lwjK5Sv_+eK;tY-b_YsK0v8Y) z$AQO`n?+q76*~!d8NVxZ4&nBgreBW*W_>Z7b|C8~{?ZKDcs9&TD?=|x{cnd~Oukif zsUosHdK!#;P7$PfOjGQ58%}<-a7si)bt%D>4F@R6^aB`Oa^>_86hc-+YQrx<^O2_q z7v0FMQETWZSagY{dDx^?NiH*f-tR`OCBNRGR3+2Mp2Gg*XU#Hdy%jAp@mD(-2fgNe zj~Hv6e*-G)aPQvGZVYF`@U(Dp%(JhJc9f=OQ7 z)iO+ixMeK>$}o^kvUM7p8{jRZQcK zBLFA*R34dy5LM441J*pnKljewg{<IkdZo!TS(?-UR-;+yuv$hwu1!k}AfaomAR60-oYbGV}p8+dXiiN><$bVkaXNyKXkx*ziTsb8D41FmC`dgWV9 zrMR(Xt9y3kvoSaP4XLf7&zW>oLHa(e?$ZDtjORAaZyd-1)ghk@0kBR^-Uj;CK@Wf4 zeA?PeflqR0R}0~xWerdzVg%S3?`SfSWY_&Hf<4+@uPYc_68KzAOON8gpbomr{sO?` zs@Z(R2{8W|igj*$af}~-Hv$1EFfZS+5}Mz?GkmP_7y#JbusEtI4hS?K7Yum;zAxTu zz#QR-KIo(5>P;)hyGPdzPr2}uqI}|!!ml5PrIUR@#V)2*C&`sl;6qDA<44Kudm3-X3L-5J;_~#GyxUC(%&O}bBNl$C`ufALRzUZdI8}dR;`!P^CvPCt_ zj$;+{LiQq4RFwtUe#*%VKkzz-e$=CCc5SPz6OHHVO@qlvus=+5UQhS|GWHH(=(~y3 zRDbasi2(`=-1C5pjw^hn9LZK)G}{I3$sRUa3mRF4*^isiP6U9X@}@t)0{J}?!0P`5 zGwokjv#-j7mO<5a$FILU88mc0%)-d-p}XIUqnAz9VdGbaK7uh* z!e`|v6vu#OYn7x{(zh4Sq1J%l%SC%E=d%-3lc}tcSTl%PLQz0xQtPP@wzcm|lhW5a zL9K!t7dlv!>f(6os|B3s$35QJ&voZI3%$6QWF2N4HY>;YAWM4kTO!@^>V-z6Cq>XB z{aP=IuND9D15;wkm~O`*Awmze!x*MfjxRkbj3Zz)J{nmTR%c+m07j2hqk&IUAkbPb9IR0a4DT{hO_xZ%U4=x zuIdTt)Xc$-v=mG6qF1flBXVEf4ZWBAlzcR!rSXykgSAlS{5le5kl*)EYFiC@E53hC zAx8YjtOegAV`f0Z^aJd`S|WV-El>;`g7j}n%#z?%Rj6tm0{8gKGwk{Qhx__3`}<$M zb8qf6B8FvZVQg2*9VX}H8o=H#sY4%uo}*qO zXL`;!Dm{|oZw^m4WxCDK@l|o(wa^9gFI&yJ{RCVs8`|WME3TSk@n!xVZ~8s@`V|1< zdI~GI;5ygms2BC|k;_1XQBvtA-Fnq06m_ZraapZ$E@K!O@ezrEf8%)LeSUw-{{N9$JHA|nGW$CR@6Fm zKZ8Xi@(kp(*+6tF`ore?5aOy9Oo^`D5hGJ0bq18@IQ+60-rEe~Nbd|UeYNL=GwQB5 zFuBTO|GC?#Zy>p)3IJs$j2;OQa_inz4&RpGsyZlCmlcXLnT|cqC3ZL&^lV>{tBBi2 zE4$Q`g#9VN%TH#47^C7(KV$pK#J9SSYvWO;b71(^$gru;PRspQ(HbnkoCnP!D)iTmBpRo{%%5T~+v6mIAm z^@rzEx>gOoFE#6aT3)l|oP>;snteHco2t@uGZ^0B~IAFwxaM2S@g!wWE>-2%6PY%?zFIE=M{ zJ__k`la}M7F~zBfA#6i5d%oWshe8K{D5UL)BYrD-?xV^E%tPp-P(?BeK1Bamu_q~1 z?~zg62>4=$e!ZYpdS6S+VtnN8I#CiRP2fBI1Eg5@)hb~T{FdaXeOmj*@SPHyty6B9 z{5J=p$nLe4qQt@;3-u7Iw{3c!kFR$(P@A8$x^BdR6T9 zFciWmhgu*v!q+X+IHhtBH**A5HqYM)J$X{eeFy^eK;Q#kSLo$UHj;Q1=f8jCc)Rp^ zCw7paw!GlX=5vlv9jJKi9>sNdbKV>@2wO=XLs-2)E_W?TEvUJiwGei+C} zT`50R5V54Y4Ht6~QGWNFSLga4M=Zn7X3(EEia#F~w--Ae5m69PqYD65jJ%pZk*z<# zTfe*r{;BQX{?a^a*v_jd%M5Uk@4eAZWX|z)e}&>&h>2g^3a7oZ=r`zR zsXvAAKWUR#wS4)W)nm_%@7KZeKAC&vE?D-QTN{U3N(erJrUkyQ>2`~ZJV8X)S3Z(l)_Ei!OTK&g3gSet9Zu&q`u?;`Z)XU4mRxd5CAE1pu?j-T0m!Hw5NL<9lMp*N-iP#`n zAEcBftzk+RJ{2kTo5rP>2E;w#@5^2i5WjyH0Fk(@g*nzF`gHzdkM1v4d`oL0V;yYx z4ZqcO_*RL@PEh58OVlB6uP`;qpNguXj(R$MK)y1$kmbyXux+{xe=p_a7VMQJ2Zbvq zcd?a@5vT2eC#|R&v?w(scmN}j0M6c0bLg?`N$!;bv(;xVg(zq4p^{?;aM2Z_Q+KFJ z8Lvyd?>x@eQo*c)Nzui#2z@j2T2E*GzWmpxBQ+%1U!Da0v((}D{a)h6?>L@a7Pfmr zo90T7TyUKS_TOKG$$k|SWOr`>D5LzOI^d@XHTS_p=1MRRG=i1FeFa;JoU>HQg}Gx{4K9Nx8W- znrB_DWlH&45j)LOFNQipwp!s(uFV`eAM@RWlK84#$SN-P+#&vh%pdPQ_fT5tBkI*F z8~cgA@VVqJfPEYdRw&3n@>Vx*TD*e5cTNp181f94D^1nGkFeZ8dVey#^eFksJDs;T z1WHA@cOg@-!{p#PWxvIEq0cc*uEGqbsX1W_)3Z<3QiA3exI0j^MCfU|aVYUt9@%HN z$n>WE!IGx^-`k@kz$#3j{o6BJjo!^Q)jSJTjAUuo4z5vJOkW|3FQ``P)NskwUf27# zDl4y^P}tD+g`V`lO&v?*PYVPhOtz!@i=XZjeC^U|yKr?S`7Ba$2|dhMcf`XAFB;$@ zp4cedHRQn2P<}JNyg=^QeI`$L;YoK@pic1~TQ4AdoNtvOaeSt4yJhV#PDOS3`6^jV zbOYC~OKu~%k>#@OPsWfp8>7~(g(ViP9c3e$b7GEaLzZ(G#{Mr2ZimFx&o=n*7t0{{vr$F{4NIPUh|V7cs;4A$9X}5Uu6i zxk~UgB2(4s2~@`%+({xd zkwh~!N>@%eeO|oAqCSL5ck_G2;KQsJ|oC^3S3I8T7eII`QgN^sQeX@jfnG z60s+&Yk>i(PR;2%OpTvpV1S@ zmwHjHll%z;$9MwlWp)JzK3Il*2z#!kJS~E@n1*`rwtO~L&5M=2myQ4ar=*wa+&Aws z)PRh-{#>@`0{RsSjAyG zWuDeqho}{jX@mu=;<4{9E+-8$Z4+$tcOtL2 z*7?YSasl=T)y!tk^N76SvCVzqHrEAAE;ASwOC*+F6g^%Gb2DkiGQ;f9$Ea7x;V{2K zZ+@sGSI}&?*@MUj-_GuvsmM*?7yv*}694Z>fU|K_?hnVWDk81S%Y(jt9dd7z|Hge2 z33usaXjNr*j3fsVA@vZ}f-?iEdQUzp8nZmBjd5pG5i$>urN8O?tlFO&ogZH`> zcI~o_uHCW!e6-~y;Sl2oVKo+x_!@>rkhgXdY&h!OreeY?oD|g++DujOLk~w^` ziU!r@!NWiv&b37F$_QF^`MCFo$KA!bU`>HGjL(4m^%Puo`gQr~wgV4*Qgz>DO52xz zDKP3b4!Cb*)NQcu-(CRh;IDaNVhn|*Yu){OW2-Vi(StYlrr&Ca3rrG?GyljA*d1s> z91wcELqFma+N$_YiJ4wny0~RU4vU;au>!7Y^~aQT5D6p;T_z$+FgJo9E}Z9Y@Hi?{^!TY-nD%tL&zh3x%XQ_G&@tE~M8og9 zDEMhrRyBew+B&@cs=|e6(tvR6OUIh@inN3>kA}K*9l2+9X(D0mx+l(tfUfoCJrYe9 zw=OSPl8UAo0b)R2r6fwV={6Qjw$db2zR&MkZBU=~j(_k}CEpd+;;GypR z{^1d&q9$eErlM3rDUmR`im}ABF;YyTkZj353`w$15sDZ~MOh}Ylx4;)RCYp^8M`bq z*@jtqj;^h`uIqPQzx%oG-~a!-p1ape<2&cfIN#4X-*Z08`}6)hr+TWZ8YkGV%n4W6 z701(01`%4oDlFR`v5OpT5y<77)crga!qEg#S%ufvMQeKeBD-Iu$hqQ+S<|flEwDp39w0dC}D&<)^D;&zdeyxRGj?0F~n%aR~9z(0o>AcxWJxYjUUMAbB9mW=IGOfRU!k|+! z9hp8g0T*4q^fKRGzV+OTSY)YLbG_=~nXVwfEOsxWrG%3*Ga2gtcmm1}Jc0@HIu2aw zm(@YOM1IYuIJv%n^t!a(2-JP&=C(NtwuhRrI>aYh%Tu|sQOM`{!6sK3)|{o_bbn1M z9r{W_9np$E_Xlh5f70aquYC9aXUtUo&Ku#Py25+Xr6Zjn61oQgz8zF7OH6(`-fbO_ zw`3|jzjd}ZT17#0Q~E>pxP5gHL#oeD9a{wx_TAXC6zBFj>zvv1M{0IrX2}}(VqN}D z9`0(#uG|i!YKQDvEB0qw!?f8=S4bLrCmmhI0`pp@hKdr{lg``R;aVqkv!D2iV~)A< zCJMEGki2yciDRwuhb7%(H^aHN9~Cz(KYq$D!`2BRS*B&~KhS?iatm!vNLf;#R5|!c zedNetsXZ4qm*`|X8ki$A^wW*|`LJWgpnL&!4bZgi5OU#{2^;AFmCNpT&X~8#&vnGv zxd<2C*3l0{)tL=gi-=T1e9nVK{@(;<_)&xZzXIIA5tR-6*;mG+E(8SCw1JYVuVAt0 ziV}@tl34#z?0(xf9(NqEi}7hg@C2v(>*BnW{M+(($vJ<1c^Tw4i{q(;>ktS;c-1R7 z=Z9;z?X_wZVR9M)k=QNFjMAi)l;_`R%QEGVRi+LP??)mPPl4pO)+qV{EZlP>jgqB* z@~yLSS2DaJC{n$LFdPDzQ~#%3M{JT%D;E79z4_htr%&`>joxPQ z1%f$%DnPv_<+=EzBB;KhZC8DFx2D|lu{4|Rk68`55houn7@qoJjEc?3DGce|&-!q8 zD{HmwDXss4v3L$SH3M=s3ivP$D+GdWrmTz4svLb|KuHgtxLqVmGobEY>SPhKs^E7pqd>$cgV5t0(} z85gc`@D&yA=jfRCwt$eXINp6#q0g=ufA0_@sR1Z8Hhe>FC{StGSAK%H&vL}3Z&Uwc zTeJ3Q9Mk7Laqv#LxIp=YZ0DzYRGC0~rT|$^xzcG=InesPt z{o}2B!h^*a@ImEDvvVp3^wUim*ewl?pE>6&?wRM9>kpn9#Td{p+u(ij^@9pvEp@1l~3=yRs-ijmBbl_ zeE%`Wsn<74Ho|(4E_1dY=8=d>`eA?&0xa zehU3H2l@pVP;+ORW!ZJ69#v^EfLwB(yTr!C@QoGEuwJfDQ^TXFT2lx!mnv6V^Cr&| zMSjy6@xa<$pUg9>BJXrWg{1C$n?V0yL(t3>Ro(K*h2D|`)7V^UW-&i2sct!}+ZY>3*KL3n7N z9K-i%qffe-ax51gO@=G$*O&ciR=@pHqY(~% z&mrxDvndJ6hS~P5ZKWP+d}f$BB_zyr+v&L$uIQ=mH@AmztyuQ#>1Rgf=vd|!%1iNg z9S#X{QcK{8Ua==iXUqT6toRZ3{kv`P4Ho>r^5%)Jq32)BM}Rcv)zdTG9rklb@B6^r z3h-R#YYP20f2U?8r9RBws3bS9O)jxzVMn6K8WC|T*zAY)B0YnhnKki-V@sqOG;elZ z)^fy6(UG^8g2b|%k!Ld)Xn7M}&76+lM6)HwBUK^qN* z1@e5j>`6un(!FcC_o@P7635L8_0E+tMh;^Wp2iYwes-yZ>c*gcKBfi0mK*q_7Hc2l zD#?x4I9pGu`1Aoswslq6F9?^klnv)AiwyMfAuMU`#Q`-k<-<5(}WE-kL=A;l&oz6X)NAspNtXx z4BN?R>HMN&;yL?`&w%PZ7M<}P3=o-H7&U5bWgS|*bl)|a+i@|-(LC`!$H4wNX~n%c z`w>5hn22veYz;u`dMH$%qKDKrJPIThLi9?NH@@dio*BcgUwWQ*u+(ryhX{!IeR8W@ zCJ|0PM`tu)W~WSwHomr{Y*0PII1@(O?v9W+3yLs(G;aSxHJyJallyf*y{i^2?g5Y)uqT{aWoK+mU1s+y;S0n_QORBk91GTW}I7S5V8~{9>b4eZ( zHNUktOTpeX%4w(2p5c2*pX=35LJ{-Q& zR6{IQG{Iq(QSC+xm)icJ`Z*c+}Iel{)I##XUO~mk}W=jmV_!P zxQnCM+01@{MEJq=R=dn)hcG{YC*u)4;|m0S2v6UbKL<*`FlaI$D#>?E>0yZ;2zD!0 zk0RLy=Tts7f7pO6QrZu zefJ&Nr;UByf8GswoWB2-1W9z7WK&j4-k8U~*}WUchVbCi?Cy(kh_mavEqS3LYbg{S9u))4D-vmK_;Nx0<=rKewp` zJ_Bx&d5JhpEr@ka@vziscIXoI=8^Tb6;;%W4N=nGqr(*zp~&6hr*Y#SNDn`Nt?B1y z>eG~_L$kY0ddlssI`?!u+mmA zWec{;bTAJ*wnOO!Yb0NGblG0B_GC*+#>4QjKTT!_lDWt_^M|&x4-P1Jf^lDwmy?Zs9 z%cww%9^KnDooU#@ba&pnrlRHDMV;$?&IzL08wwqILrcV`-y`%OEpZbQ3&&hBM%g=- z9`9Of*1K?1m$PZJ$IRJj2aA^lG1KImTB{C5)aItw!Tki(PxOft)68+1u4)tCRej4LQ`T@L8B`Kgtc&gcq7?2!}4Xy>8Ba zXzI-)cc@!CEb<8@u~+!nR&gumyDC$f@4W}DYZU~ThiKPC*96&GsFxI+`WW+C_uS%< zH;-3ECe>_mW7G_K9#4C_<>@M@pr?-(Tfth=1B={Qz1^SNmV zbe<2SK*FQ-HCKa@9ay#@0c_~g{n#<*-$~F(TfRX4f(2axc-!yJVP|StvU%CRU+m&+ z{#J?kC%=QE=5Gk$%&~vVat0hnHrlkrpR5W3zljR!O%%rxZmDTfnV$++9|P(jtrPe+s(a(690e0&ROBnN!x$TJsVrQ|1%7{G%{ zl(*c_+G6&eG$Xkk?oW6+1^#V~=;)BXEqs3uLNw6mR1;($MDpg-Bza7W20!Mi^K15w zaz6HiP18PR*X$`$B?0G#R>Ftnh3iCwx~DzhSbm_ZG}q3*cIna?#!ohnCL{$~)HFle z#@(NO9Bh+os#`X`MiSXOcjjfSxj5LZB1G*n5RpA>&b{XgeRy_55*X-y~A^0e;MSuu1u1^Na9v{ zDWFjuuq{}$&z#7W$T6|CTgV8)PE*tZHQpY5UI5>S@u8WXEuu%`H_$D&#U3k&QdZWy zuF$N3&bw6xSBsn%}>>++D&OyAFP_ zlJ^kxNompEQ^%9}HbI_0-v{CJgAA>|)h+N~8WZ~-dj)7VkKg~Z zE$DNP4#`pc<08O1XW@AXEtTfbLpY`D!EL~jqFlU=aHyd9uVbfO#O!h)Bl)Sf(wwL|C?N? zf6^cJAFGE~GDvBRsIA0uTuqccuInJze!5%veP^8UTE9UqKSK(KIOjVrbxan+VjZr+ zCJcS!YRm|7(M=CN2a@J0NC#`OTbDO2__isY& ze@eHjjU$9&$*c3u)w~|59hw8sc6iIQ2h*H%K5>kV5Sh({vS<(KfBJxR%^&Kmxv{qd&Ht2 zo&WHm#;oVHy1-fYD=O=cM4cZB}_ zjN^L|vao{l^cN7dRtmBT#)r8`i@zGXYeLbz_}6vE9RySFh30)4_3#i$if z4dX{I1jZT_of@q_yjFF|#)sR5iAeObyh}eo9lsH(!$f6ju@kO8EC>(Uf4p)ATQc|= z{fyv4cv*iPL_VUuLi@ZuvE>@dN^jLuZ|o+yI*#lBcxqzUQuB8>YQh6GEgGrHOM~>x zcArUCiLtw4Ss2Bj+VXnRBNY+K>-{Q49ygwxnsz0>h?XrBwX+JMtaC357cxnl{iG^8)JR9OcY)}F4{lfn@OFdT zVjfU@2nN1^`S|PSuaUh;ui!Z}v)Dc#YhCnC!1B$eA((U%_Gv7w9!|!3q_Q!4zkWNs zz^SzVBkTh`yJ1En=P@CQME0exw35Kz9)?j#7{KVEA&9<@XPUu!RLp0lp_3TY z22QgF*tOMeXwP}q9T)(R{j~##5Y&M#E!c`>kO@vdhwWEfxsk79hyOet;}%psmP#!7 zdAN&jSH=r24SpEC(1M0+E~D}Jxa=^Jj@AI8!Sg88BiZt}@2{pFDY!3k|I+!H>@b>+ zmi(^sw^!eFwv`>m(#_ewcaCBUk%CF16%C)GzCc1#8P+_#tn!~{b0S1<$@05qFoA(n z6!a1;cV#XqV_zrV31kR;olK-I8U(5;7HA4gdY3Pl%p2H>`EM@1op=D1ko&&1V(u@x zBD65zY~g9GBFzq3|2!GsvhkbCuX97jT2hJ?N|qzy(F)j#S(*$O#L9}gfv1)*!4zs7 z!v0~IoNPgXum`oI$}e5vLop4o4>#M z+8O%uqtkjYdRCb!-^hn;jQ&Mr-(P+EoV5Z0BED;05g?%oJv;o%#C|WpOOZsN#{_m# z6qY{!F2JvsdEYL;Uj%3xNwfvs+gG~((*DEcZ}RpA3&l8+Xb0L`fA2mHC*PolvN2ik z6%qZm`6PnP=l)|t{7P%kudP6UlE50p%ObxMpbU6?9|HmQf8R{M!2YYwwz4BL-#61Q z^sRJ0^7Wfze-+>suu-)D0b-f*j+?NJ328qs(C@E)?Yy$9HP1!Q;+XR2-#f2JJGKfo zJ8Jvgp7y3{0qr>l_OxNp9`$oO{Fkl!n@i-^y`hr*b9eh47~r?$!GU-X7-`)X2)zh{ z6?R>`ce1OSd`ALCVs6C!vZ}OKgmQ`&bQ4&e{AE_cH(6_>9&98{lAg0u3zMmGGANom zI8^v+pV>y~rd@TjzIpiErg^R#9zEg#<;xKodD(VVY{Ax&Q+)Mhn%Q0feZX*wt)h8?@jJg2GTvXVyuv;_Y4$iPsJfr^?XI zlusgGp~wuGV753tlBYrUaZcOb{&$71?obg1^XNyQvz&(x8jbI`!yTPd8`) z91lKNZi}*D8Trbo@;LGNGfe$p^^WYg@8LZz-awX$>~8MAw;Idi=sp^S%>%n?V4<2f;X2INV2klvi9xEQt8r zTy?iTIXcM6Zm@d}%|U-PRw#9Xgq;)VxrrT)N(3f6_`zpuY6PbE9TgD|(E4*1{h1vx zDwdv4T_aS=uK-nuTRPGMf@)Z)En)}d@Gux|Wgbkcio1DP*Z(HS%8cj6vR)c#KojtTj>7U}E-KOZHc|+sR|K#>y?(rd-ytjIT zMA^NzgMKi*oTt7Gk{TUW%EX=RQ`d&>57${2#lxq3+GW^lY&fSS5QB^5@Alqvp=2o6 zG8r=<2Hm`8DO>v!sPCcRfQ){A;Q~l|IHDWGzWvM`X2Fp1aM%aWS7I~-^uLKv!Okfh zDvEdPvLxS!coNb-Vmo!)uw#5#oH-p0jEl@2Va$6Ik-(ebfM*;`c~&?TOU>~zv6Gv- z3H{`>Clmb=Rbj$r$E)FIE`S3h_eF*s<1iCuUL>a6F)_NVw~J>Jz6WSB_6p~}KuCi9 z%qVcu-)^K^0xw~fBb(WS{cLan_L5W%W=s*(hcoB}I@N?b^FVF+%(74|d$k#sHnFN2 zO1}m^hMrsBL7I6-0$Dhx0FnVuZD9MGcCwbhp*R!*qCB@f>A;iw(+VgtgTPitFb_0- z`zdk3Y0U&YmtPM44>tfOzhsMGn`BLapg^7~^PVY;+6d<+ zjiF(50axH`PXEIlYMKB}ogZ%jMg>6@UecIA7Pdbg%ht()(yj3U{c{R9=6XPoI@tE( zEhg=?1{7dF-UIGOksAknFV7$D@uc7Z!07YCEg*i7xa_eX#QEbb@`wN}f3aYILGtSkv+`JDKWl-b`G>s$C;&e`kvc2EN!}yl zUj3{kfP5N?^I~_Ac#vkwrszyTkncAF6voOUObPg`0%&aq8;ImnSXbu&Z5(i}6|Fp3 zd8>n^SUJA@@VpZr*b6~Q{GZys%+o_L&FLPWS#V5Bfq08haZL_59b>2U9P>9cx=25}UA2Wql z!8z!G(Fc*6#yfMBbttcc@oai;@f_jq4BU#uS-?AXE8xE4^rD(42S8$K|ztR1UPdl7`6v(@Ob^KW}_-mQ7M znb1*+EyEXFdRc2p6Vm&TQr zbPUWr3-Y_$$oEKH7oqt#&i*S}rhlWh(EF8gwO?xs9ZkZ%QG)k5j-L7BTbg1A0X!2E z&H%ewok9zUxdPmM)P>F@j1t)MUC3w#m&q5%xGDVxJ{AjI0NJ9p4GyV4EqfYhw2tmk4ZH-|c zWrjZeQ+49{pvu~c<?O`YwQwOL8NuSdR{p! zg25iwR1G$LUtp<+5aPkk>Wu*hLvjR`K~Z3D$I;FE1xaI;VA?~03Y7$X3@6_^2wxV? zCe2h}X-1R%>xum5FnbHy>@)M%DbysN@@p3(XOfz_1czVDimC+8dHzCu4m zqAN-#cC`q%?5YufoK%MloLuX3i5^th4G+ol4(CP}GK>N{8V_xM8(*N}x^y>#S23V` z>cpRf)k2xa=&{enh!Q0o$wB+idtzT9KA5P5JgU3t(VNJ9kk>7Z>OKJAxluozTZzTV zJLod8-v0DX#GjOEA|3||@KzMt?-)>UfKx`4@Wf^%H1`{I*x#w~|C`SFBN+ULYtR1{ zW_Q$kxMWZ?fvH?N8AlI-&v);HWy_9DEcGnhMaxvO`P+*&9H>^cuY@gJAH#CKI?26) zlsWlpY!wxc(WFHrr}%_cYViA^>1k#z8}Sal6VSm|u`MdKGV0D_>m=T1JvSNiGV9BE zrn5aiH+Uqv(duZ_yqeRIxDk!j9+wtRoo@_f?+SIupEx-01qvu^Jj;ypH`E7(;R_Bn33YC0MWnJ9`$mU_nA&PM}Kg1M92a%4Q0$FcIe zVptxVg}6&EDuuTjxqpH90IGqq;OwVg0p`O@J4&xY8BwsU1eJM6E^q8apv%pvW-0VS z!ktsoHk{?ez2?{oPa5nP-NM0ryhy&+&a}37hev*)<6>}Mz1K7Dd@p-X>xwMyv$-t} zOe2Z~NCM*yu~rRVKE}SjO1^_=(%|Bam{Z%$z~hR^>Ju%-yU+^ zPJG&OFhhbz|7G)ySGNS+_C4NIqq^5Q-3WG<0Hg08kUMj%pp;e{)}|c7)H6Px+}*;# ze%^kdX=@GO+!`3Qk@;vN{eLSNdi#H*H3MAKdkKEC}s$0f5j=)@u zD&y5|@m^)uGL{6bQ@GtPT;fa>JK0vEA;myWO477S``lcRNm;lNt}1f{MODB zQnA-aYd=n?3I+{ks1(X4Hrlx%c39%=j@PoHolp}LVirxglEmpz*WtKj%*`vT{!sAc zJDy2i>(;;|yRx57*VMD$o2f2yy~ zBF#T_P?yZT-ehpSP34gab2#nw0x~qpWz7lf%*(w8jA_`KLR#R5S>LikROj`3{v*Az zHQeoS+85RNmr-qn{kiZ8v4)zW+p>&+ay*s~ChPO( z7QA1qIXC3OJbh&ITi-PQvNDRFYW=VI5P$ia3FW6pouCE<}ZI7U@%LyAEms)M58y?ZGs@38Um!N&ry$=hn;sA@cS$r`mY znG&eeIJbvs`}RV0FHbz1<~Cj^o4HU>n&}ZhDa6UN%X2?W|AbOGUMDL$cbq#{+mCmd zH;xfdX)c*dB?jB2m_U1bo{Hq$oc6TVnDks2Hy=53bD{n4NNGF$Wz{?9#2UOb4CHT1 zT?e3E^bO3uZ>XhHKxU&DdI$Y5ABYrlBTm-4N*vo7hI_5#V~5`9p};m=N1BvM$Bu15 z1wUlofLGz{b?p8qA-3L*G?wSlFOXDe zf{=>-#23gxZ_fkRb4v%h0S|rjjHGTO9akBL4Zg9EL%P8C_Bymw%nLVhr1Nd;CJ!8W zG$=o0L&}Jxg3VOo_k9b2nvF7~SCrB%kNw=ewWxpn3Y=5!eBq&MH#(IKN{z}m#Z9xJA@Qx=4dZN)T`tdBJT>4;Vno?%Xr z8?c*gYr3dWwK2Dm(}lo(wpwH|P;cGcVg-d1&-Erp*qCJOovIC!B&k@v{-71L#}r9Ii0N$Yo(Ic5OGvwNNd$0v~|%%g{-n!Zi7!v zDr{m9poV|_BWxm@hayykVsD#2Xm4-a~tEz(DA4rtm@lQ7%tkSvlqj` zP^2R(pGho+uI+T?xM_J&>p4s_!D^Yr%}6O7tYGsuVZ+IKTC#%?W6IVNdfr|(po zj8o72$HajF6bO4^Z6%sKE6Or=he+$AWwG$?*X-E-$r7K&Oh=hPSFVm ziSj0!j*4(eCWX)o2N9D?3#Syqh~gEOY;XzAX_e&{u3Hsy-ivq&o?;I6)T*52{aP4D zh6=kWi_#4BS94ThcWd=nyN$x^j9|`<%mvP5_I`F}A7lGpX0eJ}VLvP4mOrs%n?5y4 zeSzG&4@zH;n+N@&cCYwMFmN-9fP(Zw%Wb0E%z!hj5wfTRl_;eK5yCe-5XR&~QEZVjfaIS!fnQ`Ru$2%@ z#WaxdvD6NqVWOE=R}kfafrB&4BCcpAFBp7iDqBzpM;g1_j-@JM+46oGL%@4+c7>M> zuA0UI9YBd7R60|QjwUzWb~5jwd+9$EWZfHL=x5xuGF(m)l`H@QqWO>C8xWb#Y1{z$V z`-F}-{))CHZ%QKiS(x6$laOF(lk&15KND+lN`9976d^06G&fqNFoEk{od|DsrlK%k zITz}lZxi~nj@mKy6p4Mm8odLvf!+)Emp@bKD|PQFl{xb{r$H$-XZXJB{-}msb?O;Xzf*i}UxS3)gEO z4dV7Ky{^u5wHJqzZs$KAAgzt6p6fjw z>q5C~T!Z9PH}H-6zC^US5b!3xF<)dC*8zW}=%OCA)SCU%B5A%4$y(dA^9opE|Jb** zvU`kREXd`QM(D>e?ZHWs%`VKlVp>im>tnV{m@7dT*)`ACPAb$b=Vq&u81~-pUuKT? z!CIfRyV_#nP27TfGCzDQN335rfw)THuAT{c`&0OdAsRcyk-gndz4705GQPRdD0tOa zIKpz_K@j!zQc!ad+mmptRqg20i3cWDUAsZ@uVbaJ1dgovuILvlMrB5{Z%Op3>F%X$ z7=95IwM;2_UW^po7s(Pvig9VCC`so&8j7mn9=%|;>dLggxAoILrTGtgFa0E?B_89T z;l~m8@=v^Wuj6)YLT#Z5A=-dXd(DKXVYE3ogbr^&81)?|g?FD2`?=Nl9KQGLt1|0QyFl*{u4l7na@7-`+*JJoY z2bXP2VB1a%$_#jkN&>~q|EAD8M7I13#Mb+;yf5#kmt}CDOC6og_+uNYt|39Cy2TKR z?+#lTbGkRhOakT7J05!qkPlp|>Vfa9hPWJx-QQ<=%u{H$n%#Dm@G5wMNj4|h{HYT5 zHd~DNenb_+mox8iU%Q|FIc{d`H-rX_6in5n^g067aDCFHEmg{izR7uawE`1&+~2I~ zxOKHgs=)l?QwT0y-d$1=O6vj34}j8hCaoe`(_JB*L{)mRS=0znT*A?VZb-prfwKd2)!6~LN<#IOftIcLABS)qTd?zhm zBDiU8(s!?~j~i$2VgA&vWPggd1)~zrmT{K_RQU!+4;v_U5ovqj!^IJNM*-Krij;Ll zpGXS^melRxu7zvJ&ofBEmrQzEyYxO7iel{&X#%U~hg8%R8h?H2!b9iGPs+P(t*-_S zMZbr@-U4vQbtGW(Hn2O_s;2(r<0sR172RFk+dQp&{h)2Xvf1Cy%H6nwCH_E3KhG&^KRtP%mY&jULElLaO zEh<7!yB}BMW53sDT>>;7`&O?4H2q0O|6!@Yx%IOkjHH^jU`D*%-*bHoZ`)xnx2R>m zfX|zeV~168H=J{Ri?56*Y2yCxA&~3%&$!{Bjo1kII<^u$o)VFtMc1yGu-`d4*>|kg zlV8v6{BhhZ+q1X?lk01|IwK3q8oT%N7mpV{f3B$8wiUtwG_OzdAw+Lh8uOGV8GFks z=!5irN5|*)YOw|th@S~yH%Ulb=$w+xbOC%i%aV3 zBcazivp-;jSt&|l7Osv@u3im1cF8W!pNjnuV|0ySsWdk_iKQ}h@~D}lP1BdQT#cR8 zcjO9hjN-DAT|H;*)PqanjBr^9g!u09NYkO?2QmT+Xs55n*^xdTQ1geeYI#qUQVo10 z7(2#&54K^hVon`w>9u)rzR~eOev3w($tr)cqR1L2y~qbD1D*YSGSr&TL5cMq9#f>>Nes?*nFY#a39GcI_ABKsm!81KF z$mXOZ8^M~{lf@C+c=s6T3&bg_?A0WnO*DYG79k>-d=#GYG#ia=txB>fPpS?TI=$Q3 zKH-)c<^PdV^qfg&#S=GSbO7`Dt9jCvvB(c5S&wKB%_tVH%ewbP)IRb;jj4ZkkO?e( zfiNyHbre6IV=A`pSlZU(nLed{A*_;bnRA41Iw;?#fnw%cSwV!gVGz#`^_U&%(+}R? zc8hCDa?*qIwGzG3**ObiK>JvT+5p0`W+k@b^J~S223ZeUlO|K1@4tRk_WI=={6h=s zwF9tQT*kBXngw{`wQ}2g%^Xz`8fnAaAC@~?T#*K?SvL|idQRjT+%>Jq*$(hgshk?@ zr`et3DkoHv^$vEes%(&DGP~X z0H_p4%qK*a2!Vr>tABy74L-Lnqv|bN6-GhigDB-j68+pFFtN?+$bsL^)Bma8F~=A` zfhf-LJdoVG3qEHRy)gfWw939uWkzFNVkaogXFfi>QlU>%93NV;+m@1`(o=V5 zI;HNW`9xn3E9#@Kdd4U?s65iDVe8c_1#_NmarC*w*bzLNYw})Md%$PNxqqzk?gpQ8 z=B|T4Ig$z9OYE{rx_YSLv)e4c%L||b-B_memGE}TFElUYb(WA|beZB9OV<6;Xv8$A zhPRpSKFESnP=Qk=$YhPp=tvKfo75AKelbSakmSHk6{U}zgK6c2kmbS(xFF9*wW7-n zYhA?*1Mk90lI9}SB400_@iXu(wG}N$AlSMUy}zg0d(ONjw{nm8ZEX>5=FuTZs1kLw zD{cj)@T+F^SFZx2zG~Dv9aE&d%q=X{)kDyws{wRup9D$agx3y!4q6VExa8W5BDYl6 zC+5{yE5?pHLz1;^u#<>2r3i}5EzDEwCfjG9_rI%GxP%RZ9%Gs_mpkvC;#Pa zX*=c%>-*hwX6xb3b93s|4ybyz2u+|dNJ*eLRDp+l1;=P$OQpk`I-Mz`JB@DP7UTsR zibc?)@JyF3#7T7|`h@FN31n!Aw|%PPi}eCgzfI#@W_6n)5Q7O z5A04a@kowm9&RIRXBU$bcBsr(?#0H~a89n5#Zet`Y6^qB>iICWhdAS*i$HN}*BSnEE3nq}s&&m}<#pTJ|)jWq2zs1S6oZ!ES`)Ta_%ar?Zjs7&|i zpHSB~Iq8Uq5KO7~Fg5i-`yER74ZT_I#S)p^P%(GZnfk((!*1bnr&1QSOt~;_idB>96!$16v+#6D_NHU&){E4sa7BeJ5_njtYL_XjEtF#) z#)?Lg(|UMRgthEl_Uc9z%UsjR8Ny&&E$=1AeJ@J*u|hsV);vC3QxI;F5DNCZ4;KfC^eLTNFA8wOyw-& zLZLma?b1yREW9^2Iy!~(=e(*f+E=+-@|HMi6tm?j`X#pJ)o9q8{-K;`(krADdV zR4Fz?)9d6;-|Xg-rXPFydX9P8Zg1ck%hjH^o*AZ?2~FnSp7zJM{EAaa1jYklk$Zx$GFEx%+EkiW*cR(kYagzt0s%l?Wj++ASd zLtuSELSipJ6~AkoBS2a4Y&p6kqN%4`a>r|&VdUY&^XG#fNE_yE(mNn25MXsvhfCa5 zoOP$WBLbY@cHRuv0K$XIn)t;IXH6I$El%X_VXEGQ@_D#fqfsWx33< z4R18JT3Jc1J50F2ipeh(I!z@eTi9A|NKCsdt?x#&@=0FnxJR3dTFILx?wmM3O3K4l z_d`8!CxXh&g%T8+tI6q?h{s~3@1vK(SPYv?Y z+xG|x1fBr#sRh#vIQHn4gE(M_-yv?M2m2(`y-|nU_EmFAUlN9`9yGRmJ$PjZZwg^} zeSY71DlZOrnO_yWIwpQkhf_9#chk{<0CWOcOk+(ieIo_AiS8;nSUIaK72~aKS@C+} zWTHT0^Xqa4JGLk&(#+zO`vURnATh5dzoIYEu1xpopU-kK;H^Kc)7Q}+9esQ4MT>GS z*ERlSR5$&K7kR>4m) z;pBJFilS>?h@i}roIG5L_Wmf=h)j%S?}JDmI|rgL9Y*t}D1;KXn~eExZ-3Vt)@<0w zcbltDrz>_ur~Q>w2XQnh>Dz$84*n+&%r5p- zOxn!GzWL=NzbG32E=y&Ke`4!D-@$wMG?a_8JPG=~o+V8HPg$Tob&>5a#Rhb?;HZ{uPXCs# z@$Y`;JP#DjyVZD>D|*zNY!3T|J0i&jxDo#)cJW8;>jzJi-H%+6fcOE;xQI=srZGB6 z_3Ifw5x?b*fHdX~{7MIz&;Of;%5VJ=H+Y|!fCj#xULwGE4iX3%L$CmVL3Q<&`2ukR zn(46!{{wR%d*=7e_<}irGjALF0_n#sqinyuI?0^^{1E>NTKi)g2RPvWhW`;D7XHqG zb&^9z^P>!fQ4lkr;lqj+W` z-BOd9_$Uq;bnQ}30g@bcy_WI5cI3+9B?HdG2;d>C?R6h*W*$iOa1$J7J#*dB_F&Sj zXElT&nK1Dho~Jg7N!-(%r8{x=gV3otc^C6kEe^|uj@gCqmrKc=YU=5H%??>R@4%kj z8p*1qAqEXY8}DE?*k)8|FpJcuTe#D2JDCyvLgq|&@rZZaV`wuE7ZsT)SJ``#^%sD1 zS@d1;c^@6%Ym*!f^aSx7=k)PqLiq!Q8x0Q#azpKMAq||FclxDEMRd7m38=P%@05)T z?Bt9)#2VZg&4!`dVb5P|FR`qGza&)pIP5Zmu1EFjh#ReHPr8)6g-0K zI>OdT1OXbf5O!Jp)3_*ou%eHbUQDgjH-MID>}Vy-y)qjLX*7Ddi@(^xVx+A4y>8=Y zfsV8)e8e)g0XyJxz*s87Wa6ifu%rYNT#Y}>;1pU320}B!7p{epuhh)@T$#U(rW!%=kS&ba@$1F-Wy;{aT>Quwk&$(;hfr5a$89Amb}hOn@!ZnvQEPw-yE z6^$~0?5va0J@s>zVW#3*wM|DSHb8v6eH+kX;M7kzgbeCacx|Au<-o^t=6dCq)|_w* z(N>e$nwz6?c!EE^|ccd{BI$zE)~0?g>VUhFH){oM8Ldk)z-4 z*E%3%e`x6bTBOR&6MTiuXkqrEriK@`Yi2MpLFzn${OPXnzys^RXcB+aikoe$vlK3V4 z#y+e$JQ~6<{Fwmx7t={&KPy+w=?00%wr};zs4aGiJ}E<-Eq$xj2e6qBq*#?`Rd%DV z=&ZbBiIEe2uhe7#2>yD$XyKa^Ls0CZSV<)pF?O``=Sl*Z4d+GRFQ;ZTpOo#bOZV1e&e*VhpwPpF$+7El!%MEJ z^?I&{h(mOX-MejmE*>fT4T2B&;6zq@aG*%o&rY~cSC?eU@t>Ulg8mmrUCD{Y!DP0y z_c_OMG;=TGcE~P*6?H{LTJ?YWhq#TEj2%ib#dZP{T~UwWwekjhD5d+CH)t-nMQogU zNjz(GsPWq4w9}{}&tm|f1iX=;+90T;Q4L+=0HxR~Y9N$#QbAT?q91k)jnDEzO}?f* zrX!7!5Rb?~(L+yUmZh^j3SPUk$~?ZF2)+10ZBP+;@*o+707i9$HML zXChN)6EwzR?tFnbE&k+F?1f7v;NI^OCw$`Xz+q=K3U}AKC|I1DC;)KE1!4%Zf{taJ z_ZY0))H9waQy5w$xM@#~1TOkUdMf9lp8y6r^USihxU+`@C8}an>A2w@o9;UWZ5Ob$ z;UnAe8X=0tNIIu7QFa8Hs($kyOvaib={wDDlB4~(B#&~ZE6oOlGk5h#mNK-`ch(Hx z_kMvm7u|=q_KchNP!zU|_lXtE%Ex1-;qL444@+4=uUQ6|@oaj)DcXjv*CgzHpEsSi zj*fB9svAHqt>|y4CrtU0&q`fc!py>bkDv>8Z^BOiW*eXnJNlMWS89pe0!u+uOM?=61}$Q-W|^{dulvOE zqq5H_){Y;w)$e~M)`cv0F67dr#?b4mTgg7TpWIJ&(K;{wKkU7CSX0}&HyQ*5MVf$g z0)n8@MCmP{(v>DnstQW4f&>Tz0a1{SfS?pXdWrN-L^??C9YXI3HIU++uCsPo>+F5@ zKHojhd7k^+?~iDh;v~#D#+dK;wf9FKmX33Xc<72OJ%0009s7b%x*1wgki<7L*ZuZH zO(CElhImM-@T=%z{&y=*qprCMaOBPbnC1~y^Zxr*iHe5eM_LqBQJ`X9?{HVYJJC?_ z!w3G}#L-J?b99b8j$03I2xV5?eh^21Tma2s$g? z$*p&u?bU_Mpzu$T0&56b*g33K@%rE+)y%s&8b)-}CNx3=b)3{}(>J-sbkU91o?u-T zJgS<2e$FZ#hqmz_5Bch9LHKd3Up8PQfVVpMdVZ~Uu-)}W!s2xXG~038V%3;RiWA+k0B*6gUlPCHU87_t%a zAqzfxTeI%q%qzAu5+dnZBlo~lOj^VhhY!y0{383@^snW(BysC8FTa|sAtmLPWA#El2_z#w%5ofXL2n){Q=~*N?{2FVx7^ zfyfsujr@ll`_Q#BGcRx3UtY@Fy6^6$Nb3)1JNC3h0B@a$B=K!vqYoh$vXrO(6J!Al z+|GhE%Lxck9RLXkuL0C^fYzwbvVt5Re;u;fHFqKo^81Jp(L)aU({3D}T9td9&$&^M z*L=-2_Xo{WhFBVVtnWP2YZyIhj#<-cQJOKHd&a?jk9ibj{>_RjuvL|tgbWv;>>p8_ zW>Wz5^k`7wmM@w~4>6v~Nde3XVJ*2$lb+vwvq8M=Kdx)Nq zAT7K6aCH)JkUZQtd~%AHzERj3S^HoF-iGT(KjWZpYh{TqM5b&wZxCkXrum{WgZlfyuN zubUHCiJF8ry+c5+%4s@rx`^@5ws=bHMVHcG&ri;N1Dl*$s$iBbyJu=cea(;s(X()<%zTIyA>a`LrvYwe{*Lx(3xI6-?a3tDVX zF7y_r{D=+M7^@dM^eeCeBT5>LAOs4+ z4^jmB08jz2*k3)hB!mFl=|P9&1DX)zo)!$?@*lqg6ZkdGMUDcC`Y)*#i3O0Sv5-~O zGIx>Vrp(mF<-+G>No5t*Z5Jw~#}|Vl-;k3t%T=^*3!qCUy@h5s*2?ee#5iNSKDp@t zo~;LXKrEP6fW(vAgYbBaWU!q2{N~XRO#O+_`!2P!?H$;i$Xmto!^ta~2R^$;QCN96 zsi~#hF>RH8LVs;qu4CBp7z(*HTzb;|+2lN=UMzS2WGh{@EtMXv8U}NMRdTWoE!RDD z-6MIMdF)NomAT>WYdyAJ^&R=f5J+Pc;tXX7MC};fHt#)078_08oq8vi#Atuxfj0rU z&5sTnWUQ)4KrzR?R@;80?+2PU%7!wbR9_RXGytFJ^cQl8I-+k{~v2uCt1~+Z7QJmh^UQmpl8>K0%68^%)tF zaR&~@-}XjDg_uM%rm!TebjD(M*c0gJ>p?OpuitX?0nJjIqUemVrYMWhLVI^XiBO(a z!Kh>1=Mfpx+K(yEXg^VmDuyh?DF8VP{o25Sg8T}{g#D)jr@^$}ZhZ>sxRUTHm1*7u zKwiIdl3*A(`G5`(=Zl>N@99@VlW+0r<#1nl*pKP)&H9rP<$qeJwxDp;fi*H{eslYw z`p1si;1;^00xOUFoDeei^V^mp?HC&rrCPqHRiGkZA(v4EsZ#0sWH|9gfQd~x#9gc;d59xwifsF4~6=Lf5CN# zm;aqIjB(-g4}DwC{VKVBo1OpYSNR9W$XhL>fc7cb{gCaUpCBcBoMGdi(p<|ye^iDc z%KzBAMdu<;_^+w0x=O?h$g%2P9w0D__6P1m=Lj~9FttmdmN`9bRKh}ly50x{KXySL zNUhOB6mx;jlYapS8Cy3j_c)^n*q@-Rm+^o11qfhc|4tY2Z@lOHm(i?%gN{w<2u`C3 zp75x9$J81%nBja?r&E&+@4nG{`Tk)NW(nO6MnN`ZetRZ2a%G*a_g{ZF zmg2JMzi?;*;BbK^!Ocx`=+F&#-AKKVT&?+%YW{~$Cypem4tzI#*x8M~{>}aRUl*;e z3euSE#Gr+$vOw|?@gDX1BFKZFq?~B96w71~_5)hJ2V{z=iWG|?U4Q58&xzVtuKy@| zO=W#2TMqC_BOL_Wv&- zIR9*i_Ek=IAqCtfLp2vtfql@H2Fou~Deh1+q`uju#Qcmr$n;QEZ}?z_war}Hs4k?f z7j!XhTBe=#jN;jpx1_wUI)PA5%X#E0I294R3D|Qe*Y`{<1zl)gran41*0xYF9yuGo zInudClt)9}x|~Z%hrW3*T-=pNJ2|5)_R%PBGF*%NMcC%wx=IxbpdevPP5xwKa$3d$ z<0fhto6kuh<8KzZbrvS_NnrA}}NOTNg#pU)zk3vi;U;1Qs*jcOnI_4PPSxi%j|h zOVhDV&WphE8U)8tYygb?2#dMW@`9uD)0{-=H1I?5>-@Cz% zHDSR2?o%}&TI*vTTwLRQHF{5;MU7{lp}3MGb?LpXvgldHi^md2c`IgJG5p6Vfl)t( z4JTi}-tljL!2qnIsm?|C&@4}1>fSM-0cD1kzy1JS-EJ`*?gTI6e$VGzB-mt7Y*>+# zuMIS7YcUX(Ah;J|6XJ3i*X$CV)m_bXb7KhpLtjUhL~!Kd_N z@q!)+LQje^H}~XiA3sIA(EAx_Cmn7B%Bqs3-_&o6XIn>#GQ1NX@?IybGhf5^Ts}4& zb33Ul{nANTdffcmub)z^tt_6Tt66g)Ggcd9peD|tu>Rv^mCldN5#5ouc#@1Y!S3?k zE)c^|lXKl_jFqJ!7tN31%cqfP(3g|uccnQpJzbU_2o$}ssd3Ltwk<+=uX;va8!oG( zWz@eIt3D5sNsg_711^b=% zgPKQA9ghaJio1DgOC!RJm#DqZG|;rjI43Q_spr;i&hf{4eCAYRvA({4ZjD;j3n7g* zYNC>C^1o7rp=!(%|B4mS&7WZQ_5Q((_=0w{v6+KplZm2K36>WKt5#16nK{1S5meqF3Kuz zyfdr#j5r_T<^QP1R`2(J)w_Ko@P{I4o>+?zV`^<>!rsYwZ&Gza)0G5#S#tlEWM8W6 zDquDK@CU4@@yZ`CGu+ER9ry!?<^=RMMY!&%0L@SDTm5Q-N|u`yc74${TiN4DAOJca zpUcV!kQ*`sY%AM3VwE>M*88O2eds*C+fLY1hE^iyU1+gR5iKPwMg2==O0nl;t32`0 zV?^OP1=-_$3l;wBpH1~^EE7*SE5Tw2O_h_xw3Adfboc zxJy4lL(-9&RyahOqQ22uRDeGpRuW~HLioI3x||YCDqe<9q>Y*Gl!y_mQ4z~2L! zwvZZA_@-v)%(!`~zb-BZvVCp+(6VDJj2q+9T;#*Hsh&M}Ncp0cW#OqLHO|q%YGt%4KO94R{nf2CUbF2jSN*U&hwmixj#2bzhS+N0DL!NJ1+|0wTR&;xi z)G2cx;JzGiMOPd#dbdOW*;Culxp*?eSi{41F?JWs6}{l!xY~b-yunUa5zOb{x+yx> zak`;Vb&Eaj8g33S2;O&l#CSwC6Q70Wn>}Jk<=ZGG0V90&sT>wOKjE?m_#}46y5a=W zg8UY+D*X$6=>r@m|uyy9ZC&7e-5RL0M#Z7jwwmsQ}sC;Y!j=k%LXs z1;E>hQitrOQ&|*)7iLx`@gmN_%S92gW4Lm%{W$W z{LRAyaC5{>TOtU(^Xc5^8||uD$dqj}gedm_7K5`klV5G6;@1ja?Hc?Hf>-hG!yi-} zi`QRwB72EJ$6QlBz4k5LHu=9(Lj$c0MpNl)lEk7|O;s$eF^o@tWf`YrdYkrCGyF7K zc5IUIuKwTw!9lxvu)@@%w)|IrB(+wCB#?O)F{ z>R^nv;&~Ib-R66qO3lBBuWF>)^F42MQSG412G~S<`~*$#x9N38JTx9Eij#k`|J>1M zAy)LXpC=9-f+uHW`u!Ql!(wLu{hLS*hCJ2+7f)*s8ZG zI3S`^Vl7u5P`jr~f19llC|~3{bL&M^c10AOtp&KmPtyb$*fnu(k++zEZoAhw^_z9- z$evd?+Td7?yRWKg4RpzO zqs*B5{mV(<+CWbjo_09H{D2&Ho_KbYuTLHW-z52U`wz2QCK8VC4PWfL0^LO{8gTmX z&fD*Z-*wOX*5Rb{Pok7-lYI{CxnUcCb|`GaR* z8t8oJ%ibN?>z6lVqi!h+-VAGICi9$85i4Kdfz8aM*TvOGX^7Kh!GA#7jK%N-#4lNEnmn!AMpmOu*eNnG>e>%b(gt- zfxkk6g~jW-XP8hbh)dI5x?4H%R|0Pj%Q<%BrXL8T)`zcx2rg$!+n;fK`leRE9Px_f zBB-fDJ_44w=rW&R3}eZSknMF}8C=l3Q&-dCjJ%b*^+j^@RhqHc?0V?)W2U(8 zm9Mo{W8SOiA9nIHBf7!w^q>|%zO!)7PY{KmTZ)W2k8$f)!c>>Ry^yQm@0L>S9^Bx8Dg0yp)5~n|IWoHT(5y{+xeQ8 zpWp@6+I2{pKvD3)C#iE9rB$`k$=7()&+l}lOKzF~`>*f+tn&T+I89%JIdXxHkiYG0 zb;6TqTppd8CN!_a4U_{B$pke-x5y;mN3w!h4ILVsXipUGlT}j>{vDAAbF*M6mWgUr2!S@_?315=NklcCr1FZ7i$TqUB;bh2z)gN z#b35g-qr8OBZ?9L=<`Uo-M0N*$m6eX4>_;Er=Dxp2@XL_SQv4=)uIq|bzsxOK3gPk zwmE6*_qzxQ35|KgcC+Z~Zm1*1E?^Nyl^CHV8)fu+YQ0$l-_BuhqtXPkLiZbpp8Pe& zsPL^q7f*rrr9(x_wbkzzuDqtK11sjA7hfZvUu|U!+9q$7obn^{cEPRg`o|xUZ} za1MRj!^Sel913iPK25Od7IcfgeAAZ(rSK*EfcZ2qpak3CW#je4^(Yao?j&bJ!=A4@ ze9HKk0`IWvGGW?W+ZMGzFx4IAqMNdhBC9MF$Se%|+-zkfLBUVPP7CD`^B+m&9LPrd z<%E8T;2GX7&a8^mZI*K<=exZ@!uBScS|)iFV(sU@V=TT)b$_{NUex@~7s4Pe_P#Is z_0!eS0EJ%Q+W(?#NLC@2>oxPCkcAxtN}e%B#Br3K#gjS{Ht@MC6)C`q|2leT=Q*S0 zX9(r0N?3T;QMta{X1u4S=z4qlB8@%436t|$5azP*agNenulsBTT5~eNX~W;*uU&5`)jRc(ZFq z%#1_uW@XqDU=M-@U?)>cqPV37y!k4Wi5NJULpTI*8CD>ARp1-);4fW8`k%%DyGK1!WSdVtYKx0R;vA^^cPl=!eYm!uB(Jt@ zrig7opS;!0`;-b922^e>5B+bR@ds}xUc~pq*On0P7F72iE<>O%kJD)e0L1nmqi%N; zS@_Q+)K8&~@o_z-#BulsSA!vEXmpEM?IDwRQd#YxyUa99TyG zl`8Jvuyy{TLssM*77j3$!Qu!iDRP`vm#-&(nOd*_{F^D6pFop8wS#ssUcA3JyD!bf zCk5YV zjXZT}thx!y>MIYTN=@RWj(=Kj+2ZvOb{#W=Y?Zxg^?4)JJnC(RQglJeSBuA9;VDIP zE~E*3uWoO4-MGdVvckM0H1jOXfI2dm@!6ATrCL_`e?2Kb&zmcoJ5QlFS$ZjYro%_u$GStBCQQHE9jgkBfSX! z?aC@!MA~uj6~Y2AnQS@w?q$>mZnn-b$gxwx6w%gk6FGCkV%HVMXgMa*9W}yaVrL2} z(Nz&Jp+(Kxz6&WT0>hS#`5K+zvbJ$gykejIIZv^FD&IA;jFNliFdsp3_~?p5K~0L& zRuO$-bxqvcMIGs-J-2broHGHpVV;Y5aZ|dc3J>d-YOIfc2!Nt!$U`lzLcw=t| zb%0_fVK=clskF&1jL?iF2SA;ZNDw}G(|sxJ9KUI9|K}S|llK3b2>)+iKL`G| z;K!~}@gBD3QSCg3v3|RwyiwE8%VMX`-m)BUI4mRBh~u1R`|;hD6q7wD%B+q{`!0?& zxL(Ri`8e`29r7`Q6;26kCwg@O3&krJey_6o2@;M5%PcB{h;^EsHV*7sep2AWVlZ(i zzllLXVVgkN@ZhfliyngV=N}9y_y)H48oh@ino_T$4Mr*u?*w^=c3d7aiMC(YTakEf z{)6PI*0P)gO$Er$VG%wh`KWGRNRISNR^u&CQeT zVZ_T0r{r(8BW6E)vEO07dm}+W%-P$$;23a!`cwdsF8er1JSR489uca$nR;!2_iKr% z^y01Zn48n{PRy!Sz48JFtiO-OU!xMy<1!^{4!}TS5og)l?ULaing=yQ&jY0d>Iz;>e?0w#=wFOT>&_OaemB^=}cW?dgFI2&$*Ju~WFXF;?B3eCf11W_hn ztay|>cneaB7x}V|opjpfR{05na!teOlh*_ew!|SeDzsZMCkcExZ2p7yws1I>4?R*@ls&# zH`4P~lV`==Ef0!Y814id;mqo9u{8!ft= z2b(-|o#_5NY5m;d43Ak(tmh(hrk9&H@`GN_#_ z_1gxNX`UD{FaPYYNP@WG&HF0dI`R2np#k!>(ndz3JT@n$nfL>IVGG=&WA@g;)bqJD6Tv-DFrhe;UyvSf;+0 zu28&m19$CU-pxo(6}{N5a5h5RTxI0*Yh#iZE?kepeXKus;VyxW5mk+>(3fM)3Ks^q z9xL)DkfpwCqtv{1vE_78R`o06#O$Lf`^$00vu$Nct|8KNA$J8X(%N5N8i*IR>)db9 z%uCS__kP0IQLbQsmBqyA)eNVj)85%gURip(?L0?#9E~pNfWMVgZ2yFIr{S!_)IQ?I z+7xtBzISy(ce$#b-t%jP2?1TEwW**Vbq42Ss_d%VmDy9+jptN_T%aBf~YuuNRdY7=yl@#dJEQ1qGI+#ChCYDPI?@~(xPV(!#;LN zhE2M(a49ITArw(vumG9ZBx(Q{;@GD-oRHsydCl!cHjAzK-uMy-FQ9mxJ=z1m9gAs} zi^&b7W_$~FeR-}i6Duzm2a_1!O`4c)=X(^X-cl@+e4@R$ihuvE?{tBj_>S>Vy9sf^ z=L06Zi2Dgrm3NP8 z@(fn{^4bmFC;p5mvqfofMl67RhZ#RRf9HDV@tVK0gA9;TLRzSL zIg`ECX@i7UPX*gS+*5l)K1UuI(%6AjU5vQfZb4gLHLRVKw?5y@`-w(OCXS8$@wxe+ zgFb(0%SnqtCiGDZOy9f2yj*cHrBuZ@oSuhqU`r zAb~0=zSr!5a_Bd|r<${tt5&TrgLxMYtVNr^9K&Si+49o2G0D*7b9cVH3Vz8G;N7Z& zP7B6ALgf|He^1z!OX$irFa2^)fIiZEOq!>{Py4^%I0VsRqvB6?wupqtT&oQ^hLX!h zmM>SUVZ8l#rG>e3t=Z57i7*Ubd}aB&>lfO2Rt%qDpEpQ^32fy()SpkURBbcJ-FVQm z^CJZs-(PY0VW7}+uBc-we`j0H8zXo~p~A>QnJvImGk5n6Z$ zxgOvLe}p_BwM?F6972uMYk#qO5#H+UOC}7N@MhFrb6CBdBVwl+5AYcm{e(3#w>I{L zAPaqWqJXljRr_sB8vS(B)&A;k)vG@WSX{jclcLPpJM(ATH5MGjA@ops^XC<@PLeuh zex)kVB~K%Z@SOf7&J5&(m`l9Ii#l%uZsan9r~_y;u#$^-x@HXPLO3%>L^vRm5Zy1hg{%Wv98r4>@l@8~T-AZ)i zm%<3zzWKlcV!t7#2fbs*p=2wZ?x7GIn}q)mHkfUZ69P@@teN}?%1e=JYG(L4jCxOB z(t{_#5Q|U@4d~Gt*RdCm+RCQ7xo5bexF0==5-N{xlG}6lF){+GiTlK}gP+R=17xx@ z*zc{zTo5LS&Wmvm z_zXzaC_7wbTr<&(IVkXJPI+`h(x^xwa$vq$Y;;fH#6S48Yyfz+jl9T@DHEoOl}7Kh zne#MP-PUH)7_5HH8=c5?{bXs9;(PdGR5hTFA@-X*uSlP>^`ZVKC5djRd*Gq_@=KV( zTV;{Bpfhv|+Y#6Q$?pw7=8$!5K9 zk}EX1XRX&t$@xelug#l0@=bW(yT&sZ!f}{qAKkb~$K=h3XSXQd#>1-9b-DL`ysDm@ zcIweTSdz8We{%@PFbH%*t$eL+y`gKdH?|8{ z7yX^qS)DTr?O#qlk7G<loI{bKs>J6_&T88)}H+#tTsXcK^#`B0I2$PP~_gOv&yH zwO}@gnyKwx5Q<7!oKr5zEZ5Wnf9&21t&{`x)FsLFGuGU z?{M7{Uxu3LJIg-S=o=f)Jg;fo{;p|JW&N<{`dE10;+3Moj-we(!>@y4brH``brKQ= zSW>kzZCMsMUQBT~%%`!!Gy$X31D)}Sq>R$|BhzuyrG!3GsD-uF?zb(0Sp~UXA{hH3 z3+p~<x4y?W1Lx9|@j6K%cW++!aZ^!G%Uk+%>@0Mkd9wIYagN`4 z!xoDK;rN*2*)o(V6@N36!VN>F%h6M8@2^3l8M{F6$qo>1>|5x&D{=2b{I`98V#RIPaVAMpLB;eoPO;*W$O3FheL=% zpj`qqMugk2Z1`Y;MMJHosmaigJeMoxK$^V4^SN=Te#CXzTyZa#mX+?Cn4B9WhA-Zg zBImuBkfe>gj~bUCRih9O0H$Hdz&av+?Qw0YX#>A3UqwtP zMa^<%-^{ZEcFs4$K1UI_`=;^wm~-J9&AaM$T#x-@I>X^}&ud)(!1Q}4W@i7RrmS18 zSxwC6Y8r;f9ru?JQ^s)<=W}!3WUR70-h2cU;mu5P%FoWLvZ-u#6WNck&mvL0sh4Sf zC1HASg$H57V$&-t1A8Y0G_C2H&j{LPX5@#H^rbV(`vvYRh@SxJ2Y^ifU5IE&=ii^U zr|Sghx@ib3SN-b#bO2h@jzjiv&ORXS@7Yx80lJiFxmUkBv7VCvQnBw_{fDXKy504F z_>_D*6aO;XQJMDwVj|;*P_;%`Mid-5p zDj8x!T7|nCmE}i{1|KEWqsvUOswlEP&rCOthRtWo6&z=fdKenqI{E!@lIpcs9@Q%$ zhRj^yfiybGFx+C_8yl@l4l)-mS1e}-xLX}QJG9iDS|3{6XU~Z}v~?PJsZb@-BfYIr zNdUh%Vx3%>-J2Dtlh%XsD`Gm?&KVi9Tr8C0id15h_c!zJLzYvGHFsCn3!(BX;8bP` zbdiq=Q=;aShFi3SgK}mq+}RG#{eB8{LtB33SZUf2;1q^>znx;Ae}Mj<@!h|UcV3CK zoxC0`bF;~ih0Hg|!m9`-K5$4iWcOwKhxd2u z=ERBVM_LpBMHN47?AmN9<~Ko82NmqZ^WfN5u?yeGfK-eInuVZUMfRxgzP;j9@=?cp zx+ewjt%|MqC4XjgWW@sfQu}SE>arwGz66DD5zX$YsyAe;eaDJ*$X7(RdHttwN)wZu zcZ$=fA+wL+NA|eMMsn;TZg(q>|oTmb);SeufG) zPfXJ)te`lr_=Qg2-h4IN*qhIqotU#};@1|RKb19-HORairWF570r`V7eNP&QHtP!k zGvQUy-%-{>10o)q8LSS{p%;uFyQqNO&^NUxcygtfPsNcAJpx;}xaJp0KS8z54E%({ zG6;6t3fq39RfoHuXmM_M@un!R$(*yH_Op0W=cDP&>C}o92iz^Z;jNSBgTo@nJzZ7@ zs|V?-EEoY)Rj2~LrLsg(>16Meg7O#Xz5difclTaZwkYR-7nWMY&Q#{QvO&)%#u;w4 z3i8O=DIT^2jy4s}%ok@*^9qq?iJdC~A9m%u@>B)Y+?@oyo)D6sUr;=}P;>Ca(%RVg zk=;w3^+}KOP7aQNQW@cA^$q4hXF;aGUHy$HV=rxWq3@G@yBMJ@wp9t=rLn15x_Xh2)LOspn zus&BQZfi%NlznxjlqilNZ$gIHpj^VJQ(oLQT_4pA-I-B1G5-d{HnT*%_y$VVA|dlG z8buUXYB-Cy*i^s&l$fCMl7Eah&fF$Mfgig2o$0*7yTa)V?#@8fTi<5W+fFR}6v_L; z2uwpn3YfrU3G`i-YzGZ>Cn{#MJk`h0R@BsPG(4g7}@U+Lkft za}tlE|7-M?^BkO!HF_duIl_`f%D)Qts$?Iap4ca9xr z8kMyhLfRy4vOq89(0Ts9ya~MUxpgFV*+(2U0t73N^AkXCh`^G1lz(dYkD0rFLNEPa zz5GAX&NFtv6o)DztiGKd#V@Q_5AST*gpI`GGx$8XDPR#f^82m+Ucc%dLLOxG6xhd{ znPK(yBoKWMPJkP3c0uto#g*eO7$FaSix@gIEw96g&zJRAII5=4MxAa6nz?h%L6 z_6fjgf?SAGs`zVZlW|0NF<^jj`U#q{B?ZnJ((jknJlK9@E<7Ze$p1W=_^jr~n-zYd z4`(TLkHss?cp3h0h)M3kajgHrJ4^BXqX*`4$lDMFSk23wzS-T>3dH~6&pseFKE;O8 z;CbNecp=o)6DRzG95Xxmw1s`Aj?_!=Nylxl#)%h^L34T&)0>1U7FpS(H^s{*JtWYZk21(e4!5y0$o z?07<17n`fx!G}jySBpA#dD-XTUg;oV|4)b{e|{`AgcIvlB$OqQToLD&sa1CeP;L9b zx;qTl#@CxR&cYroh>-aAD@a71lyjIIE)5B@j_$B{0zdGX#g8a1Dfy_oy)@@ufs4wG zR>=Q+cL0+tJx&kacQ{9+0@9z){LkL{17f{RJDdzJikd1zad6Bvr}9M!UCw(fA?>2x z|K#~YyiyHM#5k&v?@u2CjLv}DYo8G7euA2+fD}=nJ0A?P2%)u2<%(K3Ze@dRRn(B+ zs1D3b?A0J)R}`oCk29rK(^<|m*f*X-5>g;`9J)`z7;WS5e;4J3NJxhStH zegF)1pglA;a9bEpzu4j5jY84{n`ZHX6_`Nnu373-)vm43J~bE2yWxo||WV@=mIr=`>CG^eM-u8=NT=O^k5h5nNm^GXHV2=;r0&U5)Ya zD}&RlrH@u2frdDR__R_bgXMdPIfL&bCIo$2=pn*YYc zqC15v`#*;NaqdR_dDa4fqXfp2SAU*Af10(5;GBbhJvu-@qd&_Jf4(_DIQAc=PdUjc z{ND`C#ghK%|5gMc@WO-){B4f+wW9^zXEr2bj1`R@#y%M8i(yTPoKk8!`FKG#MiE@_ zZw%&t|Kt8!*Rg>(3}=AZpqn3|Lq0DE%yF4r-JRr$x!Wvt_gw#)-z``D5EdyOaY(bv z_`C*)k@QnXlCnk3AXbXS$v zk%LA14xoNk$jCwTX-_OJXty_9LUHJNN}?;@ZgFbLj@)KxT0-^5EXVbiF}O`#LEa&j z|2fm>UwuvTbMSwMD5mMOoQ&Praf$FbtlwAXmDsfXnkjnYRT1}d3YrU)m$YO)B~N0- z7l3NaaE~UcqC0E2SJGsbretEZdO!1d2gf^gPI#T=7ylb*a8SLA(~&mg`sK;kSFi0J z9>0Z*$GENoGKVLYywJHL(ZL;9HxgvOZNuGpIq@V`@Kmrv5-@dpo8kJ&$5I*4yTNjh z?6y>@lCtvBcqPL!eM+va*0EiJy70l?RYpv}vch;@%B&Z~SHP=WBecRX%^2 z60n{&sY8O|q1#UrHf@u#sR=6;DQ+YkJ7b1(!No=@Vx8oKo`K)gS zWK{w3Z-d??D$COo>xGa9dSl8KV076cxEao{W?~qVy{V&`+vISO#=#vHs+nNU%zd{RdeTL`Iaj-kcPbokwWo>y;nx%p}u)!o0jO;Wvf0>;ljVf#61>}rw zns5!Ev5GhOWWDESm1&^O$M;nts0o>6ry(~K?pr2Px*VJ}0nT9l_HA8V>kDEysyhU* z$Xp}&1w{OAkO7YWCFJ7-{42-9<*zv&jWvjv-@-o50hQgK5_j>8z=GUY4QLsTwEtk? zF7kC2-dZi^KV$n#f>}>NtT+kHn(kScqcgEE7}K#n=W*+d>X?9KZv38V8$4L% z{p5S1FuJ17EURnDpZrV``<E#}sfEMN+}1zxxb7BJi_bDGu`bSIHAAg?m> z8Ef@t!saZxoHdb%%bt!Z6JS?zeFcQe%f1M)@Cjd(TNF>q-?X@mO)P8?4xdb!n+ail zxUA@wlAC!!#@Py+yqcGCU2i#uskb-GTOh)8ICe>O6nRlWXv31W;$w=8IiD=hCE~VN z!F5N8`TXh|GE1oq1?% zCf;LzJ(Us@D8=pW?i=g-v}P`R?!pS@6WwMlt>w1Ez43v#a&6{L%D8WyyxaUipXdh* z7+<#-HnsLWDuU0`zixf9w#b{ePM(9OM`E2&lrEQ`0vf|YQ!jYWlQqi~mVhE@hQp(t zQoS@XGCVRIoHg&b5<+%MZOfHW-#YGq@uc}P_G4Qbm8W`Ush!8k)N<-9lxW!gpkuKL zFwng@S1$JuquDkqS!FJuTYYBY1HFsmN7AqBbu7C zPi)^&=Nr2=uesWGqdhrT%aTX!h@U@LUC$r>OzufeRBcHEIX|t!MmVttle)RcImC@r z?zAsuHy$8AhRVP6{64bJT|e}WGv+HY{}@NfVZHgY_S*P{w>$` zIv?EF4Dwu)Wk@pflc43!F=Cy(U3`~boBsRwkJ|ex-i21|98#?_d`LbRl^+m~hl@JJ z!3h_~HpKlcES33>2<;v4#cdpTH<@s^$X$K|k9;V2Y;OtaKj}M)2a*dk?*jxR<|ioQ zOR?sW)lX2=94&lI0KR(FbFMtO461p5^88PbHV0($eS9bJNA9LC>P(m7-u7vf_q9AA zgGLS5Rxm#V&ZCbk&fP@XX`j%0?BXbLh@lD9$cgBvZF#8I-eX{cnA-4W(ekw?4I}pI z_Q8kn1knoz?!ult){FSv5P2%@ zaA0Fewr28{Jq?X7LTb&DUDfGl2KW!|OjweGlHk~Z%)2fbZGY#JtTLD1k?V+h|g&ucP6Otegy zYfbxuAKFjWwGsp_=H`2>TfD3s8yhxot?6I4>XNdIpgx}QyIs&hPTOM{BpX~9x?5F?J6z(F+5NTk*7cbyNB@#ujs~sX=f>O zA6H!BqEqDr`-Cqu`UDMSspy7A@S*p$wi7=+$ubbU$GWU`lGr}CCl3V-Ene_b>4Jk7 zN+4SwS9THy8e)LJ{>S!#&Yz(3eQzU&dUL#{h#$rM!`CeL$cBD`HYY_0Aj1g=rT}jK zDAEnj3K_fS250)OC`UgB4D>SArT8_Af(EeJDt>3lho?}r4E1rlp}4mr3m@Xky!jIZ z&)mZ|ivVF&Mf>>3siO}=%MV;sM%-{UMX7)%qJn;>3D1kF6Pc(otExutd|o(mG@CR_ z`kso>$iJl!o&(X{v?#;SG)Xkdp_gjKeq2dm)^rkOnYa;n4nDyZJ=-p?hzNEr2Nduy z(Xm1AOHQ|r&MBC6-DZo#nVvOQ+mJrElF5)0+~)Uu>>Uv~pZMCfb)Hz{s}2lInn9lv zQ&U3b%GXg5N3m@_wmJvz)N3pIZ}%CQ1HPT*p$d=mF^X}3vl6)+YGKLGS~pCaZ*50U zweh^vyQ$=?M&2m8K3FRf3^{)&Lc1|~y3^orwK2-^yTLxmL)ZCb1EtmH-p|*3sFw`P z+On^>+CHGem7OYloPv>Ha*vYF1Pev?rtk>kAIug#{-EL&eDX5-p>P7x;T zdfP%84RpJr!91_<&4gxTy^-6>2x+w7S|eo+sqN=-3f1kljP}&9sYw+^O}8he^5~o9&kt zdpNV6Rm7XgeeE(UUGww&wR>DhBard}MuSi!wst>?0qQ$X9xQ%0b5mlds9!lIL0TAW z>l_e`za-uMnQ^%Qvx`zJmuTC&v}DzLlm7#R8`#Ek6!uZT6fiC=MOL^wOZO`iFEP~& z^OFS;w!aXLwm|b<-wN}e=IWQeL=h-_zoiZd2S1_b7CLT*lwPR^;=&cFXx#hY(7ZsD9J!RM2S<1EidNBAskt z(nmj!%f*W0FOh_GObOLnKQ8r#j?XUL3ON=>8`dqjFykdgV^OHkPkww@SBdn(({E7O9KAq$Zj{+ENt$@% z>_mLGZ67hc2;Z$e5ouN67_O&B$wpk-F_4tFA71)hjqE0McupWSg+e;fb1ev<>06#S z9Kp*?ncCzQ&+MKq?${7X&1PQ#mNQno_88SB?~q^q{b_spyuJ6-=V!k0k_5cllH!mv z)BiehV)Z&`MZS>NO-wrLU2ctbwLiOqSLzkCLQKI1RpScOjfay`%u%Q0*r^8ZP+174 zS*vVh9}p~;y>eedS5Tw9;IVuAOr-khXsch*)vFYFE>e^V>$(<%;2E*)M#0|-> z*Pl4a|C*$%*3%m_s`e)RWzzkPp8WR9LH{b^SIgc@u?b-yCvFhhZutGTlT8$VKwENO z@fv_EW{Cd4h~UfkvG3s?#~h6*@?}TX*qvFnx;G2E?{?rQT@Re2Ft40RS3AL!evqF( zXuxzlR{YDocvfkKTTc)2eN`4N$=43~Hkt@{x0 zI0|vLDgFQFB+|;QN{_mzWm8jWz}gI7)^l=PGs14rDE>t`kF`9i2VLs0#}#vX=WWy+*Sz#$o+I084Pk;Xc0kY)=Bf`D)IZ!ez0+X-S|t9>tsP&AKixd ziwpp5pbLwGC8GzWpQZV*2zP=VX}kE3;&8bfsT;<{w{C|6!BpRnuY7Ex$|qnCQK4C^ zKKJ{ZT+UApmXg$@oNy~ifgZ=Dsz}chDepzYYzMf)pYYVB==)MEoq5ICgmQ_R6-D#6 za=g&|ke!ox*XygP#+hdxl$BQx`ZRO zdLKv1o4a(AeSXP?8IpB8YFHcp{?zl}se?oA z> ztykacd;RX`_k5rGzF)sTn3<0`ouALS9OtpTkN07=%vuy8WVKt^>}r&_`cxE$()&xp zPw370P&Y4D1>h-ml`%EX#-$|SJ-E~Nb~4YZdSoIgt{X38Y7^#*?<(!|vTuygX=^x-Oczz@@JF1ZJ?*%C``kZc<01h?`mk zo!IN>-#5Jv5r6*t*m<8;W>5n{_a!#3bvk?LsDfp2K}qm6 z-}5pCYBW(^v)g1?Y_R5}qnVdn`729e-g+3Tx?g7jz%C=kGo7!Y;`H&^J0n7dEeH@y zn!ry~l|myR4`{k?XDj(A@pk`;!>7KS7<4{5=jAJdYYda-mcl-5d7lhg3+7{HLP4H+ zAZ&ey2_Q^pq{~W9@y}I#8&-BijmM`k(8&$`*29*pM8H*a%ok4V?w+32(X;(j5i#p* zMa1a-T-5`JRN5NMQ5;^JgvTc^gkkH-+vgEQ=A^U3s}~d3#KrpL^WYadKKAD=Lc0x6 z5~MKxkCfM$1=(45IzKTT5toG2tlCKHdenUi(sk|jINFMlMQOfN~PKlIA(k_?1LzI+Q^F~;a$ zrSPF%J{>t_O;)->{$1HY&Hea_UJWJ#tBFm z;p57T*I=(p<+7}c@9{cQX|4F#{du?85x%Mq1Z(KiUwe)34eNXjh}s>F4$bYV!_e6Q=$(QAShuKN$f%I0 zf2@T=w^)~*Fpb6@%CmrnS?)7J)rvYSE6%~0{2a2u*^i2Z8AKpJ3g?h;)v@B9(D-1jsUL$F`YA2T^-BPzD`c9nA1Aa z50=}-eANjiqhe`ti@hH`&JoTG6=n@--JC1qR%r2!8gxH&jpjnK(P`JdXVQGn0~Ky; zQWjCKl39-1iLdr76+=ntFkRm#>olO}jc~mHML4n1o{)S>WhA7;^T1iKVb{BAJ-UZ> zuMUlLQu8>lV|5*ATmrNyV8?Et_Gm*%_r!__OaV9d4!lb>D~8RMjp7cXm{kvvf}dv0 z@BzaISvj_5FlF%Wlv)K7Yt-a%EoCT);SfrjydOf=YyzIkv``9vc*%>vr3sAW>XYIk z8y0!!um^}aJ?oh88}$a3rS7J0zrI+Qe`F70!jK$*bn<(AX)1G-^)2qlAkwd!&~|E_3DO zrTX^bb1E#SqeK?h8I(4=EH_uct$EzfOdjEWEM4+H*ltYY>N z!Q03@^XNBF(j)UA09c$0Y8fkh3fRXF}R3qRr~X%7O6Us`WK__Ph~V z7tWpH*^zk+)b`MR8mnRR;K}2rm!a(HuPt;d8t(`0J|65`m86!qfA1P#3i=Z*c0_Py z;FW)c1A85ZlL1X6MQIT5bBPTQ=KN+X_jFrFhiNjpq=;o%bsTUo*?Uey=)#O6qr?Nl?V~@W*SyO(+7ND=Qvmcr z?qlB6a{aBzDfNeZl~xQH{kWQ12SNrOAeMRY{UMGG{@7hFh-NYK+09oC^CIZ$D#H?1 zOp<1g-C-wpk&^IXnG@*leHo9lwj6rd_H?p>O1t7$h;UdwM~X!r8sZ(GXxo;+{S6P^ zgbBO&_;+`IfWB5pv%3O+GDHYvGO9?^QJy25NcB%i>&RI1QrT+|?*f?Lz89QnWYK0Xj4#_ z=K35U+LgXJZ~kzX{U1~DZwJY5xuoglmQk<4Lzl{$>aNX%mee9E0sb<7r};QyW^zOh zF+c$+R-7e-zTC8$S8N7w+}@yCb?hWs?1AfHPldCTCki622*oB#0z6QpMMvnQ7Q$Yv zdylZ^P1T$JN}IhaX`kFuQ-BiE^jjSJgVxM4(tDK=RxCZU3$>GBnUN1RU3vhK**}^^ znj07kCU0>Oc=IxR{;kIRoNZ+3**8JvfTxFpyD|h(JI=hcGQ&l5uZS0HIa-bgd2^&}+^W_^ZicHMKHs2anmZ))ft$oKZX6|#n{XK%)MbrNTX z7s+ZlukmJ~^5DnA2s$~oY(p(*YnH7OcZC}!k;+HXMst$*^$FS8<;Hc$m-nLHTIzFV z@bfs-_n;&RP=Bw?}>R4KoP}Towy)=9$lhBxT=?g)Ngjo&o0nEoz8#mD!NC=%bUrtR!_FoL=f_>fwPu}j;7V32s3l= z3K^)mp>FapfI6jC z=S~aPpSTkhpZCnzX3c%Iu&A-xekb7U2BC_CN@g=tw545!VUKkO0=qLko{hDQOY;R; z>A78Jk?yP4B&}x?E5X*{_;;@B`WT>vKDKL77k%nTB&kA2-6yS1*W8^D72(5 zqG$YDMZquXPyi`xkcp&HN|!U0+09p&A5p6iUfc<#D%6=4xc0w$h%TB#LI)15`uR(y zD>Nqb<>ylt$?lM6p7I@dXC$`*}MC9=Q;~G zVs|-#Ix`*&xWbVpg_h@CCbNOvGcfBu6AGIzQ*`doBbXnT8%FUT66!$i{F8XizxxjK zbL)S`rUt1(U0GFk{DM%2L+K1-qFaP(py_hJMw2_?R`diO_g^pw2U}!^@NGx zera$VUEVsp$i7=Iw14E1uI~A2I3HF13{i~5 zmSP@|zgpM3TVadavnoGOWub#=MbZBfz4_G){7=9Bmur*7{@xEOM+M4etX0C#LD)WIE~GMGW!)WmDrX)df1wo5)G88 zjg2wq101B{yF)XAU+hQG(Ty{>zQS^JHQqL0^g%QTKJR=E{mB3zy_%fcRz4ybhzP27t?2rW@%}ZDF6`>> zvrJizdoU>Lt2MUgV|gpLaabB_<inYDa=;n^>GUyz8eRM-Vg2M-Fj{9 z?%QcCH#@Q_$(rmdd)E2MD)Y#Oq6rmZT>OpBHLIE`w9cK)?l>PDn3v6@z|oTo&f6W?MtFp3 z%g-R=t918b+9E|WSQcYt)r0tMuo-UJCIcM5>|`&Zop-6$fUUYUia!@26X&9On~m?% z&~4f96qF2C83tgvEYa-!2s0>-@GO~Evr8;^=23{cw`s*S59XLq#ZR0&AZvwS)n5Vg zyw$8A+Zx5)!r$(c6`7w~2&oeqv++I^@<=WmvI4Tp-mL49Pqs*_C0Dy-y_elTG=CL# zF$Tf(mcbbgZ5k#i5AF>bdG3mJl69jojL@6b z4WuG;Cv?;odo$J~SbHgzIV0A&{yp#cOYwD_mj%`YSh`8PCM1s(ZH_7wSAr2o-Ybz0 zn#o18Q3ftUhlOTzHjyur7;M>nvYj$8@OGxi5Z&>P_^trVki+RD!mD?2}`WJ{@s z`Jk4XYDr$pRo`1Jm-r(UTssYRkgnCpD@v}>7?oVhOF`&*WT|0`uzu^y^TJuH83*&z zH*#^mWp?~*guQ7l6*U6*hBtE*7jU4SI==l;{yCNJ8^Ha?*fU|f})NRnMY-+XOe zBuQ+uN9L#ABN=!vPH%UEIwIMKL5UOgR6g2?v?oTzfkZIJR}X#AOto%k(98}JZn+GYdU%}`3_5ZztwNm-;0QPY=0+)><7#X6l}sY^@k6N+yQ^uUVmq{|M)k$1hSOR zG?hCVmOJ76sPxsz<9-WA>n&hnu!Y8@2hKKMDkuM&6wz<$(U#k&6NHu7^u%0a^B(AC|BEhU89+FZW4XEMF7riUagD+Pe9qf6aO| zCk#37){COvUAIil1q^v#~dD-AhJJgW)bavlm< z?l2$n664gvvC24F473FFlh^zr`eL_^SlkMdzAC8oyh%*>({g2Lf?&~>-7h)W!DP)9H_+{YXn~3yFtr- z!J!}R@LUYT4J$V>3D@NF7!fT~K9qz(YHO>U+fek_I@|=IZUVSy?`%uHGVLNgqWEZW z<7oH(-Ol=lfmg}#e`+r#GAV*x_+wn;f8{;x=eGZp8Hnz(sxVIT#EN3>J2o~}WXc%_ zr&K)csVMruMkU;Wj+bK>NjgOHihdS3`F+W0nqfBQ4hD4}M7z;H9QJe*i&%jsadPfb z>>z~_rhx3-gOrr^lUyu=$(N4PJ=&bOE0=%FTbB7P<^yg&c`xZDA?TuPP8?Tjd;5p8 zvN_T4drNl0t6`kCT`*8UV>H`DO4YG|{u@?NcmX?OdAvGmEIWi++p)>POGdP6nRkelmU?9``VHv@TB*F5?E_E z#bRL>t@>CiDDwk>01aXGt35K$6w(LkEw~d}&UfTj&o9w++Ft)ecOy?q`Z6)f^n*l| zBIaYi?`OysId@`YKjO}f#%epxcUEt3VIWEHByyVOg0su;KK@pV;f`*2A^q-;geboI zLqyz1LR%ZEDN@n9KBnzbHbcfR7f33mu~D`Livm{JRpcr zq!-I@^1L*I?P#rG1@4L?PiC|bPgO+`$=BZO-Vi9k;WsGixoBOg_z{t1*e&SxF+wJs zk5+g(Bv3PCM5AojlSXm^mVd2b8>$h@PIRO6Xcw}E!)|ofp9A4k&x2#1I>uAND(rWv z9C`jyGu6m&6F`h8acw*336n#c0|F+J)%o^o#EMB<5zJHHU~uY)UJh!ws3b+H{&4YB zE#zGOn0x?bH|B$#XS4KOm^A`N|4HiTp;xVo?X(ZfeLjT2h~owWh^xn?I&LaJI3)Grf~rT372%gqkmmTbF@)DMCJYqGx7g4;NK?a6U+LDosJjli0}rlzqb zwMSq*+e8i9BJ|NbCV)=!~pRDh<75r8dPL@m$!dS!473f9+gcQ@(vhMM>+Urkpsf}r2vVdv#yh4f2CotM%NdRy@>rN)IvjUkk$G2BXgR+U$zb$E zrb2Cg#L_2xiY-!}Cb{4<<|(HF1#--%!0#^#Bq*wj=wIDILQsn@eTIym>*(*J1sQJ~6}V-3 zFv(4Va0vD9%~~&sEO2z~`ceDcP!g-uKn9%vh^XM2-!PWWf2%m+_)Xvcvjt5(DS@h# zu-t^sR!T&_mxT4%jp_gOk|M`(fMEjl^{hZ*vnX(;O-s{JBQA9$B7qtm?tq7{Zw7YB zgsedVwG;T9&n)8B8Gv+2>5v?UGN6Z_kPN7A_rcb*BN@1|!6qu-cz!IDlH+(L%p=h? zShwJ{%Av%@frL4w#mwDfT?2W+dwFo%Tz0vdP$mettAQF+HY4OS#JXy% zXwz6DQt4=RTU;4OWOvmz-ee(~sLOYl6+@q+E#2d|sN6cX7P@d1cV07rD)I|%6Xp)< zbDnoBxK}aH5X6QGEI*O%?h;L=>usvZ&IeL4{zJFNP8w-nh~YhPS;c)j3oDl zCY$xVWg{Zr8t$GG16%gd8QaBxtA-zTyiF1J6`9|6t)~)WCJ!ltKs?ldYW;=DI%j8P zAB5zTt$e5>Am4qfuJ{UL&>pWj@tG^YwRh2~%ERFTp}#`j&ZtR*y?MF!%KV7#cGHEb z;QQV(7kSfKV#(NcITZ}a*DfDX5?r5j_%=f&=CH!!fNH#AXi6!1pue+PYk@Ih(B!du zQrwGA2}RYbVWIU`;3B5kPcOZX7T1t0hP`&vRh^bMV(AfFrbiVty1KtL6DC@C!x*il zrO5-O=Ms+Utm|rNYnHik1N;iVI!D_tD$SB`<1<4hNe5O>C!>hC3hB(?H$;iI{Y}W1 z8miy+s;gNZu&vzt*XH=CcM-ipwPSc|mHEMU9W1485 zEXl`eJwK_8ZNG8za`L^+OS}d4w1X=ZqX$%<-F5}0mGox_vlgig)B*E}bQcjS%G&k?xtu(OW7NidWP1VML^I*0gJ#OF8 z(KgQngvF{XZqH}PYYzals8)Qmw&lmk$`J*L>kk&ubJY}~{2x9D&^CS5*Z%42!oTGj zGW)kxgMYRaFft@RLPZ6dc^Yr3t6`mC#I-CNoH0LZn~*LrlsT3e&-C&wcQ6p2VG2b= zUcA>jf2FCo7FsRnZbyE4-2rM))-~$A)bg8>@~Z94 zJmO~7VXO;Rx41b~SAukAR#TWCm2m>pPasc6=sI0roH`3gZo(f(KaklG=f0Acop^hE?jPzxPfR%dO%7^DuYX;9dJB_T{n>wwRiCx{5pb~)>vs&T>2vfP|t5Fy| zYG0S@4xwy7i)(9M*;UA)+d8t}O8%)odh?l1wM+DikUQ^w@T#Uc2Qo}Dnd(*jUXRGboOV@RqP=}HFCrH7rSZE{X z@c12zyEWo~B4={k13#HDpKw(|kyXxah;nA|%~EwmgRct%_kF+G_JVQhfbvRqwn_5q z5VmTFfou?WX8yF_`m2d|`it_UAtLi2r-@IEk`;K2-)5nk(o{RdGN@Pwwx2GgnOO`b_urO zrA2EJ^w6W0)#7MI*#$GNf5@@}S^V|!{#QQ3KDYm8EMWSqH!jLA9(KcRq}t~_w`*KG zeVIvnzt066{s^I(vQ-#II0&O2!R{iB5q1uS24e-MP=^VlF$;wy9uU&U+&HM^b5CU2$0lAi>AmZCb2AOf-nLJVG^8lbc&J`yN+ zjp8Ay#zq$kS<9)k53(_i(O&NgsV+)|cuWCtx}i7Iv4W)N!gv_rS{7a?cNe_;qRh62 z81c9!7KbNZ79dc1#J642RAJ1FbJZRMtueUkuy|>AkDERAx`}SW6xnF#lkx_Y(_iqezegx0RvFl+J7 zcej@@EQ|KOeSsmU3)Xw@pLqKb;;J@d3k<E4r>dj|nF(;-)7!wxF1*3i_u2VK_o^~NJ_ z51M4%6F4t6P}p(phT{;-)nLK{xkRWKLRTd0bp>fl4L*xOZv>wwKdkcIcA#+6zKSi( znxAT9paKmj#JKUdQaeKPnB{^dbS_o22fn3zvi)L*S?7ggPzuXORHngOTw#^>Sp_!Y zX+(McvUt(@TMK_wxbBvOd$OU+X%#d3Zr^TFT6UNjet91iDAbrWhUx6MxUS>7#Kje2 zTsy2z_w;NjVA|bJm0XlWMR;Y*93#ZUj3ljsx)XVo+6w6SWDuZ@>aza=HT^SK`#pk- z36boFAT@)kN}k~o4I8$*cL&(c9*8||n=5hIr<6Gg7KX_c6!K&B@jYwP) zn>wmTH84cIk?3E)d7WBANkoqg>4Q)@h&v4xECH(V&ST)ehp$(xUqmm=!a&CKFmxKz zMMp(R!pQV+s*KvQ!3?mBVC)Iht)gJvVKCMLfA$9L0y)P{{lDD12@jJx++=srq7M2SP5b&K=fFlq? zlSVw8G}M;Q!p4TN1ZrCXc|EiT8BBS!u83}^|N8KPusj7A7>#cigr;IOVYxt;gB@D& zTLwFJtOqqTjGk@?1u%q#uXk7b*JgKqY=-;ND&eoKP``9$^Sf64q5VH~g@XNX$3j!a ze{F-Cp8KT@_UAUTe{Iw7z0GAXnUQEKGEm?W;x-lv-Nr;c&-gx3U}V8Wg+}1=s6fYW zXx|t=pD(K^fw)3N6@a;hl5b;Qq$IB&hAzy*UD1E6BLy8QVA2PpX$+>H39N=s3O}_s zXj_a#TU1a{XXcn@jL;3mlaLqii5mNuqpOj+o*hN1G=VLe*R?OE<0Qfgw2d)lnPFey3cju3x)>zgF zg)OXnABRJ~y}yQBq}$JZC2*sEyuTygmd=lT;Vel&9sk;wS|>^ljA!51Wns{I{Oc?M zMZUme4#TFu)Q%ejOQ1+Qgp=uKzOx0xPimW1AnNJRYhhQ*F?s z{V>u9es=wYp_Q62GE%fS)Fl%x5qvupS63K>y&_{K|UhPm+$6|x9+e*a%FM>Lr{q{HK-7SMGV;e3KpVO0vhH|W!8Xm5(50IHtfLBT98WQ zKI}pr6O9?w0GT7!s~b5Vf9K5jM}PB6%51X$@Ss;&jtUKaDE0)=R$wiSD&&8)nMjD` zH^6y-@x@KuYoOla@}LaBR+&q|rn|hs&=5snngO!)0Gt8cu`_|PLw0?=3_Z{5>Oy@R zov?ODV2^Cck1_8*Ljar>-w5fa8hC-vHWJ+dpD^?LOMHNH4h;D)8(^qqU2A2hBm3x6 zMyXD)-&}O0$=lG+-}e^+7B7k@wc-|fLh|Dsx(fIzzXA&Y@v4MUBU0S}`)~qCrNx~A zS9+jpS`KDjgbu1k!#(sgGg!kZ6N*h;O@9KBSH;Jc&k|-nRu(Z}%xH!39`J?+S4+~7 z#ic>uY8(ds7itKTlT}9*CTr%C%<-5REB{M@m7Gu986{#jyJCK7 z1gZveRG=53AQX$U?`U98o1r6`>la)5=HF-vIeoE7)jzp$cWNkkd%*Jsk{J}-{kX*| zax$=MuG3CnNEUVs0K9-&pi-*MY6wMm?KnbVw{Bs}+%qh@Pt~;L1yiiyWwD|TCnPN> z-&Zk+qtM5|BGF_m54-i_t{v|b#9InFhzd!E6Wb#c4~lQuqMS7g72vuh+ep^}mNIbj zW9UfW*zN}iRYFxlrmKx1zPR|!E}3x22Yba{n={Nl^^{gPDH%%^>@d;Q;49kHf2Z;- zXK4Pr6{9H6u{JGN*fixCS%_#mv-GCuF46wkJI;jbts-0S9>bx<=IX8Ytqus4BXx)^ zgV3NwAq?Y`i>`*H>n_cVO}tzoImgN@khMY&39w4|9#rk^WCg4 zpO;((GKoQq2&bZLaRhc4A;-P4pG$#{l&4YLxMZrbC93&e^ogVp`C7(Xh9cA45U|Y3fA`w{qX*W&50Iwq&jVqZEb>&306Xxp{OrH}H}OR%i|Y_o`!O)QigYMj zvSy4)S=G>a$1XZb33~h}+@_J{C;uz95d%!K8%#^wdqHNw%Bqs0#B?#NRgF4My>L{8 zZq5HQq!(J73Y@q~Bw$hS8w{dX>~M=GrluxW=>|SS$Z>EWrh37V+c*RWr#FGo{uXF5 zV9h|kzXMwtqDFOne;-LR9{D$C$ggM0#%CadDy}Ou;3v%2MPjTU*G1&1qs4nhl^4Kh z%QG3#UHby&x25YO%L}6|n`b24ZaZ5ujhZ}pkGhH;OPb=DZX5r%hX~D*R zo{bgtEgJIUY68Pt$)&$8(ywec^U6^te@ZHP{b}L4PM1qGAa?}(pU;a&b@0_@h{k{D zT2$or0;kolk=Xz0XS&ZF{~3?rCJ=FC^2gbRuCgMe??Q16{TZQ*t+s$-D<-z6B=Q2kmsx?25;OnOVoq>+u zGs37}+9y+!2FDf4*=Rj{FY`7IKBfCSGw}t$WSf!1>ue&S@rRQf(yqtejPsCxmoGK{ z7O_|FrnsM_!RgJ{ByY@%ZxxEAgd+v<4DR^$WT{ul)@xBc#`zhem%86cWV-EQF|B`Y z|Kx$hlp?ngIBt@OtW?h~H44!lSecnJxEpf;;-@F}MWvjc-p0uLB#OUy>kSKcA{ZMmZ<=m7>Ch>s~kH=(Laq*61;nmD3R)kj-POM&RC zCl=D2x?W9$(?ZK}XOG1B#-&X-*I7L?QL(<6;4HvwuC#aovg6fvwaS$hJZIh@%%|&Z zu!~me!=-JM(r5~ve9#Kxk!c*AV4G##VQe}%S5$g$Aj(5eI%{4t zz|n29moF1*lbZYhl{(X)(Db})Piv~yBKi^W(FnJ3Q${c9bYx_H)S_Db28rE6h7BgW zZ_tXrl3+KT(NL`Xp|bHtQR6>SE53W{zEnEiV95J3z2M8cH2v!|f`YAGKVn+GL0oM2 z=0`#zyMC9k@yoycxv#Tddbq0hm9E_XiP#Y+y!sz=J(&{6ezu1!Qyo zE51g6_T&Z6OA{{9)d^DD_fXgLgvzM2{ammix_kWk-Ya!X6zW!>Dkm8%q_ z6kXG)0=UIZIX**Fx()h|Gi=Dj@?WupAhA5%24tAG$5gsL>R*3?g+Ds9_nc|k*oGDJ zUzKFPet#3UZ`Or~#x|SL?8bEkE|Lurrwgi3KU`}BGJQjF0XVd-73wK0Aco3eg{|#% zT3PV~mVzo_j^c9^wy0@P1}m5&-`fCKToOSq3QWz-(STI*V0{1jR%7&dWa8P$@uz{C ze?3#}!Tx(+3!B0$Vw5p*Ka|k=#z6D6g#(r!m_=5UeE5{^b?7{U&dTG}R_b4`HE#U~ zMi0u1>ij!oN7NXA_xzpVLaT-V!}{ff!`y`-vH~7g8gI#>9Z|Cq%9wdIT!9KKSOFgQ z_0wcIzbb{@?5%s0ZP7_|QQTIBO@lY=g5&&mXh1Uf*@l8UAW+DXT4b82t;5lZ|szWK#p-RJ#BiTqp{1qJT zajbeT5tJj7aM;S(eTFGKLM*)%oAx48LR1~vv4QZeYJ3xbD`oji440vo-)s^^R|q3P z)Gi+)$19dh^ZnR}7%89pON)F(jV=UIPX= zmAv7kn`%?wBNI8NyRX-P7L|2}^D9Edr zJ*pY@B&>lZ&kR8@!J8!zH9JRCOq-Hn4GDq=@oUY%BDoI7hUQP3NgN_pJ{SK_MN zZSHtG-SGzJ{j5!l+dd*+56y*8carSf9g;{K8U>}Tt<%M>7Y-B!$H0V+n~RIbXC9;D zb-pdY42)3vAbi6bQy;oNeH@xA?I%%>a|>M?<8qCfn~@=2oG4Oqu)ZeI%;Cg4vEDnj zgn5SIC*NqrvfE&x0n-Otg_k%aB+GitW1JOhrH_a;Y;jxKOEV5r5|_r4R>RqRD{ z$1m(k)|Zh(r#}W+28m2(zKDpNPV0`6`|+kvv<}RwDJ{uwap|)1P7K;TX*XI#UeIPG z%Ii!haxz56xu@5RbXGQV4?9Bj8x1_3xgOc}QsfyGfo?ed9$vWwOLcCnU?{x`4pWu! z%wtE4>CAmv$t?7bV$PtC;>I4&IXAgUcI)ki)SLk63~IloRy=ci`5A&l zIj((+sr{XS_4RN6V`%*w!|VThL(3o>X-#}H=3UBqph>~Q-6-mKuZUP{Ps6+)I2sVq zHA6hK?Qd>kjfkAUoBW9EzVErq1eLa>t#AoyhhwXmw%@jY@roiBzZa6%Y9N%}h=gig z4c$Fg{E#w{hO!6?7>>UAX#Cho15=f~-&pa!9%f%(T^nX-I1=u$zpGSUiN+vgDSD#^ z(Pul_U)09zs+O}7Jm{-Gt*U}-A>L`3!O_d~ER2}1KA2vf&dJzU(15NGA@2h1+;9YO;QI>I1>h$(th_1ma?4`( z&S19VFVoJ>`)Yi6y^?KZ@vykl~*H+&%I?@V+FF8Rs@6>mLN!AO)IZPSP7v4AnL$jJ6lQ#Kve|&2bjdp-}MY*LyY42M!c(7(IE*^I&v& ziAEmQuv*{kPM!Dm>bG@?`3{*8OKZS;z<>c z2x9qMl@yGj;A8^L(H6w@WvXKC{W>Z7_fVTHS5arjLZViK2BCCF1ko&It=eBsG{>~> zJ;W{Kk$B!v($z4Lp>BSDPUl3X&O???jCVJR-8@j56>J0U)Z__tzLg*Tj4fmJyTW6q zkG)i4m{+AsRD6xr9ETO4ZE&-$z|NzYgOLIul*>=CyD0GmOd)w>W%W{238~q**|u8G z*U|3-hbFQ)UAOPaD0c3rG&-ibgs!o2Iz>`+33+>Accs*nf*NhZ-EAYZgl*NmSt zjVMz%5-d##a=E?lH2-{W1O8I#$AWh$*;`t5=!4oWvG5Wk_fEBB5Hw(_)_V6e(Un1F z=@<>;i|pE|nXIO=y|eVL!n>^4Cdiq?)cwRQ`J(pncWXE==ZTqtjR`Odd<6qkBNJbnMl z;mNW04J>!#_Y*gV*K9I8YZ1iJVaI#xeM37owrMb&;cyjOWOB9L?%epqdyqh4p77hI z`=i#UEDZ-$ z28^ox`SUCLR`%uQv!2TrPwP|LV(6hX8fR_gfW8$SZJ*zw0jewU4Ok2jSa9M+l8a&^ zE+d7hnnH=igd+d!EABzT3fBig_B6`?O>6A6D14lYvEG{PWe zF}rDLr>}Fx;Bib;f8*Pf?AQHFlgsSk)~x%+W^P0DBo749ws2@HW{eOL0(b&OW3(Ub zmK6SA;0dWY?tbTvf+gmm`;OQggS4=EJp<)bR}*-9#K)HBed>V9@0LI6ekCpGLU;cr z*UTyj;X?ZHts246I!zj|)H9V$dczI|ODe+hR@_c>cB;4cMh>Y{2QFUA=&Uf}8llxj|+i&r#Df+a2O z+JZNzDDqvCt%VGD(`!QI8?#-nvPZ>yAgG`T3;fP_eJ}JZ8T5{8^^v^2kOOl5;2JxW^u3(jXQZ|X{SUUpy~9d2zSO{>dRmpUL;?(14uVIeYH64b1vKIYeijC6*smkmiauZX2}D zuamiXjsqc1?`i);U-BrOVN(-d>kMC^(e@pe%=w(&i6R(pYFpZ`3(hahzuvzXIk5c% zXN0L5`2hFP&yd6m)s%(Plc%5@>IbwPNcvWS8u|^J+goaEZ~4kxy&961nfqjy$J;Dp z=ZFlO1Ih2f*xDLnOb8S)@&URy)t+TtOVqT1+Zws%-7a67HBg1Fa(tz9bWR~fPT zTV#%g+-5ipj^9$7u+=o3dYP_6{t0zX&hTx|XQw48+U?7%-WFcUe4bfM51l1P&Bb(G z-D>Z*bzHmSDkmI$kU5*qs@HA%P^h0VlV7R4RL13%t=D@YyJe#eJftl+ILmoLCH{bB!?# zZDiYW3y&Mt8mFtlf`Db%4GY%i%qnQePJ1CHGTPABQ zIqAw|@k08^JKVto{l4+s9b`$XEVz7G{D8thND|73O_fIf)13}l;+_gw^gX9^;p6RL zPosM+6|Cu%S)JrOPm~9)(c)vs{%cmva0=(rFpM2Nd@UdNp7}uLPq;zD6){Q6kT@BQ zuKC6_dNcOOTgNi?Pg!OREk?;5({VWR)|TT8FCpDC51Po?VQoujsVY+E(~=A`v|0&e zhrToNVXDQ3q}n(F8O-;_Xd!aEHG`mnJAKPBs;3Wmf|we4&B(FZ3A#`dt_;krWfkb|riGgtZG)6t?ZUgoE1NNP}R5of!hGJ z4u4M(v$dm!O3Ojzb9EFwSrBvXqe|ms+5qg~FKGE8;Bo#6&MlJ6%|OF-J`qU>M1 z3u8!tJ>qFtzm989Y=jN7C(KDNWRU-QEs+6CgQtQj1q5=3Vnl9 zks)9x-oog`IH3j*dj(l7ht}W}UtkP0BVrdpzTdny5`c#;2SF+Pnp;EK!H`|q7y>9@%g%YCAU*_Dyax+0v3Nngi0_;mY>-s8o`KU(#O%qWIkD{4)6~f}sefV`hNf*wl10#fh z&=xuy*f}#Eyz7Fl2>@|$_vT8uuOYrIdS(_`$aB0YmxunpG}biaTAdZB%^i)- zRAKOapqV)t?H7kwfqyrkgE#W6U%kTdkni1nrbLO);ou%Le6#@XuNoJB?a3m#n}GBh zzy|NZw(8T)DAJ$)${P7ogZ^LiOn#?T;jKbx@xbIqtb~46;6o=!J1X-O(9_gQc_TKo z|0S%5gi(#+-s64$HxNq03ZYhe+K9`#LtZ>l#EAhD5ws>%Q3{v%tQx2l2~_^VF_Gu5 z;6@b%kb_rRV8%O<4f_=U@AQM9WR#YY7wqqy_sOdB>~lpO4?H}SA@v?pkiI_CVN$IS z$58OKD_uv{4=#oQ2wxlrIsoj%awaQzrv4nIC1PR7j|Hwr(&=p} z5V^=8e>}1?_ogglsyT%2@w%Ke{bfG~$Ofn90G0bsBci$-b&t1sBY_0#3 z=k!xF*bqJ-AP*3(N}dp-F8;y;<{$Iq{?)X;2xo+Kk65uB13T~ZO5Z~0-%>#UZ)za6 z5&uFd7(Ca2dj^^MYZsW?guY3CVtnMK19}UV^UPDN3J|0VOa#nhn^<++&IvA*$=4Uk zie&+qeuZf8dDZ+Gqs!H_bgjSi{#iT{JSA7cVPV5{PyYPeUxxBuO#heu!8vj;=3mn~ ze%W`Brk{gDvtzew4Rh=T)cS5=dz?R#_o`zLWz3k88!r9pT$EFGWjvb%tUhp-YRX)a{wK1sto7?!veN4LTjPCV_W~N1I#MEWM{LhbL3Z zyPD8+(bLbUCZu|#pR`BfPmpF^qgC;+y7;rvTtY=_j{6fq(Zdw)qWm*UBrfA`6vC%1 zTf2n~1W62gZhBY?ut%5T)*&pIBR3r7MTsB1N8qXyzlBsWkd<;di3d)oE@u`M-=rg# zS(DEPHUqy&{D#vW92GR<4dP2;Q1g|G*77q(#9*~9;@F1oMMirg`&QbADx$NK)N5P2 zHtW+khah}JkIXraUoTuIAH2dHxOrvQHcKxf;bCS5Nl}*Bb*0M`gAs{M;3m`gaQC%m zwHV8SUh_&Tqb>D0CsVWgiJX84CSZ<8PP?fAntt#1x&GG?U_li(92Jd29K(&P6=NRR zJ!Fp(`V}Cx2$o<3@5v}%fC9in}wRIv0XGI?lG(Y*VTu~f@^2#)N8-8 zUhvvA>RhDy=u@gR5g9g-r=&bhUGPH_Aw%#dqkW%4vy4lL8)!$j5Tn?6hENyYCuwS_ zK>+!oq&4a{Ui6=N(!Ws2FUcm{Y@rgLfhYZForRt*~PJHoyX1*8o zqv6V8W+u=C7Q_$*B`z`%@3#OJ?g!#PQ5gDl%H#9iJZWxwxQSZReXvXHBk6PWo?&j7 zYY&WkBOW>sVzS?nHt#$Ld%k0ka1a_>X|Q$SWn=K(>PtD7M5b)oJV2Uv@cRJgzDECH z6Rm9&2MxtC=N3jJNRwWbRM7)>;)ouqx6DZfJxO|2Jx*y84mZ;iSG;j}nWCGP5gjwO zo0xRR)0%X~_)V&4+=ESgkfQG?{4MVm|23RkGVH<|sNmCyxB9=1ZtRanjN!sox*bJ% zoS(lN@+(?(jSZt$3(r^0dC}~!|FDYlQi9Zbp$=W<(Bb;l?>M^HHvRWi?h&d9<>pB_ z$9D2-BQ?N6JjMd7YhBZ@qga3z!s&$oMup(DPPQ0}L?!z?DOmjYNR-0|PR+#lWN1RK z$(@(zlFx>wgg-%db4HI01zW#e^6t>R^^}b*MtQp+6C1JS0uS?J8MD`Hm!9BwyYrC8 zzexQ-f@z?)MI}IlBHozeurhe&8Tyv?cCn8;(+gLdauBrKE~m89#9GbyLBTO z>LB1^_{v*(3KT&o{G2%xxRD~U$JPWXA(=>UP(S@Ug)xy*&kvM!Eby{8aD3J<( zAkT>bF=A|tH(t-&a=8kVH84wbnJz&CLtrzT<@%RuoFM&W@zXU!vodFWqnu%KYR}yHWQg85{9zYF0p2T~;MlLdv7;xlft1Vfnh7 zO%#Vc#j@t9g0m$n8*z1P4c|OWt3y;glU$tg6`3Z9zj(e(BgZY<-CImzlg zG)X1x{HG-2HITrXempik6SR-O+__Rk~^ znRtsvj;^U{_Vb?8UHtSu;4LdDHjck*}qc+lCg z!S#9B;UxlG1c{=z;6^TzTAZ+)1 zFMn&qV^T*mUL(|&q$zAlG&KXc6}cAWo74BOlk0wm;tF>)yR;V~6$=#3Z&%hXywWa6 zZN{ZZA-fGL6IQj)>3;<^mQ}l)5qoU?H)& zo{S4#&{yv7_$r{;agVn4il9IW`pVQ{8TiE03m10aJa7`caaPLv1yvHj9WI*ZvhYNq zr?(YjYSa|IK<@lv$J?@b+C{Lykm3N35`WvB3LEUDyV)PZ?8@GBy6!na&-0D##!A)U zfN^EzNQDX>K^bRpac#Ueh=?N|CZg()hN`R=JZ>tFb6ijO@HZs*LH=C?#vBX^v>6 z9>&j#GWaCuiC707`yhl{&{|JRUB?u#2>~bx(TI7SH?2s*)w)fjGkTJx)8b3 zEPeC-^Pm&M#xAfe8PR$-DKK^GZNXB}X9z}B7OLiEVS zWTE-!)lyU0+$Dnx*$E4SXhkc;2>%^A+13W%=jm2r%uFMhBSqIinF5&8EW7QwwZnDZ zR%u~k74%DVS{lzLx)UJ)F80n1+gZVrWQ(_u5xBo7}J+w*akz)Fr;2c$vb&p-LHcXaEpdkf{2@ls`%` zDo~>?irEnpQ;9Y?fxp5CyYp;HM#reXM-^4?)ELL(~7ZJ)~!hIrg`C=9&=8Ec{jFFyrIAGN>4zN$}_5mzgff8_jQcMhiuvc#RiKijnS?AN;Ho$E)> zrp}opYh@Ztjy&l)ubpD>V7vONATIvJ<&7lHaM~k|WE5MvHsO{IhWU^@d z)R2^J=oyfO=qQpwYht~BTF2BBRBvgz#9*EMEqrJ78xLo6m&EMnEQ(P^=GI?Aunt?| z&T}zRzuPT_d_5#lgyNZZI`%ZL(8`8x7^NTwu30tS3{kP=5-AoK;jOcC>u_5ebnO5! z*~DOg+LR5Df57vALLb6)(?NH=mPX_CR$Gfb0jE*FG8G2AC=dsKp}(#(enK&G#nbX? z`H9WIt?)BP!{frd)-3BP$?TT$b{mGr&BE2ebW0p0IMIE80}ef91VG3VfGD{xdI*jN zfCY^)VCOZiz5R&sd6`8WFE-TMk=;OTzJKM^ap9FJc8%^n!j+TE+93Dgu=I1Z zfhuY>mn(rFbFPo$1ldW1=c4`HU-*@)@Qx@zZ@?kWe4-Oplji+b&_pcDJ%DZ2LRY`CxBBRexiNXZ<2&YXSsu z>)XFQ&;p$F_uqegl+eT@d2KtDd9=hiFmX8UXiDzFrWp0WSAtpF=gZL%aQy@8{oA* zM6|D!H&}I+VF$i;-+HB)8j52w*aWIp}*ATcS|Fnz|bGOQJ=O1&6;XznGa}W`F3tm zlf5zJ!-PNc#8lH4&yr5IrH1LQ(#1#7&o4=dl&eNc_DYm>Gb8(L+b(sIkj?q0R$Rfb z<0#cBV1t@_K*ypRCwg49{W))wJ|tyPtf?k(IcvQ6X~{rT(Z`NOM~ zFa9?N`a;S}F^U%9VO|M!`4DL*(TuYkOFX4AM{%Q$ zzyv;@lLH}WZIFccv(AZT&EvN!u8w!EM2PHmrUPQOL+TUT-O_We+5X`fPJbUD4;P_P z;urS?zF{a3faX1RK$XrTw^DeoUSaK~e!nPB{t~CQC{r#M0WKeCxi)`Ue_%0|vVG;% z2|8@if1$FTBSfl!sf&)Kg-|k{Xe42cnE_LUI%uCNuu5ebzqxy?V5wW5|MqPVf8cs% zz<~at*Z-mX?mF{aqfHS{H^+OSHB3aKht%`dslA~G*!r@KifEeX^V zcnBg>bBjD)YM8jc8eimoq)5!{qIhbkr=}Ix1rN!%NN*IZA1d?+2;;*8^m5;hfJILG zi~>#59JEOEM$qRr0%k%J!oGF|+t;WS$vrz$(?8=%y`NZl&adZTuhfX9o{!*2Bo(+S zu>5#i@mN=@=30ush};qokhlD$Q5Udusz9+^T&h$*UnIv#L6z6Nis+9cbGH)ny2&za zsYhR7W^S61Wqf_yMf8bEuI~wNyB{0Y2{q8F>cm8(SJqIIYGYnQYFGN6cy}FdZqxa_ zOv9adGCv6qn?;LC+0aZqqiI$9*NCSGURuq9^*5w3o%bE5$Ngo#M06u6BVpuLULg%` zu^jZS6;&d99s)g-G`F1Oy78mppyIGreIWEOKtJ~aP4pAQlun+%UerLY9b`1*a^W;a zcWc!4OKmiiA+R@KRO~7p=pfMM$N%!X-Nv8FgVSJ~(XFjeD$)Ey8Tuc`Q#RffwH7tH zEeViEtgqef_r%OqZt5SG+9P+!pCL+ymV?y3C9W#O5=_37Ulw>w$Lbh=8(%--)D%ZQ z@*Q?aJO?u^Z^Hd6v=CHk2hlF=0qjlv}dy|qnON;cQj|uMfcw2N9j~sD2nNc%85bLv0JJ zsy2sH9=B?uS{)+U#I;T0IFo7LXn-JN442K5GfB{+cW|0#9ucQwTC$8JOkK~8Aitnl}caqFu<#_bqr~cv0-~xo4vWKpoR$AV8^{AxC=@wVvZ4I6qGJ8 zb>^04YqxZfx2SF38wAiTfIs|qbc1aX3gxk8rp-RGaC+Vtop-X&VWYS|LW9P^$H*kPKIcuiZpRPD8ZE z-BGBxI|IxWc%xWe%m9)lQtX{r$guwWlt1DogyB&^ZuC~g+l^FlvQRpFcG()EyV*XZ zsE`0O9gbt2a@HE*6iTT#{b9Th+ctF?+cSgDcpuMyMnr~pGVeFp;)?zBRc`w?L-(Mr zqAJeZ=XIPw?SG@G6no~AM$CLoo&dn!f%rALHE$kjiNiY;nuXx&owGJ}i(ai=q`mcZ!jgRkQgRr?aca7ZaQjTKu>JPcw21smDpX;8a~3 zv*>UxYA=M3Fg$m*<7IV1T5ok6Ltuu#cC@a;#N{*%Il8pV9N+3La&OfPNtAl;Xg)6O z+NbA@{wx!L*fjS6pL6(dj#emC0}+R`^iwJmvIDsatgW6;A4<2Yv%3vajX8N;SD(4@ zmklbDvXfRwkAM7VnJz^mx zN=ml3;&Z+1wp5%yZaM5hXGXg(8oA>%(3Z@fT4U@?I%D#EQ|r)Nc5{+wMhCp(iE28B zDuym9#@)0#%)Sl{W^5=0b9{0Y7H$T*eq|o|r>zSt(H$xI%1BcArv}h(=Px^h(-`4H z-U*s3dhsuk@K3M5I*HvD{kXl*Ftq%E!Kvjj(&BQV>1s==W9)c6e=1pdJPO2im- z8YFSl?pEfJ*;*>FI$GTI6J#ORxlbp$X2gRDCT*`sb_=dM@h|LeWx2C?o!Rq9qSIbq zwltzmRWVvtdu$pz=nK6T8kF$r)4-Re)4M%z9py^8mob(NrnerwU#|EdrL_?6xr8rz z2tWc7smvpnoj`WEt-Y;?vRHGRr|5Dj;k(vj@#q2@2ruJXG>N(HzE{n6_L!i9L%8x7 zj@8O-%4c|^ir3LKN-;p!r?aLDA3wkNu98t^4E=k<+B&PBAQd|ESHYrus(QSKkTF=Z z+=7*B)t@C29@}d0%=?c;u5+wy@G-}sXHMA21Gj4x48wk zpzoyam|88}>HqAOd0~B^)aQB>6AbX*RKd6gAhczWz-Mo9d5A0zp-k@}>CDGjH6!KKLG#iLrX>3Wh zw2Wse7iI12 zRh|+Z5Y|F5s?vf{fOic5R>i`CeGam=+`X9dFEU?#fBV=R>^hqI0I&$Lp?_8w*-}dt z${V3`AeJww`$7|bbym6V^u;kWERlZs+wsZSz48FUl|%`>faYe>VCf~s3!BdEU1{yS z7m+Gbk=^Fp43A<+Zc@48M(QrhP!*y=0aJsotv{GK}Ajln55PtJ3# zhLy$cs0AZ?hEPQ_ecstl)uN!8X`_nD#QWa8X*1F~(pE2{r=wr7T?DU+m!3Kj>Y;dY z&rQ{Eb{Zz;%UuHNqIm`&eAci-d?*`aSidT|UQjm4^RoEnu=3@I0_s!F$N0O5zOnn9 zcUq{{BK41WB@3_iGsdg?#v}ppj`ysajwWFGXMqPeX#i|5vBgIF6eCmWyh;5!_II$= zFW=w&cJ=$w5?90iR;SSoZ|gWw0=};Aq_Ly1CpIY(nVPQY$eV}j_5GhxD{M2bu%@c0Xg#{K5+9=4%8|&J>LmQh zQ3X}o`K*52V!Y&9y-?dwIODsTi5NT?2N8ATmQl9jBKZ}=Hu}x8A7+dJ?3olm=Sdou z@CIL1T+u36dv;xIPl=Ee_*aZdh#DC86Wn*CsIs%fi`N6VT|y{b@8 z|4eWzqi#w4l-d=1wqVok2mGoorvqGrIxeJg&Zbcqh`akTuiKfIbGqOH1#B&z$0Cp5 zLKw%QjbyH3XU76H)|kh{yw}wXoIW{_n?QmyHH-@%w9gL?Q0u333?;``b_ zmAvanP~&GA-KnF2H(u}E&OWbxyak%=DEYWMWXbABqK-6Dem*t(LU*R!(`xljhH+PG z9$N#SHo2{$R$Z#y&8E^~`i9v2dfN<@MHcct^VfLQih3_EFWfYmkBBE~@TpF=$mE=# zpd5eh{JBx5wGRB$0$}&G0_NrSyw^4Ptu7*#Np3a^3m;uJgAX1aiB148Gz9q;Q1eyV z0$W?d=io$Vs9;FjO9$oQ1b})A4L`(ul4YPB(;clk!Z7xSqPFCMl)uI5lqth6SwLpy zJq}{7Fj}$%dkTgXR}=~|wwh+ivj)ytT@U66JSB+bI9o!&mC)ktq$1-$L>69j-$>w> z7ZmiCP3)`eRkSBNMil1GRa#Z`wN8$b-R$3#&%c+-3>3Ss9F~eW7aKO%1F$aszJxPz zwN;)*dSbNUPf)Y$AUr`DoUfFH*_4_L(+wUCTRyxb-~Dd;Zt_VQMpu>`phCpM<|$!l z(fwI$xad*a(5K8F+qt7RIUr&hA)gCcvh-CAv^QN=Cq5Xx-{=3MuNKA(DI_x2o*+!o%I|C{cjpZxKCH~G-B1J6&Y#ojcj0%CxWH?&iKq>IP( zABdyUwKQTMVej0F%ok1J8RA#if(=6MeC};?yBrXUYPZ8aA6+U#)hC+8ik*&&GNH1h zSXx1TqTbq=Sis7NOL+ELx3>~eUmAvHmL&}dmGVewOPb>zRXtkkDiCX@ycmT(*i?6( z-|!c0HQ8EpRH4!rQ#qXIp$f|gX_c0_W7vdnM&L+)kbTT+p5;;m6jezq=lrj+nnQx3 zzQlK4vsq`ACwa3)mC9e?Aj>6U^nyfU*xSLVh|P{gb8CJ}sDQaqb^k-W8TdX|V^jqi z9xTXCsZd~$ewfgvwC_V7<;pWEoTmH6u1XMJC;Bz_*cz`)YzmeiX=tE3Zu{k&FaOfx z;(Jlq+S+RB+)>Au8mr-wXri_za%-J_K5m2aFS3s!-w(VT7-5lDHH=*3enaxueDv*o zjq2C$f?{AHHRu8Ah?TsJd$m^mQIxGFHR%OhXPdD!Bcim2@QAxJy>1;-!EH~~+uM=0%@|6(b`-wdCK9o`89qj$8%}wu`U#zKoB8{!0Q=`mR%pCfL zFzpZ>Ab*uia6SQTX%1+SAbK5C`g|VzVclk?kqTpR@Z?*~*wK|J5yRlean&ZY%kffn z5*@xWTMe>8sJz%d$;uq?R>9hSKkUgW)nZbJ*;w?4H1jWydhPTKNV!&s3qbusy76)w z?IuvVh_)e@1n$)%@r*Yu$U>fyf_;5Ttkz$tc{CeCFhNT!q&Cd7)n7;K6Fp~_Ze6PG zBDuPp$HcpqeB|`XIfN;{Q0nNE*~n4zZpkO6v09%tV9nvrSG27pWr|@kw7cOIg2%Am zf^%JQdmSaof9`v=L(FNVR4=foq8==nEAY$81c4+My=UAwA#4*Gauv-pQ>xO7+?p?SDVoa5A&4YXu@egb~a88mmFZIwn)t?|CK8E2I=#bCX zKJiYqWu4QRQE$*g+F3}94CwZD72YKomx|O0$vI>tTsDjGkcLEKpN$_jxEp<|9~K~J z)0iqU_csY4TVoL-%DAz=Nj=X0qey?=!1bo7eo)Kpk$7)wztAyZ1x5;v>v@lto)u)K zgN*SG;qU7m7YC?-B#CpnlAMZ=Im_r<(NU%^Ki!e&*lGRr>1ZhmQs|)q&}n>4sY{xK zDjK5Q%BwGCKHykeGh~`OWq1qf(JTR+mlpTW)j#DeB*rM>PmrXw)O;Pve^Yc(EMUKt zF%s^Ac7c=?_FTA1*avwTV#VCg`qmw)azw)#omylj?YyGC;T?+>qeF2Dz-kB;{t4pB zU%(V2?~BruQC8>-bv&+iH7@$@Ppx%nR>VneE>2oWL=!4r7@Ob{hdYsl&DpIdyZjzr!wrB@-kHoIYUB#4&71n!Wm-Z7)s?s=XoUo zj_aQt)-pFay+ppC>ase@>-$nPzhg_i`BROmmr;wBC9e$ZhEKOC@U$Gfg(C;pBhL9KAK)}8N{Nz9gN`nCNtXOja!MDcv(1 zOKj2995U)&{&Q9PC-bVT^j~tVKbTp8eoOT3`1LvpH4rrw!ZuQo4fafRXL(QwOM#3w zmD-2)<-QS}r+i#(`{am!Fm>bg$F5_3Uh+J6s4T~;w5e3Sx+!O-9R3j;-boXBf9$Lk z1!-9W7S(G$QePgYaNjJHUO1whp}HHin|+L=G&0iPI4*}mpC%q3ubagyU(r_3h}TU8T`EHKLo3NDowKp`Zt4tF zoogQRS__YMP_KYf6w}WcpApLYjZ7)#E~!ej;FyQaYAYKXLk4!rdR83y0%bOCc5pby z)x1w#faC$;y`N2i%$ve|isG=v9X|VDK9W7Hv?>w=*{cJHiJI(f%nK{ zy3AODFWrXkfYHi!xZ&Z+d!7StZ996s%$P6$@6@8P9|*WqQpKcYh;CC{q-c~+B_&RF zDZbt@ml;Ai&KL)ca3-?=7lBaMgPxq|6}@?7zirElffe|N0}M{QqwQ^~Pp0G9^;|HZ`p-;0T>hcBMAg#ko+ z?ISIP6pdPYwjW&mBe&@ICe~h&spo(1>bDu=MUqdg?pmU62E0_>e_0-{%~Yk#HI8)% z^p`b8)ITi2lxz7yjOr3``=-&uj7!|XfDw`uk3W$K;GN8ldx8iB|B_H~Zfy!q+O$ZL z7*V`y@4M{$DoI>KVNHl+u#*||h<@m}zn-6vXmr;*K=3x@M zEPLV^tjW`F596Kgf)hZ#?SC{?!|##3>(R2;%tG$UZ>eURG*C7-*;L0-T;)CnaVB@* z-T!8tQ}c0GfGImshi`Ye{4Q0zvUI%qb7(fSBK4hXfe&9p{FqA0Rb;J$;jA9 zF&+FP*t{65)QAa}+H}mSy7^5+)rtcY!0MveleS2#CKE1`M}ZvlkZMN=huc=j$ZN^a z@n@Ty2In^+3DNM2YiCKgOF+Hf2H7UPK@i(NFuB$;$2E+*y>XJ98s}|o_jQIa(Z-Wq z?&(uPz4v75PcEpwMEq~=Apali9J7Vc+AdMZMbZl@Xar~u{V`o~33p515Q@3h<|d{g zeL_QTKI5oF%eT98jX)beUReSJF;M{dJqC)@VhliAly58qSk{1999r}&ctOe_g$3Wk z?Z-Y>;Ntw#iWuD)YBQH$d|v!6)~M??MS$v*_97cgv$#j$as1=_!4TY)!DWOkI;$#R zS#HrfTvLnU?G=d=YQgQEg@KzG=T6Ds-KI>Vjq!c!c*U|8-_iNb_c(6zf%@?zjzv$X zZ{T%e{^CZ+tQgk=d zF4;_@A`vAW#;7XH^CVCNkBE7(aSixym@Yp0&@IlBd8|EaKpfft2B@kckH=L$FpCOU z08qa_-FI&0j>a-fu(c~}L6Bl%^3lP}3+p7ucEA9ou7ZzRi%gkg0nae_2Hq*aRwk}m zRKFlTgX1m%n~FBXCXN4&-D@9GUHM4%%_UH%N-eSp$V0l$1q)Fs8>z zC}?E8!qPPF4v}KRsO`wp2(kD%qB#8U98TqDigK(=Gg?jMfGk!;Q@8H|?ulN#|mnIN1T7U42)KI@HF8slc!c1|qNQ6iKHvWIcZ0%C%!4dU_ z{=cDrymV*iUz_Ov4^0Fl0v7L6N%#%ep8^4ifSHcT7f3X&c70khmv`QugySnz3WaG;( zJ87kABfxD@_=45I&8lIffhso~O&&h^o_fc&kqwm<*uTtNE)O1kA>hf&W|~^Fyu{XE z6d3pq2>`rOkg=kB{32VrV_etu^*V-s>^Vx*8+EYi+~ z(WaXCUnVD=3UI^S`>_tZTdz*%7r>!M*A7Q<{FoT3o4Jc+O=iJo)7GUwL3!#$L1YsP z*xVAE^@yv0nDHOWG7kWAL&@A@!^V*LX{Yrx>v3ED69wDjw2D1`TvRJjkDg<1T5C)_ zA{~;3eJ}ol^413HKjo z09JAtX6`F?u2PA%Z0nkP?o!C#_<=6-8Usn88icg^=*pGv=aU?HAk?hNaTaC_#w#s3 z>UMj6zkhC=G;`fd35NB`9tN_zVx#F@3OPH9$-YGX1o7?KnoRlSa7F`5)aHfU5S9rk zNZ#`8j5*regx+8HGDWVs<_${U0a3E51t_6MJYf~0LW*J8B&z4qUGftHhWF=zq#&Pe z)W~ryYAU-*sj9yBdAZ8uvZiv`v? zVC0uWevH!D9iEu7E6{Fn@Hw?>IsIsREAoInU>es2yRqk5$O{jppXs|d^%`pRHLhQM zvY8mQd=S>HnYJA-L3|s3r}pMq zYgj7#h$3jLJa{R3xO?UZA4utCD)3>tc>kr|3`TcNli@?gXz{F4DJNrWd$~~qY8t>= zx6f@PH)Sc$X~Ig#4{++`=K9_^EU9P*s3jgRh;#BF_ z5;O0MzWHORrSZ;Niz%!pyfi z8g_kub+bBRhltk4VFBja$v)3s>BZ#d<-y%9nbw*{eR|N&#-}!p81EG;eKz6B<0VNE zm%7As6+Xyt?OaCl2dQF#_ymdWg?Unnb~h|8#Zu;|&TH`aAn>QIz=K#JdNie*xl1Abn|- z0@057KH?F$*=s=OAF3doUvWE0Qm&ngb7P(>B8lU%pL zUj_%VF!<0Qn?jY-G0CVY!wo`H`qvhBJ9dXlTGFGZKa^Z$iha7&F3XfX-%cK*Gu6Iq z`5G~h-`nJ&#K_(Ih`TnB65IxX+ccFuihrf4g6wm>RT>u#h`=m7M$_tQ)CXeP0xoQ3 zaW{Z?0NhPowbB{iI?YB_b(bGhD@Ji0HBws4>KyO7*Fl$E{O)6-kucCk5>0a7wu&pG zIkKFr(WlqrS?QYF)rD_DlJB5&xLzHa+WEGgpCHPoDe=Qo*5>cNCL;Ycj!f!fjcpJ( zek>81ye*a~r_LH?W1f2ve_JnWZa74KvIT@k%U&39+!P8Us}KyCq8&OkHjCF}UR}Xq zhw-922gxEb{biIn{M|?YAIbsDdjI!Ojz*P>LTM(~0xL=P$Zb;*CeBpexAk!(ZMM$a zB|@;dL+YdKhmQ6Hv-OEp8byP>*&IrE2?-&@K&nm5m2~o6_!}twk$Ui|udE7mhly(g ziwN@TjCo2R$Y2~JhZjIA!5FdVL$QeQ0R*LjwCb-B6jK8n9n{8G=ZdOHlx$}mp&FRI z^n2Cux8ctRu&Nx%!*%PgoqmYdS^g4<%}u%_b=z)UKQdw-=9 zQ;ts3!({U})F<}jTD!eA;x%_#`4nXzhsp?}yB17)`KaG!12(DN0+ED-xU$@sQ+&21 z^2H!%w3QH9?R~eD1x3H+bM5?&Z|W}ZPY?@KN!s!4{L6Cw%8RV`!K_}vjK{Ced8Vf3 z`sa969*@)Bdcf$IPFzqRbOY}@$bkT)`aAm3kK@I}EVV$%U8DWR=dRW8FGc&LB=A!e zm1R9GNzZ33OuY+D)Hz$(O(~9cf55F=9rKU_Y+=c)0}EEUD<<^#G`wqJwMo~<8+jY+ zisXOT5%`+yrOLYj0zN(ozF1=4{=uk1^Kr<@nFi{$Uy z@e723>=I`mvN(TD2mCg{$b3I;n7cX1w{b+8`m%1)bC_t;TCzh^_$KVhPDTiWN82;D zj>sV`W339Zwr79kL;gqWt6%n4|IwfSE=Bf#i{jen4(@1gKhWQD(gBtidohG9(2pQL z0@`A=-~<&p0-qq1d)icCJIgNM*s$L9hjgcbzVqjpqBEeqg^P)L#^o3Amti?AS9uJ#S(Q`dXc13(YMk)nFao6=X~ol9I#>vEea}! z{HpfEg0^wYiQuvgw~zHTQujg+`1{Sk!r+6!qqlCa4vGKHs_l1r^Y6z~;AUhAs7$P@ zz+^8xt{ig?)+sei{WG>Zvfk% zdmRl3oCH(_3CC9v_>8>$p}oK+-BujrFn;WLKDj>ZfLvH-hM*f%i(sft$?K)r5 zrf(}lvLi)P2D=f{J7DWMgA2M4^2D;GkKj-y&)?#?f(l^f)9bbuRRZD1pDl*xU3BKH z&(-$l*L#J0Dw7zyu@YN-Ag_NW1^kb^&+>EhzouFz{~>iQ;bVEOIb(g6eqfx`7EKZX z%;QWI*=~%-yv+02ekG6<^7ePWsLtbvS~Pi5y+Z!O!ZyjP>p~VNv1f-LX{`lkFE31D2 z-!0+CQC`X5;Ox(~Wvs?6=rLMOI|(iUXo49z$%ejrt0kI4nD-TZ6?c)!yCVx8JcSZ44IR-=)Y* zyaO_GF$vKj3cRuqWaMg!PD9FOz82WQ8e|txlZKa=2BUm6HA~1#>EJAw?DOXyysci^ zeMx}=Bl_dZ@?Yzp=uh1QckD9~P2DF>Df8eU2A!rXB*bIvkJE79hr7iR5mUu)*NTKX zC0?Zd1UafBp?PDc#pePFNL#@+pu(lVIxfnHbSz}OooaXYyrj1O#Q9!t6f!CHy_wH+ z_&Ofg1=cc&F#rsZLja^C0N4{@4MAR{)H)q!Jr%>f(Wqf?*NL7@#%ZKLiwOPM*c4Rk*w4S`#pLTED%ab80;o}r&uLg zb_ehtTsCbJDLv0RRs#FmdB1}ejWm0XcVvO=zJ2M_b-hO9d8}ci30py^LKlzfky)&_oy{r$7$7MG^X$IOfx@9y)K< z+F#Yx`oE&DeuYx~{R7GG(q-j;Qb&JD%&n@Zt$UgHwZ1o#LoqvyCB#}RvB+Bd3$Ld3 z#^J2u6j*F^-0H1k&Cq-2T?LJddq+>{Z4}=Cv06E|?%WxD{|Be2-}?LitginpP3wNdH*(nqM0NOl2)4p?ojv5bg8H9WGv z)aQtrcDoADDEj**ss=CTY^k_c|J7cMXqDz~s_{lbOeGK>X-;zy>|%dGV+-{eyay~J_{2XDq7CA$$qI8d zg}tohKnekG>UTH%8g75dc)4Qz)7azUQ9FKFX1z)IcAayLXwFW>M=?rMu!RTeNI4c+ zkGduIw%Bm}fn)I?+?a{YUFyK$R`)3m=Ca3W!b|aZ#6&NaM4LTeDu_d9Bs0q}_Gx^3 zUUR_&ou4pAOYH@^nqxDu?$Q7^#G!0gsZ%ef#Iv$Hp6P{6D$vyVc_(yCFOXBcz(BP|_I3qqb;K+KUf%X;BNMJwkS1J<0MZSoh?-?-QO6&P)VNajAeAw@ zbIoF>E%yl@yk9OLZ+kbvNROF52AY!bO+_$-6!d~SrqJg$=0S;%L4ESRce!Qu#CC{H zF2PKK9OZ2UD`f%Aeb(EZMg-21@pX^SudIAf2+cJrEGx4gc(^V2W}Z0{lf9_YfOqd< zPNa=eEoDlql!G3-YPL^Shx^)n8Qw3LV07#EpCGalhNq+1@h8um56kZUZh7*dJ~Y|M4E~a={=$M-a?VydqNEm;+?L& z);?>mz0N-SeBZhI-g}<&2g#h1JW-N4e{+m?yoItv_i z9CGUzAARB>&9@V)ei_> zCGSeg3(BkF1*jY2g!$ec%?bmRZ8)X@!6ZYQ<0*&hnhFrfjjbrT7jC>mA*{&FJTm|M z0zeU`$Xt+E?OHb6Ue|Q`)RZ%IWV;K6d78~8*^;_i9yA`54m=wl`BEG??k8+*MyY)6 zv7uvh&uyz#0^_j~Ub=bmN+Gr;CTuUS3FjQH>KCX~@d$NRmuY^Zb}paSamEEu>Uv%n z;M*&^g)m>)(Y?RXL9Z1BQrUF*B)OLAj#=D{bM~6HWzm23Aj@W#|IULzXpOC4H#)rk zdbhQ1Uii!N@cUo#?jzW2Z2{Y~f+suYbB~|6GO7*pmyOSS3k)odR+TfcZd09VOAK?3Dkban0Etam5q3;KM#a~M6&Npe$Uz}V!2)7U274o(Qm$`2D^tzv z5lu47Cjr7~&b$MNi{WVV2wFtFJWlg5#d!L_X&t4Fg>$XYv%1UgH|YDAWGY34qBEfW zz@7iK7hq#GKC2dklUA-6cJh$URp!qTTiUoxwn+KaW!-d{$+YHTb=fr9A38&axA)9`)kfuZ$l56l}?bdXJDVVB`11r;crbENi^09~20% z&dmN$e{J`43V?L@VZ{&7CFG&Wh|`wPtU*;kKHZvD6n_lcpquNMX+Lxihfcr3MIKR} z=|M05uK8tXT7_?OM4SNB!Yr4V-|c|hul(VX{g0Ye4g_`#T!eSmA$DYqnQqUo_d`0% zB;OGle}H=AhwqH${tQ@Vy|a%1t3pPdsvb-}O-YnLj9n6j#HRt?1Fh1c?xcSg)%jaf z{`+TFbOh?0g~9bfrC@@n8;^hW6PiP3Rt2V{laTmw-N$omI|ET;s z%c_CMtLOO$51A>(iN=MJ2l7!5y3~)W7r{hd`Cm$id;^_WlKAjSF7zYH14|x)lEUxQ z?@#jfi?CnV>|e-KI6bTXs`G(*Vg6HRHV3OB@_oO!1=v{&8ajf8CF|=WKjset?qQcN zol6BFMPU@gKE1MzSD*2YcL1#*L$T(>16iB^&G1`jQMFVZ7zb%eEDLJE>GOv0itTmY zWFx9wql!P;YMP?5D9gClTfKE*&Gua^i^j>v2N7F^3p6ALg$`1)DLJ0kaAl1N8H3(} zPX!V($iR?*m)uY}Nyy7`4XU~0PxigOIh-gTEanY?e|lVS9iaPKXpI@O+0ZD`qok|6 zmgLq|@}pi?sHzQo6$xPy=@OWfR#i2oZ8~?KmR9NZmz$v6;(sSp?zd&{|Jrc5p??tq zlMFPk2;Y|3RKJTEAJ4#OEbdR4O}rN1lqo(p5$<-^mHg7Q5ZCk;i0~92ftA-R@4F~= z5!dcLlm*Wq)!uw;*H^&aLhdVX56`=`=FXqjGm>w+kzU@)q1hgMXp?qba!E#8Xb$S{ zO^WxS2x&^Z$C#g6!c(Wx>(2K{-Y3;Q**zF^h*Ul)kzp1AtyPj`ScpmLYf{&nji$^% zv*h!LV<4_2ifOYLh9e#G_T1x@l12cdNnYyyuUoMGM1Mz)Osd9JyqOO z5FVqGDvi6%`uJD;&n>PQe0q|gj3rB-p_W?YRSjwOiPiPFCi7WKKIKE|-B}br;6A_$ zusq3kr;ZnGiJWMqNfuG9C?`B5&OjB_Ux zt&(Rj^8w+6v$IogP=YL8hpwhRgf-rg!VAXa0rG33@3+C^TxX7$_+DZM7WHNOmgejp zH8#X-mYPlN#>}Tt5wDHnCwq0^F=fNg;gd>zrs_XH`~byqG_I__#sNhPGk@Zn%swD@ zx`equ$xq?SPt+wZRPm>b;q}kZy5BJu{tmSVFsDGcKFW6stO1Mpoo^a0h!(L$SlYl~GfrHSz*=_nDHqMw>RK)B*%? z;zR{q#M)OxH|iy_VDD`4GJnWw#0CBN)227*WKjnUGms1UBC0_z&xc*9^3xSRN&eiz z8@fTTPi(l_SR8Zy**GSp4 z&H12KNm}`&qnBMd5>{3mr_9HMxy5gdk6u0w?ktF?wSVTk6Mxsc`@LJ*-m1f+wj~LV z`-KZ|Oge7m3>%BJ*Bj>?^VCZvWQ$C;hVMM{Z+>^r4ObduIoxUCpte2t{YqCZGoQ^_ z3jHtQ&)y!)y+hQO)h)hX>lkfwXl-GR8BB**Fm}Ds#rt!>zN=**+TS zNk}%F;>2nYvg7oHB`MXNcF#iC zF3HyP;OF_|tSN&X-@p8*#dSSJoI+9CL8dvmuhPgprsqMZHm1XNW{YZ+`K_IfevWo6 zvuvSz0ijDN8=uioIiF_%#P-R=ONRPp`e07I2Er1j#x*S3>GgxxPPj6TS+0NTF4XXX zW_!L-fve&>Y7^D6a(X-rPwP$I4!b0D?MXDr6`k|K9vl_Ol$U%qqS7NT`5B!C$`v@4 zFeA>Qt207_I2uPieaH5u=`V(hANEj9ERI~CNZ-G9H`X3DV8z-*%yc->-Ya_c+_v0~ zif+orvDgFLB8qhWylg6;V=yt!%=+eBc!FG$3NdCuRVG6E@k%Kg$u$(Nd}yoj5q7jA zC!C2y?gHE>b3NlSL0cv&vv85wsa+lFwVAvEsh-xQ87*PF?JN6{i&q@+Vvb zbJ(KCambGwPAB9IE@{iSJ4TeDj4uTclP>dVpL3f{-!H3(O_R37-gM~d~ zKaU}WrOzh7En4h9TJ_4p$(I&-(^N1>|=olfm~L z>)5O82V?|nDNAHyl(&l>sA)<)+JC>$8NvE9oUhXL7YOv9Kw35af~EfIETX`FMd&Ai ziR9w=h zsXH1D0vShn<<6(ExfUWWt^)JTV^qtj>(&s*)UQehNdw<%k%B_aUuAibK^sJ~oVe*p z&TKU06d}lydB*zHY)-hfleCtg^XEUn!x7w1gcow& zyueLN&y)9@>J-&r^hEr8!KRAn473OVP?YgnlNX7Y;q>uYY7>S{5^y4gdnQKS6aNWQOx`AxoU7PYbK3dMyyE4~vP!2AuQOId zorW=krv~4f)^6JIj+p~V@d&dYps-4%w|uO1sRE9+#wNmg6Qq0vj0^p@B`Nja)v{f1 zY~gx`E3Nss3N3!hauTykXOW}XKYy&znoSd#Rqi5~3@Vo{bgk>Te*~X}u20QGFi$?r zGmlQ8(@2hsdqM82B@=7DouzYd!~Xkc8I144V;;}Dx}^=DRx}i0=S&jRWLu&Tcg<fhS)(E{^si*4d|3~^)_gh~t)Vg>-6oT2PI4b8uMIVodIv>Cyr`{IXJsC2opi$m zJEH*HWnkwguk5GG(eHnNNVUHOMNtDMsZPtqTW{StYDvBa<-GGbNLciw+oZon;GOLm zgAwl&3jm|^4a9D$)N$N2oDgM8{R4ynj`c-6#o|ZzDxwjigN!-z?sCXni?NFdj$bVY z@=8*YO?8cJf^#uB+()O{WGL~lCUglR*mjF!yw2t3h+Y6MTM;rvI&?;DlGYJp!^)A3 z3OvcwT0zmQK}^qliW=#N*gQJ`^|wz1E@kaNPeH)Vt5gpeB9`?97&5_M36O?dES*#hDsC(#q6UGrP2kY1>+JMx`V;0j)Uzu z2Fu4*qt}`z7)qdbet^u-hg_5FKR^zE&g#AiG8AnAKL@brp*X44eeQAFuZ?k^!;^a2 zE*-^bw4AISP3=2iiuHkE<35+E!i=dNH$9{v=E04n2CK@ zm$X?|P2m+rxu*gBtjX7TRyaREH1$*r$Yb7qSuxer7<-6pk?-*|!;x$N^~F^mQ|_*z z-GY_EP{KH05O>W+ZA8&(VNLn#j@A8PDd z3rs0S-L>X7jhz+QjWP*)O5_A67gy1b=$YA zTJ{H1t-JPl&p%~x6rtM>0HkgqZPd0|>*$Oee<2$2U4Il|>62_|?Q>!7yFaYGnyYq9 zwx}8+xELB+hIGJ!rLDGPBmM*UQh#$n?J+*E5iBKOw*2Ot_C3m@0(& z%MBqdiTo+Tu{8W&xdD7aC47l%Lfy_QHCt})qsuJ49WF08WLQOiTWJyq5g-8p8Yh>u zls{X<{+j}s0stL;U7Va4{S<@1Vu&g|eu#BiqaUEmm8am1Wauo$BJD5ff16e{c#EEf zG%CahCqUD@cZEdB_U9DmV{ijbbgwyXrbb`0_!7**Or|eNn52bOc>dM=qcca{RUh&0 zT_w~mM^scMbDb$e^l5jZguOuXm~P^glP@yVnXSV|qJzr%MMn>;(!^a>3=>JABv#Hg-+5^$5L6xGrzPIon z1KxSxxJElUMI4?KidB>{2+J97c0XG^8V@8;ygAgmhbS>?eDBa@mDLKy77P0vJ)m~J z2rax?#!2!SA3Qd39QfQVV6h9boo9Ly(cBZ=gn-sWK#tUJTbisuONNVBPvzsiCud+< zB{4HxSo^C8Ap^_|d`xMkEU>-K!|`f}!*}bNr;4!RFS?+E7bVk`Y3q@*<&RUi^b4z6 zEMk?<9$8-i48#H&(@5p6y6T9;9dTo51m&Ew1?V_(Iy!(p(v=c)0xPR1tMZl3Rnagv zdDO=Jl35pam!kF3QE(z!m`H*jXky_BFOE2`3vW-fNq6E*9U_{yzMS`axo+!Rw>OJ^ z_}5gzKLXvq>}&h2LAMzJf0_Jk#Ij;d|KGyOB4-nde@jBUvGK1@$oq}%^k4P-UzWJ{ zv4;0gBKDqAFQ&QWv@ICi>q{M727;D9C`kQEJP|DxJUj>7OE6D}&YKJ~M}HHQN9OzU z9{oq~`ycF+HyHpko9OIb=*9q$1Yvosg}Q+&gO

`2n&)ACYK}0XcU~@RF%5fod)= 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ξN&-o8U=yr1`c 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
KSa5N>(veU6#5%A(6KL47 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%0AE0 z-@#~i;w-!3P!!DG@HxpSez?zMa^*~baLVR-$biQMyIk`n)yhjN36;h)T$kcj%~k21hif=6$$K;TJ+Yq3FjQ|_ zX^@yv?YLq1O0F)FBOVYvPM+7gGn&0U!Shq)7G7n>EbP-|YX(B>uyJi=)^oyy|2|{Yvs)@yk<77 zi4n>rm_KxavzpvUe6aga$_UDDEC@by=?qPBm={J3y>G{E(Fqj72C`CWvC|({>qj5H z)=@JTJX3&tF{VscIL$1bSzD_&NQgw8CAd^xmg;%gn4f~R%f1exSLbz@`{(8R zJQV>6?7J03lE7G{wab8{S{vE*V7WGYc=u`IT)gG++c%OJo}zL;IH{aH}>e384tlm3q6E<>h=gwyFr+*X3AcL~XL;GA9n>$j6v8Tv$%$OX*EQ?}k+C>rfOC3XH z^rxwPgZ&E7Hi|HV$#=78^Jjl~K=+e+34WJI+4wMv)4emN559R^dQJH89vE)4>J(M!zYRo3_Og z!Je})#{)Nucr?el$B5;@OVvY1vOXf_^K}&y_&i-MYwZTQpS_!vP5d@1n_RoSM|BHJ zb3iywL6H}wM>H?DvC^U^t+qNQ8Gg(ivVWPOHi1%=M)qblJI9tJg~gWMS8%yN6nx2? z_1d`B-Ta=!(;5c_Q2CyxyqwWnSh(}Mj{3IK=s0wrr9l7*Vfj!B#%wBfX$nduBM52j zm$$-ZOHa}~0No2`O=J7<*^m43|LB-tx0N38-(oL(&LkiKf~JrCbJ`}`{m~A?-Wi3{ zt%lSy_w(|+G(H|nXJ=8pqBgXHgcz=^^|)FqrTSrTcS2N;asHE~a~Tu;;nIsE+Dk{J zsLTD#+msgIwvV+ky9^~$xVU8$e7yE73Gr6Of4))d`kv{=LQ4+=)7v5mZG2Sec zlP$r;*z?$7P4(l4Csoo_x132LR}IyvZt-Mf5aI%SujmX49k+=n5oKvVEVKWFN~P-U zbQ#F9;FZsttH~a9oSU`VxB>!D?21#%$ED^k{^txdQj8k zw7U$>*yK=_YKVYkR7{g}yg-;|Dr!HkrOiRJp~0dd+O5l$D@PQ2(OS=HkS zqtLkEmanSk&Pul4=)bKW_RU zfK6=HgFacHYm)H;)O!uhbX{J5_`&vcW7VbRb-Bhl1yd&^r#HcX7~~ZhmBR!gF=my_%Lr-Eh)u7ilATL*HyDgqNZKh_N2YluJGpr+bcZ>UMPx$VuO@3^@V$RDNhd zctoM7nSY|mCzj5siETQ(XCWYixAu(JgNH&_o*LW8FeTqBhZ0XP@IP$Q-Z%zfVDJ

vX^tjNw7P~ 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ⅇ8ik*Z_JdY`fdUDxhqx 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

P{etyIeZ@-j_szY zc;XXp%A0{Ox%Gx!k^%Vom?Hr+EN>oNq(XU7J1I)w$6L!0Zc%GBcb0s|U5FIw0k*yQ z7_XWQ7*i;C#!v`mjA@h{J9oLr+I1JKQUt?xd5|Z#_+vhgCC~5#YuEml9uh(wH`etR za*GQ+w?k8C;}zZ}u>PCU*9_m)L9BwXg+;Wv32AqjP()UDT3rPC%569S8BnhJhQmxuv|6 z96U~<78cm+^>k`Yb&2w8xZo@Q%mw0uGDirVt)bjv(P7$MOo(KLl}W9I2A#$0I689N z@)%%I#)vyqC-1Cz{*FQEWe3yfv5t1nQ_3V+KhVJsa~yO|cPcASA zJ-nF%bx#4_AD(91+JAUd=VMbcDrMlEn`_v&UA$bT-#V6q5848lZRN-lN>sVs96_7- zzyp3TrcSun8{?}Bf#q6FUxgx9tOo0)I@hFvi_?ofPjtp!V7cY^w7R{*Hp?Cd*o&+3 z5F2g*B&G~=`oe96`R z?1Sy>(BWrJPZ*_ix%s5+a+4b_v?my;4V2wlDPunaaALXUcSYxGDq?f3lTl`QkIddl zwrkv9(TTnYLGL@hmT~dbU@gT&J;MZh;8S_B?|nTNcahZs9y1+w!fKctYD&=Y%TOoG zRr&?JnqQ5EUtVpV-?>q8IfMsz#8nntpWUVNuJV9g%|fIU@oqV8nU|GCWv6JPDdm-* z%SGN>@3AjWp0uPC?HZL3FD7?F!`S5g-{m)ui3*UfEFGTeRYzY*9%uB~i%B!0W9ky# zFYa%hrsCx-Zv=FGlLPv+E|`g#ScaLn5teiNB%*_nEpwBOW}#7a8?H~WBf1LX&)DER z?-1DMEyXMYi+TrwdEg{DCuVk>dy%ILi8s9?AMLgh-R&6f()7RyDp@;tBT;t8Wcv-@ z3x_4~&l8H2!{0S@m80M{UeZtJ!uyGHNVEIQ^O$^f2#VqyBA{0u{7m6Kfs zKVD`ETBVLiW7xqG5Ml|32ZW3~1fAzpnII z{=R*NMAz0qm#>ToMyx-%Hw%1xb$x9~*PVMtDE-4OPl0gz&__eTz`kL;!S|%6oWmJh zs&+p97mxez;goXMXuf$AO!x&`&_4;-iYGlCy(Q2ezaBpCYdQP1POuQLKDjTfmdzF; z42&a+?O^32ifeeSJ`tmDynIi6RzI>C7o5A-oWFG|PQjN<|BU%u6m1K$WaaQdq7fb6 zhhshYDYA&Px?u3s*Lk$wP0A=2_x$#WveN#=B{lYtOLCf70^Y0QsP3;tAAQ+}&=Okf zn(y3jnKuJUlaooa^478-1?6l}fFx_eHlaBG*k`7VOYAzf5s&ZH?N{7rz+P zeyzK6GF0u|`lcxhxMiB*W@~~;*cpf0yYV(aXE=EBWO=G2N2Z<9OKvx-x4=JS@OHA< zCO!Z2Q)yy$S2Z?5zkeofUAfBW;C?)FUmPXz>$j`N0X~;^<@NNqo6j*`^A3c$8g}fB zKa_c6?nP-3bD$-!2vt7jnWL_IIVChO|K_~*9Smu~rxJov(QcuiVSgfb4Z5hyxBrZC zB#T~B*s6K8dcaY1IN;wB8}$WzpwNK7Tw1OkbW)tf+wCJ!j*eD{Vk|bj7b(B^IFhUV z9P&%}i5B=k@F%DSn&=4xEn+x~tqtGXFo+1M@Y3yNCbM2(k=8jYMP{))PQ7flgIn8m zTdi$K3e9-)@*NF7Ns5rU$QY{k2Ks$EN<9H4d*+vMi_^7FY8g*dea8+2ZBABHH z&d1F3r2t%;);W4^XS~Qqbu&}^&~?=KYOnfD`R37(t2#R)6MQ-awW#Ek$9JE|sIsr{ zK#^;{TqfPYM6g{t=Y98UMn*F8UC9zJ+($B!PO!3jIxIrj{6um$D{_1bvE^0RIJYJ=+IivmV>uhq5*s81HM%fBke(E#uD=M>0>?UGH z!PP=){SLZgAnt-lDtN7_;Jlp|o^)Q~pq^4sv_?KjlqW&&sh(VWj^yDF@9AbF<(er+ zFGs`RWqR{!>yXwlu^@Ryi@hXKgDhpVwR|CXYqH)!%|I=YyDv-hv=y#GwzC}Yd?(I; zSKrR=@ZoLgn2OC)zl&{R!#|k0u>0wBL#%zQZ;eH4i|XZjJjnLHp*~{RJ!|!``8GeY z=o+hqLicDrCPpJ&WL3R5LT}gLqUN7$iN+MZ2{357`XSTvjC1nL;wx5 z=}p~)hTO1w_)56pL6NI|8FmT*$#JR*8ND!ID&)ef773J6d!A@+7rMC!eXE~O9rGxq9X9-J4)h&cSdbhg;P9ZlteO-k*f1{#CQ$|^e z^VvhrLo#yGY@PaU)tb_RjK#M@PR zNlV5xjWlN(Ie1&JXC#j}Dh+|Y%iC|2Y7CVX5f6t7lFV);Dy<})lr_tEV7G=FPfY6Z zv;O7(Kr!W5j_ckwy>>)n{Q!p0x5(w84eE zX)imzEq!0dsJ{)|5=Jy(U|2}x)SVsOw89T{X87Z8%bZBT?$h=wxZ%-*y>~Ju%87zn z>pAO0g`VeqIpQ071 zi=CqmH4g9k@8N0j*JX0fZ*pvA*AL>Pm#0G0n0i2+xY?{96_mfL={Cdiw%}UVRN;n-;DKl_;2HV+f9Lqg zJ~#m;aiZ(?Wib3t(%s|(G_Lljc7h9h!FKY`4naK^6oR|~mev>Oq3uRN)E@%0e@f1D z#c%+tx_^$j9{7vs>z)fg{@r#*|JBdu?467c%>cZ$p{piYf7-am9QL2lf%w0CPST&l z|4uf_UjhEJKSAXRfdVp)Sd>ox{@2dR3ORufQC|E#j5V((-hSUC$@_vzY_Ob;Iw1|* zSjK`Q9cbG6d;(?D#+Sb;WX-n=G^J|yT%2@G#csc5(@i)b ziND7zzB8=d?+zWK>euLZn5{+Ii1e|C$i)d==$uW6Z6Csn;?j1OzW||nZgyd21NLaX zr)|@gr2+T3Y^1niKHd=_je8PsPuj(9HUc#&Fwa!i#tE#tbQry2CvU+}-6bWs=e6Be z{M(qhYpSAQbapgJH1(#^vi+S3M=l+2GEWvuR;)>Q4mGjFg1Lt9VT>$>Y-cr3W=~Cl z!rhZzjG$Z|>D*5;puZaIf+54gLVZa-G|qOD8AjMCy0mk+eqG*{i5h%+1bIsW0!iin zhn)bPUHD-^FTB)W$X5K!%j`Ty`E9GHlaavh#w{8g!DVkd%xs8FH->%z~0~8yLExONYQ>NR#Ax> z#65`s7kSQN#lt^UQ)YeqDx+9j>tFq~eGe5COh$8OH|Q8_<+#2BX>;GH@{xC5HW~a0 zLVY-Yk`#5?IxZKtQ=-LAcrG(P&{{+ddul^9a zQeZDNHgyP-@|@R=J=uCHDJg?Qd1KYz=sTNuCh5KjxpoIg6v2LjCOMl(%6b=<=SiB1 zNtT7*NTeIoEHCy64TUej`l0JXU;;=#*cbS>vBlejk%oQ4;ToI=QH~%?tTzLq&dz)4 zw}6is0ElD~pi9aX$!imjwR?%y{bD~su7Ea+-3aRufOtcR+D`jarZ-kASUuw2=K4z3 z*)(&C0sB0HG|k=Kk%3~qO1cz2W3jivC3A+=an?vQayLZIY{jF5_=sWI|F);A;Sj%l z@&1B1r5yc3x?9vQmYvQ;Enw)bzZ}PRWIecXH?}|xDUza&0b0^- zNe~Wf%A{Pj4S%}DW;w55qVZ|!857YXyypabn1d)^m)yvFX<*|(WDsqQ4-RCP_;&u? z8y1dpGh|2Grj_1T47xJ%qC!{fy4tie)Jmi1T|Io(yy>J8^EF+Hm`%TbJ)Zw3^nU!$ z=zWtv5PJG`*oL^#aKcwGS*P?9bmuVVC&;u6zH*^nW}I+{{DdD}T7+)79>C*d>}DPD zk=pR#0)UfiV~U=?8H&cXedM($@G=sDj^BnCd5JeoAJaVt?gxF~%J?Z{0T{D$KS8y}2+(Ho57f55LTBO-PNk{LGi7t2I(&$X-h#=+oBK4?ADraHeFO`p zl6QMQ@|yWs7ky|M;NyA$6Do+3lJHWyiG(I=1iyG>CL0|9K975-^y-IfxurQ+q>?Z8 zKsvhj`0{IC?HNC=x?0*`WBf<^PwPl`jfNuexeKBBb}1HutAU-?7E?PG{Iii~gpOW6E%AD6UYzyE1~u+RO4zdUtL;XhlxJ8k>Bg?ESh#|e4^Z6pq!r-@~LR5 zy+?Ex0?52?|4<-e0Fbihho3Wy757?seJn2h(;9HwAyUR~!!jVXMzfktgsIu*+ z0E>gZLWOFSLuPph)6j?Jv4^RLYL?sgc78YwoK&xpVE~wSRCv*W=L1=Fy_aRg$&53^ z`Xbv|$y@!T4^c54g4aGu_7`sY6ZIjr;>}%kx3%KxYrRHx744U+o+a&+7hV8jdFF@1 zeTT#=R+rQrS?&6HgD5(~PXxXYDd1NhiX26knoNMmyKBNFzsP=*RdsEkM!$*cntl}4 zn500}kx`l}eg7mL*;H@+JiVVPw=ZfK-nna)cq$`Yq^IW>o%{<**ZV6dy$8bx|C;qX z0FV3)fUo}@fUm3Lz(+2xvkd%>vdb1Ij1%H5%eDyVGJay=$CYyc$pxo!aFyV}4oNqh z-$z;Dyo%-WSFVjEfvrn4ucQ1jw#0j)As>buqwB7SzhPI^R92QnAmRceqp&VTc{c^kuzN<=t&@`MGv%`WKSp;lg!8bVX>kdY;KO8a8SDT5)Xd5qp6+icC&X`_s0=l*OV5 z$Ai>0J-vn%&*x#4M4Ht1QhufD$4aKl#b@1A?~!MZ!2lq} zYC#3x&Oa$u?6V%@y0GA+8=5P_U{GfwH88%CJky?_q!#t4rV^JimvW*q`z#UrnIl8} zHuwWEv1!7WZ76u0t*G;=eeI$L?@h;=U>QV_k6v)*{f{SBZQ+_Tm)t*z?4mdLBjxA6|t6t)9Nx zhS0H2?}m`g`N`8$wrh&@ZM{Lz@Oh;1@P#|?z5M8l0O~!>%h@$HL=kCiS+hPypX+nM zx{++Ero(tO=v=Zk5X`iTg0uc$p^GuN56Bfo(@F2#@r=W0?d{BFjui+p^k?U1&UOn zZL9q6ow_l5k;r>I(Amc&(BKF1@+-?R5=Rm&`*-s2YS^Jll!BF59L9Tmd-~#2awEE@ zmq7dNsCC0sKAS&X}@7_fSvc|`$ zYuSCoHiT^9HS@F6Uc9_@b1`O@@(d`|LuQ5oX1i=R=1=yWYI@D7gxRk3Cg(Q#NeDp^ zmDM(s$bCKUYVY0?Zp{Kyk>xV!Q;Lu&ioV%tXUD^&`$`V_5%2uLB41JVWfsP-V26pMo)Vu??A3!SSr9JndssYGSvV9}ab)k4W#CeYh*Z zzlmu-1C=T6co~fY0qJ%49T;Coq~Nv0$GRS?@O3OC<2qMQs?Dr5$_Ne%J2;=!>5=q# z>LHTf&45;h@$T2|Wf+$)Fw(~kYn=e~^-~V zN?!tItTAx~ER{o+4&8f?mOW1D94GxBpJ4uuCHuP13#o@6yZ|J$1IR8+YbfC{d<(G% zWAf}K%GVnaF~2>0rgC_j6aP#rWMe35#rvqy@tAZC=uklk=LV6H3qL_-Pf+IWNW61? z;N`T1(k`S8<-xWP3zG_&|-zBJ%V=I|C`k?EF(?3D-e13T_YMc>K z-kycn0Pu?TpAC;C>}}6I>@lFlF0c7cVtqOAZ2B#P?NSUR-S#;qU|`GbRGQwwUGEY4 zv7-=K?l+Ky>ooPQN1*!v_9*;gL+adx=i%lnh&K2P2Pqa+fR?_Z>Z*cNPu&XG5~@u& zl%)eZTr4c}_N{u`1-nv-zi#{~M~p!O(Siaz*%qO*TsWZYK*eB3z_Mu0wi6hsSy)ztP2bN>2YZtvbKV?O#Su5V zmV8U|e}YP@SYEGriHhdVm@zxrE-n=6GK`FVLs?`jZ8;%n+&3wVLmx}&PI#zaQE7PY zLUOLnzpD8AOgldO2zG!6xD@={yA*Gnt!YwDZKlALig(I2;!1_@+DN5m5~hHPU5ux7 zhcMLM^EdNeK$tUn66I@4+~&z@xWy~pZx={7q1j~G)btvX#^{iY(7}~yBLpGGpy6Bq z+-A)JsNQUX`;*=KCb%y$&+xFKJ{PP1r+B(uZI&rZS}0r!s;YI+eu z4C|#xIgvMNtyG{6FOrNi@zL*co4Z6^jzR;E3ippE>K?JFFcMtQ#s#G;y0{8M9W zd-w>wZ0TAC^6J>!b563y&@4}m=(bSWH#y~4{FU=Xxs+6qPoyKa9F$hnret~gzuTBi zvF{td*B>04tXCHn%zN|1PES*5T+ZicAJS9?%o`P<>nXs*5_Zd1z9w$F&HKG#%bNvC zexGw1ccE#1a4TR583P{{B|gB2?F{3i87c|B^_H<&n@jix?H8NGxhviKlHAIMJR1na z@1_v|XCKIE`kUK4h|TwC=e;SFy4~!^%{L8j3GfulMT#B^;+^_s4NPS}uhjtm_zSU> zKFLGPbXfw=yqHvIq_1kbxKvs@Q&R}^fAYudzBrb7B&V zNwXDewr6N-kOKx&SykV~9ffw}*j{C5`8#3DEB+^PGRo^C-ucMRy`IY}iHc9}mZ-yj zr0(R%yyQYxE<`J|VYq8|lFG?0FO7-q7MX$KT%1$M3zxwkHep%tGF0Or&T-a&Odsz`xKFXkD^k)U2i_-!*CF>WBQz-*HhfbxdLA~`pL}3Tc@4S#l_bf(8c7u z<61802T^RIZAa$B(t*{4Rt|%cMnEs%gl@p_f87rK{}dnmGdTKhuuuP!QTbn)$o{w5 z_lFDie+NhGp8ss16vz|-ezH&}ONE^JucL|HCra*HCVz?F`3NAiWe6RF6f5qmWGF-@_h? zpDJ)nhl2?3&t1DHc_FC*Ty6umMo`>m%8mes+w;xRDQfX_b18g?%+oy9e+bkek4+`Q z_I3CSFAxy#@Cy2b6BPutLS4f<4M1*Zp%7}NZrSB;E5|n%6zdwxb2?W*j%uzjkDmWf zi~xiB_haZGtT0H>C<6H(q+?CrI_q@i4$=CWA7Z>NQBQg=*m3=fCmgkZu}Y_|RLm z+VC}=l(~y^!ERrEYVKyOXK~SpjP{+HyDPdO_wjOm=?X?Ek$D)z9z<9s(Fu|r}I|5D_efZuZe{|er-=eM$6$tWCTH3OrLjlwN4~G zmt@^l64BB(Ars~19>_3{!>|`wd6!nNNx@qxK7Xz#A$Cz5ddBfhIS7~B>k?zMqHe+k z>Pu}Eh-E+9_3g=czBw}X(R;?*TThlvj+co++nuZJ$4Rn2yR9uZ|sLE{jjWy<* zi9bG5HS%9+Ic{XBl0`Hun?@t4-FDx_wP{SfPC#@c7EL*n42HjB53;%?)@&Z$ZP7%q zvVB}*2yMOkz{~vfeCc>gbm5n@&KbtUuDfR#nJ*m`*{` z2fmzh9cAhZ`Zhni@0>+zGr5B)c@mQ-?erueG^dnPV*I|8z!h8&&Q8;3hjdK5<=J?x zqZYYq;OeRgq;`iIUC%wQataFVzAS!RTM}}$|LOh#N;LCRHhJV4cPXN--ut|arM0$O zhJgEtJ5_~<>`Oq7dGzV9F+_1}WugG_-~#k=`==VKi(ULe`j3}_7B6whjb@BL#g#nQ z@XK$K^K~t0CL`X`Q!Cif+VV_cVjnP~q1&^N9`U0EksNgQ)uqSPjVwNS^8J1Mj#Uot zFg54y9`WMgMIxVaN&dHN(x)K4Wpj?|wl1FU2NC;&qS9${cXrP=zq{-(8Q{J5dSI`w zERQEUgglB~QY-5Hfn>ovk6w6`fr-F@yy&kK#I)gO+N&ihA#${%Z6&<%7oi`SM?rnu!OPO zkDPFVtk&R{ca3Um-><(D;9n5>!8Oq}sg%pb^B6)EMKLSi<{4>X`xDff*sX+JZjr|l z<7tw3&k;4v8-9$ZbsA+iudf>eWEeGHZLh1N6{q6y;N(hw{H~ho>vdx^8|TxNrh+26 z(`iUXx=?vuzEE=Q?h345RArNS)3JQ@u@K6+CweA2$cNz|f+8YFo>u$w#Ec8J0(hKX zeV!+th|b?gcy`y#Ze2^lQgB4YmbL(=Nn{meN#a?J}lXR zN4#%!F|0<@G(0E23-bBGM6GzgpNSe0Whm(>+YDA*|ilsB)B6B-9^|s?}u`#*IQ4*)VG6!Fe z@z=o+{OPm0xVS3wL^E@KON!3TB%AOAFF*^;G6sk)oEr#d6@bML;Pd1@FRtyEy=0ea zzh{DEa;{pYzRKpV(b)T8JnJTGUoQN6qp8hH`>qWNU+AQoVVAuKuk!s{C;tqtQeLb{fE;s*sW}3V|6!@6-)Dvu z;gs%=&gpt4h+Z$yNeWe(Mc!C5rKz=xU_vo|xOB&N^QjcG6y?ZpVe1Y;jqBb1YAk_z zFm%ZoU+^W5+ir$aFIiM^O_$8iTW~Rlj{-JGFDFr>va*@@~8$K(t)f#t^=Kd zSy$kClKy@@=WZk>ADU8qbMc2S*%0!=YXK}Qws+P4mI+TwbIaXvOFaYDC*t#G?=?GY zyqp}SUJ?HZqD?<(Tl#*=$uV}v^T_MC?SMsMx6K)8xRb9uReU+vfJ;r>?#J7{w&5&V zI^}Q2w|O2a4+^*$;m~}t`09_6q$Ny%RU;$AM4(dum)DE)`s1Y1Mb zOQ7Qv+Ve_>dX3J~Ntn0VlU$p(8w|+N(uc83XwN@>6CSEaYE1%x=Mc(J%tP+i3)U*V z-yu3qb&A+KmmTI)tw^AWR(;wZ12g2Rf0aFIUrXC>@`c68AE!Nq+wEsB@;{|{uwh(U z;rrw5*hS*HRgucP0Jt)u@M)>oo#AiEos&zB-5v6RXg|BIRnC(%u-)dd-_}X!FprOb z`H!u`p4x2FG;yu+fd^h8L)J^B?f}1$v!=ImrhY7S7oUbt7~mJCm;3QbQ<@{I~dc_uKK$J?y(*%vkLf)+l%V zV}ukzMHU%yi?X@Z|4OE-B^LygY8rySC|7NNGm*T3PAjl|IVSerIp37&^Z4zT2as1j z@n4Qave<5nkJyOyDMSIhM2)9MDlG7f)tS#NxiCyvQ^hsVGKZWrY{^IBhqgje;;2-ie@10HOL%m#y2L0&SWgfz9!i9im385d#e@)e==grib{CK z`RsmEEbO792=C@u635u~@!JJNei=sf`f0YW^l zbAI0}-&}i-JVxl zB8f}f2}5hUY*P8u`r49x|BJ8h`xf^2hJ$gtdBpB(i0?zkN6FIWl9Q;J3T?Q>pjs~X zPQ(WWfTofKY}J1mD*gqC`HlSh3mpvn7{HKZ{>CEt)5Z>XDgjC(Kvw&kS?YgC{$2kY zcc#Dn|Ne?1{+kc_MJE1RFwJjF;onfi|14q{0K@#zA@$d>^f3&P29- zGsGKNS~-l4?`>>*=8uUvqH_qGY2sbitT}p|)?vtqTA8$P<$2Mu_J`fR+2LwX{v< za$xpJw%4m@V(|sv!q=fmuH4z$?_d->Jqh(Ci^_-BaXT?pCyUJB1u!yD{P(;gAIDff zvw6MQ$g!$$M$8~3{@zjz$#EUZ`tp1IEB#xwqNr|-(&92*Ep zDytEBVUH5xUUB%<@}}Yio|R!%0xV-k+XkG{!V6$Q(>PI2X-~IE7_*8(N?Jn#$YXP9`-TBL`@qem86wWVqlxyTkN zFY>L!h>etTRmzLcLk^R)10+R(li>j*k6;srx7|72zq}4&HE;(8Cr_RRpJpP0VHVJU zY_)z1uUl)_Wl#1HogQ+<+OU&y$hNF4;0tz;l~i^fk(!QD^rE=o;?%5H(LiH+-iW1{ z6*WdY+Yr3U4Yb)OHd^bYX2yJq<`ye^TZ>@z>4(AKJQ9jSSzaZ#;xA6Pr#rIdB7m!f^2hW&H zmWxb_cJ;-Ag2Xmy$$Cmz+_}I$RQwOeTjyMB_ylCt5@%A12;pW?HHUa}beUe$h4JHy zG?3i0RpJUV!}~!Vh4PaMPU269iuB?A@z%qGS@ea1u8o+w0|O`7bPehhOLInLM7;O_lkY<)V4=Pq zGR_Dyn$ZI#jF{g@qb_y3e%W%_#+wc40xHEPM)sX8Dlwd;L-N~As+uyHF3K(RgBKl6 zp1hBcW4I8o`Z|ChLt!pb*F9-^fZ&O|jtD)cDk{KukFY@CaykcfbgPMi#Fmad(c`Xi%o`m0JVot;q4 zfxvr&LM9*#%+vZ8H(YGpFFeBNJ%r%t$u=nkc5ARB!%SGgSYtZ|xRTiFMBUZy(R`)SazCpTQ$5WbMhT~~&;L{EKb$r^b>`tBl=I#G+= zOE4l2xOhawBHKNUyYAWqu1nrBp1<1g>Egan(R*}Gmu_)9GIxlF_kDZ(OQ(I|cy55g z?@I=#Tz+4U%HvV$HxO^RW4a%oQP@@luwXLEgE%H_*mu+N9a|37YbGSa$sat;OO*YH zeD7v07t~INxK{Sry~>haNO4&W#X}#iq1J~reHo6Jo#k|@+x>BMq#yGp#kktf;NNjf z#Ib=Vdf$wGOEj)Z+YZgXD6!kA^=p8s;N#y!Xn&5?e!p#gqp$t%pZ>*Z0q|Gg=PH|- zsS7Kph_kzp`ca{V`NNqgvtEw@tY#Z95$eo~s=NPUQm5irG8ZjJgNMzi9l=wIc#Q80 zxhYwDC1+bvT;`FII#;3Qjg1JtFQ!@03A_7>^oVx>(&RHXjf2EJ<({rTPyA7hY;jG+ zQUu*pgfz=fTs<_ZX~(oC2Tf!UXgKb;M@%#yIG16?Yr$ab^tt_}sRABd16@nVh7rqN zH^dPZk$Ysru&;eD-TRUMjn@ld&w#A=r4Z;$1IU5;s8>EJmqWNt>zGNz)>r*@skB#E z+L}J|;MTt0^-)o7hUXV=@L%EjNaz%ca^;BbH64&Le*G`*zW+>^|4;w!zaI0r{}$eS zMBwr!f9I2#w9M^ZhU^r+>W3^cA^}J9l&g9Ff9w4(9_fFQ8K7}2M-@>mXM9il^Gh-` zENCCFM**m)g?Gj?w?iE0>1;pVK1=_k{ZQ`$yZa~e9g3^w2VNZg1-L1ylbXtA>L2n? zq$RftF62SW=9)>0-d`g;AACFGo_;TQ|K8G;9O|^^1#Bml9aFZ)(V)z5m0JULasB$+ zF%`?v#pIhFhSsO0BrGq<+z#zRp(Xj7OQlGGrXLTIN8?Jvv4n_XV2|eBrttqo41Hnv z+nDJ;nEC$Mc=!*#z<|W+w+#C?M;u_E{?jA!z6NcndIb7jTFpyLLzuv=)hQbgc!CXF z$Gw`Q`7%Ow$V!loGKsgpSbg1gim;FPO5i|HkZ7uBd2h*>d7vq4uQ=B#@Ot&u?kcb*k>hIwSJT^<$Cv%F8{RencWW=_SE&ZER`KJuzZlmCVUCiVZBJyTExmIq z)A<9erE##1hP_{uVvS7JCNsD;LVLOX{&bhsqm38DO}5U6SL_u16r;6P>1Se8^Ci@C zYY12QCo;7)W<=ciT8>Y&1_}f>$cpQqt~PTu@31);i3gs#W1*bu^cKg`i2Dil#FAOP zjN?!YfC;-@pM>%3sqms5%Kj3yd@Un6+gRPpyVeA4!ATQh=*ZZ8MQQG(JfOOyPF7KM z*ytmljXzzjolG=S@xR6EaPoCu@6Dr0V5m99Bvw>N>&sI3<*KEKe5%Hhf_i`A|~mG!3o!AVOZx5;ObUd zo_s27%g+`6VsIf$L3I8n$bI>Y@{0bb=sBe%S~W-4w}|?RlL(q~p}DFB>s-2nPE!h= z%UPLNtI5#=1$PD#+bb5DJ*JPX8rz;uy6krnxCb4WjOU<(s1aWEG=)zZ)%l!_EJ-#8 za~BDslviy9dsg~O@`xeu(K-@^(xC#L(QbKl1sA!OId*5(?d+61?R#CuD|{9e$dgWz z+b9i%r&73}Xkn&$Wr!K~gYX8>X>L6sRskaF)Jq2}6kK7GA9 z>^7)x7*{_n9qZn&M0TuGG|FXYYbjaFRW=<|#hlF!67M`V{=Uybzsk(xG&DjlTwK$c zNRePIta_2mN?`nOOP?Ei*VG8>hn82mO?jJS!lTRza$R}hH8X9pjy2_4RD-Oo{k4Tk z<4ZE=i_`cLeHlk_#U4Y$JjILqc~@HFm{$afZl zGlB<39xIqw(&(0o>y@Of7E7K%j&y_|!bUV#-kJ(R#VYDlsdg|bU)%4=ck6xeZiT^8 zaOHjQY~Z=bqD#N8r>s;l zQgC;u=+IRl4DoGCs6(i)Ubu*jNNwVaTuGce#Eg+MyO{LyXiS+n-KLG{X5@|1`_aYu zsPEdE`E9@Ik{Tsnn}!3{-3yRF!QH-44>1qHA_W8AQgYI7(ZlH`pcC&41OceZYW$t> zk4C5P?44`=_esjpmmM4T5qI$2XAR}6SYU@ap6y*SOMNSPRT^F|G{5^C>H)lPMy*0} zk0+(^hcU?cWIDjO3~J%=^3NIWFT1s0hVH;WNpio9W2*isbyds#`>N(YIL-fVhL)|F zj6Z2RAYT8ro5FoJ(Ulv!)~&`GQqcYsEUwxO4Ta{G9z+4dQkuM4?(gm@LqR#bS8Uf8lUe4PqRfCQe+ z%L_dRvH>xIxXkVq0o=vEF){gfeEcu>uOMjaqjMD}8yaE|pnZiR?rF?jr@+TRzVq$n zftev#K7dnIv7d6a>;KDeoI4K75$XX!$;RLkQW-kCo~Jv6ia!gt-L?_m=!>9&2Xo*9^h zP9D3jB1PTr+W03lfa~2dY(#TBbG~DSp0>VNc@*tTq#>8=ez#9VQ%%HWm-zP9YWWR7 zEzo*d^zOvdt1%mg3KXMNsK88NA!$vMOejyQN=E)j*05f|sgsDvy|ikINB7dI5Y#T& ziWvX6)BM~3m!6R88Bb}9EfPU3u30>;Kehh&)v;f`mH)C}3`JgL$LUo=1xopRv&15&x4YA?s5#$qR%VxV zJE-Wx0BvjFmlH~aG2_~m!ND;XX7wVT z{^JJ%#ox;-P4K-X7%&|n1<*6N<2LZH6`4XJ!Wg=TN}iE&HIBhXG>Rm4lSX&H?XkJq zWvP2o603q^zl6K682*0r^%oJLD+SrCKKNYNm4HID_?^e-#+M-p;T-ip-8I* ztczJFORdk%G@9f}*a}Qbzf-%E3L*)2ez@1FfkCt~U2dI397w}09dFd@$Wfr+9Z&pK)h8M&se0$iW}De1i?jb~rrOW2Ss@<1C%2CG+E z0wHS!&=X#e+ns+_QUBlI_gVgHjdlOkY!G<=8U6Lq$>ULT?v7D&ci;D!VQm@%ZFI8R z7lZ`yTi9q+>rNAlS=aOd&CQ2TCQB!F?cVUlFd&h149XrK+$fS6FDP*)%ReC4lht$!+&Z+g(6x>>HzDVw+oG#N(pK>6szKDhY|-LCGt zMi5fuQ1q0PibcDk3|f^0zE?3k6=w2^S&moAcTQWUG<&QVbX%N4nk*0gmV0I&8Klor z7kYWroX)nxM$3M)i(>tp3+-WOwuX9ofjcwt%o{FMhxN7lD^aWUd;ssL$3|OM!AarV zHHELv?pFxSnA`OU&suL(PPSYLuLQ>cBbH5CDB8|M=#;-zhUWsVq1VpsC#dCAn_%vioHmegpr(GkEij09FyEY(_2IB#H#4JgZ@KE5Ho$v zXn{ffP=B|0@>U0UkIhhsse>(hv=*X_Ar|M(6vh-5_)81j`J9KSxh{0JZcYv#huXk@ zh6)!aR9Es;9T<^C6mi=r)4RN4pPl^7?sz0;cmz_k>u-IF89w#Nm?@t-Hqr37Per9R z#gz;7L}pl+iny6-8};6tK#{AR5R zRz$dPu^59fcy~@4M%swY^+mqG)P^blI*0D;UV$4aeZQa z6q=hm$dalj>9$iCtako-I#v*S0EgLT&PnEIKb}Z2SXWjOWijj@8;DnKiMYCcja#qx zfD`kCJ!Jvh^YFs){E12;Dz7WUtm(NSL(y?+wHQ-Z(sxjAT-CkZvkZ^E zf@5Wx<8B+*nS7tR%XXz;DVk(i^bBZ4%(x2cXpT0$r;$IH ze@HHn5n!fBTo(Xh)l9>asfDOw>XO^Kr&vFZRq|sXf{h3+d?fnn<(9K;dUscTM3LOC z-gHEjf3oWm4Q|9_&V@XZ^G{75pVrmsZO#dr6b6CwM8a)=ZbkJhxb`Z)~1(U zmnpCax6g)bAq#|?`X33;Uv61~N*eOhJSZ?shI;Rbq6HqF9tRdoQMRu`407 z2U(P<`P#xPOm<`mHYV9qN)h0;o&NSd&Ql)UBm?2m{cee~_|^!HX~s{<=#i;JyrB1u z+stQBpVuBB4wo!Qr2t9uORECYkBI9ahkBT8*7~J5iS^iK+*%`n161R z{>B3Oi^2AvPmaGg)Bal#&u@uqC5#?Fr;PE7g;GJ~DWXB*ut{qv7KFrf==zACP*v{) zo3?tUs{A!g3n)GQM|TrF>B$S))1-X}=jA}eBEoIF z96(^jV1_LC?Q^F6%r^!rO%t71X2R^85NKESv4#cgZcAV3t8N^4@65+=dZxugV>r+T z_m8J(n!6&2I%V?cOt`K$^PqWJG5q!Mz14gI+wdY>IxTp&@5R4k&iTjh^snZi=UD>% z9ll1SLQgNeG6^8JV3?F70L$3y6m28^nfQX6rrG3_TxvfWl9ECm9Q>b6=;NkpiC;qc z?~C?YEjefASzRK3!hcJ{ev0R5?&r^H(G&D)*<8`;^F>o7IOCbS(zeOwC~^C?S#GS< z0F850Ow6~~{;1;6`KV^Jt_Xy{1b}gGa zaF|j!-t0r_GN#g=no!Zo?N=O?!75LRg7Mi+EL0wnsD#Q`G+JRxj8VL{u;%i5=meL{ zo1tONEW)ekmdT_a(J&N0Ofa(*@wK`~UVTUOb46U6jr%C3Csjl#!&C+Vqfdi9ZmpP5fQ4h`B*=b?eeh^y(q?w*yon)14rPq1(I$qcwZF%Xcm7bzS z>yHISFS$=!uehU}iyq3nVCHUHz8<8jYjxdU^l-&#b1!i(5!dSsW~{)DeKk0C(9Rwg z8|HeWRhv|E#Ae+cUWJHHzbBs`^SVm+RDnspjE9{Q#g*q#K9aGoU}V32rlFPBl>(40 zm$=B^+b?7%$<@s|T|9g1#r$K6SL}==?R4OPWygfpSpnpOf;jEW?kh3VJ=9)sN6lU8 z{qe-E8`+x+%%&_cONsnCG%_24X7?m(2*;*-U>qssCwm1b$$By)R@u*^CQN?N9kgD%WLN2vRFy<2Z^;|H^yA!++MYO zGMZC2CYSo_i4S%t{R;B#6vbOkz52Qh24l+FLm#nhhL{e{5EkR?y`^cyY;lN(n2N?a zwWru~;orfjq`9VdcY_Nq&WBzZ)4@jVZnrlQJwNa2bRK;1$A3vT@Lyo{(Z7f})E~R= zVVcospEILC)#oqsbwajr-rL4pOm~$>T^;3WT1fbjnCvg2r2*8_(<$86$K1^kUk}2l z(JYLDmro(mL+`#-#ZJVdd}xzCMSjD`N9x}~!2(6b0(S26tyCrBdTZLR*vszFMh2t4 z++01cyw+x~C%8wen!lM*ZxZtX6+hm?GMcNXH`_fhWxqA}luk@_Y^5Giv_Zest!H*< zr`ypE5oJoB&`gUk;9lp3Gqlbl{g0`;Qj!nWf3R1CMbJ@t>(y-OhAu?OGCER83i!#~ z9f=wqdw|l$8_7R_KU&^;SBt3o33~1>$jZ7%0$^8av1B2&dLEyY9qm2EvM*k7ZG%mO zJs@MU5m8;&zk>Dhv2bLPR7#$uZZo32Wj|!A>a@2J+kisA2}#a-B=vK!;Ma- ztBXN$m(ERlE=hSn=K&7-Pf!5gTZNOae5D7s-US=q*RVfK=U}H?>nEmf;taazlqBfR z*D>CGNE=weL=QF;>dZG9VWSUU+Z_8;s-nfr>Kq|4oDmi*qTQqMv61vvBiU%pyUheK zd7G7}2z&it!YT6|>@`-vrdOX4HslJy=dFrKppiH6%iE?fuY(S|@=;W%EyBW&5q^*W zPeIpGCpKok7lo%Pc$-U`;o|r-E$cN$fmy2UYZ7#1kIIfvZ*teQr5Y-Sij2y>Qp|=0 zCyO#V9-gmb(ZiRa!`v0i2Dhdsg%m5UKb3WbXVbRzOFzsXUa7c&N*uDaQu%%tNs2a9 z<%*HIS2y*lqHB9){D`jIO`EWtEH2$;bI2`N+uL!Uj`n2FM}G)|KtD#@{BDVwF-8>? zZ1=@b$vTVKu~d^V%SZ3dCkwTSRtuM!2wrR(6KJ<_)V^^?KTJcEdvbKBTho3$m@5;9 zD@rhVoa)XReA(flY0H*G zKgew80Jkn+tSKfSBAB$$eKxXs_O1RyaS+6Ly;5+wT}V?GV+zxk8P=H3-9^3$RE=6Q z_j+P7^GNdvN}1|4zCt=gv-rr_BT8E7g&jq0_E?d`_65NP4>f!kpP!*3i!}FXrcJ^` z2kEnb4>m45(+lEc9A$1e{u?Oe$%<6$7mx2$P->h|`&?bpv5tFki!2E{It2hIMQ9%Qz_PQRV*GvU+be(l1yAH zZ?CnrPIFSiwg1x&|ZHDi_aelAW#PnXTZxqv%M8JSIDD;F-ns z`YSJMDGr9YZ#*^zA;s-%@m&E&a~oUUS42MEvXtE0dqgamUng@t7 zv3RwnLtwHCR`TfRZ7`HKV}|pVO=aH<=}P?mS1<`aSN+S5#p`41Pp~bKRE!K!272Nc zcU0&J(>I2GOxKPO8?6At1NR8Vm+3a&3wFQ5>1VGjBT+NZ<|ivkqXrLp!@4`Ty4DeQ=QNGbnnieve| zFIg`mjO#291qyzx#x0=DSf@<%H>a78BZM~->x_uzI#6cddJqS&gJZeB(1ULY*MSMi zaoAV^vez7FNp`d^hr6-tDk3qEUbumZK0h{Hd!$s6Ln%SFCU#)4(#SX{IO_2V8TBGF z88$9>r&cdhYu0Q`K!Ud^KfOc#n|L6?s{G9*$GQ-uV=s;-1H4^12Pw8VUJj~goq8a6 zLq-4V?#F)>$gBGf`6Nh?n$;`Z;P48N=?qmOvlP--7@ld^O&ERS;k|CNXyG4`tZa{ZD)u-kL4K}*qV|oGAkaJ8=xC^z79QRr;>PnT-WM>-=CZyc)6e)( zsTvCn;=9&vo2v_WW-;bKURENm8o6XryvsX53QW6ZQFl*P>mPO>6DX{K11{8JzfQ#S z?hlnar%hiv)Zm;t{=DG|GVyPiEg+m9ap#;jH>}QNP zx}kt(bzo5Q{Tjg;OWxiTDHxMAm896-&4Ou94!a9^P^bKDx%P5XJry>h6+s>LL{6p- zStYuXtiW#h!ab~W>y~56kmQ{_@Wza^fwoYEot;~4KnY3o z@TZ3|>wV3A0nD^`qm(Q^RE=i}D!bByF8dP&lFj*m#BY;(9$UHo<*RwxYD7(=fhj88 zD1W^N<_n-*#Dp>MXY@{=)6m3u5?8l%(rBSgk*zS8-(2!B)IcG5gy34Wiah5Itxk z=Ra9g!0nAs$e7*Gzlw7DA-fo3j><$vC+QZ@Zbb^v9}l^Miw zMy^5Z+uagJ_=m_%(??h3DnL%H4k;^BZiXy}y&k>vwDFp;^zsTFr^<9+mR#EDT{Ah= zl1i5qttX0-^P1jILK-8e^(ufYV*^mzkd35@d&J|5O@^y;Epz^t{&V;6FI?#M1^=)*mgAR>zd2pZxCrSKcpmQEL( znvQwMlqI=q0($UV*Uo+Hi-#_j=>UPQNfKPV-KS{Hb+27@KBbqNYH zI?f6vu!doL5Ed$rl@7V@t|@JrJ(=nBz&b{~Lf4QzTvYS3i!xEVkb#IS1O^Pu z#wuM-P-DJgcjh;0HiQ<nRvqxi5cyOP>V=Iih#4J|ZZ92(_h6@=#|Bs! zkc)r>up$Q;t@-08=qeBly8c>yB(cjJ!9qNth+B4L6bF(iuDJu?XYSVReMe_a;kezo z<1>h45B@Ycw4zu0^RV*MJjH_Myp(f^5jH82P)QE}wDIXK!0CnZ{sg7a?;?GIDIzR_ z7z^wv0UwC*S1#k63!j;Pv>h?Is&w4ZW@uGJXxOiNayKT^3>2!4b}Lq#(KK}q)0aLp zVdD^tM)!eSoLeuN9cM&MHfN{vyge^FpuQk{P8MX~rs)pl_prw@VTTI|0+&CR%Er2? z+t!UIoppVP^8FBj9S_Ux%z3>& zI5R^#$pb^Yyhs|u-$o;5C|a$qe;?nMvQ96!9i1`JCp!BK6ZeJdc7ST;hjU*dlh2cl z);6QYKIpX5ID;KK%S*pscxOcC#Fvy;HSakTWgnqrJ|PJ6C0@WB2H<$*rIKBF3ymC1 zGsT1?OHpU9Y`2|reUurTbaPEgnjYx!C>OU5c74N-x6`OPnsdV%wvOOjnycYJ0>ioi zJx0TiFCc!bpHdFN7MXygNLTGANaDu3n!csu045Jwn3k8{WE+-+5Hgv4>Zbh5TD9Dq zp#=tbtHN<>5Mqegu{``TgufX;DKqEqLBRPtFtYdMZWR8TJQn?|yDE!sMi!0EeSxdO zZnewfZzCo5kw@o&opcOfaO_h;1*2N+6^~hRZF}Xo)D4oukWF*T9zoa$i4T zoDU!itkub0bCz_h5sp$hT?|tIZlaHdEMe|D?e4;NF(XOnD}`nK6q`)1P4+-uf~dJG zWjdZLZIhNGQ>1V%8?DG*d-=_zIB50-OZ5=tF5KfDBoLt~sB&C`j6otK7hR+sVWnxQ-<625KS82Y z9;CyWiiWC#7s2YIXdBVH*m7CY==UHD6LQ&jWJ1|e0tuo^ZRD8V5ZV^-xUpL9?|L<;Ql z@R;)KT^nodWEli@>3!u!J_>Cu;7@V=e3G9Jt>wSa{J&p3v}jOBpk}#tgH=IKU_&F;g8f=RiMOcW|~hH z&@+d*=Iee_FAstzKYV(m?jHRCaD#YIoQ->36g!54Jm@tE(yEh2{K(9n+a}(G0BZ-K zF^gJ*lUdYyYiw^8^6rW=3(g$nuwfC=-0N^gEjee5y;2lEyktu2g;xSK#Zq;>GiWkf zd#=mtYs)1HN^i9(I3ePzL+&Gd8Ml_Bx+~A1hG~?T)jP5~(z1;E8&D-lY+vI6mi?OP zVKMMW%_(l7e!2>}Zg2+rXw}AaOuIFvsE|$4~l-(T9W}W%b!bY|Gqi=e@mm#bnU-y8DSy}Jp7Pmcfdg|KpZV?J$ zBMsfIi|0PPdehP7x$8cbPdGcgxF@K`6mHn0%eoJ-?OWI-YTU2Ete~L&nZZ}BHEYYF zjCg{zUVkDN@b#VdbQ^hFnk&*#lBt<4Ojy)&Bl~JVKBH>l zBvKu|>gt+oaPNT4mrHwT{Z{#jpJ8&cbB?f-AxSybU<&~p&VABc$^7SeBvD^kA-ttsAqFaD5 z2m;KyzAJa5soq+uDh7;oMO<0IipuoIAB8m2dlu!QFJER@Q@w0@7b?7H5X=VsTL1Pb z9q8kZUO;Od?8Lr}hVuDT%22?B8q>q<`>>r7nf^-)k9Mx&eO`ZBr2GbrW#+hTvzaA?s z9aze$%yQg8d`Ggpz;3u|j_z1=$}$o1JWJGF7EF{f=b$vFF-cH0E=dH+k-Q{}7Utqz7(DmqS(P1Tbw zAQBQfaK@naz-2g|Y zO3tmVOp7nq;JjPr(dFi2dl$0LwF#zJJD`V$5PNfVq?{=xGAyHScT}CTv1te$17Iwe z02fK(2R9gzL<&&wj3xOtj1(#-QLdO<6XMZX#2CW2n@!ql&}tK3yAqsd_`X)0)~neUfhTJcro?kboBH`x3`u`Kgs58F%QZVU1RhTT&=FJOJC)ed0gzwlqNr=k|9L; zG4WD&3AWGIks+tRqD=N~vhieK#!^HIy52vNM>Mxr)ZU9@dEDcb$rXWYiSCJwlA%5w zCOtq2o9+95u7s8PJFBwa-$&iHHdl+iCGH!=(jn-i(eC1YSl!*dS~T~y9hX8O@$XI_ z_74UAb|Te^N;LLFp^KQMajV+ z0u&!G5A?5@v5`afXChIy;(nV3dA+m{o{-h%bUwp&HquiSOfyZ)>A$OLs--xo5%k)`uVGY61*Dc~cT z>-q5#3vAhQ{w2c&&>sJH%fg1jXP*f*RNtWw9WpuXBI9wi4pZSWKHJi+#??b-4`Z7w; z_?JS3+wh;G%>X*b_bG<&|5Oh8T>$ylViAA@_{9bIC4BjZ3F+a_px=h0->01alQ!mW ze&s))&-};Kn}7UF5_5>!$fHx{-W{Cq;OvFt@9=)|jN}G8^FVAsOC41cYU|eR!jT{G3=#%Tg> zE)a1ZiI%t;#S&*Lw208xWaWgv1lE2mDdb@{|yAsf5EQ*tGM%LXGod-Yj>XBWs*Z# zWop5$$>259#*!irlqtW7k#G_+fTnIgnd!gU<@n?Kb>U&P50iN@TR$QyWw_tU>h5b% z#q<>~vKZKc82oT}|$CSCZ%l*7RbHoI2OiiypFoBNwzu5q4Wm=9M!U9<`n zZ@gU-iyv6<|9--k1hV5_xe)LbM_h)@3m%;7Ei7D=zTBbe(x)CN$+u|7O+f_Wxr;~1 z)(5=dKp^)Wh~`?xd`r4Yrw#-yz8;fS=3fj9)qip+^Uf;ZTG6eB=4F!{6Vu26N)^}j z`UIBc$mPA;?g(H-Sbj5`~|3MrCgb9OlZ?Q8dK52LWzGy z$Lo;GX6~xv8f-M3S{&9)dQFx@3|+tMAV--VDan21nzRI2F?Ao(SM2VtD0IAtq&v>xe4h58UR@o|FH0&oZFNo3shj?)LtJO7cr{PU20nBuy0EDM)6w< z*()#}$9}BIpE8{pTa~RZ@03CFprgH?+go`JnxdjT*-SR^#*Zz4c6a2dF7r5}I%J~S znQ+_;w0!ySuk5;vI6151y!`hon_@()d>@SZcXC*Q7rMQk*v}_M936)o33}{c=7=&$ zEW{ch?#`-Th^5U|zW+{(X5a(cuHdED6VK7Ig=lG}ODUvYLPfRGXGRe8)1zfblJ@RO ze<58`j8f7OqVOc&(y*BbhILTA076tC=j^}gYTbxDV&MS_N}uPBdB(=~B+fPYB@2Ec z`9ynG06%Q2HPJwP_dtfhp(}@M?`&`-nb%i>Rwq=n~F-i%# zTh*k`M_h41>R|kaxzTkbWmn7Mf`C(YF-0Y&L`{SF(I33k1fRNmtK8pzEV zAzWDi5f8=WzYn7KmHM^a(tR6M z8!JWvp(MYSzGT`LWv2J_s1=%e3?=ydT5Vt0@r7)d@!H(p2E{1`iPC%uGO#)4TFH31 zx#|h`^l{<|SnIQCrgB{DsdZg#oZ%uQoMl&p^Biwx z##X(HVdRH4EeRolln8^nyUlY-b_3jaipg%S|Cx3wT)5RS4Kz^WMWNAbpUxfk1Jf<* z`zsf*YQ*PPp{E_c3YwbjUW`DD9iRYQ8kG>hS7()~Eh;r!gFHLu%_rEUqH0g?2M*;y zT1pZZQoJFT_+7~K3(V}b8>6vTY-qJmNnk7EnH|ePz1rZ(*+>(_nx=?2zK2FurFfV* zHK00?a+@2ieA9(n7vr}ene$A4y8L$4Q;!O!s?FIvSAsC2W-UsFF~=}QGW`nmn@=*8 zf<*!(SDq=>2o5iH+OJPo#4E&8I3A~?HXuP>Lf?w@M5Z)sFWqmQj;uMyXdudI4Y-69 zTosTT6I08jwYU{~ux>oP)wvYGv+Y76E+=?Mf){O4BATz3->Flqg%K1jCnvSFp0k$t zi@F2=Ti87U=xpuIW?q!3My^9dmIsiC(@%|f$SVw5}y67h%wp`kF`NL}Nv0UG5 z5pdfi3xj_z_K_`IUun<%Xf7L9e6*EmPG1qQ<985aa}dWFGhLrF^09+$Jb3MX*-sDy zL87{1kRw^=kmu5~z?_u*>Bh6+0^Ls}pvJR!_ou^|d$_BQN0*^H-IqkY-ch}>aHtbd zkYxU9dNqwX|B5*+#QUTEbG!JEX-Dy)&2_9l{i}j+`IChS<#18xE<|imlA+XcL=Nyg zs`U^zvCeVfcu`ya`=mD(sENL^f<}fkzo!wJtHN$F7C^ z!*>S_W;{r9LZ1Zl+3RY*;gAAP#Y6sBv=pO2@&kb%H$Y@7ALG{xEebZ-b}bCTXT?@5 zXi}+eg<%u!x{J7v^)+0`3S7A+4h}JvguwL>WsHV!eKS6rLL>xQoGX zSiU{#bqYg6?yu|>K@-)nPvr=sdC%2Z#Kw3c(#%OKo?cVMs&s z`P`}4$+?p9QT8JDR<}tP`{s({ZbQe~=WP_O3`-LDV(R`O_F&;p?GMQ$M_#{UX&B3W zG_4&nd?f$S*GyVXQ!c+~qxh(gt+r@Twl%5Km?M`XSMU(}p_C6VPUN$}xfP=+Wy)0wl zXxg~tkG-WCFh}A$j`3?UgiG~4Ig7!Zz?b6AU8g+@VbiOOzf{Jdh!bP{&cbt(i}p+Y zRJP-HFeL_D>+u8~a#bb4Lhf!SawCC&I3j`PAms7;5@Y*=kd=PGP1F(!lt})%_o?=p zn%hV!Uy_vpmG}@gdi-_nJX6;_bel=XHhl;Yv+9zcU4a*Q|w zh-0A85to83R!fWoqh+X(I!Q!>M(|D}s?HB$;tm&2GB$tEa{5Lx?s=j6CXjMFCDZNp zwIh!xfH{qIpk4JENs3%_V!>_j?P(vQ&2@CV>0MNx37z}Qvhw_u)2GLH*6_z|5A)8n z&vUoO>dtaZ?K##Jcoqmn@pnVMpT-JryygOA*E^c8{FWWR9#cKIk# zo%u$HWyTQ96N?8bd>j2_8h?yo{|7w(zi;>bmomaXtJTqrBfP?^p>~3a%pyt!^-_y; z=Atd2PEtTH_e{EB_G=@v?^*F@K;=Od%i&*Zg7Il%F&HKpUw^E)EFtF6&c*lvTTJ`z zO(UsWKFE%H1L8k-!(onb>au83d3B4zSJu96RwjKO9CQANXS*P-y#?;?MTbvKsSiTa z+N{NvS3ecoaJ_KS;YoqzL9R7)FMnxH>J0`Ql<7URv2VxM20C-ioK5bx`v#p^N<1B3&^;9e z$${{~{-*R#vK6$vpcrLmzOE(h5iV1f9)*ZNB3}a3n)1#`v(4PS=RZN}*BE`r?Jh-l zB<_vHAMTKOm=EA=V)fZCXU!yw%^ex6th*}XX;`*2hndMw^lRBI3fqJvz`Z26{n67g#2{?(yUS0UZ-`s}VtD!k zwTT0SgQ$pthzio9(v*OJ zfOH}tT|jD-DheXK_YxGOL!?U=0g)Q%ogh_uC-fG2O{gJ+c-C+B>^MzqC7rTWsyyXsew-Hgo4t{4n@#NR>?Py>*<$IReTo0=!x!ZLWYqNEfFcM4hIWm* zJiTMkIOAS=Jm>$e(?Y8U{F>U6JB%bUquzvW8T5jT>Xdde*#H-L6O4+gi;>LSV4B2$URI2YJ>_2l}8iY=jE zui?I!*^pVbo`FUe(j6=e;m>2kM;~J4R4`M@=GGdw0<7Vj4hf19RLjSgn@;e?XWV$h zmhY^Fo!3)H-)qb+(@ZQmoLr~M@vgZ>>hwP4HF40d#L&1y!;Zc@|DM3_?SDX|LHN`A zlHpM8ly94&*>l%(R*tSEh?&iIX;9_O+-NGIp(DJ)PA`H3W&ZMhdWYR9*{Z!wx%aNs zNNwAY+?sGdpsDS^skH$)wSBy&9g@?Ck4$ zA@5kwN(vzV=f0NbnNkYaIxi7pN&o!CPKVeH*jgZWP>t5epxCM5d93>={JOuW$-2LO z)KZ5}pOo3#nzIo(N&DSR=w8;e)YbEMDGc^zK0cx2FLSk{qsbu;8SV!Dy6ASfi5}l| z#?9HPxup5&N9k|p{S98noFlGT#5I69Gl4nFajYB)Y17S;@wV@jVW-h(5a(fU7&&65 zHt6S*f1dux?mMFjyJS3~wPsf$yw)_sp9SX;(ZswtB1@5Mi))%LWKMXUoAivaK@-I_|e>nW-y~n@MWB=u^za|n2e9rznxbGhp z&P*$8?tqkA1)DR4%iwiQ8EfQo-&`W^uZWr(-Fw)jcy)VYIp)4%qW+c8YeIs}AUBST zk4=vF54imM2f~QUH6APGjU7*qXvxv%2c6$NMOK=g;8T&F{qok7A}Y@mHccF00D!NE4)C4IBx5OIeHAVTk%zwov!r6;dSltLWCxs|uA+2hScpQ{ z>Q-uMR|o3p#Y}1^7cQ!i8WOjIERjbb`{(jn$xwwIck7fblT4TuT|z?Hb~uAB&krDK zET22pOKLpbx9czqs4f)ozVdj!1)4CYiWE}DeH7#qs;bT7+D789>lCjS19rmk{7c;1 zxflT0_Nty^B5zA^Uj75hE}6~&@5sg)k|qz0mskVy$GD+Gj09Mtof&;H8x8wT*H%srKH_aYy9Nq`M!sOuaoZi=qKC_n#?+ z3xCP0>7d_)&KmK5=QI)|FROx0H3{O-+cwCTr%4&0(Gi^>^9Z$Gc`??HzoG7H=Zg$T zC7Lg=tQ-rs$qaXP{w&j1N+#=v*I4CRb*c>;C6*+A7-qNqLLboCH_?n9YO)cZj1n6) z#?R#H`^g2~w|+Pu2lGZ8a=^T@eBE%Y(G!*Ro|O+eVc@!?gBQT$Xr6t`R7qYcmyf5= z|H0|zDd)>Am3ge?cznXj6n6*slJ%LkPvXdTXsdHQ47yhW18YNui%WJK%ZhXk$!fc@8%VM`A5Q^gpR;jNKm+0Tkrbf`4mQ^4A^vk1m*h>yKu%i(EoofB%;f zaPvlUEB=~&90_k!y`l54gJ<7eLGfl>h2A7e#e}Zd*Jb$YEd3`7&XL2L&wVQh0gv1K z+|h`w%$rhXOBddx;EEUhrBWSck514^Xz-M1Wh572EdGy^2^I~{%c2d->v)%1dFQj-GvnT|4>e?XXd z1BZ`rOJume_(SQE_$j;iwDZCjy_A8ox`FJ069u$;rsjB>V|grpNUulJqYTX(bB|~e zU8sLRcOTB-|A4HpKE=Mr>|#hAWuL+xcmsh-MoTWE>?AW|-U$m1kzxgI!*HfTt`G~i zBBR)gaiuZ_mS_95R{{rbN`LYz#I7An4%h2lnYAKuj!-D)jvv~h+Jy#EqxM4alq*~~{i2dJe>)w;Iw@5z%eEPs= z012W4|1XI{fA9Tk9$J>Ih~ZiIC>Ou4#yd3rK8hh&b)PLFDdDoD%E6c1rufPcHj&mQi zda@l<*H~VP=x@xBbls@azXE-%U@`5P-6~pMT>QP*QmWs*$Z3FC2>g`XoJ5D+3zJgG z$7ky#X^-Zj&RP4@jPcsux7y_jy{NF+ z=_m#3_J+0YG0Epo_B@Jl{1MmDs~QPnxao~fifGr%6=9Iu$b1#I!tmUL&CLeA9P14! zc0G_8YHTVSu}e94ksa*1wp_K5gEift?IhdGH%x;PGIOD``Fptz}AU zm3c$T>QT1M?UeRb_TKR3>WlQC=!D}PXEVW=Hm;@Ow-f!34Qg#Z7IK^-D+$2l+_*E~ zzq5?~)!#th%%sA=bC)x00VENpQMB`xBr7_9w8u~SXeDYs>4*@H_eq9gQ}9qypgR~( z3&x{WSYrB^`fgDuktM`0-|)H!mN!jHAkZxS0iA+2P)A!dqyR`)^V{4|XKnq`Bckl* zksdP*-PM)eIg(-{ASA5CeOJszu6sX=xL)|faPl|CxoEiHriA%r_WS91Hg#Mj{V96q zjTl8TC#u4GFT8J6q``uHEwHFix7l|s7^R;_d6FM+sNM_o0#AtHoKK z-otB3bv`QQ^}6pO7ZN7c7zrOtUSS71{2z`r*yULf67!_n8=Bnlvt@a&(w^rr;uDgb0;Ou7G5uc81rj-OWFXap{ zM;CMleUu6QuDucww{D}FnlCnDSd}#ADhzAMUgD10hc3AQBsV|!QQ>aEQp;Pj(A5?F z(p^hNR-@{;sV*6t9e-eAD*%AQ4W|qL3(PCfzxOc(22q3M<*~NJ3BaGF!CP+%<2IdG zU$4d>V;91}I&(~XaAEJ0ov2iGzl3kZkyPe}ak1{t3PXtUP7rz=3VYqGp6k@w|P8;}j567_Dm1u)^+s7`=KTklbisvVFdSKVJ)r=zgeolC_I!-Gx5Q zhb%)W{Rbr~qkA;z0ZPhyIkB^6cR8AUkXHc8$HoyC0Bp`jH3%;K4qW%Z^>IBO%uLiH zWSf=lK9=6v#7+?CNR&2{yT0GK$xK2zStX03zXQ;;@fv_#{twIezc$N2r}tML+rJXU z_BUjpg0u=5`>He7B_8z9p2#ALNDQP-)Mlka z_#K%@;U3sIS2A1=K|0$pb$UO=6|*=i!OAXI9^BGR7P|Q1!rhbRO-*MY-ounLtbMFx zPm5RwhK00fe=SyrCojM$q3`Ce5XJW0qI4fsBe@uiR8e&wP#Zy(V(e!-iMvk@kvV`v z>-C@iP{b}IW&yRjGJC?h>gSxHssOe>;=aI%{zY&btlwYYJl>xkAK&Ga(<&OWo5}5# z`i}Rkm1~83@+xdZ_yxr(e+2aHUg*@5(*{u&8)UNtPxWLT`z(hf^dTiO^9V`TanN3gHS> z@jVznQEN>nR^r>rmJ3d#eLIKVltVjF%z3JrTNIb_xydX*{lS#n0iO&Z8;D9+nniH9 zC}0*7yz@2r^uYF4r7eN9{Db>^!KM}9*-wfN&Vk)S(t+majxQxVz@e`&b1~zIDbe!+s@UD#Gi9_h*?S9NY@KW!N5L@%yj~~SGS*Tx^Sn1?~cb5kr-CF2d}Gs2<;QdOI6}8|B#NoQ zfqTa1J!&=-e10V*DcvjyUXvTUWa`jxb|JQjCvypfD0zJS#|v)`E&k10(Bd~efE4t|c|P*XKEt9d;wH_K^KJikwKjWf zo}wB9Q@D2-k{s;7Gz zaav392gF)Ju7lqx)=U_7#q-IM9=^(T_|fr;z;t|0bId(%&O_qF@io?fy?7VB%D36% z>1FCQhZ~Wt^JPjcb}U6HX&xz~fpN$A-CTZ&WMH0qm%tdBFrHN*N1LH>!~vWZC_jB`rQ5R;K^||?d|5JgWQ!LP7n4_Lva-NQZCkz zvjUr=kk&a$EIeqCJGjD7S~QZr`V;NIS^wo#qDslPhOW`H+0|X|7kO78vM=$XEznYP zNExP60_Q^1Cs;4Q=Qk9Uft0|vTc*06e`O4`BFMJmT2ojXU=N2kwbqO*N7cAijR+6P zry6;}dk6oc^Yi}`9{(RzW&hRgUlhHe0nyie5jJUs%DXLYVOPS*als{ zXNcOFIoK-b-TM$(qT0q0>ko2G8>aM*R2#m9^5mes ztBj%?N>+1<&H@519gqk{jhqdGv?8BcE^Zq6+qq$R{TUHmv#&C#U_&Nk_}nF9hqe^^ z58jC_|!vv)JL1u z{W>?!CyNkHo72oZCld&@YLJ;pl29zbJB3*wS58=}5&m3OBbw~!KgN|p7&+8|282eSzglLyY zbHZ^EJW!(tQ~x55Eb9x{>1XCDBqf-ul2`THS})RmEkC+Pz_X#`5ws0upL2k zBRjVl2lksOtZ#N%x!W9biw;=x9Ybh^*gnLc5BoVQ`aw{m{w$tCS|d}fXOHIQA(a-N zE-2@f+q1+%r+!OstxS^W@S6{FqNVwkb>C#Qb_Rp6iiVArVi?C^b(JpP$uY(6N-5fD ztRkvvmO1{`KI6Rv-4wVn>Axe3@q|d1VqG~WlY9+`pE3gQ-yeSb0X0&PqE%0oexde7*Wt%E zs{YcKo5Flw16T?J3~*O^vidb*258nF<6R8KI7f<2 zum-A2?qO7^3D>U^?SD7_>hpaj5q?lE;l>V|PuQ!Dm5KXQD&}3I|3hb`GVZ{AhQR*| zN=MXMqPacs{$$JcZtXjovM1CnLR2?9fjdqex7KDX`s+oGqzwAUb5RbmszrFy8U^{_ zTkZq)9~D?saM7ciyPYcK)fqC{$_r79&VsF=D@zSJ9Z*Us%_WDMCR)VdpRQ(A;@dIPUUVys(JM+=HLBO({HJ+GNJp&bhYAGwL=S&xPFXAo#@+u$ zpfo_B!2GI`I5$u#8rCpe*$egf;>#hN4O6kozMWM7#Y`95k9sIs`XN?HTJki(YRPK& zxV+eMYHifaN&Fo<-H`-?$OE`2&mRzEx_|A5uQWc@26KPPZCMVj9i_Hy^krFVG)wBE zP;PYwkjwxh`PJ*|??42^AQw7yiL_kl*|P zO};GK?Qs#=JcEb<2t0FzJGtI*4X~q|7ir+pZ(C%kEgIWfEppUveeK*kCw!jtI3)^I zH&YC6#!pdZOnL6Ici_KBtbNyAh7Ch$NDuHyZKMZPLr0v|H&n~$_Xi7oLtnm5lx~#T$KqEb~n|r+S@E1QDzife(Y z#*2hl>#f=?Cws^>)s#GgB;lM~AfqASONKCRJZ_;-B=$gP_Bl~N<-brX(yH{Ioj(T|wnrT4!>+2m~BMq-%DgfbwnmI~ik*XU&O!hWx0C%i6e zV6l1g<4hHii$vPkSShF*ua+|am2 z^F&U%>r`owf5~Q|iOW;y6)rbDDly54igx<Pw8m_YE2^r7)!BA+6SNf_6_qfi!jrzXI9GHPw!g~ecI^Gy{RuM_ zP}&|Q{J2kRO7qj>`n2-*&2hW0>2T6+t1nYN$Fp$SWdC0DEu=O{a5K58u8Ow#O`vF> zXLh^O5IfLf{du~>@sat9UHopr`~%bHA2q904{3rj9*+B}WY5oToyd7qr}5P4suxz= zO3zYSGvfY0qMF=H(Piok<4*7&{iggi=u-=uth21RS^s6htqE)2ry~{fA^z7gm9YmZ zjN>I2WKL$}cvi4}SI9I=g*Vjb?i{5I%vPb#Due((i-O#Q*Kf}{hF2?(y|WElGfBg2734W|l|J68mk}Uo#S%&2ItLVYG!yT{u zNx%7+bxek4+`ieGe1^K4O1+22-Xxp!B0L%<_>_K~vH4B%Y$4`|gK%`|FZS z1PbjGNYwRBPZkxH#No$fX~Eh-AFpg)LB=)6W0TtHQ^sbPID?Y(ubzHX@9MsBg@X4w zOiaop{CMxe2H`jkOWJ#myGZT8S5xycA-r@y+@2*L+V&Fm?rPQj{ajVw4!OA9dQP|T6QVy*d}B82#=7$X|}1uJLm<8dvQ3PV5dYubhr%{l4h_cCPUZqyHhx z%7nE%Q*ETUXvL>p-}8;~1Tt~$;tvW&^6-85r(=C@M6@fAK*?VFQB%^@`G>2m+_Ht? z-Gu=E$`y33zSx%*ora20LeXV@N*zePNdmKuDh%Pn=YKFSLxR+$iD`&dk#>)E8jXe&jG7HeF@Cc)=ua}U zdq3FR|4fkAXHs^exPpq<36ApR7e+HhZOs^~HQ6LzlZtjqbm`*W^g#GdSDUetH+){hSQWyu!8SV%D?S-> zj4Lmvkd#L!LoKwn2-lAmpch0Y-;5%CCE0IL;m*GacvHyHm6G;jGEZ#2;5$ot3h+&a zpvmfy+j0@pUSw$)G`9osA}mj;V?ys0zt_fri~)k$^hx4X%^9_nb1!e-y}Y@ey3US0 zdXwJyNjX*t7UI{t2{_V-*j>_9$fFSq7{T{NxH@Jgz@_S?4p{Ru@NLS*%Pz1&O>b=x zW=#AlXjbH}`Jo-j-Z{LeWniV;8gA6-n5S~3Hhfki@g$x4d-l~k0n-H?tV!vSmv8TG z#0?%~RIZKWMipvK7a)e$hTaG!v)#G*^KomQ9dnucX`|~VwAu7FuhiRnBPHMH4Z=$n zQp;jLjAn_6v#Mq|4W_Yph5TDvV5cdM)`8GEyYr?jn_T5`L*=r2^I$!3aJ#9B=Uyw} z_8jwgku;T?XO8C3Ly51SkRMkkkg8Ny^MC-@rgMF_k+- zY?`*pv6rlKV9x}DlP5jnGbPpLks=N7BeFo}wVDp7WM2T9lsAz*wEF3u9XHFWH(B_T z%$yjQDj_=BR*k0LWPallmh9A8{8^24)M%5VS`^O4c)yTQfAs z*?k*nQQfa_`V53Y+IHXJ_2LDQH#r%v0d`6^M@Xpqz=CPgq!i3(&lNp)iJzm0_O=^u zCx|A$=zvPk;APO)!x8!HkjH6k5We_AS>syBktw$G=hi&4l$M_}fC8rqZ@pHQEj9m) z(0_DgV9;sLWMk2Ro(xMGX=mfEW1QIG&6V4|uc$|+OBNRZB2U2x^MCN>coNfuauR8u zWOV!V@mbC>i@n&fHJW>PPGkVYYD`y?qC4LY10e9sRtp)(*X` z`q}qL^k9eU|C_Wy7R9UIp`3PZ*S6R--Cal>e~53#5o>8vOxDtbT0Q52-w^ z+HXW?)OY`MOQhNK?NRGVJVvFCou*`f@Oc(Xlb4fzC{}qVQtDBhIAcnB_pfYKtVPR8 zVa5v&3i@}~H0y(b`Mt|@O$>`0Ro-3nI((Zz~kBcsEN4!5OEvCWp6W?+g zJQ5LA>UPpl(hFm$d19sObrrnjUllT<4 zgCPch0_YVq!8;*UcNzW8H{A3rrpzD0(An`k%(vgo9OL%pLfGZ~vrn zHjTV~vLBPi``n0nE+)VOXWuNhsm`zHoQZmt>!I$!6SGx;e`joY*j*>{9Ks`-3#1Rc(% z5w1ooStMpIK(8w-I?z;vu^}Zj#oTAy+iu$pun7JlLV6k~bKVhVC2eP?ezJDg@isK#5&h$nIuxEe=|eY`PS0pOS8~L|DXNa|iLqg0Vn-d( z7#~pPAo0cQe1uBu{Fca;2?f57t=NMtZs|RyDn*-KGIXDv*PG&EdJZ8l@|dpCC6CBh zS7vkTQ4G`1X3v!{bGF4_voSzIZEE4G*1Sy*ef<+kx7#<%IEFs=+z;IU$<7|rXQ}<2 z{px6A-s7X%v5;1a+6rzJv-F32nS4#&4(kJhn~(t+Fh2E6r@4yI^liB@%|3}{G?N=D zn$P)^d+rCkWf==5k^qUUzd4|YB#4CP_Asidm>O&Ln&?HiS!?I1cm0~2eBzy;;JCwb zQ@K$~1ss3`CK8{z7NDoZBoeWUL^u6%i=K(}>Ad*6cUhuY|{gf~38@$oAzyLc3T%i@pWM7ER&yPb6>=xw59 zA^ypTW~MSNeQnGbag0~sD{Un0mQh}7W>^zD4i=`PGCDr6O3AB z%?50vtl)=qNa?>MknC-6fH1OuyYLN9k@NT5-0@GZows@SDc^9ai%%IG4b_9?Jr6po zWGKs{GN2W6GizNzERGW8Y>wFn+>zZ5ORdf@+HUJ zZ0-2jK=l!=6<{ArwM^G9nuTG{P#q#Iwm2uy3Rnh?Q6ozNDQ z{-n|(q{X{RV_|(O5=GhOR8?ly#({N8+Bas;%dZg2AXXLbfJ?r8OEl32J2QRYkgVvA z8F0d~7DwL9+A{b#xL6&BHci32ti&Fwhw`!CQqFEDvt;}Oa&tnQM7fw!RcKzBpEa^( zd(>DR&g@)B*RWsY|CS}T?Ixuj=ELaGMtG#jqhi%RAXqlUD|Pu)<`zu=X{bYI%|W-= zPr_;pCCw}AfD7y#ROX01=Vt6uxfek(y`l$=L3&^*+9jd%-NKEEBITn$RX;)NlUUs? zKP#PRcrM@S7m`xQ_T?NG&bQ;;Jxqms4(Uo^d=pvtPepq%qjq4;6f$LO^wPN9>;0%b{!>pv0(CAGwh-k(cBpg|Nk5gI}3Jgl)th@T)Tk=0p8oOBUE5^!K>YB%GJiT2B87r-{ zf=1QI0s!TB5uEy^@W_)~=sgw6jBW4Cmh!X#q_rB07j1Or_K!`?T7bC)`zCwQeK6-n zLj{(s$sNtev|@Ay#vin8ZFCa=#HKlf z?sqXG6!kCC9??06gYaidG~0oTtgb!q1)uMO_S1aF9=%mXejsjNFPTpP+m$%YDF5re zs(3rWy77wI*r{6ys0yx^V(W8noHM3dGOf>(a_$Q7v;s~JUuim_)V}t(?;meo>w@W5 znLL?U{!LMly*f~DkMzQxbiyxNFTNS=O?kfdk&78KP!THO^V5I;@0c&oY(X)5#r5Sz z@f_{@kL10%+_n3gEG$e~<@p)9D?{KsifEO)SA%uWb|`KUztKaAf)3hqJs~8S=6Y8M zJy+lpFKPG#D$LOHMbf}b459p+owbwJ^h{|Nwlr$PH|f{0HEz)GSe{vbugy6|{3q<{ zN$(i18}-%Kj%ABW`hP&~dZ#b_7{WIXO{4uKhO2UChOD)&3pxh6OQ%0cJ4-{?D@lJp zETl)>YAuc#H5g9#10vtOs(L!2a{jI2)z6f+G;bJD`g1KR;WCe`zJG~zez#MeW!QnO8^B&##r~Ji8$6jF0*=zKBnwQ_CDZ! zGJh@coQG4a-9)3khJ}&1YYDVXt{$ibRpBIR8PD2DaagPsitrJ z0ntg_T0HL(At8`r#yDf*bDDbvql2Uo6JRHfpCSna-8z2y_d` zN#;d#$a4=9j#vj;<42S?NvrehHDT8=hnBDXARDtnsw2XNVuyg~9W(RG;G4{z<6`Lb zzc}WebU3|2=$z_Wqx?0+@Jg`>ywc*ywvEu2BbqRY&?rxbpD)v@hgE(zAKtrtCV;GL zfGiAL^JLd#GX3QGTX@S~^h(mIvt)f*eWp7HT2sL}UH0F}MF%})r}%7>h60BFm2w(+ z-(DKWp$DqMp92?E)h7E}fK!dapOs37w8N4wtmOBa(3Jzc6!m@hy6xCDKn0?(#8xksWCmI;8sFyv zxA86lbQ8bZ16#(QGSc%lHdZDK6>KwS!{{iMzv^{A_;*t&|ADRafAr%D0KZQh#t9(P zWu7us{|#4Pm@H>Hje3`Wsd~%cI6z>9qN&CtkYT ze24`H)2w1+h>jZm=fthMryUd-s%I2#v zezc>yG@@1;JMcU#{QfidiVqs1^;Ea&&uW_)_WE96(Jero@GKj16MN=O&GVqtI`QgZP)%bj0c`y#u8b-X8XJBG% z%Gq13%|NV>%X-S#zvK+Rr$b~0TF?CfQmr~*FWqN>KkM``5k-aT+?g!qlf9vk-e%vi z`nE%*`55GLhUP9AW{@L%=K~lPs2->*e ziRe@p0B`F2?!mAO-1k(~oL8L}-fhz8T&MP$oo{!zFlnrA>GXq^_xe!Hjc!0q&T=D% zO-ai{zQEUWbhn6YT75*je-Z7FX7Si=K)bNg>#$4gPy|!Q7Lo6n3JXyi8SQd%oGD$; zE|dhzj%IEde~CoD?4&OA*CdfGSv1@~<%S8_Q`)_2vfC~4bHn&)_ZZ-<@~u;BgAHv$ z$=T^3pE=00K}zhyP0~ZCW&XDSazqPXf78^0t4hBfgY7s`3p_W@&2f6Tk^V{1Kd;!= zCma6Tq?6S27xL5Yw3>80dRkpZ9B>FamB|e~hSLaDo>V6M$L9Klzy!@F6`fcq>!RS_qBlbxDaf;t2qN^8Q4<$q1{|!hD7p;~18C^cwQFq;HY8&* zmlWUVg_K{Qwn229sq*NWB$bPM`mn#WwOxz~chS;-_&pl?1EOhLZxF)Hx0?tCo~cf7 z==Zl#?ivLwJGuujM$<5M2z7V^CovKQYp^C^*YmynlWz7o{=AYc2fD->Vb9IIi(%L^ z*8D&cn816;20k0JwTRoUPZYlkIe7SHUf_*@qIY1Q6Z}Tg-5JlhRR&DRcGZ(w!48dA z$#vzl9Zt>Uc~WWUi`hZZY#Vb92QtA4&sV>{?GpPjq<%c+dVpS5!sd~b&biMw;D>7H zQPZ2KWrcC*RtTvVvXc2}_)3FMj*#nP31DT^`U&oD`iVQwIhmsx+bNE3h_dg!?W{5X zB|zE{GSuVNqN_HrFXIrF67BLSZW_3-!^ybIF+e#pIb>lE{NrXw6~MYJ#de9^XI_kX;nYZbM|mHj;9Sf${#uj~zW8iM<*eUm`)$avxP>YS=0#uPj;`2(SM_ z0i3F4Deof}Yca+p!OCoEaD8|B8D!q$K&A-LV{B=546x$MG1CKAr)6{3*DQ{fk{*Ai zNn#NDO~LNM5}^5<4UbH9ot127lN^)jA@6}Z%X)a_aNJ)5bWzO!_DyDj#BHh7F=eC| zU*wwndM0i*Wc(_PeB<+s_X0YTD2Z#vD&|VJjd!fhZCp^k9k5lgOgBK$qy#rOr7}Oo z`6lGP&n!2Or(?;2HUCmA)Lh-G?x{Xa&oRAF8M?DvJ9;GPsV{7KpVNw_TL_VA;i>0G zwggz1Yi&+FBj^WO@zopOi&ps#Nl;{XU68Y{#K?_!eqahkbBUOZ#ykE22~Bo!CTrZv zc$@8@@IC!_Z*Aht5a1cbs&k)zP$GrW;a)J_^+r#LI#c@73P%i8C_qm^u=b4;^d_WS zWG*uc;~4$94S2oGY+A*iZJ+b5hTrxBwfmmqNaECqQ4h`{c)R_JZXlLz)(w^#;EN7; zwFXg{Wco|J=IZvE>ilByDh zynyLDP>!rdCRIa&|A0Cgr0Q8UqC_=HQZoJ8Ca*)7LxZ`m*2bwwYoBh7=uB23Lz`}3 zNm*P81#@3Y-dr`ls4XK3YE96VxMAIg3KNFk1{ecPL)=2GEY5AcT5(kD{Q?VYL9n(Y zQKrn$BafOSx3ME)<8AZu(q@oQZVt!+->Zw4Iw(44-Ud{3G3!=90^G z-bYVL?z@c4!v25)JiVHff_i=o`RC=RPY;F7;FT}&dy_dyZxeeei;3*eWn+v&@Y z!G9Y9ZDt9u1z%SzB>Dhz6;kSd&-E+CUL(m(Ri8To>x`T*|0$y{5RB17QbC*nl5=~Y z&LN=t5P-Oi29VD6T1baK@GM<&!>An;DKxebg-OpjVWa)%sarN}!rp~g)Q+x|nY`;S zvQG*uHu3a;RgD)tN#1!`7Q(3WS@$Cu#l@Qvqi>h9q9Rwy%0(78HJX&Pqon60PAdWa z_?hUEk+%ARu^D^+vwJm%`ufnXB3Po}>2QwW$Gz9}sb9M~G%NjF7HF7_i3$k)k;(|= zHy`flLg@Fts5ic3iJO4+vGHP?vKIN?7(YHzd8!g@r!{N+nY<68BG zEAT}kYL`Z-uF`VeWSIHEz}y6*^2493*32{cJ{$M7;I$E;PyBpy=oce*T*s=tD2vk| z*~WNzYV!jZg(qjM!f)FiBeyqI1w#&AL2FHb?ge3nrD-XKw`6bzzCzVj#xe{mKyHb@ zZB%A?{9tR(gcWx|{64OvqRdTHTT~{}87c>v^S_EWIMXc8Z1etBr{et$n4G(;IJV;e zlu&5GGONS~V;cC#e_YBqufsfSOndu5m%i2~VAxfr3(~ZuF_>#&!;3snoSK`?a3_Df z(!ZugtEW=4|2-jLq_NuHW^`AE(ny~FW1C=1)3s#1PTw?v^D9VLUG2y2DVv_eNvbQu zl5E}C93&77V2R`U^A=Jkxhk}r?8GkEc!*I)2eG;TJoQU3%hrj%HHFjpL{0`>_j{&uh zA+SXNZnpdLCrb{b`*r-x0uGmLo=Y$@{sy)^ynVh&SWFAdga=0j;wI3g=Aa)b^;EC~ z5t;-KyLL=XJ1` zU^gpnTr8qL$q#MDUvZ-&NSdZSyW!}0zbPIIZEy53LA%b=%o`f+q{Vy13%FEL_KUv0 zsU+Q4*wtNnBln>q+2d{fU+d)bQ5#U=ipa(R`HYNvHK(YvS z3@k8JrophhYskdtBcwwj!P;hL>8c#A_S4x~%>1LT!5y`G7k!_ONzrmFjdRpi)&7d* z=J4$qN(hmUrlEi)s7n;mM8y}_dEisuIL7rlOXy+=-9u-?<)+Dpd+k<k%AUoJT$$1=&QBcpiRG; zJ_?e2ipRMhP-C*f2UtU+ym9eQ3|Pglzk-nmqytspR(-V{9|5dG1QwhaKIqmy|M{h@ zHHQ!_-Z`tp-#_#0&isnkomZ+k!Wy<`3rrrNLOr`(&M0% zJN@Vv&JwQdr8_A{)S8&_Jg0Yq8{X#b9#n#>4NdklCwddvGRYi1OjvM{VXAv0k{kXB>s0rl;@Ol5fu9zy}HC1W{eZ|ePXX~WKOE12QjLrGzZB9;rwa+mQ zRU#R-N+%2f*T|-`FlUW6?lpI4&nV8+-O#Yz%7LzkoVF!`iE8a?HhE^Q_oR_kHBbBk zT7B2ogI>2yR;P6d^009`+s1YGgsTL)L_rKQK%aYe5et9*-O&V+_|RJjBLLphMYW-X zefh3ZzKa%Wb|*g&AqW8Wp|@W@Xl83cNfbjdo8S}lDSExqQ=Dr|#x$Qm!z%5#MKlFM zckXnq=P+f&2=;dbE3hT&1K^FIiPj?c$~?a3MUwi+_h801p}oFK&2&_^G1k@MW~O?? z7uZO^`E0|GbJowi<2}U*zLlGJ#r5PulfsZ&lupZ3n|DH(z^p;3cJy_ccSiEeUR7!Ja2ZGy52Jo^|wlD9;OJ_}Fu^jSa%;rJ536%4%%( z)MAA_5pPd!30dE8kCmh-zj6!CRXGpHe8Yr*A#YIvR8ZBYU+oV9@nINU(yix z)&T$;#+%r1^az;`B_OymyVH(QJlh-717847kl3w)zr7G z8w5c?Kxs-1QUs}rG-&~pE?s&PklqBONgx#I9Rw7SPz9t!dhcBnq&F#{cM@uVB)63_hCsqh!tPcfdw|rq-Ds(S^7EY zO0(Xwi*@hqz0z&fD~d$Q6(Q`gOkYhevNXB4HpO=X|A>XrV4VLTHjHIPuTL@GyYcpT zVQ9ajepR;SJZORYEYZURaM6oD2kb7Ub6N1|K?M|a_q{;B1lyenHLQZ$^?%m!JXHeU}1R4iE07G8WRGT%?i%-SZ-0FO-*LS=8Wt zrp`Uq)8^bVd2p6_ZYxmE&J{8KvL#=~_{K0L zcwXSlSEh4LQm9c)U6Igb4G{xW}!rS;$K9PIble`T^#-yo)S4>9o@ zRN%O^h(-d|%XI2o>*_b|+)|LfF&!%@CM6)m?4g?@ubf)aEHSyQ! zNpRJ%v^Xc8#a{g5QKk--iU2Y$;>VmGB-pD1golW^?VNyut&9x6H>sJo9mbqTN<$A{ zIIieuW6UB`#Rr!SAk6%M!cc`;5VN{1VRd3ROe-5-(?GdLuo4+W^~75268%S!_)FRg z_W)EV(l%G636=HEsIk(xhY{REtGQ!ZFtt06(%4NA3}@4UZDgK3#7A+{PB3|Mx@hAz z_`ZrexTy#9wMSh(_05EpjyZqCEk1zlt``DC>F6o{Ez!2KF#uKws1n>QMj6X{J3Q*a z@BR7>x_p#T1bf*Q8i6+xB*C>vJK+kWf%q%jVy50=RfZon%hk=b@8BJ}{StEd;ENFc zXV$|&wyLkOu!j4Pi$~ysfI;vs9OWQ$3isl=oYDcpR$iUO(-#m zT3qn)2bRu2uVdsa6WBY`$P>=@=z&mKk*<771LgKs7z%s2`6eK30d7|tEd^WT;ib3c z9ek5;V2ke5iXWf)mC)(zv>=%KIZ^ACo%BJkG7-|FHJ1~?jTFJSYP}WBm`vAcK)16Gj#)$ zOksZ#GA;V6Ny5*Ke9_wNHkKij^7qGqbmf;#Ps6r3VO+1soFd=qP5p;%EkFAKUL4WLbx5Z+o$zR&EN>B@e~%}x8;oY}7xtoo8Bxo;Jf zc1D4bpHrS$_n zes_0E-%%QI?k#=~;FFH!!>r1J)I4_Bg{rR8zq@%Ix-YFs-zP$ximK~m5Xd7gF6`hj zH4#0w=1t1Vj6IYt8R7nNQNvi+Uw!xpKi+%zO=ec#fBU5ERXJHVgj|Y!StVop@Mnhy zwt8}7&{n4Ou};9Z6tg|r0@YU;YZ;A?zhW|`{f>Tqj5+j{GKK`3-&7$K`EgW)r{;J8 zE@vk>?0KURjC3LCx_L*~8Cc?Dp!eUuy&k(b>u}zBI8*=jraMB7gYuikxmcVMW;i6-KbDl}~}8=c}KV zi%Q~Nl9DMgvrE3=4rzp_YNN9a7yEcvNw%S={NcC$Fng4b4$ponx zQWKNjl-A$D_qOUiQ#Qw;#)82i4FEeq9|CMsFYyx>5j(M4#H24%UNHv$@y8HPa;q-N zSX=`YJPX$Ar_@Kh3I?5w4_tfvn*j1^5KqxD=oQbK`(rs8@D4^|UT{=*HJX;GY(9)e+k}ae zUrGJzMCt0+@ocq^eu@lY^d!uXThk}Bt7jI3P-dxcWt-+&q75tM0@-865rCgEV_(XH z+Cambs(g`NGm( zG@Y|n)I*HLAH8L&j1gHcbEVYVNSV|!GEu<`&Dfv!J)UT>cayd9o(Y|VMC6LHh$vbcYN>ca%4B)f~$J_=- zOZy*38rQ2Py4EqXH&0(X2{)OpU>`3*ZulBC@A3R3i+wSCSMVNX4#Wq4<*Juw7jw6e z$v2_oVnvpmaB?*TH&XYIwdhK5pkQ_qUR@%(HedA(5cGJ4p~eS%27>ZoyvWw%B-+@d z#|bpY#9b6xPOC_=rK_#25hnp7(h=#lt`L8l`X*j~f8S%_9?CUr8R^82*hCU0GCg#1UiWOSQ*A2=!wT+*Aj zx)&g`5|8EzmXcf^d|!U@-du%MlV4SN;BZ5lq(!pJoEUZX_H$MM9ar2w4STwGAVL3* zSpbbcDHK1JYEd5mquvcf?18zQw$5&85{YRIxOg%Q(tOby3Dc)Dw)g3pyy=a|cRCFpG^~l=rtYVBth-(MSa<)LNQuI82lIr{$!$Box5xpW!@8o^OS(pS<9R{fx`-7IwFx=T4F3y_$WTI=!Uma*jGwvDJ1U$neUCB=x$aBW`kmIG+BzEd z#uny{?v!(KenNVDjM`QP3k0B3wCrJ|SYG6w2Dy2MofzHfJHdOh9JEp(NrvNSUikL7 zU&A@=u!3#8l0v~~WmLnbN zbGza${%X=SEZJR1F|gBqG8N&8KZ>^MT=#7j_OsV>H$&ufZow&}xbnB^BwPw|=KScR z9gLz<6Hgcc$iiRXs?8kqE=r-`yMfl6Do5C)!uKJ?=c_&^2#wtIiK5L0x~wNgEB~AaUFv(n z5DDsG<6{Y)HTlefVeZf0i~sfJ@(Xa(rjb%BW*EJt`8T!=$rEKaW>*=TfNOMh9$29z$vXG6;TrD+HFn6Jy&UGDW2O$OKNuvht}vWOBBovVlT1!X&g{aI@I*4@AkF>j&bA z3?Us^X(5ROEAm%KP*PNg+Pd_Q-AD>=`kRzFY!6^;ytDS@Mo9Z1)6tNIZR8Qu<(j{Q zUPgiw-YlNw06F#6^*HkNBbzm2Ij)QnMp`QjZ^K8)_e*E@Qn~=nce5b!ldNOLGb+w@ zMOkA-%kZ6!^7ZJplF`O=p2kBVzj*%6=krD$EfWiM3u{hIl4`&f*cv9lnrI0$?z_*j zgf=%T`eRo+F5|oJZqtN$k?2A)Ezv6TiFdN7P$x_R&ZNslme7qvoVY3P|;^e|<+uUKYvy@tEEFrq-yP=O6? zlqN`3W?quKy8wS>kh#-F+RTV}HYGG$lfUmV?6_dAS*$~9H@-K3P|U3^R;8u=Ty7cO zGu1Vi_4b!Vij);)a3E#WnVR%&*Z-P%Z@goWd$+r4d&d;2<0l`*%_)7K{>vPzDhw}B zU$~{b*<u`A0|PFp!I> z=@TdVH1BJ9Q*ER5J1z1@2JelH?_Sd+m4JK8zzZbiG{gwzbYb+{|tAXO@}M zj2Wym*Ick3$Eky~M}-Zm*Qf>}GUH9Yo`P3Q-f92m#drUz?(Z)JdH;>hfq#$xZO{^= zr_Ez-8z{J`K3>G2>VWK%6ShRGr)|3|;ZhwNX1@hLqy)~s(z?3+AB9u@JpXsa+W@A> z|K9Hv0s=dIVSPAHw>1Nvv;rV_zx_w>o(i(TDDBS&=w3`&o5J3Z#mT^4Gv_=V3o`~y>FX1` z3!!vZGj*~zo=D<%o{K1TN%*<^-iz5|ENbK{WFr@5&P`a8TYroe?!vt!UEEKG^p*)m zy?_MLf#oSNS|sWUF9aiZDfN;9vte=1MD~PFyuo_H1XT(z<2;{14(GrqI)LZ~I~{rt zTdT(cc`)Knv>$N@z*!yk0uBLi%*kQ#Xdbwkk=&}bn(Bk|{pz;aSs(0~G3aM*6;OEn z`j1mE0Bk*)w!0MwQV$x;7ST%!(Q3sq`Z(z1C8IHtR1D(@=rh)+LEA;;{LKmhcjs={Uq2>-Z^*K+wJz~xgWdQ7p;{y+(i1IT zzaR1hXhKq7%=^aEe4D+S_#5O`4^FpO)0RUz6;tdqq&}JgKg5TgPboO$I845`1ixRw zz~N(sTe3_cJ*7K#Qs;IJ=UT9Y9W%~|@I8Ka&f$YqmbTY{KpGtUtx;mFWyfXsxq4H7Q; ze*xYjXn+KqJv=mnuEZ~QyOs4&(D`2Sf-io+dyXS2x^dr7H52H~&3Y=b6?hx1AG)GW zMR^NjyJ@~P#o6ug*7s05T5OQ5Aq7zFdeh(3>^dK3~DU1u9HLp?Zn043J-vpIopeN?22) z;~*_Ha4w4Vec?eYy;G5WHrrf$;fp1Ybi3dd>m2r{*`s>Mv=Fsjo zmR4%a6O%^NMr6%!rK70L(~*F*ZS{h2@$cWZ_$*Rv@tavLDTn2pZ1o5F>Y*t<{> zGVXOJ??fdI!z4Y!Vk14qy!%`6PNo0q=Kn8IHUBa=f2Z#+a*SXI=(`L@OuCl4e;$I( z;B$lSW0V7zmwtn)+rBk!uSwm5jNFr{v_7Vt_}^~vcGZucAD|JLkU}oMQ67Cs$a8Qz zD@zOz#~YSOa1)X@OXk-ptK#U}ii=FT7%aEeDf3{F<PkEuX{Js?004lUTmZ%_osWZbrr>W$TATxtz=`GM(V$fT8>FrUe4~SNQpjIk?QmyP zXab*u{poXge|c42`R6Nu$m7pf{Q1>CulVO!{mXp$=PaTA=lVeY%NYDuSO&NMX|Mjp z`uy2mSzw;-!8V%Ve==liFeG)=fiS!fqZ<*%Cpjp%-i9;-bO?SVkU8X)s0NloItwhw z9jw1J1sMJYsV?RQJ)DvqHOQyGr~>ck>#B|AUDl4^c_@!cj#8>Xb$tPGw2hjYR zaQiX$%{01!}X4#jgqTOCLxV#Avpwbu&cpO*Bmer9M;a2icgzGKLzAc7@x-}kI z({SSdLg|A`QA53fh5G)p=zxicRwWvOKCCgoVkumqyd<}PZ9SRV65IvqwK+6_kf*#3 zcA?7|Xzn{`me7sopKMmSp-430RxU6p`k4D(Qs#a3V)|aE6UtLyh9-060)!QlHr)N> zAeo5VRwc~NrCQe#*$k9@X*#!Ma^()tZast1N>M(H$SsA0!_E<%nHh{)FGe>lFI2pm z5;Nx;&$E5pQ@!ULx|z7EeXd2aJ5PIlcj;i(WVtR(&^mcXFTnNt10fR&xY(u&E@b= zRAHA(`3`-SgJF+@<6Dv}Q#%m6F|S0Fg2YOhynB?v@M>(q>~eX)c=vNAt%D^FUS)KKe5KIJ|Bw>_T%_ITm{X2>o@Acx9RhIm| z1@YctV&>6qO7)lOh!~OkjE{T1?|Hz_x-X}Wvngj9&;3v9$7`4$A)TqW>U52jFY>Pq zlT|xE@4Mf@BiAb{ep;TlMACDHsY3d#kFUg&+o>g4H7VCC8PLb;=_co(+GDexpRyXP zBVuI)uuACOOkoI}lOW8Fsne2Lfz;~hjqJ5sngo%(_Jnm9f@R3f1*j$JN6kX9kCc$9 zxczFDqCSgSmYlfA#f(K5193|U#@e8Es+u>{0cP8SOqH+Dk<)qA9@@d4WC05tw4lNI zulxqxa`HA8oPcYGPyXPDG8Rv9qJN-at-zIF47#+9#)d+w6MEYIZwdD@hvqR03hluDs&F8$C5b{pcP{&KsH0o+9#O~!pau7;kSN`*Hx#M0m! z&l@@&P3>q9?s{$;6C1!a9`5Ej^Oo3edz}RSRK{6ujK@&i3fdcTvTj+=`gS%th z)QfEJEJl<7ZN+r@`P8Blp)B|-?K${T3pVfyeS38HH%J+Y7=ec_(h48MnA76tYl3Fx z=TuhBO{kk*<~*^{)QP2do+ueVasK1qT$4>%0<$_e=gJtyg)RODJ$+(fIn@WR@WH11 zu)}vA09EpL5nnffNcB)N24Kp+hP=(VvMsiC+9JPOX=GI5;$Wo2*Y~NSTyec)8$>Tm zu=Cnr6&ww*UyRA(YV?b55=bZD$Y+3ENMs)`v^Be7s53f8@#0w1Q4S*)s6kQx^Nrh& z7!w0?U6v9YLAVcyScr?oIn^=c<#jQ9l;bq!)}?A;H{%Hk9-AA|XXN!8q>#Z^YVedo z*NM9FnFsN!Un?Y_75r@5A?GIel*$c9HBNA3uv_*U#95*QSVu9~g~rLnfJF+dvJRV8 z2FBL|gySvAscp&_s6nnTSJzqAJ@gH{LTa+B=fwLg+MDia)xnTo7_Z#x@& zXaRJTa@a%+QHCwn^hF8JVP3aIae7IMDw4Wc$LTCHq3BaVMl?Q*PtFEeC^uUQCTdPf z#cFj*PtUGZDzM%Bw%Nt=O^N8H2RX@Jm4zG>_-@414(MZ$3w?}gS&Xh(mrdQ*L8+%G4Q;M10TVOzV4<|Dkfz`5M#(9JTCRZ z1>Zj#8JxwpPr5~_h>@Q1NPaZ*Fw36s;9wfyYkC8@5KBNJ>o{w+wGNRCu@*e%oK44t zZvbg9f5#(89Hd4m(z*GGKhh$CpEjS4O1gP!H-;}+HNxp!u0uhAHAvZNUhYZ|M0OL= zcdeBT>p7KlP+GHi)3oo_`NE`00>5TkY8d#537!^L&??|-yer*XI@?pv{=IITB!fZ% ziAmBNsn`a_tX|s`+y#p?7VKUmox|ik{S~>|BPDo-{2(jHc&npVj-;LyJ=)5QDY#UI zK1bDcOT)SvrT3b>^>4e~;F&~MkUos902bJVv;uVOQW*LSZPz_axdX^ja>e_V?vHZE zx|hDVFWYzb&5?!L-@yU;J9x2163E^UVyz=U^(pCODdcADyi~%0M8Xb^`-&TBx$uTe zC480lb15ac!2Es6vkwV730o$||4|3If1U^0r~f4x|Bv^Y;P=$u6ldHhbCLSNvleh0 zl0_poL{}UDaY2TiHr7X5*>jmAuE^6 z6g-)ibSLs&9}ckOsNT46WvMx11_jdkCOmCGO+|`8C>CyxZKdlP_bbW&Y>-!~=v4?z zfl{DJux#)uFqR{m*hOejr(QvtekDyO5A95f#bDA)jGY#5V%16wA0*En={Ba_W@dQA z>*Ch^V(J%+(wS?#&3aFMbeb-4#?dv~OU87xm1N2V6zF4S_G{aq%EIEAO?_ihL7Ks8 zRl~3E)B7qMQ(Ig?K#xYi>85oE1@bPl%K^-m%*%%^O;>H-o_Tfoh`KQEhU96#}pBjow$o(T zG1h+6X2UHa*Vt+^=I_MPyuZ#C=fm=3C8eWJ=Z)a>S&spOLAOc5jYsgxowS5Qy99|} ze$mq>GwYOnvrXihr=p|PChk6^ShxG<(p~0ti=PSJ()~9VS*({4J_JKQ-D=hYyH}f^^lO<3Zp6_)eK! z{QCScW-Tf-uWay2X(4N9RguVrd+|11qv9v8FN=_L7aOu+-ZvbMMhQz-p?SYSYp%UXBh3aejpQSBh*+HQAF3&atodsOQ1)?B2+N*F?&r8@vilTV3#5G zWjdgDC6GqWHgqrbuKni^c5qfUiOzWM*tEw>ON5Eah-`@S=DqsyW_E<1juQFWyM8)3 zfQqQZ(@sTbC70#zZxDoKz*xAUow}!37*Y%wge#0i#$8_=VSmI&YYBc}pAL0($r~DDZlxSn9-2wi*NzU>-T`W+ zXHS1eS z@6^2JYtk<9^vJ=x&NwU2iFRWC`v_n1?GI0OuXfB9G1?P?Ryba!Sg;08E?oK9%)X2h z)JNg+y&pK~9}0i%%wa#uc|kv+MAl&D0U~6VRzZwX-T+C7s3hHru|=n+1+ugEYNS`!JyFMax<93aYz;*yQF z={~$_Jm8kUPyxKV+}YMhTt(aJI}_NnF%ZWnsLO(>1BX=+=#QP-OAo{-6aB#3FA>wi z;di1Q=H|!*kzxaIS=YeySbq5VISfb58Q7&ovXm0Aa)PLb*(J>Mb+z)NRs+S+yB=mH z3so_atOr!@6lZO`<;#5@+LcgIVdZQ=sZhWsDsHLV<#@+N(s4BbvAdFr5`VOFK;D&+aVujERsLv5T(yQ9W zU3`dFTJ>qqk{?88-*91N%6gLly7+j?ZY$vyqYL5A_#V8k@BACYbG~v4>|)8tWx)bC zKB>z>9^VZ+q(uARyea`Eo-HD)&5`n4fQ9YC2ngPogb7aEcFh3%>j*gf+5|{qL^|zC zV2(}&fbZ}Fig2cZH;URi zHmb$Uek-_DEB{t=#cV!qzL43|LIrAtQOkp>qT=@6>U(dMDbf3r<>oMRn#-pXN`e^; zJsuAUU43OyDO%xB1m%d)2#bJ!Hvgr-bH-xr_a*SH48bXTO#tOGzjs#`14YgFEIzvq2npc^_*tQsd8TKBO*jf47`HOYAnEXtnbl7WQEx zgX(`B3r|!~?xmt8{dBHX$GK!Fl4d_~RpD3y$&45-*5(X{G|RXrVBXh(PkV|8*V|@H z@M`)A0R6xf7`;zB)4xG37Bs&;E>dCyxOlI0U&MZskbHC}mkal^61J$f0{^!Gwcn+K z;V`(H{I-sbjC$|8uO;66G>27`?aFPRK(7GZMX@ev!DYdC+m!B`F>$;KZ%qfUL-;DI zu0}EWJPEgw-0N7%z{yNVu_FVVlwg$GZ}dtpJaZEIA95?0TCah~^SyaPBw`IZU={iZ z2bX2HTbs#WO=5PGZ6m?Ubo(9cXShxAW0KJ}g(5<<#qw~70dk|8*}5~aO1h>rr)(zP zu!ARxePD%y7osQiH+VsS+$HU_`t49JoXU7)xffB?_04D6SAgMa?Eyir zE+3pToFFa$5+a~-Qf5)QST&4IN+5$x0Yzn-Q;31#J9$dWdmdtUY{muTSl+5mT-02O z%`5nzOu7Vbkqk!Lzb70?_M-_sw+)gyI~@RKw4MzR!A3%kpPis1cGvy@HaY?Etpy9* zEzW>|OMAx$Pf%w{ql3ZHlV2*oWEI>E*XpLUX4}}YV8stv92z$Z0z!GfWg}EtB=z{& zEROp0ZU&OK+WjH36Nq^wMZZtEIsxN~!2SD9W#GR9g4~G6K+*aJG!ff|+Q?m_)v(sx zDoHC2_jz$!_ST;iav~FfGn3R$&|uZ^YclGSDGc`kL8SWyzaXH&^T~}}-LjckOiXtc z_(RAqN4lSyHzD2pAG(49+_}Y%iB7XAn@-@w7?W-WzAWa6>L!Qdt($$T=Z>_B4@h5- zzXhJMq``_$H{u$c0CQlBN;~3s6VPG!p}{t+J(+D9&(0_iuyZ=w#saesFds9){8;v% zyGKc7s^pe57Et}L9Z(m!U;tf0PKAJhGb@HoyTWi>wTK^k{u<-2;~am3)FxK!5iWMg zk0*Msd08=@AV%7z*M0c|skhI>g!r_&N=+r35^42Z$_6;HK!nMT2i-B0Gar|sK;@t* z`rap};ytp{9ku?I_hFk%%>7HR&)+4A6KRp8U>R}6&5w{^(yavww0@FEqrOEATTo)uw2(EQdVe2y~z4UAM-KqD);xL(aeO|~) zdS)6xmIbG)jG`D;I%U}ET6DxX43et3m?J*WCq9&EdTuZf_z0yG)l5((8oXR0TGd3# zp`AF$@iLK_Ugbu9h>&Cm#Wl7dh+*qZ?A;2?6U(BlS?@xb9Eu#CXHUPCRHUkAy5Ld0 zfvHGy8C)^~>afCZ(WC8~A*nFF&)`mGoPNKF$(1S=_lgGsOp9gFCdABk*7eB^r~2cf zysROW>vqaB(akmqoN}|eV;ryB!B#)Y?Q0LKA8pf(C`a5t@DP*y4DsM5?8lQpS>Z_H zq+$op?U*l&mtmO_-BxooqAOS7BKx%ZlNaC4Z={Lc`o)$>7X?g_>pFfV&;KD}R0FYP zgP!V#7p<_nK*ps!xgJmoQu&Y_bNR*ONF4u;U}Do@ZA*V=J0JfNzGGZtJ_@-vc?VV> z-IiGL4;`fcLpTr5X}uwtn6nC2%-W^X8OVqCXM4_uo=Eq+U?VZBm?&Q7;OYnXlShPb3+zz&eIputjL^j3KL#=RCPWzRgQ zhK0#Fo0?ck*Xh(Z<|`cq$)VRU>PX(>31JIL**f>y)ij^vr928bxkvRnlC+?oBr88o z!uCG^;a04mn>&kGAM5O3JuxV>Uz|PkM_?&_FsVo4VN?DZm> z5_Ld{YPiIHo_onQo~f#-xiR2KosDX!ui8;kvvt3`?<#)>e{~a!m7={t<*LT0H(5&)_5Q&oROlmMu zfP!yU!KE;kc6`I>gOqrpBon-9Sc(_JrhGGyl$-F#WLc@_fD!tCZH&;C8&(>*V=s`huYT`*^~rYGBY*>$&v3jA!pxl(VFZhPTdzs^ zAx%6ziwzZ47fcj|j%4#I8wt*`q!N|%b^GQ)Sgs|(Nb~y`I|R8;*P}?gS?dgXIr{?5 zedQ1Ipu-1pBssK~PUhCjZK04GP#2G>R(2Gw`b>wZ8GR69AXAE}d;~s=%BCCwM_N=D zc56mv0FFn?<-L!E!@*MC%G+Zgx!D8uhPk8>?~R=P&rlHNNikFvZPRk{U7aqtKsCi| zXz;LKEBxkNDLU9PetR|R73HERxJt9bOa|#{javS`6MKDMfKx+SJD&&OWzLogUy}2T z@rDHC5y@<89ud+YC zSel??&m!gY2*{+iMW^{T;}}gxZNz`o`_2*Fd~$`}kjaCzGHYpSpVJ-Bi-9e*F+HvD ztx~ETuf0-qc#l)|O<2;aZJAi$S+=^(-Ci!uaHvvq5#SAJ3LO8c{1Uu()!~_cYe|A5 zs)eu%FNCRC0aq9Ty{8bx$~IYkDtF}|!j)~3+OT$lOj4X^%pbxbH27C2wA)jsrrbQ# zksnqCVTRgxixokV-TI8NepWZ;a#?!qwmb8DW5t=3I>s!5>oYb zrqN3Q8mf>L^N)pFr^f1Gt?8dTYfsaXN*{EGlK#P=X9>EYMM8j%>GWw816CTwTAiSL zf3Hh6Ke$oZ%vNDw$(5T}lWA(@rH&&5OHm59zsa7=t9A+GO4_|)o;S3X{cLSMB|o5M zD1Rg(zC3V#Ie>U!doz~)XR}b<7%8TLCh+A|g zhu-^rbssQO{XqBFX1V16D;NzXDL?H%-}>Q)DaU@A-E(n5$GvILk~MS5iIWQMV=LJf zb=h|rrg%S^)qu|qg%&*=-cK-PJ`!hL5Rh;7>?eP@s^&|YK=pdx_FH|KyIS=Gp0hzR z^0>(Iyt(B|Hd*NOx4Z^$+YJ~6L;__o8;Vzph-^)RT_}+Ue!|!xhl8>7Ui@ca)g~@N z%f8rR7TS)N{Vs(my|N-|<``|%O7}(n>|`7AQf+4^C|70eS(CF?NlMnMY=T{G!i|IJ zCcMfz5bas|072KyscEkvU%O5jdX&q%44<&$&DV1d`H!StmH!-)HS1d>B|(}2Fa>IO z&j@9rJ6TTBjUb&986WAc*!D)>=+}Sv_LJ;dZ8>fGDz|PdG5fwFHz8UVIov}@2j!nw z)JJu15^YoY`*rx<)9zo$F7DrL4-tCxN?95X6n?NTlXTAuUXnc*on&x&;K09|^iK78 zNUODE)6HxBpx{iZ>xAHZb1n=RRnmJ~GoT#fJ-?sNnPpEl*HnS$vNsX~d;hT9f>*h9 zxCkI!b5OrLmFwHNMEFGT^3- zO71hE2u2eU>5iT^S3!Y{hKs)Nc9wf;O^R^k$=Ah=5AJigHq+Vw@`9vEArusHh#V2f z?B#M+PG0MW8xmfzhj$g5LhciFu`{MaW1|-?H6#fva`1c@_a!%GZWg`~mzvvpvz3i| zsRko9@|6U;49$~}8ULkNPro))Le-5`cC&d}@cC^n^t~X6pp+oef*LE2zVSvh)J-6# z$o#R7l?qwPks5F2o|cAD!nOwQDHpOXxHOOn^GE}g8go6c|LqUahwI-rUMD1YOHq6S z?U|S}qYA^D*268B*_Ky*>3mc%1}lhNr-@pj?7vdAhsuy=5t!mEJ_aT(3WhxiH4 zDu|}o@er^xIrX+azyzc9O%muZaSQu%YR_Zek8`$sP5t_%*X4`6w zuLZsdNZI6aAjW58n0*;EDJZYiM%WA6xO2_WJ*Y@$3TL(E&)P^?sH(Pj3nzz47I&1{ z2QpVxwbpX<2s?z!e|w%ZoWm9*wQ~9nqvwO>?Wp**>F(D!8M!B2ZCyH2f5kB3@+nW{ zMQYz0Y~83xfM=)isziCJRHJuc;ov*>)Yo21C4`u8od=3?cM$WcN1C^xEEuPil2HFY zS+}j$lg`^Aw(afn9DK3U%wp8CV2~5IW~xWp;Ax6-6d&Kc)EjPoE;KPR*E;SuD(YEp z-;U3tJyOSI<=6q}go6Ty&M(EP1mT_X1AW8{_O3})vb0L(?I57X48(dz zSrC8ANmPvewHQOocMWO1J(ux>{;5tdRUq?D8@ZIGClcpKcdMkz_}7cw`UnVb&ZciK z63Z28QL(^)f=5U(zqqgqJI1`8Q{j9htQC7dDWuqXUp^S4_rqF#1p4IVg=>p7agHO- zsy^iDm& z!mnfU(30kuvgL=%*!OSgQ1TT0c|^5B9!61CYAmhoAc!hJC9u^D@$vAB=xWuq z^b){99eij`Ry^PS2EYTQxei_RELbc7@M%Dt_ zoz&Xs_$I>H!LrD_ns8Y?{4k5jch*Cqw{Z=-4Vwy3OY|6C6+nFG#>?JN}iFmWNNQm@!!JQ{Xe*-jR~L}Q=ao>0Sg5&jQd=3Cbk<0TONhr-tI$= z?`#roJN{LT5X2+Q42k3>1aiqXByPp{*91+-7)lgBK{^+goT^HH_$XdF27I0l#F4OHu8i$$8D7YgeU0JmihUL9?+@ORWj6cw zCgE>5rbP(y3ty@r4%XHDon8y6@x{{K0=if|Tmng?SkPj2PQQ%`?=%2#3BeX*Hblr^ zFWuQHDsn%Gd*NGvQR1bZ<{WR|RGR**Mb{4*T?PxTIYe#d?Ks0yZrF@KY4@8iQ-f_p zfi#+Er=C9LWZRlC=e$dW-F~4tv8%T}%Mtv_y1oR`pm-oF9Y{H+w9NLSaYJ#GBL?C{ z_1YQMY-h3)rG_`b1(Y7sTB3Y&5FUW^I;ns`b{#1l5+e2 zm=tkr#8+)7AUueAtKiL*tlLaM*1P+>{7o2Xz%|78-=LfJ8SuBwPXe+XA&o7g`z$2f z8e+ZEzY0S`V~dYFvMJ|zFjO0-Q>`J(h7jbfsOCDG;W?8`CfG2;g~1Xyen0Ro^wF4C zoC0=Ue!3=gE+u)iE4Ud@9N5$wZV)*q0pz9nmTiIHJ7+{N05L>sjrS8gYT?KDD9DWbxrWwCxeRIFTFdg8-izv9}s(Z_7PkvVsDPN z(wc5%6o!A!Q0ILvq-dQPZf^q+_1bTggedp-cMPloir^O4Wdwa;%j+?sIr+V(>1j4P z`$O{dxdPX9?z|8ZrI>7&VhT2g`}^A!8mq&Ko~2DrZoW)2GUQ?79sqjUfxPau0X1YV zU2Io0F*S4_nZhh5`1aY7Bp=2>*Thd4DJUCG5XQL5K-LA5+K;Fejdy)CXtEt#;X(QG z*IxH&T07PgNli!4IC^R?ynO!j-RY{krwFksTy--v zC45|1oyXqu+f%Nnimir%M7u>dq$$bnIZ6i{W8AYgR3()*EAWnb`0y)7hRUN_5$nV} zQZ-QuV$e>~NkS}er?7~+1(y1RjuFkz+h|4O1;tOR@kTUEe7W-N#8Niy@y*AqEODsx zmA1s+aN*2{q!VL^_T4P*P zccm|ojRbqYCv4h9(nn+t?R<&}y0&*OU5;p-2w4EjE=B|n4*w1q*_OC2u?BTr(=?DRhD zBM#OaY?2!I_Wdb;60|ds;_hI4E;)VKhP%8EF&6-MZ?#7Fy;wL&iNF%hPh_J;yV(;p zunEehQ0s)$rZ%6&xU9sH?f#S@nRRAr?b;rJaJ)%eO?YDAve`J4zRb@vWisNbv)_CA zkWZ-BqqOjZ=r!vh<^O2!JENNHwsnJmK|~@bAT>x4l_tFtKxrbPAku`WG?6YMEhH4_ z9Yhq7BBBUFq$@4-F1`2AI|(I3NaB6J)5h3m+;Q(cdw=JSz0c+sKf=hHcda?soNGSw zc_uiO^nu1w2u__Ga&%s=`XW8@eLG^wk7`tZ3wyl z24%Lw&meoDJ7&tp!0f1uBYnp$IM9+q(G>=|9B%_eNA=hMl@g%NA4iXn>cf;Hj64^G z6Tj78I3vBG_|+jH%}XGJyX`09E*d#L&7Zg!7OJdb?+OyQQsZ;!1$P9~n;^0zvTPQ{ zh4A;mpPm!@@S2x386L3#CKzN-Mu|(vJe09@9>x8u#N6sN z>x;WpH`tjX*#&GHpVe*BYf}rP1%UYbU_jeovl|ANK=f@{qi*z%SqyCbzRU3tndYzQ zpN*TJOL>XBysH1j+iv#l#k%ihZ)nq*eO>S9)Ngd$%y*EE#Mt>8CVp({I7c7Yv zFjSgFbgtC#3{o8y0Q5ZRjME5Cp~$&!mYRukml3byn_%8L-LnM)JjuJ;0e~2sV-GvA zRR@<(e5|B7BzB+rT9ufQmw&C{@@j%*#immSFhSJr`Nd>(fewEbO)8Od)}EBSeG1qE z4e@m~Xz@P&H>lZQJaHY1iQN}J*^F)59SpvN+n1E7Es1@Ts{QPW&CBcBG?^kh>)M>@@JO%!pcZoInXPXZt>y}69$ZF-VW zfB)`-7wJ0-(BiS{ak7Sr>E8Fi`Ovy^&EBXD06rDi1t{YG)(nf?j!KuU1nTTy6Ffsd zTi~ZB&gau!mWL;YLvFZV#&ylT4i``f#>e#DNOn$}eJUznh~j_4~|$$U+Nk9Rv`Fm^<6>_u2& zzgIiY_lXb=nrmBaIZM@AzTRu+7lSVG0+zv*=n;S^g=~yvdh0bB5+~~PL~CjS;pJvJ zo0oUSf+G0s1Y7#GW}Bj)(bdyX&ndYQiBaTzisw-uJcuxZ$Fm)+lhzLaDa1JnpLY@I z^lX7ebJ4`)lD{tBR#qxKgcrQ~Bs*?BaQ1p)+od zNvrLSuWdVjE;y2?e4^=UbW+_3%*|RZN;{IS6t`GSfdyIWnf!>>y(-dwor^XUQO1-k zVv@}&aITk1jmHs-nJ}@`D}}RpBZnRD^D3=w;B~UAXp%pkp=>Q4j!f||;a>#Kzo(yR zLUL4ER0#*TX){Et?kJ`kr+kN5z2qRZkh5y(G;!HRrGuqcY%(;4*k4~1msGzBy5%%V z6-@m~#f?ry(${qi+%jS=7q@_WUVP3P-LPma6!IhRR^1A|K?S_B;8}fVP2~*Nty%{EA zy2InXueL{unpE_=KTD-fkT&lz{HSXe3cB`;s(%$z{yApu`~6{QZpkGEQoD;?VA~$U z_T@jOc@!gANH(~X=BQJGecT1;%~vu%qlwHd5Y9j@Mf;e>3Ep#&I8Cq1f2LBo4>ZS5;8AlTz`?-&$HBl6rLBDDm#EMy$eVvZ7yw!o$}w(VS-`xAa#I8+rX!^-8EGAe)nVWV3uKn1K&rY4)Rn{aWnPwh1iPG!>lsYb> z&yuqcexA4^Y%(S1Q`@6K*C{7w8!#=;Lp?&XN;6Rdl@!fL{+4uzet>On#)?}6xMQ!$_&#v!h%3AU6s%xmeoLa7$FF)fY}Mc%wls9*h1Kc$|t1txebh6Bm^fOH8T`~>M!`K>Z;Q`YEPqqJt^Cc?dj zuF*Q^nwwPMe#VCD{Q6J5TSLlJxgEBYt`l3G?(L?Qn0q#O*BEztDtTliIP%^$HpDL=`U4J z8)_|SEZ*aTNYTXm7ki@2{! z`V8e70*S*kxK%z+kj*dXc-P+{M8{;Hm3m9I&JUCm_elZG+l#V&FN7@{s)*aJ))O5d zx?@Un)SZf2)}54FtZW`jvK1Qi*V5p{!)3%-)($vFH%lmY(-OINzGjMWba@3=H~8k77)WzsL4>4>2U^3)9{(UelEU z$RdiUb_X1W>;>?VZs@{2DFaAGV#s{Y>D6>@oJ>MZL}9Am(7Ednrb0gO&*zh;CFI!` z)m3t-JC)%_PsS`JYtVsvQeGSq(5JN?9N)NX9~-;_=ZehE=LHY+oFnuRqXh-`{JC1k zZg^2)w$aLQ{aHkZBVq6H^=5+goL2m>FN6BWw46bPeio<*>PJG_Nhg~C`EELSnSHh< zgCIDK6M`l8r~fCjCwjD1Z(NPLZYPEasy?1k5F!GDVkJ^R3rJ4n2oD$je$L5=xg(~` z2L>85(Lv|vMGRk#jPkqoeNpDRd#28fWe(Hbarqpu^)S_GQXDL zAD|4tv@1F*@0+bAKpx_;W*&V?A@qv!t3aDO9cd@b>R=K=?DJeU0dD4Un_uRLg;e;H zfuE<;6B3^EPkiUb+4uy)0??Jp)blmqIap``=`MD}+EwB*zD+{Fuux8GmRXJ=_GJ(q z@9fATycHhujdU50CJ4UVdEhV-FFKUn8G~hidsE>8P5zZ-YTj7kmAKJ&rr+6+Lb#*0 zTPKzLN~8BoXtQ7NY|vBhou^uxVaGUdW`yvF8Jup+yz~+6z}=HJa*6+_#dD%mi!8g} zJg?)>dPP^>c4squ65ivn;2w!)c-+&Uq46 zKaUhX*PSllnCqOQH;X%~ycs&gILaW;Npq{|2BSwBHexkFjT;;WFn*jLi6tP6u@gSd zaSQ}WWtUp4tr+L(4`dnPAc*9M-G;8PQUq{AZQsi>f*{N{=C`%^7B)S%U}trBGh&b; zl+N;T@>FaY&W`h5*>@8*H}dC$i-Cr5OiC1j=`}DlHFc6@&&C)oWlpNoLVww)J?_5lni~KM49c20-6<~Wzs)F7Y*w|1{%(>h56vk+))ueYZo-w-Yt%kZF zFXd>GWg&8WoRlJ_EQ6iU5pAV&74Ug*l)xSh$rM_93P`7%#s$wqo8aLGiiHs$Ij4BW z>6|yxrYy8%U!DIBi!=D1!Q zGfjLE&>DR%Ry~vPL?e(gPd@uHxF;$$cMWM9+!GQ`uuHrHiSkwtU;d{|@!UBcW)N|RWL?q7(g=2}>F|JZ)hfQw5=UAirg z6YFxPtBCwx$0ioVkXwq8 zKkx>GoJykme2qbU0`ZyB{s1ZM_K21w#Yv*`;D&y*YpcG_oIzpnHZU#5UkU-B zlPo*0#*06`yM67r_a1%Gs9r@A=|>s(4cd8t&;>X{K*Jr-dKF4yCZffgXU zl;zBu`#4^CbIr8xz~+PX_WXrS%g?bui*Q_+FaP@Vl`7WZ+07X6PZ9JO|Lw1>JJgA4 zOSP`#D9l3II+Sn$p!)>X>XEaR{e9-+B2r(eIw-z~5FRzxV!Y?0Uv9!(!XM;8?#=#| z33-ZV+bk$h=|sOIsW_jhOk~-fS_H1dI?;~|%9jp@UnCqoB{p0cT%U#xY-Ld{KJA~V zn6>-_%`qmw$Jjgbw~k-;9%=ccJ;0+K+24Oj;%&4&g#Y{UL#JGNbpfvUlMqjQ3E=^* zHU+EKbDpFeYjI^SH+9ZWE@4Uck$TGI2POHrw3YE{EmTVZs_%%lc)xmpqwK`9+&CcZ z^I$x;Ib*I)K=NGQtAx>6yh-gL3Nf-4~LrK zCr`6mKk7@~%Cd!pOH(b>vXP6efeuXToHYtGSg-i|E0F_dZ&Qu;W^FrKZs1$P;?XE) z&eGb%nYvT~aYy!xE}qN_?OS{?Nl*4V6SeOsnlzM`4@^%s+CL4|{p=Yl&29Dut9Ag; z@8Mx6>z=UTae-^zua|ZX?s>PqmzE4q;M!;UG*GwtdMds8If%y++w;eD>CHg%G_)*z z>K)^upYrYeHRk*A5%y^$@x&CT15WFwt)jrGq@X_`J0 znV$@m$2nu)t?7gO1OKkUWtI*{#oCQAv$W-~N2IX*O!~u`qnYk<*|#=Rv9JhCoeBKo z>X%RB;fHOLRlXSpnP16Zts`dtyagn=mHH@{WZ=8{H{g(em0I!f^FI82tsC`UIXdKD z(49Y&kblIuYOwhg7M#4a);Web1X%l(zL%*32V_zLqVz}s)hAUV`lzAnw;06z>M7w4WpyapNI58UgwSV^wu2*r>JcXj0XKRE&e9p z71Eh8L2C)oInC;yH*c2RpAmax8G7)Gcky89KZ z5L99PkEC?7v(C~xb6BQUxb<0zF zEf4Ys0%Rnzx$_#)arrMW9D>~Jb6vIu@lzkIL92aobB*p~eQ*2C zPuY~SqGyWQhSb38G#ISaHcpSCEA$ex!49SbTb(;{K(z&aK#kr*twcPbUPO<1Q1o5| zQWlpfiJj)CveYhBNvpTW)zUJF-=L~Rpgyhf(+=60v13sRIS_~Ky*57t$mT>3zuXB2 zAi>-F9-VCvwc&-;y4n1_)X<;hZE{>C;befS0?wcT%|p@(TAQ!0d^l)bY^&RoL8Ey( z$Rxr>!y~xurxz601>?f305#9{PH_s%Y=)**Vg|uGvL&wC6tk&$Jxn*} z7ZGcdoS>27L0;k)n(RFp%~_G_b=G0)Ss+f!m({eWsMVEPK!fLtvd6}GoyR#5-K0i z&Pst3=zl={a)kt}gU9*qTsqpwYzb-shP`%{Uod>d9C^8UoB4XKf7+NsrLXk; z7aR3&PAd3t#md#5RGS5XZ@}~P^%8W`R?m-lQc5k_T)XwavLR%D z+~5`m=$9M;s5K{ zd4hzLbE{>Qf$yGcAhh%=j8Pg;5Jp%ys4OL&mKxW4%90c2$NK#0Mpk^02%|bpdS)~T z8A#Id^QJ((-*4e~IrNu+pYGL$7@6btPr^46GRp8XVL3Qd(8iXii0d_RF|nYpg^}0k z`tGJ(O;mk+TW20*2XG|OjZrfZNTs5F!%NPJ?Z^P^07J8074;5qs)n}vwmMuY=}$UZj9M=vk&cp)UtTs%hT|t0{Z~~bbY0mRGT3CgPjK^XYN2ZTt{ITL zBZ*40uuUOoqdz}|Nu1SO-!HqVi%>j4E2Z|}wavfor~(bM?*f(eJZ4ke8P9fI^(-#r zBO%qYQF!X-a~9ha>y!74wI1ePI4O_@$V+vrsp^yiQg-2(8Tc~1hJ`5Z4D^ySp=vSR z7~jhvG#5D&vk>F`nNkC$MBgMR;(NwVQ*=fmQR}^^m8MKcJN%SNwUuz6O;uf>_+}~q zth(K-!rUbPMAvg19bkJlgR@7ypUvnI10VT_l2b)A)_xkQE9Qcv^4mh-P(OB>-4=H> zp0FcpneRlSrzO^1ilsazN7MJlfO4G&{44^*oDq#=*+CvmC;%2|?LwBafO8||ED=^i zqK`|<9l6=`C!MpNF%)hG^y>wg$X_sKrtmLxsFt7UBae~^StU28G<4dQNo>@79B+=L2Oe2_ZwQaUi# ztWnCMI^#)26!X=5mI;yEDfZj$v5qU-6A5RZ20sq>(~nsToR`QLfRk>lzvnZ!c(wtuEy&9S%J2E)rkJ1xHAHv~l!-zK)_u?4KbB%4zcRP1 zX<#)G7PasW}%R1KxvRbDFVW&e_SO829BoIP3oCElv+& zXzTm~$c9r1G&1EAtWw(N0LU4Z)#FB3=76hkt>7Al1z{#0;dyy@Tt=O?pfW8y)9~gO zSW{Dx$SAu|z)8@ND?tND;;`Egxc9Qj%SP4j%t|*Ng|dFx^-0gX*~+h?5!@RI`V~w7 z#5)ql07=*pVFU7|*xDF!q%_f}5h*aF5vS0wdeEaLpbJ zuXl637Y$=SXWhTROV&hQLzocV^GFi-kflI>PI7#euC)SGWO#w}6><=OZMEZhBS1}% zYdj$M7KVI&>g#v1tg0;X$<4jXE9~w>j$he?#@gZvqM56$5~S2}?anXZjCTv#c7R09 zY=-+foS!61&OvzM=CAW`g$g_0ZxA8Bbvf7yhBbWsD*1NVVRbaH*$s8Jmfw3~t~>Ma zAUy6ZV|svq>`JGzQ}NmA6Be`+>~@cJ>$*W8>P+%`*g`4sKS)=-@HiC52cq@|i`LH# zDZWdezneFU-O`DO*=ai;q}E2C8J$i%iBZMa8~hSgWdqXC9e{BfAw2#^4N-Al*%-TN zmR#E|6IEA0Qnh*Z`qBRQx*Cs=T(dzelv&1eK*Y1)_S)KNY^T0_DL;2hn=C0$@%4&= zP>p9VrE7*uSxujSIsf9j;gY2W-sT~wy)C+9CXnUbkvswrhi&)`Vx68Qre9I*%pE6Z zY%*OUybL?j5qncsVInDBUS@B(S$w>rZoZ*n+&*CWo#Eg%)|=Vre0(b?;pW>@3C2;E z74Dpr8l2AsFD)W}Sfbj$0ZM-WUaUWd;dk7xG-HL2J+ItTWuV-@0C4m9;njp90omTh z3k_P4c`5;Q==wS``O?=S*@WX2AmwCI+_I<4OntB z$QRXu87t8vzC%u5>Mb159Wgu6VX3F?Q3?vx$4FkI=B#rHpfVb+6~;q11^^xDkja%W zqY&6)Vfwl%5}2DxQMg5{$_F&7?3NE*yw7@N#X)MXd2vg zfl*CiIcXMCifP`aMcl6JFQ^uD>VL1)CHa)Obx}GHAKnX1%WOeDR8VI8h#_3ZEmA(? zuOIndp4dp0`TA4jjgnXQCjlTbdWYIk_vwRtfzY-+Zf%C^uJM?S3)|$98bfXoe)Z~f zURh|RFE?3O>FV&ArHamYTWXOJhhbfQ``mHU-t3-|t?)Da#6^_|d!2g;6Ty*7NJ)p0 zO8aIws|7q?Brb32mYmxy51sy&87(aulR-=gru8={Ed3Nt1j&Sdkm!)YTJn?k{UaYk zcVQQrU+QnzE{#OJQ@}IBcE}gXe1)X|OtLW}z4K$U|i?&ss_+E1Bi&&RG|M*Y!eN z3^v4!dNWq>C@W^W6;C}+l37FCU@v&>pc(y3F#Q_P8X|f?Nvc6!G1<&$=JY9~aCjFF zPw91v#UXOD6HV)g)RQA~wjkubCglrk3fh4YKmj+jUt+2Pzd;o+GJjBQDe=+KJ#*rW zRWFItJ+s{vg*tjGbT0n}JHLpjSnsHy?~5KIxZr;-@A_LGv7y=(hG84PZ#XodMZO@u zwS_Z3&4(S<`^Y=}2KjY4QOXVl|MI^O^+);$`5GL&N$ID{Ws4)BCdryf=D?k=-Cp`k zdl%au!YZ{C0iCC1g15H-Q3C7XqJGzDcK)cr1Og;jb~V?VAg-)|Uv#|!PndVv^ymjN zZueuPC?}A8*RlT5wHNTBA1lWB+Xgg-k8btqj82}Yx>_tN6&=KApwRpR#g2KJ4`K7R zTW&zomi#D>x_g~vYH0MH>y__M=5Kf%&4=2lNP?Dmsprhe^2Fj2@r@Lx3h264@&^Dw z@$)YSl5BA-AiAeF2ao=Wka--lpcEl~>28y3hxVI=y>5BdE|n7kZ6+|46MavLNkkeH4_AYU>y&RgsrauDu`;nIP~}gMej@x*&8^SS1#3z z{HM=BN67!*1FrsGpBEpWS;9rtekpHi#=`8<>I}Fz_VbExVmc6L%-?Mcw`riBqhzJ2 z9F2y}pE-+2UUxI~bhRyTKBvK2<+6R!ZY_Tdb@&_9QRtv3z~RPRE06|g06yBl0ONs= zRfzuQ$v^*B_mt|d98vfmmC!%TIN#FTV*19TA8PA|ac+Lbsh6pPYH<6DN#tw;y9ASj zST3X`3eu4{&?Kpa$X^hRm7@wKMsDY;9_STgpqOYE${}thgV;;!=-263HboOiu8IR% z)f|&6am|z9uA-!_R$gdw*!;jRW0@gOXO-&wGSS$6MilkTekS9188=1_>|1 zxF~HDD!j^MWn7qx9d5CysYIJTqM(9Dmr249qv@9Yjb-2SJQYp^R&+ky>rguy{0f3I zB{d6 zY~Hu$=FET=+lv^u#8}Z{lY3Iyb9Bi{CZkt_Dpv(AEL6IO!TjcK<0p%pO5ID;*VLoq z<=YFz=Vlt-%gs$k*nfEHHDIc3|4hsnYy4P8>lXK<^_kRtKsI9u76vVWgdw@SYdc$5 z6@N}G5H#)--Au@X%F0GBHe zl2HUu8kE(&1OdvTt37TbG40J=+UD;{uympQ*(7ej?KQgvVRL8pkr9?N%ajH99=8w@&% z$6Ow&jM)K~(;2?ny$=DZFr4d#=WGGvmeTh5HKX-SCI;S7(M$o9|8=ErglVcRy1ClQ zii)8AX<-Y~;R}z{x!g19bMvm{Wx9d5Kv#hkTZD5VJCL0C*2sNvmMKTC*8@)tf1%Gi zup29B%rZ;G3Xj&ZBILdi&9K4P7}+h0(U_(b9-DgO65cynY|&@RR?pu7%gptFiLR|2 z%Bhe@5o=6I{IcVMRA@?Lx?p+-vo4dRML|9L1~-ow zxH1Xu4wPgWRxm}f$!8kc=b-2HJ?W16%qK(`P@CD+m_u5BkJ%Y&K%$sKVj;+hLf;?|H`YLU>sC5~jlNRM0S$YZW*v zA^m#r3_T>PaJ>ap92QhAAh9V?cOh+L2w09} zk|5Fe6GEWZWlvO+;J8p#DR*l(#PHM&{Y+q%D2ihWzukzTN9gv&M$F|KsLBXtB{Pm? zJ(H-E+wfQK0K}hMH9-hyF0$#x&*wck-eq$YLW{Z^jg_%up2^gx8NMn&c8k)^Lyw!P z8BDF&8}H6iss5%Z)l#HMmCUX@7$%xxIcC^Z$D;;LJ#2{t5zAqt=mz(;Vh9sF@gsEK z{RK&Q^D1z#ReKPEfJ?K?T*l!Z^iV>0biE5H^&}M?0cd)KUGEbe-#Xly6u9;UROMex#1!y20U_(ssVu`WT!d7*3%0UcK_2@ovE=p_dSv+Hw*k`QeO#_H@m*plY%iZPF z`eGq*j7p{AtP)5b{feY;1VcP7$1|pQxMSbWM+$%Ep86O@pU;z9CK zO}c`!Z#ZHXAqhV*w21aOkdk|=T;=QH1OidkLLTf!k7W0$@%Z7Du!~^;R6yU3wbWX( zkhe)ys2?sc)^CDLuCnwW2ZO7L85N=ZlKBGtekokHOp=nrs#aF*Ov0b+Pkpk z$6i!KgWyAxndf)F9n&=A#9Aov{+6g7JRQz7rE&f0?GM5a8{=b-nJDiwGhEQz+w z2i*&ujG4Hqet@nP#>U0MiiapQUnhxG*ze&#eS2i4GlatrZnlcxq!8IY0>woj9`*V< z&jd_m)OD6k+&osc2W-b0e!d*%78l&jGbwGXAs82 zR9gP+#~_;jM0ar7nZ@`V7Q1TZg<{3MC^g-6UF_P#fWHv+vKC7 z2?THOui;NIIL>)kwCh28=Cs<*w_Pz$<%z%v5B6`HaRlSIGLR#s)A!zZN=ppulit!7 zOp}ux+PK`1d0oPG>n%MjavBXU4-yjgnC{d1}gu5T+!}1#xDRX6?5FUEg=kfGO-sR;x-5V+u0e(U9 zX!J@ZBzhb67$7!GP8)bIR{6Pd6-#~9;l5)8qaE~3W4H$+nw8-FPNl!Q$4@l$!l{@+)eKlixB?d#l+?nuR zv#K$8ue$^L+y+KJzB#M1hTNysVqmYZ+4=-@Oo2Zj_=jA}oTcvlz$6}0QHyj$oE6fXAIRm{6&P&hWb zc9_!CCLr zIRaCsrn5`=!jY?eN*ocg2)7_A)myRSSff)RAx?=MeT+*jW(yue3m&iSR6hbC2t>b@ zn+ahdqH)6YGpsaTsh{5htvu?tszy3p(R!ELO%LfA2xkI&LBi|wm#G(K!Z5|@$+O~YtJ7izXM6m_(l+@t z9-0nC@e2w0LFWo!;h18e`hnyl0x(dE-1yJMkB4E&wU-lRHFrMfgq~*DIeTs!ZUC5r z87>8D^$wS$UfKJ+a|}ISS?T!6C;48e&5iLB_-G*fZ36Ph@4?N7H^w0mBH5Ut?@(n! z#`)|k7p^vzT%ma(Qw2mn-8txJe&dLjxLhbg)BW>}ri3$Hr=Okl1Dk{gs5C--d-`FI zE$Eg_Mi9m#KnLpi7v=fqpdaG|0#Gw72bSllnuu)JnU}R(4%)i7_mSf*3)02RR%UNd z=VN_T8#6a(g_>Nc$4FW@|AXM|Et}FHVw1UPfLQIl{L6JN3c`__fJr4FG+R^864LX`1RRjgap|DDO{7@75*v@Qm1$h)Y_^U+q5 z^0}SyAuj`71DE9$#Ss~=Id%b6<4Bes&Nw05`6D=kW%so0Ub>YJFQN;@lhIw7FM743 z&W;W+sO<{TUj))+>ZD>Ed2^kdea9}wA}Rd=U~u!lOdK2?Ty4)rj-3!k8EqN(mi(P9 z*s&fG=>NA4(Z4?r^;b@v{fq1UzgMc>;6FwhYBGE-Vn2U)nVQv~S}!9*xKpT-3;7;) zvm>S9E_9!bp|&gYH%P<;t_gAz$6D+uM4C?Ed4bs$_5@fs-*3=;Qvlt%1bfS}B7Fy( z?w`?AM0iEHi23qy7jZMAUXFa!vxmO%AwYS1v-TpqIuR*>B1mV9`>w3T{01R`(&^Aj z=^gNUl%wPIJm?YO31xH`_5#IXlx>_Hqq<#@%8ZS2@zj!&5PsN>V}IKCXm%0D5y zDETA1fRWt#$VFdK9=}0c|CWw8I%NO1~V5E}fiyaV{J96S5Jy=eUVh2!||-$VpCURwadIkurceGMRg?S!V| zz4+7j;@G~Aef+=E1|WZ}p!u<{AN%^T4g5pd0OW5F7XR-&gO0!ZIK~~@z@KXakiSLW z`uJS`hdS4fedo{hoqx3Tg#4{)C&&JN?C-}m@DE`FkUxXZbG+C85PSWP7Ke_1@1L88 zK>p0;zGI(1_W5HQ_`9_M$T7bDce^*oaqZ8IYya%)d5o_g+tWY05B#&d|1rLP?Cbw5 Zw*Jrlp2zt5v9JHL`@lcT`$K+@{Vxa5>oNcU diff --git a/resources/images/concept.png b/resources/images/concept.png new file mode 100644 index 0000000000000000000000000000000000000000..ed26f5ebe3174f6b088375b6db7cba4f21f6619e GIT binary patch literal 79259 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

MLG>NT&Q^Bz1zk_0`k~!`lPrJiHwOzkt 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 Date: Tue, 8 Dec 2020 18:03:50 +0100 Subject: [PATCH 51/61] Doc updates (#21) * updated summary panel * fixed concept figure references --- README.rst | 2 +- docs/index.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 5eb69256b..cf758b0c7 100644 --- a/README.rst +++ b/README.rst @@ -12,7 +12,7 @@ sfaira - data and model repository for single-cell data ======================================================= .. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.png - :width: 600px + :width: 1000px :align: center sfaira_ is a model and a data repository in a single python package. diff --git a/docs/index.rst b/docs/index.rst index 05001c3f2..c699c8c1d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,7 +10,7 @@ sfaira - data and model repository for single-cell data ======================================================= -.. image:: https://github.com/theislab/sfaira/blob/master/resources/images/concept.png +.. image:: https://raw.githubusercontent.com/theislab/sfaira/master/resources/images/concept.png :width: 600px :align: center From 2e2f98c56601ec7cd9bffd27c073e5341a3241d4 Mon Sep 17 00:00:00 2001 From: "David S. Fischer" Date: Tue, 8 Dec 2020 18:13:23 +0100 Subject: [PATCH 52/61] Doc updates (#22) * updated zoo panels --- resources/images/data_zoo.png | Bin 87360 -> 86510 bytes resources/images/model_zoo.png | Bin 81929 -> 81462 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/images/data_zoo.png b/resources/images/data_zoo.png index 58048bfaae906911d30555cb7132258b71b3a894..b570e53ee833eab89cb37c4eaca9b0d002b17efe 100644 GIT binary patch literal 86510 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 dez47OC?&o}f*C#K>(KpzH~^oG(Z&=|2&q@x>i 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 literal 87360 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%0D7{Ol>*G1uYUD+8MT;vBUubv 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ª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 Y*tp=i;eSmu!GJ%RFA5S>VupeL1KT2tUH||9 literal 81929 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 z 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 H27&(%At$1L From ef8f9e2785962e802f0c3b87a8cc6145dc7729c9 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 11:17:54 +0100 Subject: [PATCH 53/61] move from `import sfaira.api as sfaira` to `import sfaira` and from `import sfaira_extension.api as sfairae` to `import sfaira_extension` --- docs/api/index.rst | 2 +- sfaira/__init__.py | 22 +++++++++++++++---- sfaira/api/__init__.py | 5 ----- sfaira/api/data.py | 4 ---- sfaira/api/genomes.py | 1 - sfaira/api/models.py | 2 -- sfaira/api/train.py | 2 -- sfaira/api/ui.py | 1 - sfaira/data/human/adipose/human_adipose.py | 4 ++-- .../human/adrenalgland/human_adrenalgland.py | 4 ++-- sfaira/data/human/artery/human_artery.py | 4 ++-- sfaira/data/human/bladder/human_bladder.py | 4 ++-- sfaira/data/human/blood/human_blood.py | 4 ++-- sfaira/data/human/bone/human_bone.py | 4 ++-- sfaira/data/human/brain/human_brain.py | 4 ++-- sfaira/data/human/calvaria/human_calvaria.py | 4 ++-- sfaira/data/human/cervix/human_cervix.py | 4 ++-- .../chorionicvillus/human_chorionicvillus.py | 4 ++-- sfaira/data/human/colon/human_colon.py | 4 ++-- sfaira/data/human/duodenum/human_duodenum.py | 4 ++-- .../data/human/epityphlon/human_epityphlon.py | 4 ++-- .../data/human/esophagus/human_esophagus.py | 4 ++-- sfaira/data/human/eye/human_eye.py | 4 ++-- .../fallopiantube/human_fallopiantube.py | 4 ++-- .../human/femalegonad/human_femalegonad.py | 4 ++-- .../human/gallbladder/human_gallbladder.py | 4 ++-- sfaira/data/human/heart/human_heart.py | 4 ++-- sfaira/data/human/hesc/human_hesc.py | 4 ++-- sfaira/data/human/ileum/human_ileum.py | 4 ++-- sfaira/data/human/jejunum/human_jejunum.py | 4 ++-- sfaira/data/human/kidney/human_kidney.py | 4 ++-- sfaira/data/human/liver/human_liver.py | 4 ++-- sfaira/data/human/lung/human_lung.py | 4 ++-- .../data/human/malegonad/human_malegonad.py | 4 ++-- sfaira/data/human/mixed/human_mixed.py | 4 ++-- sfaira/data/human/muscle/human_muscle.py | 4 ++-- sfaira/data/human/omentum/human_omentum.py | 4 ++-- sfaira/data/human/pancreas/human_pancreas.py | 4 ++-- sfaira/data/human/placenta/human_placenta.py | 4 ++-- sfaira/data/human/pleura/human_pleura.py | 4 ++-- sfaira/data/human/prostate/human_prostate.py | 4 ++-- sfaira/data/human/rectum/human_rectum.py | 4 ++-- sfaira/data/human/rib/human_rib.py | 4 ++-- sfaira/data/human/skin/human_skin.py | 4 ++-- .../data/human/spinalcord/human_spinalcord.py | 4 ++-- sfaira/data/human/spleen/human_spleen.py | 4 ++-- sfaira/data/human/stomach/human_stomach.py | 4 ++-- sfaira/data/human/thymus/human_thymus.py | 4 ++-- sfaira/data/human/thyroid/human_thyroid.py | 4 ++-- sfaira/data/human/trachea/human_trachea.py | 4 ++-- sfaira/data/human/ureter/human_ureter.py | 4 ++-- sfaira/data/human/uterus/human_uterus.py | 4 ++-- sfaira/data/mouse/adipose/mouse_adipose.py | 4 ++-- sfaira/data/mouse/bladder/mouse_bladder.py | 4 ++-- sfaira/data/mouse/blood/mouse_blood.py | 4 ++-- sfaira/data/mouse/bone/mouse_bone.py | 4 ++-- sfaira/data/mouse/brain/mouse_brain.py | 4 ++-- sfaira/data/mouse/colon/mouse_colon.py | 4 ++-- .../data/mouse/diaphragm/mouse_diaphragm.py | 4 ++-- .../mouse/femalegonad/mouse_femalegonad.py | 4 ++-- sfaira/data/mouse/heart/mouse_heart.py | 4 ++-- sfaira/data/mouse/ileum/mouse_ileum.py | 4 ++-- sfaira/data/mouse/kidney/mouse_kidney.py | 4 ++-- sfaira/data/mouse/liver/mouse_liver.py | 4 ++-- sfaira/data/mouse/lung/mouse_lung.py | 4 ++-- .../data/mouse/malegonad/mouse_malegonad.py | 4 ++-- .../mouse/mammarygland/mouse_mammarygland.py | 4 ++-- sfaira/data/mouse/muscle/mouse_muscle.py | 4 ++-- sfaira/data/mouse/pancreas/mouse_pancreas.py | 4 ++-- sfaira/data/mouse/placenta/mouse_placenta.py | 4 ++-- sfaira/data/mouse/prostate/mouse_prostate.py | 4 ++-- sfaira/data/mouse/rib/mouse_rib.py | 4 ++-- sfaira/data/mouse/skin/mouse_skin.py | 4 ++-- sfaira/data/mouse/spleen/mouse_spleen.py | 4 ++-- sfaira/data/mouse/stomach/mouse_stomach.py | 4 ++-- sfaira/data/mouse/thymus/mouse_thymus.py | 4 ++-- sfaira/data/mouse/tongue/mouse_tongue.py | 4 ++-- sfaira/data/mouse/trachea/mouse_trachea.py | 4 ++-- sfaira/data/mouse/uterus/mouse_uterus.py | 4 ++-- sfaira/data/utils/write_backed_human.py | 2 +- sfaira/data/utils/write_backed_mouse.py | 2 +- sfaira/estimators/external.py | 2 +- sfaira/interface/__init__.py | 1 - sfaira/interface/external.py | 1 - sfaira/interface/user_interface.py | 2 +- sfaira/models/celltype/external.py | 3 ++- sfaira/models/embedding/external.py | 4 +++- sfaira/preprocessing.py | 12 ---------- sfaira/train/external.py | 2 +- sfaira/train/train_model.py | 10 +++++++++ sfaira/unit_tests/external.py | 4 ++-- sfaira/unit_tests/test_models.py | 2 +- sfaira/versions/celltype_versions/__init__.py | 6 ++--- .../human/celltype/celltypemarker.py | 4 ++-- .../human/celltype/celltypemlp.py | 4 ++-- .../topology_versions/human/embedding/ae.py | 4 ++-- .../human/embedding/linear.py | 4 ++-- .../topology_versions/human/embedding/nmf.py | 4 ++-- .../topology_versions/human/embedding/vae.py | 4 ++-- .../human/embedding/vaeiaf.py | 4 ++-- .../human/embedding/vaevamp.py | 4 ++-- .../mouse/celltype/celltypemarker.py | 4 ++-- .../mouse/celltype/celltypemlp.py | 4 ++-- .../topology_versions/mouse/embedding/ae.py | 4 ++-- .../mouse/embedding/linear.py | 4 ++-- .../topology_versions/mouse/embedding/nmf.py | 4 ++-- .../topology_versions/mouse/embedding/vae.py | 4 ++-- .../mouse/embedding/vaeiaf.py | 4 ++-- .../mouse/embedding/vaevamp.py | 4 ++-- 109 files changed, 219 insertions(+), 221 deletions(-) delete mode 100644 sfaira/api/__init__.py delete mode 100644 sfaira/api/data.py delete mode 100644 sfaira/api/genomes.py delete mode 100644 sfaira/api/models.py delete mode 100644 sfaira/api/train.py delete mode 100644 sfaira/api/ui.py delete mode 100644 sfaira/preprocessing.py diff --git a/docs/api/index.rst b/docs/api/index.rst index 380b0d010..0230f0b1a 100644 --- a/docs/api/index.rst +++ b/docs/api/index.rst @@ -7,7 +7,7 @@ API Import sfaira as:: - import sfaira.api as sfaira + import sfaira diff --git a/sfaira/__init__.py b/sfaira/__init__.py index 924940aaa..50910f0a2 100644 --- a/sfaira/__init__.py +++ b/sfaira/__init__.py @@ -1,11 +1,25 @@ +# -*- coding: utf-8 -*- +"""A Data and Model Zoo for Single-Cell Genomics.""" + from ._version import get_versions __version__ = get_versions()['version'] del get_versions - +__maintainer__ = ', '.join([ + "Leander Dony", + "David S. Fischer" +]) __author__ = ', '.join([ - 'theislab' + "Leander Dony", + "David S. Fischer" ]) __email__ = ', '.join([ - 'david.fischer@helmholtz-muenchen.de' -]) \ No newline at end of file + "leander.dony@helmholtz-muenchen.de", + "david.fischer@helmholtz-muenchen.de" +]) + +import sfaira.data +import sfaira.genomes +import sfaira.models +import sfaira.train +import sfaira.interface as ui diff --git a/sfaira/api/__init__.py b/sfaira/api/__init__.py deleted file mode 100644 index c61b4e96b..000000000 --- a/sfaira/api/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from . import data -from . import genomes -from . import models -from . import train -from . import ui diff --git a/sfaira/api/data.py b/sfaira/api/data.py deleted file mode 100644 index dcbb39a65..000000000 --- a/sfaira/api/data.py +++ /dev/null @@ -1,4 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase, DatasetSuperGroup -from sfaira.data import mouse -from sfaira.data import human -from sfaira.data import DatasetInteractive diff --git a/sfaira/api/genomes.py b/sfaira/api/genomes.py deleted file mode 100644 index 1d3783d36..000000000 --- a/sfaira/api/genomes.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.genomes import ExtractFeatureListEnsemble diff --git a/sfaira/api/models.py b/sfaira/api/models.py deleted file mode 100644 index 9565f986d..000000000 --- a/sfaira/api/models.py +++ /dev/null @@ -1,2 +0,0 @@ -from sfaira.models import celltype -from sfaira.models import embedding diff --git a/sfaira/api/train.py b/sfaira/api/train.py deleted file mode 100644 index 41b083cf9..000000000 --- a/sfaira/api/train.py +++ /dev/null @@ -1,2 +0,0 @@ -from sfaira.train import GridsearchContainer, SummarizeGridsearchEmbedding, SummarizeGridsearchCelltype -from sfaira.train import TrainModelEmbedding, TrainModelCelltype, TargetZoos diff --git a/sfaira/api/ui.py b/sfaira/api/ui.py deleted file mode 100644 index 135b63440..000000000 --- a/sfaira/api/ui.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.interface import UserInterface diff --git a/sfaira/data/human/adipose/human_adipose.py b/sfaira/data/human/adipose/human_adipose.py index b47b77d89..b73dc035a 100644 --- a/sfaira/data/human/adipose/human_adipose.py +++ b/sfaira/data/human/adipose/human_adipose.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupAdipose().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupAdipose().datasets) except ImportError: pass diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland.py b/sfaira/data/human/adrenalgland/human_adrenalgland.py index 8fad6089d..2ff3b9e60 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland.py @@ -30,7 +30,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupAdrenalgland().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupAdrenalgland().datasets) except ImportError: pass diff --git a/sfaira/data/human/artery/human_artery.py b/sfaira/data/human/artery/human_artery.py index 93af2dd06..71c85a445 100644 --- a/sfaira/data/human/artery/human_artery.py +++ b/sfaira/data/human/artery/human_artery.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupArtery().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupArtery().datasets) except ImportError: pass diff --git a/sfaira/data/human/bladder/human_bladder.py b/sfaira/data/human/bladder/human_bladder.py index e9bf573ff..822418c38 100644 --- a/sfaira/data/human/bladder/human_bladder.py +++ b/sfaira/data/human/bladder/human_bladder.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupBladder().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupBladder().datasets) except ImportError: pass diff --git a/sfaira/data/human/blood/human_blood.py b/sfaira/data/human/blood/human_blood.py index d0b16e5ca..2b932b430 100644 --- a/sfaira/data/human/blood/human_blood.py +++ b/sfaira/data/human/blood/human_blood.py @@ -36,7 +36,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupBlood().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupBlood().datasets) except ImportError: pass diff --git a/sfaira/data/human/bone/human_bone.py b/sfaira/data/human/bone/human_bone.py index 68e5f868f..3620e2867 100644 --- a/sfaira/data/human/bone/human_bone.py +++ b/sfaira/data/human/bone/human_bone.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupBone().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupBone().datasets) except ImportError: pass diff --git a/sfaira/data/human/brain/human_brain.py b/sfaira/data/human/brain/human_brain.py index 4d15fdf2f..a993bad7d 100644 --- a/sfaira/data/human/brain/human_brain.py +++ b/sfaira/data/human/brain/human_brain.py @@ -32,7 +32,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupBrain().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupBrain().datasets) except ImportError: pass diff --git a/sfaira/data/human/calvaria/human_calvaria.py b/sfaira/data/human/calvaria/human_calvaria.py index 431b6ba10..5cd25108f 100644 --- a/sfaira/data/human/calvaria/human_calvaria.py +++ b/sfaira/data/human/calvaria/human_calvaria.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupCalvaria().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupCalvaria().datasets) except ImportError: pass diff --git a/sfaira/data/human/cervix/human_cervix.py b/sfaira/data/human/cervix/human_cervix.py index 14116d928..5b189e00c 100644 --- a/sfaira/data/human/cervix/human_cervix.py +++ b/sfaira/data/human/cervix/human_cervix.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupCervix().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupCervix().datasets) except ImportError: pass diff --git a/sfaira/data/human/chorionicvillus/human_chorionicvillus.py b/sfaira/data/human/chorionicvillus/human_chorionicvillus.py index 8ce4d6c0f..c71e727f6 100644 --- a/sfaira/data/human/chorionicvillus/human_chorionicvillus.py +++ b/sfaira/data/human/chorionicvillus/human_chorionicvillus.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupChorionicvillus().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupChorionicvillus().datasets) except ImportError: pass diff --git a/sfaira/data/human/colon/human_colon.py b/sfaira/data/human/colon/human_colon.py index 8dc44ab6f..90315ef07 100644 --- a/sfaira/data/human/colon/human_colon.py +++ b/sfaira/data/human/colon/human_colon.py @@ -34,7 +34,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupColon().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupColon().datasets) except ImportError: pass diff --git a/sfaira/data/human/duodenum/human_duodenum.py b/sfaira/data/human/duodenum/human_duodenum.py index fcb3b5ccf..5cb3964bd 100644 --- a/sfaira/data/human/duodenum/human_duodenum.py +++ b/sfaira/data/human/duodenum/human_duodenum.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupDuodenum().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupDuodenum().datasets) except ImportError: pass diff --git a/sfaira/data/human/epityphlon/human_epityphlon.py b/sfaira/data/human/epityphlon/human_epityphlon.py index dc49920c8..4a87a65e7 100644 --- a/sfaira/data/human/epityphlon/human_epityphlon.py +++ b/sfaira/data/human/epityphlon/human_epityphlon.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupEpityphlon().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupEpityphlon().datasets) except ImportError: pass diff --git a/sfaira/data/human/esophagus/human_esophagus.py b/sfaira/data/human/esophagus/human_esophagus.py index 7fe9c574f..7fcffd4f9 100644 --- a/sfaira/data/human/esophagus/human_esophagus.py +++ b/sfaira/data/human/esophagus/human_esophagus.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupEsophagus().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupEsophagus().datasets) except ImportError: pass diff --git a/sfaira/data/human/eye/human_eye.py b/sfaira/data/human/eye/human_eye.py index 42876bd4f..b6c41ee8c 100644 --- a/sfaira/data/human/eye/human_eye.py +++ b/sfaira/data/human/eye/human_eye.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupEye().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupEye().datasets) except ImportError: pass diff --git a/sfaira/data/human/fallopiantube/human_fallopiantube.py b/sfaira/data/human/fallopiantube/human_fallopiantube.py index e8718df1e..dfe38d925 100644 --- a/sfaira/data/human/fallopiantube/human_fallopiantube.py +++ b/sfaira/data/human/fallopiantube/human_fallopiantube.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupFallopiantube().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupFallopiantube().datasets) except ImportError: pass diff --git a/sfaira/data/human/femalegonad/human_femalegonad.py b/sfaira/data/human/femalegonad/human_femalegonad.py index 14897f050..8b2ba1da1 100644 --- a/sfaira/data/human/femalegonad/human_femalegonad.py +++ b/sfaira/data/human/femalegonad/human_femalegonad.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupFemalegonad().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupFemalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/human/gallbladder/human_gallbladder.py b/sfaira/data/human/gallbladder/human_gallbladder.py index 4fd59206e..df9f2681e 100644 --- a/sfaira/data/human/gallbladder/human_gallbladder.py +++ b/sfaira/data/human/gallbladder/human_gallbladder.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupGallbladder().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupGallbladder().datasets) except ImportError: pass diff --git a/sfaira/data/human/heart/human_heart.py b/sfaira/data/human/heart/human_heart.py index aced6ac11..3b3402ec4 100644 --- a/sfaira/data/human/heart/human_heart.py +++ b/sfaira/data/human/heart/human_heart.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupHeart().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupHeart().datasets) except ImportError: pass diff --git a/sfaira/data/human/hesc/human_hesc.py b/sfaira/data/human/hesc/human_hesc.py index 3855c509d..e833fec97 100644 --- a/sfaira/data/human/hesc/human_hesc.py +++ b/sfaira/data/human/hesc/human_hesc.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupHesc().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupHesc().datasets) except ImportError: pass diff --git a/sfaira/data/human/ileum/human_ileum.py b/sfaira/data/human/ileum/human_ileum.py index b5ade8f37..7d86c4175 100644 --- a/sfaira/data/human/ileum/human_ileum.py +++ b/sfaira/data/human/ileum/human_ileum.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupIleum().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupIleum().datasets) except ImportError: pass diff --git a/sfaira/data/human/jejunum/human_jejunum.py b/sfaira/data/human/jejunum/human_jejunum.py index 0fa39a272..b78513ae8 100644 --- a/sfaira/data/human/jejunum/human_jejunum.py +++ b/sfaira/data/human/jejunum/human_jejunum.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupJejunum().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupJejunum().datasets) except ImportError: pass diff --git a/sfaira/data/human/kidney/human_kidney.py b/sfaira/data/human/kidney/human_kidney.py index 9e175cd6f..bb0860fa4 100644 --- a/sfaira/data/human/kidney/human_kidney.py +++ b/sfaira/data/human/kidney/human_kidney.py @@ -38,7 +38,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupKidney().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupKidney().datasets) except ImportError: pass diff --git a/sfaira/data/human/liver/human_liver.py b/sfaira/data/human/liver/human_liver.py index b88736cf1..568c9cb2a 100644 --- a/sfaira/data/human/liver/human_liver.py +++ b/sfaira/data/human/liver/human_liver.py @@ -36,7 +36,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupLiver().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupLiver().datasets) except ImportError: pass diff --git a/sfaira/data/human/lung/human_lung.py b/sfaira/data/human/lung/human_lung.py index 274cfaeff..3097235cd 100644 --- a/sfaira/data/human/lung/human_lung.py +++ b/sfaira/data/human/lung/human_lung.py @@ -47,7 +47,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupLung().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupLung().datasets) except ImportError: pass diff --git a/sfaira/data/human/malegonad/human_malegonad.py b/sfaira/data/human/malegonad/human_malegonad.py index 508259f2a..8689bbb44 100644 --- a/sfaira/data/human/malegonad/human_malegonad.py +++ b/sfaira/data/human/malegonad/human_malegonad.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupMalegonad().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupMalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/human/mixed/human_mixed.py b/sfaira/data/human/mixed/human_mixed.py index d46f9e03d..d53babed9 100644 --- a/sfaira/data/human/mixed/human_mixed.py +++ b/sfaira/data/human/mixed/human_mixed.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupMixed().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupMixed().datasets) except ImportError: pass diff --git a/sfaira/data/human/muscle/human_muscle.py b/sfaira/data/human/muscle/human_muscle.py index a96850a70..13251f035 100644 --- a/sfaira/data/human/muscle/human_muscle.py +++ b/sfaira/data/human/muscle/human_muscle.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupMuscle().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupMuscle().datasets) except ImportError: pass diff --git a/sfaira/data/human/omentum/human_omentum.py b/sfaira/data/human/omentum/human_omentum.py index a1d1879b7..79987a780 100644 --- a/sfaira/data/human/omentum/human_omentum.py +++ b/sfaira/data/human/omentum/human_omentum.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupOmentum().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupOmentum().datasets) except ImportError: pass diff --git a/sfaira/data/human/pancreas/human_pancreas.py b/sfaira/data/human/pancreas/human_pancreas.py index 9252cbf37..6bbc84c26 100644 --- a/sfaira/data/human/pancreas/human_pancreas.py +++ b/sfaira/data/human/pancreas/human_pancreas.py @@ -32,7 +32,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupPancreas().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupPancreas().datasets) except ImportError: pass diff --git a/sfaira/data/human/placenta/human_placenta.py b/sfaira/data/human/placenta/human_placenta.py index 5d8df2fed..cea7b79f6 100644 --- a/sfaira/data/human/placenta/human_placenta.py +++ b/sfaira/data/human/placenta/human_placenta.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupPlacenta().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupPlacenta().datasets) except ImportError: pass diff --git a/sfaira/data/human/pleura/human_pleura.py b/sfaira/data/human/pleura/human_pleura.py index 853035a55..bca17c144 100644 --- a/sfaira/data/human/pleura/human_pleura.py +++ b/sfaira/data/human/pleura/human_pleura.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupPleura().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupPleura().datasets) except ImportError: pass diff --git a/sfaira/data/human/prostate/human_prostate.py b/sfaira/data/human/prostate/human_prostate.py index a6d15c2e2..143a6cc4e 100644 --- a/sfaira/data/human/prostate/human_prostate.py +++ b/sfaira/data/human/prostate/human_prostate.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupProstate().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupProstate().datasets) except ImportError: pass diff --git a/sfaira/data/human/rectum/human_rectum.py b/sfaira/data/human/rectum/human_rectum.py index 236ccca09..632b6bde5 100644 --- a/sfaira/data/human/rectum/human_rectum.py +++ b/sfaira/data/human/rectum/human_rectum.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupRectum().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupRectum().datasets) except ImportError: pass diff --git a/sfaira/data/human/rib/human_rib.py b/sfaira/data/human/rib/human_rib.py index 0b7e9a07a..7ac74b9ee 100644 --- a/sfaira/data/human/rib/human_rib.py +++ b/sfaira/data/human/rib/human_rib.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupRib().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupRib().datasets) except ImportError: pass diff --git a/sfaira/data/human/skin/human_skin.py b/sfaira/data/human/skin/human_skin.py index b13b7c39c..b8ea52ee6 100644 --- a/sfaira/data/human/skin/human_skin.py +++ b/sfaira/data/human/skin/human_skin.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupSkin().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupSkin().datasets) except ImportError: pass diff --git a/sfaira/data/human/spinalcord/human_spinalcord.py b/sfaira/data/human/spinalcord/human_spinalcord.py index 246497a33..9714fa9e3 100644 --- a/sfaira/data/human/spinalcord/human_spinalcord.py +++ b/sfaira/data/human/spinalcord/human_spinalcord.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupSpinalcord().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupSpinalcord().datasets) except ImportError: pass diff --git a/sfaira/data/human/spleen/human_spleen.py b/sfaira/data/human/spleen/human_spleen.py index 783e2922c..1f22dcdee 100644 --- a/sfaira/data/human/spleen/human_spleen.py +++ b/sfaira/data/human/spleen/human_spleen.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupSpleen().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupSpleen().datasets) except ImportError: pass diff --git a/sfaira/data/human/stomach/human_stomach.py b/sfaira/data/human/stomach/human_stomach.py index 64d5fdd76..5ad4636f4 100644 --- a/sfaira/data/human/stomach/human_stomach.py +++ b/sfaira/data/human/stomach/human_stomach.py @@ -38,7 +38,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupStomach().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupStomach().datasets) except ImportError: pass diff --git a/sfaira/data/human/thymus/human_thymus.py b/sfaira/data/human/thymus/human_thymus.py index 22e5d45fc..012dcc030 100644 --- a/sfaira/data/human/thymus/human_thymus.py +++ b/sfaira/data/human/thymus/human_thymus.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupThymus().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupThymus().datasets) except ImportError: pass diff --git a/sfaira/data/human/thyroid/human_thyroid.py b/sfaira/data/human/thyroid/human_thyroid.py index 39a261a91..f3a119e41 100644 --- a/sfaira/data/human/thyroid/human_thyroid.py +++ b/sfaira/data/human/thyroid/human_thyroid.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupThyroid().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupThyroid().datasets) except ImportError: pass diff --git a/sfaira/data/human/trachea/human_trachea.py b/sfaira/data/human/trachea/human_trachea.py index 1860bd810..e39a9d166 100644 --- a/sfaira/data/human/trachea/human_trachea.py +++ b/sfaira/data/human/trachea/human_trachea.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupTrachea().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupTrachea().datasets) except ImportError: pass diff --git a/sfaira/data/human/ureter/human_ureter.py b/sfaira/data/human/ureter/human_ureter.py index c7e721f78..55ad7fd6a 100644 --- a/sfaira/data/human/ureter/human_ureter.py +++ b/sfaira/data/human/ureter/human_ureter.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupUreter().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupUreter().datasets) except ImportError: pass diff --git a/sfaira/data/human/uterus/human_uterus.py b/sfaira/data/human/uterus/human_uterus.py index 742026585..60a4cc8e0 100644 --- a/sfaira/data/human/uterus/human_uterus.py +++ b/sfaira/data/human/uterus/human_uterus.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.human.DatasetGroupUterus().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.human.DatasetGroupUterus().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/adipose/mouse_adipose.py b/sfaira/data/mouse/adipose/mouse_adipose.py index f1e14026a..d8fde8c67 100644 --- a/sfaira/data/mouse/adipose/mouse_adipose.py +++ b/sfaira/data/mouse/adipose/mouse_adipose.py @@ -28,7 +28,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupAdipose().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupAdipose().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/bladder/mouse_bladder.py b/sfaira/data/mouse/bladder/mouse_bladder.py index 605ec696c..b702ea2fa 100644 --- a/sfaira/data/mouse/bladder/mouse_bladder.py +++ b/sfaira/data/mouse/bladder/mouse_bladder.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupBladder().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBladder().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/blood/mouse_blood.py b/sfaira/data/mouse/blood/mouse_blood.py index 451fa7b70..d67818bf1 100644 --- a/sfaira/data/mouse/blood/mouse_blood.py +++ b/sfaira/data/mouse/blood/mouse_blood.py @@ -28,7 +28,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupBlood().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBlood().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/bone/mouse_bone.py b/sfaira/data/mouse/bone/mouse_bone.py index 2b9596bcb..f3eb2753a 100644 --- a/sfaira/data/mouse/bone/mouse_bone.py +++ b/sfaira/data/mouse/bone/mouse_bone.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupBone().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBone().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/brain/mouse_brain.py b/sfaira/data/mouse/brain/mouse_brain.py index 6a4147b06..9b9c3a75a 100644 --- a/sfaira/data/mouse/brain/mouse_brain.py +++ b/sfaira/data/mouse/brain/mouse_brain.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupBrain().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBrain().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/colon/mouse_colon.py b/sfaira/data/mouse/colon/mouse_colon.py index 94723347d..e17918991 100644 --- a/sfaira/data/mouse/colon/mouse_colon.py +++ b/sfaira/data/mouse/colon/mouse_colon.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupColon().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupColon().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/diaphragm/mouse_diaphragm.py b/sfaira/data/mouse/diaphragm/mouse_diaphragm.py index 777a341bc..a58151be4 100644 --- a/sfaira/data/mouse/diaphragm/mouse_diaphragm.py +++ b/sfaira/data/mouse/diaphragm/mouse_diaphragm.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupDiaphragm().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupDiaphragm().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/femalegonad/mouse_femalegonad.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad.py index 126c9a7b6..5e4fb6a46 100644 --- a/sfaira/data/mouse/femalegonad/mouse_femalegonad.py +++ b/sfaira/data/mouse/femalegonad/mouse_femalegonad.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupFemalegonad().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupFemalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/heart/mouse_heart.py b/sfaira/data/mouse/heart/mouse_heart.py index ad32d3946..9702e37f2 100644 --- a/sfaira/data/mouse/heart/mouse_heart.py +++ b/sfaira/data/mouse/heart/mouse_heart.py @@ -25,7 +25,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupHeart().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupHeart().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/ileum/mouse_ileum.py b/sfaira/data/mouse/ileum/mouse_ileum.py index 0780d6382..185140f63 100644 --- a/sfaira/data/mouse/ileum/mouse_ileum.py +++ b/sfaira/data/mouse/ileum/mouse_ileum.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupIleum().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupIleum().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/kidney/mouse_kidney.py b/sfaira/data/mouse/kidney/mouse_kidney.py index d5e121da9..f92f2389e 100644 --- a/sfaira/data/mouse/kidney/mouse_kidney.py +++ b/sfaira/data/mouse/kidney/mouse_kidney.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupKidney().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupKidney().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/liver/mouse_liver.py b/sfaira/data/mouse/liver/mouse_liver.py index a6df91c00..4621879c9 100644 --- a/sfaira/data/mouse/liver/mouse_liver.py +++ b/sfaira/data/mouse/liver/mouse_liver.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupLiver().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupLiver().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/lung/mouse_lung.py b/sfaira/data/mouse/lung/mouse_lung.py index ca93dd5b8..e46ccbdd2 100644 --- a/sfaira/data/mouse/lung/mouse_lung.py +++ b/sfaira/data/mouse/lung/mouse_lung.py @@ -28,7 +28,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupLung().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupLung().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/malegonad/mouse_malegonad.py b/sfaira/data/mouse/malegonad/mouse_malegonad.py index d0e9484a8..07752e780 100644 --- a/sfaira/data/mouse/malegonad/mouse_malegonad.py +++ b/sfaira/data/mouse/malegonad/mouse_malegonad.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupMalegonad().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupMalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland.py index fdd56feb5..1ed0a8239 100644 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland.py @@ -30,7 +30,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupMammaryGland().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupMammaryGland().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/muscle/mouse_muscle.py b/sfaira/data/mouse/muscle/mouse_muscle.py index 002793157..916d7d3a0 100644 --- a/sfaira/data/mouse/muscle/mouse_muscle.py +++ b/sfaira/data/mouse/muscle/mouse_muscle.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupMuscle().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupMuscle().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas.py b/sfaira/data/mouse/pancreas/mouse_pancreas.py index 2818069a1..0051898d5 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas.py @@ -40,7 +40,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupPancreas().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupPancreas().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/placenta/mouse_placenta.py b/sfaira/data/mouse/placenta/mouse_placenta.py index da38d98d6..ff5bc3a23 100644 --- a/sfaira/data/mouse/placenta/mouse_placenta.py +++ b/sfaira/data/mouse/placenta/mouse_placenta.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupPlacenta().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupPlacenta().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/prostate/mouse_prostate.py b/sfaira/data/mouse/prostate/mouse_prostate.py index ebf3dd5b3..c19a4d88e 100644 --- a/sfaira/data/mouse/prostate/mouse_prostate.py +++ b/sfaira/data/mouse/prostate/mouse_prostate.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupProstate().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupProstate().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/rib/mouse_rib.py b/sfaira/data/mouse/rib/mouse_rib.py index 64ec6b62f..019eff1d1 100644 --- a/sfaira/data/mouse/rib/mouse_rib.py +++ b/sfaira/data/mouse/rib/mouse_rib.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupRib().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupRib().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/skin/mouse_skin.py b/sfaira/data/mouse/skin/mouse_skin.py index 3ed4c307c..c978b4978 100644 --- a/sfaira/data/mouse/skin/mouse_skin.py +++ b/sfaira/data/mouse/skin/mouse_skin.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupSkin().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupSkin().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/spleen/mouse_spleen.py b/sfaira/data/mouse/spleen/mouse_spleen.py index 43d4cd15a..6acc36fec 100644 --- a/sfaira/data/mouse/spleen/mouse_spleen.py +++ b/sfaira/data/mouse/spleen/mouse_spleen.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupSpleen().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupSpleen().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/stomach/mouse_stomach.py b/sfaira/data/mouse/stomach/mouse_stomach.py index 9cee2ea17..1bb85d845 100644 --- a/sfaira/data/mouse/stomach/mouse_stomach.py +++ b/sfaira/data/mouse/stomach/mouse_stomach.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupStomach().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupStomach().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/thymus/mouse_thymus.py b/sfaira/data/mouse/thymus/mouse_thymus.py index 3f7ed534f..72265d1b8 100644 --- a/sfaira/data/mouse/thymus/mouse_thymus.py +++ b/sfaira/data/mouse/thymus/mouse_thymus.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupThymus().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupThymus().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/tongue/mouse_tongue.py b/sfaira/data/mouse/tongue/mouse_tongue.py index 392933740..0fc89654f 100644 --- a/sfaira/data/mouse/tongue/mouse_tongue.py +++ b/sfaira/data/mouse/tongue/mouse_tongue.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupTongue().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupTongue().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/trachea/mouse_trachea.py b/sfaira/data/mouse/trachea/mouse_trachea.py index 2ef2426a6..f9ff83e3b 100644 --- a/sfaira/data/mouse/trachea/mouse_trachea.py +++ b/sfaira/data/mouse/trachea/mouse_trachea.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupTrachea().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupTrachea().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/uterus/mouse_uterus.py b/sfaira/data/mouse/uterus/mouse_uterus.py index 9b6e6e9c2..677a5c6d3 100644 --- a/sfaira/data/mouse/uterus/mouse_uterus.py +++ b/sfaira/data/mouse/uterus/mouse_uterus.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - self.datasets.update(sfairae.data.mouse.DatasetGroupUterus().datasets) + import sfaira_extension + self.datasets.update(sfaira_extension.data.mouse.DatasetGroupUterus().datasets) except ImportError: pass diff --git a/sfaira/data/utils/write_backed_human.py b/sfaira/data/utils/write_backed_human.py index a90bc8c4e..1788f5e36 100644 --- a/sfaira/data/utils/write_backed_human.py +++ b/sfaira/data/utils/write_backed_human.py @@ -1,6 +1,6 @@ import sys import tensorflow as tf -import sfaira.api as sfaira +import sfaira import os from sfaira.data import human diff --git a/sfaira/data/utils/write_backed_mouse.py b/sfaira/data/utils/write_backed_mouse.py index a2bb1295d..a408380e9 100644 --- a/sfaira/data/utils/write_backed_mouse.py +++ b/sfaira/data/utils/write_backed_mouse.py @@ -1,6 +1,6 @@ import sys import tensorflow as tf -import sfaira.api as sfaira +import sfaira import os from sfaira.data import mouse diff --git a/sfaira/estimators/external.py b/sfaira/estimators/external.py index 08e7714d8..3e27959ef 100644 --- a/sfaira/estimators/external.py +++ b/sfaira/estimators/external.py @@ -1,4 +1,4 @@ from sfaira.versions.celltype_versions import SPECIES_DICT, CelltypeVersionsBase from sfaira.versions.genome_versions import SuperGenomeContainer from sfaira.versions.topology_versions import Topologies -from sfaira.models import BasicModel +from sfaira.models.base import BasicModel diff --git a/sfaira/interface/__init__.py b/sfaira/interface/__init__.py index 9bc2dad49..5e70f72b4 100644 --- a/sfaira/interface/__init__.py +++ b/sfaira/interface/__init__.py @@ -1,2 +1 @@ from sfaira.interface.user_interface import UserInterface -from sfaira.interface.model_zoo import ModelZooEmbedding, ModelZooCelltype, ModelZoo diff --git a/sfaira/interface/external.py b/sfaira/interface/external.py index 21b2f69a2..fdb52e721 100644 --- a/sfaira/interface/external.py +++ b/sfaira/interface/external.py @@ -1,5 +1,4 @@ from sfaira.estimators import EstimatorKeras, EstimatorKerasEmbedding, EstimatorKerasCelltype -from sfaira.preprocessing import gene_filter, cell_filter, tpm_normalize import sfaira.versions.celltype_versions as celltype_versions from sfaira.versions.genome_versions import SuperGenomeContainer from sfaira.versions.topology_versions import Topologies diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index 6e8a5090f..ef0e1ad70 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -18,7 +18,7 @@ class UserInterface: This class performs data set handling and coordinates estimators for the different model types. Example code to obtain a UMAP embedding plot of the embedding created from your data with cell-type labels: ``` - import sfaira.api as sfaira + import sfaira import anndata import scanpy diff --git a/sfaira/models/celltype/external.py b/sfaira/models/celltype/external.py index cbee67fd8..46629b4d4 100644 --- a/sfaira/models/celltype/external.py +++ b/sfaira/models/celltype/external.py @@ -1,3 +1,4 @@ import sfaira.versions.celltype_versions as celltype_versions from sfaira.versions.topology_versions import Topologies -from sfaira.models import BasicModel, PreprocInput +from sfaira.models.base import BasicModel +from sfaira.models.pp_layer import PreprocInput diff --git a/sfaira/models/embedding/external.py b/sfaira/models/embedding/external.py index 7656c708e..c831cdb04 100644 --- a/sfaira/models/embedding/external.py +++ b/sfaira/models/embedding/external.py @@ -1,2 +1,4 @@ from sfaira.versions.topology_versions import Topologies -from sfaira.models import BasicModel, PreprocInput, MaskingDense \ No newline at end of file +from sfaira.models.base import BasicModel +from sfaira.models.pp_layer import PreprocInput +from sfaira.models.made import MaskingDense diff --git a/sfaira/preprocessing.py b/sfaira/preprocessing.py deleted file mode 100644 index cf12b6e20..000000000 --- a/sfaira/preprocessing.py +++ /dev/null @@ -1,12 +0,0 @@ -import numpy as np - -def cell_filter(): - pass - - -def gene_filter(): - pass - - -def tpm_normalize(): - pass \ No newline at end of file diff --git a/sfaira/train/external.py b/sfaira/train/external.py index 7fb82b713..158904c07 100644 --- a/sfaira/train/external.py +++ b/sfaira/train/external.py @@ -1,5 +1,5 @@ from sfaira.versions.celltype_versions import SPECIES_DICT from sfaira.data import DatasetGroupBase, DatasetSuperGroup from sfaira.estimators import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding -from sfaira.interface import ModelZoo, ModelZooEmbedding, ModelZooCelltype +from sfaira.interface.model_zoo import ModelZoo, ModelZooEmbedding, ModelZooCelltype from sfaira.data import mouse, human diff --git a/sfaira/train/train_model.py b/sfaira/train/train_model.py index d4f323efc..c6125d400 100644 --- a/sfaira/train/train_model.py +++ b/sfaira/train/train_model.py @@ -13,6 +13,16 @@ class TargetZoos: + """ + Class that provides access to all available dataset groups in sfaira. + + Parameters + ---------- + path : str + The name of the animal + meta_path : str + The sound the animal makes + """ def __init__(self, path: Union[str, None], meta_path: Union[str, None] = None): if path is not None: diff --git a/sfaira/unit_tests/external.py b/sfaira/unit_tests/external.py index 21b7266ef..6e2cfddc3 100644 --- a/sfaira/unit_tests/external.py +++ b/sfaira/unit_tests/external.py @@ -1,6 +1,6 @@ from sfaira.estimators import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding -from sfaira.interface import ModelZoo, ModelZooCelltype, ModelZooEmbedding, UserInterface -from sfaira.preprocessing import gene_filter, cell_filter, tpm_normalize +from sfaira.interface.model_zoo import ModelZoo, ModelZooCelltype, ModelZooEmbedding +from sfaira.interface.user_interface import UserInterface import sfaira.versions.celltype_versions as celltype_versions from sfaira.versions.genome_versions import SuperGenomeContainer from sfaira.versions.topology_versions import Topologies diff --git a/sfaira/unit_tests/test_models.py b/sfaira/unit_tests/test_models.py index 1a3937827..02281d44d 100644 --- a/sfaira/unit_tests/test_models.py +++ b/sfaira/unit_tests/test_models.py @@ -7,7 +7,7 @@ from sfaira.estimators.metrics import custom_mse import sfaira.models as models -from sfaira.models import BasicModel +from sfaira.models.base import BasicModel class _TestModel: diff --git a/sfaira/versions/celltype_versions/__init__.py b/sfaira/versions/celltype_versions/__init__.py index 482315305..eadf38ae5 100644 --- a/sfaira/versions/celltype_versions/__init__.py +++ b/sfaira/versions/celltype_versions/__init__.py @@ -8,9 +8,9 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - mouse_e = sfairae.versions.celltype_versions.SPECIES_DICT["mouse"] - human_e = sfairae.versions.celltype_versions.SPECIES_DICT["human"] + import sfaira_extension + mouse_e = sfaira_extension.versions.celltype_versions.SPECIES_DICT["mouse"] + human_e = sfaira_extension.versions.celltype_versions.SPECIES_DICT["human"] for k in mouse.keys(): if k in mouse_e.keys(): mouse[k].celltype_universe.update(mouse_e[k]) diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py b/sfaira/versions/topology_versions/human/celltype/celltypemarker.py index 83971dd50..0736c4ae8 100644 --- a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py +++ b/sfaira/versions/topology_versions/human/celltype/celltypemarker.py @@ -15,8 +15,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.celltype.CELLTYPEMARKER_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMARKER_TOPOLOGIES for k in CELLTYPEMARKER_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): CELLTYPEMARKER_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py b/sfaira/versions/topology_versions/human/celltype/celltypemlp.py index e184b2cfa..2861e9ecb 100644 --- a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py +++ b/sfaira/versions/topology_versions/human/celltype/celltypemlp.py @@ -67,8 +67,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.celltype.CELLTYPEMLP_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMLP_TOPOLOGIES for k in CELLTYPEMLP_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): CELLTYPEMLP_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/human/embedding/ae.py b/sfaira/versions/topology_versions/human/embedding/ae.py index 0a4956afb..b8ce8b18a 100644 --- a/sfaira/versions/topology_versions/human/embedding/ae.py +++ b/sfaira/versions/topology_versions/human/embedding/ae.py @@ -62,8 +62,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.embedding.AE_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.AE_TOPOLOGIES for k in AE_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): AE_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/human/embedding/linear.py b/sfaira/versions/topology_versions/human/embedding/linear.py index 5b16800a7..6941701af 100644 --- a/sfaira/versions/topology_versions/human/embedding/linear.py +++ b/sfaira/versions/topology_versions/human/embedding/linear.py @@ -35,8 +35,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.embedding.LINEAR_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.LINEAR_TOPOLOGIES for k in LINEAR_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): LINEAR_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/human/embedding/nmf.py b/sfaira/versions/topology_versions/human/embedding/nmf.py index 74975ddd0..5077ae1ba 100644 --- a/sfaira/versions/topology_versions/human/embedding/nmf.py +++ b/sfaira/versions/topology_versions/human/embedding/nmf.py @@ -35,8 +35,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.embedding.NMF_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.NMF_TOPOLOGIES for k in NMF_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): NMF_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/human/embedding/vae.py b/sfaira/versions/topology_versions/human/embedding/vae.py index 8906ace58..502924cc4 100644 --- a/sfaira/versions/topology_versions/human/embedding/vae.py +++ b/sfaira/versions/topology_versions/human/embedding/vae.py @@ -58,8 +58,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.embedding.VAE_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.VAE_TOPOLOGIES for k in VAE_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): VAE_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py b/sfaira/versions/topology_versions/human/embedding/vaeiaf.py index db0f678cd..836ddb8dd 100644 --- a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py +++ b/sfaira/versions/topology_versions/human/embedding/vaeiaf.py @@ -31,8 +31,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.embedding.VAEIAF_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.VAEIAF_TOPOLOGIES for k in VAEIAF_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): VAEIAF_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/human/embedding/vaevamp.py b/sfaira/versions/topology_versions/human/embedding/vaevamp.py index c324f2635..2e93c90f3 100644 --- a/sfaira/versions/topology_versions/human/embedding/vaevamp.py +++ b/sfaira/versions/topology_versions/human/embedding/vaevamp.py @@ -29,8 +29,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.human.embedding.VAEVAMP_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.VAEVAMP_TOPOLOGIES for k in VAEVAMP_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): VAEVAMP_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py index 6548bd428..23ca591ea 100644 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py +++ b/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py @@ -15,8 +15,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.celltype.CELLTYPEMARKER_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMARKER_TOPOLOGIES for k in CELLTYPEMARKER_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): CELLTYPEMARKER_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py index 9117eb2cb..151bfdf47 100644 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py +++ b/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py @@ -67,8 +67,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.celltype.CELLTYPEMLP_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMLP_TOPOLOGIES for k in CELLTYPEMLP_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): CELLTYPEMLP_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/embedding/ae.py b/sfaira/versions/topology_versions/mouse/embedding/ae.py index f10ab4e4b..5715c8704 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/ae.py +++ b/sfaira/versions/topology_versions/mouse/embedding/ae.py @@ -62,8 +62,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.embedding.AE_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.AE_TOPOLOGIES for k in AE_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): AE_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/embedding/linear.py b/sfaira/versions/topology_versions/mouse/embedding/linear.py index da9bff3af..054a741d5 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/linear.py +++ b/sfaira/versions/topology_versions/mouse/embedding/linear.py @@ -35,8 +35,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.embedding.LINEAR_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.LINEAR_TOPOLOGIES for k in LINEAR_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): LINEAR_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/embedding/nmf.py b/sfaira/versions/topology_versions/mouse/embedding/nmf.py index 913139b12..0f1162813 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/nmf.py +++ b/sfaira/versions/topology_versions/mouse/embedding/nmf.py @@ -35,8 +35,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.embedding.NMF_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.NMF_TOPOLOGIES for k in NMF_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): NMF_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/embedding/vae.py b/sfaira/versions/topology_versions/mouse/embedding/vae.py index c23307f56..3cef94dc9 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vae.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vae.py @@ -58,8 +58,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.embedding.VAE_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.VAE_TOPOLOGIES for k in VAE_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): VAE_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py b/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py index 06dd826ce..77a151257 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py @@ -31,8 +31,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.embedding.VAEIAF_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.VAEIAF_TOPOLOGIES for k in VAEIAF_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): VAEIAF_TOPOLOGIES.update(ADD_TOPOLOGIES) diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py b/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py index f88b3488b..caf61b5f8 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py @@ -29,8 +29,8 @@ # Load versions from extension if available: try: - import sfaira_extension.api as sfairae - ADD_TOPOLOGIES = sfairae.versions.topology_versions.mouse.embedding.VAEVAMP_TOPOLOGIES + import sfaira_extension + ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.VAEVAMP_TOPOLOGIES for k in VAEVAMP_TOPOLOGIES.keys(): if k in ADD_TOPOLOGIES.keys(): VAEVAMP_TOPOLOGIES.update(ADD_TOPOLOGIES) From ff2427f63723d1717de512dffea784d34dbaa163 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 18:02:56 +0100 Subject: [PATCH 54/61] add custom genomes to sfaira_extension --- .../genome_versions/class_interface.py | 25 ++++++++++++++++--- .../genome_versions/human/genome_container.py | 3 ++- .../genome_versions/mouse/genome_container.py | 1 + 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/sfaira/versions/genome_versions/class_interface.py b/sfaira/versions/genome_versions/class_interface.py index a7ac20546..9b28a5994 100644 --- a/sfaira/versions/genome_versions/class_interface.py +++ b/sfaira/versions/genome_versions/class_interface.py @@ -14,11 +14,30 @@ def __init__( ): self.species = species if self.species == "human": - from .human import GenomeContainer + try: + from sfaira_extension.versions.genome_versions.human import GenomeContainer + if genome not in GenomeContainer.available_genomes: + from .human import GenomeContainer + if genome not in GenomeContainer.available_genomes: + raise ValueError(f"Genome {genome} not recognised.") + except ImportError: + from .human import GenomeContainer + if genome not in GenomeContainer.available_genomes: + raise ValueError(f"Genome {genome} not recognised.") elif self.species == "mouse": - from .mouse import GenomeContainer + try: + from sfaira_extension.versions.genome_versions.mouse import GenomeContainer + if genome not in GenomeContainer.available_genomes: + from .mouse import GenomeContainer + if genome not in GenomeContainer.available_genomes: + raise ValueError(f"Genome {genome} not recognised.") + except ImportError: + from .mouse import GenomeContainer + if genome not in GenomeContainer.available_genomes: + raise ValueError(f"Genome {genome} not recognised.") else: - raise ValueError("species %s not recognized" % species) + raise ValueError(f"Species {species} not recognised.") + self.gc = GenomeContainer() self.set_genome(genome=genome) diff --git a/sfaira/versions/genome_versions/human/genome_container.py b/sfaira/versions/genome_versions/human/genome_container.py index 1065497f2..80e2bd8a3 100644 --- a/sfaira/versions/genome_versions/human/genome_container.py +++ b/sfaira/versions/genome_versions/human/genome_container.py @@ -5,6 +5,7 @@ class GenomeContainer: + available_genomes = ["Homo_sapiens_GRCh38_97"] def __init__(self): self.genomes = { @@ -15,4 +16,4 @@ def __init__(self): } def read_local_csv(self, genome): - return pandas.read_csv(os.path.join(str(os.path.dirname(__file__)), self.genomes[genome])) \ No newline at end of file + return pandas.read_csv(os.path.join(str(os.path.dirname(__file__)), self.genomes[genome])) diff --git a/sfaira/versions/genome_versions/mouse/genome_container.py b/sfaira/versions/genome_versions/mouse/genome_container.py index 7425c9421..ce9d047ab 100644 --- a/sfaira/versions/genome_versions/mouse/genome_container.py +++ b/sfaira/versions/genome_versions/mouse/genome_container.py @@ -5,6 +5,7 @@ class GenomeContainer: + available_genomes = ["Mus_musculus_GRCm38_97"] def __init__(self): self.genomes = { From fc1463e35837036ab81bdec94a2a2d189bac6d5e Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 18:15:41 +0100 Subject: [PATCH 55/61] fix loading of custom topology versions from sfaira_extension --- .../topology_versions/human/celltype/celltypemarker.py | 8 ++++---- .../topology_versions/human/celltype/celltypemlp.py | 8 ++++---- .../versions/topology_versions/human/embedding/ae.py | 8 ++++---- .../topology_versions/human/embedding/linear.py | 8 ++++---- .../versions/topology_versions/human/embedding/nmf.py | 8 ++++---- .../versions/topology_versions/human/embedding/vae.py | 8 ++++---- .../topology_versions/human/embedding/vaeiaf.py | 8 ++++---- .../topology_versions/human/embedding/vaevamp.py | 8 ++++---- .../topology_versions/mouse/celltype/celltypemarker.py | 8 ++++---- .../topology_versions/mouse/celltype/celltypemlp.py | 8 ++++---- .../versions/topology_versions/mouse/embedding/ae.py | 8 ++++---- .../topology_versions/mouse/embedding/linear.py | 8 ++++---- .../versions/topology_versions/mouse/embedding/nmf.py | 8 ++++---- .../versions/topology_versions/mouse/embedding/vae.py | 8 ++++---- .../topology_versions/mouse/embedding/vaeiaf.py | 10 +++++----- .../topology_versions/mouse/embedding/vaevamp.py | 8 ++++---- 16 files changed, 65 insertions(+), 65 deletions(-) diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py b/sfaira/versions/topology_versions/human/celltype/celltypemarker.py index 0736c4ae8..ef56b2eee 100644 --- a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py +++ b/sfaira/versions/topology_versions/human/celltype/celltypemarker.py @@ -16,9 +16,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMARKER_TOPOLOGIES - for k in CELLTYPEMARKER_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - CELLTYPEMARKER_TOPOLOGIES.update(ADD_TOPOLOGIES) + CELLTYPEMARKER_TOPOLOGIES = { + **CELLTYPEMARKER_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMARKER_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py b/sfaira/versions/topology_versions/human/celltype/celltypemlp.py index 2861e9ecb..3ae82a2eb 100644 --- a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py +++ b/sfaira/versions/topology_versions/human/celltype/celltypemlp.py @@ -68,9 +68,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMLP_TOPOLOGIES - for k in CELLTYPEMLP_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - CELLTYPEMLP_TOPOLOGIES.update(ADD_TOPOLOGIES) + CELLTYPEMLP_TOPOLOGIES = { + **CELLTYPEMLP_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMLP_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/ae.py b/sfaira/versions/topology_versions/human/embedding/ae.py index b8ce8b18a..4e4e21646 100644 --- a/sfaira/versions/topology_versions/human/embedding/ae.py +++ b/sfaira/versions/topology_versions/human/embedding/ae.py @@ -63,9 +63,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.AE_TOPOLOGIES - for k in AE_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - AE_TOPOLOGIES.update(ADD_TOPOLOGIES) + AE_TOPOLOGIES = { + **AE_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.embedding.AE_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/linear.py b/sfaira/versions/topology_versions/human/embedding/linear.py index 6941701af..1b3e4ac99 100644 --- a/sfaira/versions/topology_versions/human/embedding/linear.py +++ b/sfaira/versions/topology_versions/human/embedding/linear.py @@ -36,9 +36,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.LINEAR_TOPOLOGIES - for k in LINEAR_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - LINEAR_TOPOLOGIES.update(ADD_TOPOLOGIES) + LINEAR_TOPOLOGIES = { + **LINEAR_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.embedding.LINEAR_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/nmf.py b/sfaira/versions/topology_versions/human/embedding/nmf.py index 5077ae1ba..c0f0a3342 100644 --- a/sfaira/versions/topology_versions/human/embedding/nmf.py +++ b/sfaira/versions/topology_versions/human/embedding/nmf.py @@ -36,9 +36,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.NMF_TOPOLOGIES - for k in NMF_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - NMF_TOPOLOGIES.update(ADD_TOPOLOGIES) + NMF_TOPOLOGIES = { + **NMF_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.embedding.NMF_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/vae.py b/sfaira/versions/topology_versions/human/embedding/vae.py index 502924cc4..9b626f1d8 100644 --- a/sfaira/versions/topology_versions/human/embedding/vae.py +++ b/sfaira/versions/topology_versions/human/embedding/vae.py @@ -59,9 +59,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.VAE_TOPOLOGIES - for k in VAE_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - VAE_TOPOLOGIES.update(ADD_TOPOLOGIES) + VAE_TOPOLOGIES = { + **VAE_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.embedding.VAE_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py b/sfaira/versions/topology_versions/human/embedding/vaeiaf.py index 836ddb8dd..48c769c90 100644 --- a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py +++ b/sfaira/versions/topology_versions/human/embedding/vaeiaf.py @@ -32,9 +32,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.VAEIAF_TOPOLOGIES - for k in VAEIAF_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - VAEIAF_TOPOLOGIES.update(ADD_TOPOLOGIES) + VAEIAF_TOPOLOGIES = { + **VAEIAF_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.embedding.VAEIAF_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/vaevamp.py b/sfaira/versions/topology_versions/human/embedding/vaevamp.py index 2e93c90f3..99a7b163f 100644 --- a/sfaira/versions/topology_versions/human/embedding/vaevamp.py +++ b/sfaira/versions/topology_versions/human/embedding/vaevamp.py @@ -30,9 +30,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.human.embedding.VAEVAMP_TOPOLOGIES - for k in VAEVAMP_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - VAEVAMP_TOPOLOGIES.update(ADD_TOPOLOGIES) + VAEVAMP_TOPOLOGIES = { + **VAEVAMP_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.human.embedding.VAEVAMP_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py index 23ca591ea..f8d6380ae 100644 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py +++ b/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py @@ -16,9 +16,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMARKER_TOPOLOGIES - for k in CELLTYPEMARKER_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - CELLTYPEMARKER_TOPOLOGIES.update(ADD_TOPOLOGIES) + CELLTYPEMARKER_TOPOLOGIES = { + **CELLTYPEMARKER_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMARKER_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py index 151bfdf47..2a8296e5a 100644 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py +++ b/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py @@ -68,9 +68,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMLP_TOPOLOGIES - for k in CELLTYPEMLP_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - CELLTYPEMLP_TOPOLOGIES.update(ADD_TOPOLOGIES) + CELLTYPEMLP_TOPOLOGIES = { + **CELLTYPEMLP_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMLP_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/ae.py b/sfaira/versions/topology_versions/mouse/embedding/ae.py index 5715c8704..e38c93724 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/ae.py +++ b/sfaira/versions/topology_versions/mouse/embedding/ae.py @@ -63,9 +63,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.AE_TOPOLOGIES - for k in AE_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - AE_TOPOLOGIES.update(ADD_TOPOLOGIES) + AE_TOPOLOGIES = { + **AE_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.embedding.AE_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/linear.py b/sfaira/versions/topology_versions/mouse/embedding/linear.py index 054a741d5..7af9b9cf7 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/linear.py +++ b/sfaira/versions/topology_versions/mouse/embedding/linear.py @@ -36,9 +36,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.LINEAR_TOPOLOGIES - for k in LINEAR_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - LINEAR_TOPOLOGIES.update(ADD_TOPOLOGIES) + LINEAR_TOPOLOGIES = { + **LINEAR_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.embedding.LINEAR_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/nmf.py b/sfaira/versions/topology_versions/mouse/embedding/nmf.py index 0f1162813..eb78e3129 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/nmf.py +++ b/sfaira/versions/topology_versions/mouse/embedding/nmf.py @@ -36,9 +36,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.NMF_TOPOLOGIES - for k in NMF_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - NMF_TOPOLOGIES.update(ADD_TOPOLOGIES) + NMF_TOPOLOGIES = { + **NMF_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.embedding.NMF_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/vae.py b/sfaira/versions/topology_versions/mouse/embedding/vae.py index 3cef94dc9..c746a5779 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vae.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vae.py @@ -59,9 +59,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.VAE_TOPOLOGIES - for k in VAE_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - VAE_TOPOLOGIES.update(ADD_TOPOLOGIES) + VAE_TOPOLOGIES = { + **VAE_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.embedding.VAE_TOPOLOGIES + } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py b/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py index 77a151257..c9eb01704 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py @@ -32,9 +32,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.VAEIAF_TOPOLOGIES - for k in VAEIAF_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - VAEIAF_TOPOLOGIES.update(ADD_TOPOLOGIES) + VAEIAF_TOPOLOGIES = { + **VAEIAF_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.embedding.VAEIAF_TOPOLOGIES + } except ImportError: - pass + pass \ No newline at end of file diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py b/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py index caf61b5f8..865d273ec 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py @@ -30,9 +30,9 @@ # Load versions from extension if available: try: import sfaira_extension - ADD_TOPOLOGIES = sfaira_extension.versions.topology_versions.mouse.embedding.VAEVAMP_TOPOLOGIES - for k in VAEVAMP_TOPOLOGIES.keys(): - if k in ADD_TOPOLOGIES.keys(): - VAEVAMP_TOPOLOGIES.update(ADD_TOPOLOGIES) + VAEVAMP_TOPOLOGIES = { + **VAEVAMP_TOPOLOGIES, + **sfaira_extension.versions.topology_versions.mouse.embedding.VAEVAMP_TOPOLOGIES + } except ImportError: pass From 0bfaeaf0b512da269ccdbe129630417366fc0454 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 22:54:43 +0100 Subject: [PATCH 56/61] fix circular imports between sfaira_extension and sfaira --- sfaira/data/human/adipose/human_adipose.py | 4 ++-- sfaira/data/human/adrenalgland/human_adrenalgland.py | 4 ++-- sfaira/data/human/artery/human_artery.py | 4 ++-- sfaira/data/human/bladder/human_bladder.py | 4 ++-- sfaira/data/human/blood/human_blood.py | 4 ++-- sfaira/data/human/bone/human_bone.py | 4 ++-- sfaira/data/human/brain/human_brain.py | 4 ++-- sfaira/data/human/calvaria/human_calvaria.py | 4 ++-- sfaira/data/human/cervix/human_cervix.py | 4 ++-- sfaira/data/human/chorionicvillus/human_chorionicvillus.py | 4 ++-- sfaira/data/human/colon/human_colon.py | 4 ++-- sfaira/data/human/duodenum/human_duodenum.py | 4 ++-- sfaira/data/human/epityphlon/human_epityphlon.py | 4 ++-- sfaira/data/human/esophagus/human_esophagus.py | 4 ++-- sfaira/data/human/eye/human_eye.py | 4 ++-- sfaira/data/human/fallopiantube/human_fallopiantube.py | 4 ++-- sfaira/data/human/femalegonad/human_femalegonad.py | 4 ++-- sfaira/data/human/gallbladder/human_gallbladder.py | 4 ++-- sfaira/data/human/heart/human_heart.py | 4 ++-- sfaira/data/human/hesc/human_hesc.py | 4 ++-- sfaira/data/human/ileum/human_ileum.py | 4 ++-- sfaira/data/human/jejunum/human_jejunum.py | 4 ++-- sfaira/data/human/kidney/human_kidney.py | 4 ++-- sfaira/data/human/liver/human_liver.py | 4 ++-- sfaira/data/human/lung/human_lung.py | 4 ++-- sfaira/data/human/malegonad/human_malegonad.py | 4 ++-- sfaira/data/human/mixed/human_mixed.py | 4 ++-- sfaira/data/human/muscle/human_muscle.py | 4 ++-- sfaira/data/human/omentum/human_omentum.py | 4 ++-- sfaira/data/human/pancreas/human_pancreas.py | 4 ++-- sfaira/data/human/placenta/human_placenta.py | 4 ++-- sfaira/data/human/pleura/human_pleura.py | 4 ++-- sfaira/data/human/prostate/human_prostate.py | 4 ++-- sfaira/data/human/rectum/human_rectum.py | 4 ++-- sfaira/data/human/rib/human_rib.py | 4 ++-- sfaira/data/human/skin/human_skin.py | 4 ++-- sfaira/data/human/spinalcord/human_spinalcord.py | 4 ++-- sfaira/data/human/spleen/human_spleen.py | 4 ++-- sfaira/data/human/stomach/human_stomach.py | 4 ++-- sfaira/data/human/thymus/human_thymus.py | 4 ++-- sfaira/data/human/thyroid/human_thyroid.py | 4 ++-- sfaira/data/human/trachea/human_trachea.py | 4 ++-- sfaira/data/human/ureter/human_ureter.py | 4 ++-- sfaira/data/human/uterus/human_uterus.py | 4 ++-- sfaira/data/mouse/adipose/mouse_adipose.py | 4 ++-- sfaira/data/mouse/bladder/mouse_bladder.py | 4 ++-- sfaira/data/mouse/blood/mouse_blood.py | 4 ++-- sfaira/data/mouse/bone/mouse_bone.py | 4 ++-- sfaira/data/mouse/brain/mouse_brain.py | 4 ++-- sfaira/data/mouse/colon/mouse_colon.py | 4 ++-- sfaira/data/mouse/diaphragm/mouse_diaphragm.py | 4 ++-- sfaira/data/mouse/femalegonad/mouse_femalegonad.py | 4 ++-- sfaira/data/mouse/heart/mouse_heart.py | 4 ++-- sfaira/data/mouse/ileum/mouse_ileum.py | 4 ++-- sfaira/data/mouse/kidney/mouse_kidney.py | 4 ++-- sfaira/data/mouse/liver/mouse_liver.py | 4 ++-- sfaira/data/mouse/lung/mouse_lung.py | 4 ++-- sfaira/data/mouse/malegonad/mouse_malegonad.py | 4 ++-- sfaira/data/mouse/mammarygland/mouse_mammarygland.py | 4 ++-- sfaira/data/mouse/muscle/mouse_muscle.py | 4 ++-- sfaira/data/mouse/pancreas/mouse_pancreas.py | 4 ++-- sfaira/data/mouse/placenta/mouse_placenta.py | 4 ++-- sfaira/data/mouse/prostate/mouse_prostate.py | 4 ++-- sfaira/data/mouse/rib/mouse_rib.py | 4 ++-- sfaira/data/mouse/skin/mouse_skin.py | 4 ++-- sfaira/data/mouse/spleen/mouse_spleen.py | 4 ++-- sfaira/data/mouse/stomach/mouse_stomach.py | 4 ++-- sfaira/data/mouse/thymus/mouse_thymus.py | 4 ++-- sfaira/data/mouse/tongue/mouse_tongue.py | 4 ++-- sfaira/data/mouse/trachea/mouse_trachea.py | 4 ++-- sfaira/data/mouse/uterus/mouse_uterus.py | 4 ++-- sfaira/versions/celltype_versions/__init__.py | 6 +++--- .../topology_versions/human/celltype/celltypemarker.py | 4 ++-- .../topology_versions/human/celltype/celltypemlp.py | 4 ++-- sfaira/versions/topology_versions/human/embedding/ae.py | 4 ++-- sfaira/versions/topology_versions/human/embedding/linear.py | 4 ++-- sfaira/versions/topology_versions/human/embedding/nmf.py | 4 ++-- sfaira/versions/topology_versions/human/embedding/vae.py | 4 ++-- sfaira/versions/topology_versions/human/embedding/vaeiaf.py | 4 ++-- .../versions/topology_versions/human/embedding/vaevamp.py | 4 ++-- .../topology_versions/mouse/celltype/celltypemarker.py | 4 ++-- .../topology_versions/mouse/celltype/celltypemlp.py | 4 ++-- sfaira/versions/topology_versions/mouse/embedding/ae.py | 4 ++-- sfaira/versions/topology_versions/mouse/embedding/linear.py | 4 ++-- sfaira/versions/topology_versions/mouse/embedding/nmf.py | 4 ++-- sfaira/versions/topology_versions/mouse/embedding/vae.py | 4 ++-- sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py | 4 ++-- .../versions/topology_versions/mouse/embedding/vaevamp.py | 4 ++-- 88 files changed, 177 insertions(+), 177 deletions(-) diff --git a/sfaira/data/human/adipose/human_adipose.py b/sfaira/data/human/adipose/human_adipose.py index b73dc035a..9994507ab 100644 --- a/sfaira/data/human/adipose/human_adipose.py +++ b/sfaira/data/human/adipose/human_adipose.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupAdipose().datasets) + from sfaira_extension.data.human import DatasetGroupAdipose + self.datasets.update(DatasetGroupAdipose().datasets) except ImportError: pass diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland.py b/sfaira/data/human/adrenalgland/human_adrenalgland.py index 2ff3b9e60..234a563a9 100644 --- a/sfaira/data/human/adrenalgland/human_adrenalgland.py +++ b/sfaira/data/human/adrenalgland/human_adrenalgland.py @@ -30,7 +30,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupAdrenalgland().datasets) + from sfaira_extension.data.human import DatasetGroupAdrenalgland + self.datasets.update(DatasetGroupAdrenalgland().datasets) except ImportError: pass diff --git a/sfaira/data/human/artery/human_artery.py b/sfaira/data/human/artery/human_artery.py index 71c85a445..4575d1b6a 100644 --- a/sfaira/data/human/artery/human_artery.py +++ b/sfaira/data/human/artery/human_artery.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupArtery().datasets) + from sfaira_extension.data.human import DatasetGroupArtery + self.datasets.update(DatasetGroupArtery().datasets) except ImportError: pass diff --git a/sfaira/data/human/bladder/human_bladder.py b/sfaira/data/human/bladder/human_bladder.py index 822418c38..d31620a7f 100644 --- a/sfaira/data/human/bladder/human_bladder.py +++ b/sfaira/data/human/bladder/human_bladder.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupBladder().datasets) + from sfaira_extension.data.human import DatasetGroupBladder + self.datasets.update(DatasetGroupBladder().datasets) except ImportError: pass diff --git a/sfaira/data/human/blood/human_blood.py b/sfaira/data/human/blood/human_blood.py index 2b932b430..e51216bce 100644 --- a/sfaira/data/human/blood/human_blood.py +++ b/sfaira/data/human/blood/human_blood.py @@ -36,7 +36,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupBlood().datasets) + from sfaira_extension.data.human import DatasetGroupBlood + self.datasets.update(DatasetGroupBlood().datasets) except ImportError: pass diff --git a/sfaira/data/human/bone/human_bone.py b/sfaira/data/human/bone/human_bone.py index 3620e2867..4cc46ad77 100644 --- a/sfaira/data/human/bone/human_bone.py +++ b/sfaira/data/human/bone/human_bone.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupBone().datasets) + from sfaira_extension.data.human import DatasetGroupBone + self.datasets.update(DatasetGroupBone().datasets) except ImportError: pass diff --git a/sfaira/data/human/brain/human_brain.py b/sfaira/data/human/brain/human_brain.py index a993bad7d..3f2eedda9 100644 --- a/sfaira/data/human/brain/human_brain.py +++ b/sfaira/data/human/brain/human_brain.py @@ -32,7 +32,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupBrain().datasets) + from sfaira_extension.data.human import DatasetGroupBrain + self.datasets.update(DatasetGroupBrain().datasets) except ImportError: pass diff --git a/sfaira/data/human/calvaria/human_calvaria.py b/sfaira/data/human/calvaria/human_calvaria.py index 5cd25108f..3a101f22e 100644 --- a/sfaira/data/human/calvaria/human_calvaria.py +++ b/sfaira/data/human/calvaria/human_calvaria.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupCalvaria().datasets) + from sfaira_extension.data.human import DatasetGroupCalvaria + self.datasets.update(DatasetGroupCalvaria().datasets) except ImportError: pass diff --git a/sfaira/data/human/cervix/human_cervix.py b/sfaira/data/human/cervix/human_cervix.py index 5b189e00c..eb65f1a1f 100644 --- a/sfaira/data/human/cervix/human_cervix.py +++ b/sfaira/data/human/cervix/human_cervix.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupCervix().datasets) + from sfaira_extension.data.human import DatasetGroupCervix + self.datasets.update(DatasetGroupCervix().datasets) except ImportError: pass diff --git a/sfaira/data/human/chorionicvillus/human_chorionicvillus.py b/sfaira/data/human/chorionicvillus/human_chorionicvillus.py index c71e727f6..5fcebd370 100644 --- a/sfaira/data/human/chorionicvillus/human_chorionicvillus.py +++ b/sfaira/data/human/chorionicvillus/human_chorionicvillus.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupChorionicvillus().datasets) + from sfaira_extension.data.human import DatasetGroupChorionicvillus + self.datasets.update(DatasetGroupChorionicvillus().datasets) except ImportError: pass diff --git a/sfaira/data/human/colon/human_colon.py b/sfaira/data/human/colon/human_colon.py index 90315ef07..d86d094f4 100644 --- a/sfaira/data/human/colon/human_colon.py +++ b/sfaira/data/human/colon/human_colon.py @@ -34,7 +34,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupColon().datasets) + from sfaira_extension.data.human import DatasetGroupColon + self.datasets.update(DatasetGroupColon().datasets) except ImportError: pass diff --git a/sfaira/data/human/duodenum/human_duodenum.py b/sfaira/data/human/duodenum/human_duodenum.py index 5cb3964bd..367138896 100644 --- a/sfaira/data/human/duodenum/human_duodenum.py +++ b/sfaira/data/human/duodenum/human_duodenum.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupDuodenum().datasets) + from sfaira_extension.data.human import DatasetGroupDuodenum + self.datasets.update(DatasetGroupDuodenum().datasets) except ImportError: pass diff --git a/sfaira/data/human/epityphlon/human_epityphlon.py b/sfaira/data/human/epityphlon/human_epityphlon.py index 4a87a65e7..bbf2297e9 100644 --- a/sfaira/data/human/epityphlon/human_epityphlon.py +++ b/sfaira/data/human/epityphlon/human_epityphlon.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupEpityphlon().datasets) + from sfaira_extension.data.human import DatasetGroupEpityphlon + self.datasets.update(DatasetGroupEpityphlon().datasets) except ImportError: pass diff --git a/sfaira/data/human/esophagus/human_esophagus.py b/sfaira/data/human/esophagus/human_esophagus.py index 7fcffd4f9..b1df21e7a 100644 --- a/sfaira/data/human/esophagus/human_esophagus.py +++ b/sfaira/data/human/esophagus/human_esophagus.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupEsophagus().datasets) + from sfaira_extension.data.human import DatasetGroupEsophagus + self.datasets.update(DatasetGroupEsophagus().datasets) except ImportError: pass diff --git a/sfaira/data/human/eye/human_eye.py b/sfaira/data/human/eye/human_eye.py index b6c41ee8c..227bda330 100644 --- a/sfaira/data/human/eye/human_eye.py +++ b/sfaira/data/human/eye/human_eye.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupEye().datasets) + from sfaira_extension.data.human import DatasetGroupEye + self.datasets.update(DatasetGroupEye().datasets) except ImportError: pass diff --git a/sfaira/data/human/fallopiantube/human_fallopiantube.py b/sfaira/data/human/fallopiantube/human_fallopiantube.py index dfe38d925..739e221a0 100644 --- a/sfaira/data/human/fallopiantube/human_fallopiantube.py +++ b/sfaira/data/human/fallopiantube/human_fallopiantube.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupFallopiantube().datasets) + from sfaira_extension.data.human import DatasetGroupFallopiantube + self.datasets.update(DatasetGroupFallopiantube().datasets) except ImportError: pass diff --git a/sfaira/data/human/femalegonad/human_femalegonad.py b/sfaira/data/human/femalegonad/human_femalegonad.py index 8b2ba1da1..a4b4745fb 100644 --- a/sfaira/data/human/femalegonad/human_femalegonad.py +++ b/sfaira/data/human/femalegonad/human_femalegonad.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupFemalegonad().datasets) + from sfaira_extension.data.human import DatasetGroupFemalegonad + self.datasets.update(DatasetGroupFemalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/human/gallbladder/human_gallbladder.py b/sfaira/data/human/gallbladder/human_gallbladder.py index df9f2681e..8d5e660f5 100644 --- a/sfaira/data/human/gallbladder/human_gallbladder.py +++ b/sfaira/data/human/gallbladder/human_gallbladder.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupGallbladder().datasets) + from sfaira_extension.data.human import DatasetGroupGallbladder + self.datasets.update(DatasetGroupGallbladder().datasets) except ImportError: pass diff --git a/sfaira/data/human/heart/human_heart.py b/sfaira/data/human/heart/human_heart.py index 3b3402ec4..5aff6fdce 100644 --- a/sfaira/data/human/heart/human_heart.py +++ b/sfaira/data/human/heart/human_heart.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupHeart().datasets) + from sfaira_extension.data.human import DatasetGroupHeart + self.datasets.update(DatasetGroupHeart().datasets) except ImportError: pass diff --git a/sfaira/data/human/hesc/human_hesc.py b/sfaira/data/human/hesc/human_hesc.py index e833fec97..3292ff6f3 100644 --- a/sfaira/data/human/hesc/human_hesc.py +++ b/sfaira/data/human/hesc/human_hesc.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupHesc().datasets) + from sfaira_extension.data.human import DatasetGroupHesc + self.datasets.update(DatasetGroupHesc().datasets) except ImportError: pass diff --git a/sfaira/data/human/ileum/human_ileum.py b/sfaira/data/human/ileum/human_ileum.py index 7d86c4175..636d508f2 100644 --- a/sfaira/data/human/ileum/human_ileum.py +++ b/sfaira/data/human/ileum/human_ileum.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupIleum().datasets) + from sfaira_extension.data.human import DatasetGroupIleum + self.datasets.update(DatasetGroupIleum().datasets) except ImportError: pass diff --git a/sfaira/data/human/jejunum/human_jejunum.py b/sfaira/data/human/jejunum/human_jejunum.py index b78513ae8..3839f321b 100644 --- a/sfaira/data/human/jejunum/human_jejunum.py +++ b/sfaira/data/human/jejunum/human_jejunum.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupJejunum().datasets) + from sfaira_extension.data.human import DatasetGroupJejunum + self.datasets.update(DatasetGroupJejunum().datasets) except ImportError: pass diff --git a/sfaira/data/human/kidney/human_kidney.py b/sfaira/data/human/kidney/human_kidney.py index bb0860fa4..6cc159f97 100644 --- a/sfaira/data/human/kidney/human_kidney.py +++ b/sfaira/data/human/kidney/human_kidney.py @@ -38,7 +38,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupKidney().datasets) + from sfaira_extension.data.human import DatasetGroupKidney + self.datasets.update(DatasetGroupKidney().datasets) except ImportError: pass diff --git a/sfaira/data/human/liver/human_liver.py b/sfaira/data/human/liver/human_liver.py index 568c9cb2a..bfb0e8dbb 100644 --- a/sfaira/data/human/liver/human_liver.py +++ b/sfaira/data/human/liver/human_liver.py @@ -36,7 +36,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupLiver().datasets) + from sfaira_extension.data.human import DatasetGroupLiver + self.datasets.update(DatasetGroupLiver().datasets) except ImportError: pass diff --git a/sfaira/data/human/lung/human_lung.py b/sfaira/data/human/lung/human_lung.py index 3097235cd..9297fd7e9 100644 --- a/sfaira/data/human/lung/human_lung.py +++ b/sfaira/data/human/lung/human_lung.py @@ -47,7 +47,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupLung().datasets) + from sfaira_extension.data.human import DatasetGroupLung + self.datasets.update(DatasetGroupLung().datasets) except ImportError: pass diff --git a/sfaira/data/human/malegonad/human_malegonad.py b/sfaira/data/human/malegonad/human_malegonad.py index 8689bbb44..ea7e995df 100644 --- a/sfaira/data/human/malegonad/human_malegonad.py +++ b/sfaira/data/human/malegonad/human_malegonad.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupMalegonad().datasets) + from sfaira_extension.data.human import DatasetGroupMalegonad + self.datasets.update(DatasetGroupMalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/human/mixed/human_mixed.py b/sfaira/data/human/mixed/human_mixed.py index d53babed9..cbce1da35 100644 --- a/sfaira/data/human/mixed/human_mixed.py +++ b/sfaira/data/human/mixed/human_mixed.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupMixed().datasets) + from sfaira_extension.data.human import DatasetGroupMixed + self.datasets.update(DatasetGroupMixed().datasets) except ImportError: pass diff --git a/sfaira/data/human/muscle/human_muscle.py b/sfaira/data/human/muscle/human_muscle.py index 13251f035..3ccea8560 100644 --- a/sfaira/data/human/muscle/human_muscle.py +++ b/sfaira/data/human/muscle/human_muscle.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupMuscle().datasets) + from sfaira_extension.data.human import DatasetGroupMuscle + self.datasets.update(DatasetGroupMuscle().datasets) except ImportError: pass diff --git a/sfaira/data/human/omentum/human_omentum.py b/sfaira/data/human/omentum/human_omentum.py index 79987a780..56f49739e 100644 --- a/sfaira/data/human/omentum/human_omentum.py +++ b/sfaira/data/human/omentum/human_omentum.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupOmentum().datasets) + from sfaira_extension.data.human import DatasetGroupOmentum + self.datasets.update(DatasetGroupOmentum().datasets) except ImportError: pass diff --git a/sfaira/data/human/pancreas/human_pancreas.py b/sfaira/data/human/pancreas/human_pancreas.py index 6bbc84c26..84bc010fd 100644 --- a/sfaira/data/human/pancreas/human_pancreas.py +++ b/sfaira/data/human/pancreas/human_pancreas.py @@ -32,7 +32,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupPancreas().datasets) + from sfaira_extension.data.human import DatasetGroupPancreas + self.datasets.update(DatasetGroupPancreas().datasets) except ImportError: pass diff --git a/sfaira/data/human/placenta/human_placenta.py b/sfaira/data/human/placenta/human_placenta.py index cea7b79f6..03a23584f 100644 --- a/sfaira/data/human/placenta/human_placenta.py +++ b/sfaira/data/human/placenta/human_placenta.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupPlacenta().datasets) + from sfaira_extension.data.human import DatasetGroupPlacenta + self.datasets.update(DatasetGroupPlacenta().datasets) except ImportError: pass diff --git a/sfaira/data/human/pleura/human_pleura.py b/sfaira/data/human/pleura/human_pleura.py index bca17c144..db3707fda 100644 --- a/sfaira/data/human/pleura/human_pleura.py +++ b/sfaira/data/human/pleura/human_pleura.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupPleura().datasets) + from sfaira_extension.data.human import DatasetGroupPleura + self.datasets.update(DatasetGroupPleura().datasets) except ImportError: pass diff --git a/sfaira/data/human/prostate/human_prostate.py b/sfaira/data/human/prostate/human_prostate.py index 143a6cc4e..cf3a5485b 100644 --- a/sfaira/data/human/prostate/human_prostate.py +++ b/sfaira/data/human/prostate/human_prostate.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupProstate().datasets) + from sfaira_extension.data.human import DatasetGroupProstate + self.datasets.update(DatasetGroupProstate().datasets) except ImportError: pass diff --git a/sfaira/data/human/rectum/human_rectum.py b/sfaira/data/human/rectum/human_rectum.py index 632b6bde5..be4385732 100644 --- a/sfaira/data/human/rectum/human_rectum.py +++ b/sfaira/data/human/rectum/human_rectum.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupRectum().datasets) + from sfaira_extension.data.human import DatasetGroupRectum + self.datasets.update(DatasetGroupRectum().datasets) except ImportError: pass diff --git a/sfaira/data/human/rib/human_rib.py b/sfaira/data/human/rib/human_rib.py index 7ac74b9ee..60f2c6df8 100644 --- a/sfaira/data/human/rib/human_rib.py +++ b/sfaira/data/human/rib/human_rib.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupRib().datasets) + from sfaira_extension.data.human import DatasetGroupRib + self.datasets.update(DatasetGroupRib().datasets) except ImportError: pass diff --git a/sfaira/data/human/skin/human_skin.py b/sfaira/data/human/skin/human_skin.py index b8ea52ee6..16887b9dd 100644 --- a/sfaira/data/human/skin/human_skin.py +++ b/sfaira/data/human/skin/human_skin.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupSkin().datasets) + from sfaira_extension.data.human import DatasetGroupSkin + self.datasets.update(DatasetGroupSkin().datasets) except ImportError: pass diff --git a/sfaira/data/human/spinalcord/human_spinalcord.py b/sfaira/data/human/spinalcord/human_spinalcord.py index 9714fa9e3..b56b23b34 100644 --- a/sfaira/data/human/spinalcord/human_spinalcord.py +++ b/sfaira/data/human/spinalcord/human_spinalcord.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupSpinalcord().datasets) + from sfaira_extension.data.human import DatasetGroupSpinalcord + self.datasets.update(DatasetGroupSpinalcord().datasets) except ImportError: pass diff --git a/sfaira/data/human/spleen/human_spleen.py b/sfaira/data/human/spleen/human_spleen.py index 1f22dcdee..0ca8ab386 100644 --- a/sfaira/data/human/spleen/human_spleen.py +++ b/sfaira/data/human/spleen/human_spleen.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupSpleen().datasets) + from sfaira_extension.data.human import DatasetGroupSpleen + self.datasets.update(DatasetGroupSpleen().datasets) except ImportError: pass diff --git a/sfaira/data/human/stomach/human_stomach.py b/sfaira/data/human/stomach/human_stomach.py index 5ad4636f4..0121077f9 100644 --- a/sfaira/data/human/stomach/human_stomach.py +++ b/sfaira/data/human/stomach/human_stomach.py @@ -38,7 +38,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupStomach().datasets) + from sfaira_extension.data.human import DatasetGroupStomach + self.datasets.update(DatasetGroupStomach().datasets) except ImportError: pass diff --git a/sfaira/data/human/thymus/human_thymus.py b/sfaira/data/human/thymus/human_thymus.py index 012dcc030..1e592a837 100644 --- a/sfaira/data/human/thymus/human_thymus.py +++ b/sfaira/data/human/thymus/human_thymus.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupThymus().datasets) + from sfaira_extension.data.human import DatasetGroupThymus + self.datasets.update(DatasetGroupThymus().datasets) except ImportError: pass diff --git a/sfaira/data/human/thyroid/human_thyroid.py b/sfaira/data/human/thyroid/human_thyroid.py index f3a119e41..0a8cc4e0d 100644 --- a/sfaira/data/human/thyroid/human_thyroid.py +++ b/sfaira/data/human/thyroid/human_thyroid.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupThyroid().datasets) + from sfaira_extension.data.human import DatasetGroupThyroid + self.datasets.update(DatasetGroupThyroid().datasets) except ImportError: pass diff --git a/sfaira/data/human/trachea/human_trachea.py b/sfaira/data/human/trachea/human_trachea.py index e39a9d166..6ba918535 100644 --- a/sfaira/data/human/trachea/human_trachea.py +++ b/sfaira/data/human/trachea/human_trachea.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupTrachea().datasets) + from sfaira_extension.data.human import DatasetGroupTrachea + self.datasets.update(DatasetGroupTrachea().datasets) except ImportError: pass diff --git a/sfaira/data/human/ureter/human_ureter.py b/sfaira/data/human/ureter/human_ureter.py index 55ad7fd6a..452153557 100644 --- a/sfaira/data/human/ureter/human_ureter.py +++ b/sfaira/data/human/ureter/human_ureter.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupUreter().datasets) + from sfaira_extension.data.human import DatasetGroupUreter + self.datasets.update(DatasetGroupUreter().datasets) except ImportError: pass diff --git a/sfaira/data/human/uterus/human_uterus.py b/sfaira/data/human/uterus/human_uterus.py index 60a4cc8e0..4d8789bff 100644 --- a/sfaira/data/human/uterus/human_uterus.py +++ b/sfaira/data/human/uterus/human_uterus.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.human.DatasetGroupUterus().datasets) + from sfaira_extension.data.human import DatasetGroupUterus + self.datasets.update(DatasetGroupUterus().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/adipose/mouse_adipose.py b/sfaira/data/mouse/adipose/mouse_adipose.py index d8fde8c67..67b4ba1c2 100644 --- a/sfaira/data/mouse/adipose/mouse_adipose.py +++ b/sfaira/data/mouse/adipose/mouse_adipose.py @@ -28,7 +28,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupAdipose().datasets) + from sfaira_extension.data.mouse import DatasetGroupAdipose + self.datasets.update(DatasetGroupAdipose().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/bladder/mouse_bladder.py b/sfaira/data/mouse/bladder/mouse_bladder.py index b702ea2fa..2e2e655a6 100644 --- a/sfaira/data/mouse/bladder/mouse_bladder.py +++ b/sfaira/data/mouse/bladder/mouse_bladder.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBladder().datasets) + from sfaira_extension.data.mouse import DatasetGroupBladder + self.datasets.update(DatasetGroupBladder().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/blood/mouse_blood.py b/sfaira/data/mouse/blood/mouse_blood.py index d67818bf1..6098a0870 100644 --- a/sfaira/data/mouse/blood/mouse_blood.py +++ b/sfaira/data/mouse/blood/mouse_blood.py @@ -28,7 +28,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBlood().datasets) + from sfaira_extension.data.mouse import DatasetGroupBlood + self.datasets.update(DatasetGroupBlood().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/bone/mouse_bone.py b/sfaira/data/mouse/bone/mouse_bone.py index f3eb2753a..02fe69705 100644 --- a/sfaira/data/mouse/bone/mouse_bone.py +++ b/sfaira/data/mouse/bone/mouse_bone.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBone().datasets) + from sfaira_extension.data.mouse import DatasetGroupBone + self.datasets.update(DatasetGroupBone().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/brain/mouse_brain.py b/sfaira/data/mouse/brain/mouse_brain.py index 9b9c3a75a..4e09daddc 100644 --- a/sfaira/data/mouse/brain/mouse_brain.py +++ b/sfaira/data/mouse/brain/mouse_brain.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupBrain().datasets) + from sfaira_extension.data.mouse import DatasetGroupBrain + self.datasets.update(DatasetGroupBrain().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/colon/mouse_colon.py b/sfaira/data/mouse/colon/mouse_colon.py index e17918991..3666f396a 100644 --- a/sfaira/data/mouse/colon/mouse_colon.py +++ b/sfaira/data/mouse/colon/mouse_colon.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupColon().datasets) + from sfaira_extension.data.mouse import DatasetGroupColon + self.datasets.update(DatasetGroupColon().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/diaphragm/mouse_diaphragm.py b/sfaira/data/mouse/diaphragm/mouse_diaphragm.py index a58151be4..f8fc4d5f6 100644 --- a/sfaira/data/mouse/diaphragm/mouse_diaphragm.py +++ b/sfaira/data/mouse/diaphragm/mouse_diaphragm.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupDiaphragm().datasets) + from sfaira_extension.data.mouse import DatasetGroupDiaphragm + self.datasets.update(DatasetGroupDiaphragm().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/femalegonad/mouse_femalegonad.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad.py index 5e4fb6a46..fc35c3ef3 100644 --- a/sfaira/data/mouse/femalegonad/mouse_femalegonad.py +++ b/sfaira/data/mouse/femalegonad/mouse_femalegonad.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupFemalegonad().datasets) + from sfaira_extension.data.mouse import DatasetGroupFemalegonad + self.datasets.update(DatasetGroupFemalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/heart/mouse_heart.py b/sfaira/data/mouse/heart/mouse_heart.py index 9702e37f2..ca7e6af3d 100644 --- a/sfaira/data/mouse/heart/mouse_heart.py +++ b/sfaira/data/mouse/heart/mouse_heart.py @@ -25,7 +25,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupHeart().datasets) + from sfaira_extension.data.mouse import DatasetGroupHeart + self.datasets.update(DatasetGroupHeart().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/ileum/mouse_ileum.py b/sfaira/data/mouse/ileum/mouse_ileum.py index 185140f63..f56d2c46e 100644 --- a/sfaira/data/mouse/ileum/mouse_ileum.py +++ b/sfaira/data/mouse/ileum/mouse_ileum.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupIleum().datasets) + from sfaira_extension.data.mouse import DatasetGroupIleum + self.datasets.update(DatasetGroupIleum().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/kidney/mouse_kidney.py b/sfaira/data/mouse/kidney/mouse_kidney.py index f92f2389e..ac9d34cfc 100644 --- a/sfaira/data/mouse/kidney/mouse_kidney.py +++ b/sfaira/data/mouse/kidney/mouse_kidney.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupKidney().datasets) + from sfaira_extension.data.mouse import DatasetGroupKidney + self.datasets.update(DatasetGroupKidney().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/liver/mouse_liver.py b/sfaira/data/mouse/liver/mouse_liver.py index 4621879c9..a78f4af58 100644 --- a/sfaira/data/mouse/liver/mouse_liver.py +++ b/sfaira/data/mouse/liver/mouse_liver.py @@ -26,7 +26,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupLiver().datasets) + from sfaira_extension.data.mouse import DatasetGroupLiver + self.datasets.update(DatasetGroupLiver().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/lung/mouse_lung.py b/sfaira/data/mouse/lung/mouse_lung.py index e46ccbdd2..aa5a6f0ec 100644 --- a/sfaira/data/mouse/lung/mouse_lung.py +++ b/sfaira/data/mouse/lung/mouse_lung.py @@ -28,7 +28,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupLung().datasets) + from sfaira_extension.data.mouse import DatasetGroupLung + self.datasets.update(DatasetGroupLung().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/malegonad/mouse_malegonad.py b/sfaira/data/mouse/malegonad/mouse_malegonad.py index 07752e780..da9610f39 100644 --- a/sfaira/data/mouse/malegonad/mouse_malegonad.py +++ b/sfaira/data/mouse/malegonad/mouse_malegonad.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupMalegonad().datasets) + from sfaira_extension.data.mouse import DatasetGroupMalegonad + self.datasets.update(DatasetGroupMalegonad().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland.py index 1ed0a8239..d7cdbd797 100644 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland.py +++ b/sfaira/data/mouse/mammarygland/mouse_mammarygland.py @@ -30,7 +30,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupMammaryGland().datasets) + from sfaira_extension.data.mouse import DatasetGroupMammaryGland + self.datasets.update(DatasetGroupMammaryGland().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/muscle/mouse_muscle.py b/sfaira/data/mouse/muscle/mouse_muscle.py index 916d7d3a0..d3eb6f583 100644 --- a/sfaira/data/mouse/muscle/mouse_muscle.py +++ b/sfaira/data/mouse/muscle/mouse_muscle.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupMuscle().datasets) + from sfaira_extension.data.mouse import DatasetGroupMuscle + self.datasets.update(DatasetGroupMuscle().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas.py b/sfaira/data/mouse/pancreas/mouse_pancreas.py index 0051898d5..b036de4b3 100644 --- a/sfaira/data/mouse/pancreas/mouse_pancreas.py +++ b/sfaira/data/mouse/pancreas/mouse_pancreas.py @@ -40,7 +40,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupPancreas().datasets) + from sfaira_extension.data.mouse import DatasetGroupPancreas + self.datasets.update(DatasetGroupPancreas().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/placenta/mouse_placenta.py b/sfaira/data/mouse/placenta/mouse_placenta.py index ff5bc3a23..412dda22b 100644 --- a/sfaira/data/mouse/placenta/mouse_placenta.py +++ b/sfaira/data/mouse/placenta/mouse_placenta.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupPlacenta().datasets) + from sfaira_extension.data.mouse import DatasetGroupPlacenta + self.datasets.update(DatasetGroupPlacenta().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/prostate/mouse_prostate.py b/sfaira/data/mouse/prostate/mouse_prostate.py index c19a4d88e..68354a363 100644 --- a/sfaira/data/mouse/prostate/mouse_prostate.py +++ b/sfaira/data/mouse/prostate/mouse_prostate.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupProstate().datasets) + from sfaira_extension.data.mouse import DatasetGroupProstate + self.datasets.update(DatasetGroupProstate().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/rib/mouse_rib.py b/sfaira/data/mouse/rib/mouse_rib.py index 019eff1d1..c2a80b1a0 100644 --- a/sfaira/data/mouse/rib/mouse_rib.py +++ b/sfaira/data/mouse/rib/mouse_rib.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupRib().datasets) + from sfaira_extension.data.mouse import DatasetGroupRib + self.datasets.update(DatasetGroupRib().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/skin/mouse_skin.py b/sfaira/data/mouse/skin/mouse_skin.py index c978b4978..b8b33a0e2 100644 --- a/sfaira/data/mouse/skin/mouse_skin.py +++ b/sfaira/data/mouse/skin/mouse_skin.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupSkin().datasets) + from sfaira_extension.data.mouse import DatasetGroupSkin + self.datasets.update(DatasetGroupSkin().datasets) except ImportError: pass \ No newline at end of file diff --git a/sfaira/data/mouse/spleen/mouse_spleen.py b/sfaira/data/mouse/spleen/mouse_spleen.py index 6acc36fec..27ab1559e 100644 --- a/sfaira/data/mouse/spleen/mouse_spleen.py +++ b/sfaira/data/mouse/spleen/mouse_spleen.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupSpleen().datasets) + from sfaira_extension.data.mouse import DatasetGroupSpleen + self.datasets.update(DatasetGroupSpleen().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/stomach/mouse_stomach.py b/sfaira/data/mouse/stomach/mouse_stomach.py index 1bb85d845..cabeaf994 100644 --- a/sfaira/data/mouse/stomach/mouse_stomach.py +++ b/sfaira/data/mouse/stomach/mouse_stomach.py @@ -20,7 +20,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupStomach().datasets) + from sfaira_extension.data.mouse import DatasetGroupStomach + self.datasets.update(DatasetGroupStomach().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/thymus/mouse_thymus.py b/sfaira/data/mouse/thymus/mouse_thymus.py index 72265d1b8..fe707f8fd 100644 --- a/sfaira/data/mouse/thymus/mouse_thymus.py +++ b/sfaira/data/mouse/thymus/mouse_thymus.py @@ -24,7 +24,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupThymus().datasets) + from sfaira_extension.data.mouse import DatasetGroupThymus + self.datasets.update(DatasetGroupThymus().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/tongue/mouse_tongue.py b/sfaira/data/mouse/tongue/mouse_tongue.py index 0fc89654f..382e06f5e 100644 --- a/sfaira/data/mouse/tongue/mouse_tongue.py +++ b/sfaira/data/mouse/tongue/mouse_tongue.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupTongue().datasets) + from sfaira_extension.data.mouse import DatasetGroupTongue + self.datasets.update(DatasetGroupTongue().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/trachea/mouse_trachea.py b/sfaira/data/mouse/trachea/mouse_trachea.py index f9ff83e3b..bb578a632 100644 --- a/sfaira/data/mouse/trachea/mouse_trachea.py +++ b/sfaira/data/mouse/trachea/mouse_trachea.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupTrachea().datasets) + from sfaira_extension.data.mouse import DatasetGroupTrachea + self.datasets.update(DatasetGroupTrachea().datasets) except ImportError: pass diff --git a/sfaira/data/mouse/uterus/mouse_uterus.py b/sfaira/data/mouse/uterus/mouse_uterus.py index 677a5c6d3..a48c8ee03 100644 --- a/sfaira/data/mouse/uterus/mouse_uterus.py +++ b/sfaira/data/mouse/uterus/mouse_uterus.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - import sfaira_extension - self.datasets.update(sfaira_extension.data.mouse.DatasetGroupUterus().datasets) + from sfaira_extension.data.mouse import + self.datasets.update(DatasetGroupUterus().datasets) except ImportError: pass diff --git a/sfaira/versions/celltype_versions/__init__.py b/sfaira/versions/celltype_versions/__init__.py index eadf38ae5..bb83efce6 100644 --- a/sfaira/versions/celltype_versions/__init__.py +++ b/sfaira/versions/celltype_versions/__init__.py @@ -8,9 +8,9 @@ # Load versions from extension if available: try: - import sfaira_extension - mouse_e = sfaira_extension.versions.celltype_versions.SPECIES_DICT["mouse"] - human_e = sfaira_extension.versions.celltype_versions.SPECIES_DICT["human"] + from sfaira_extension.versions.celltype_versions import SPECIES_DICT as SPECIES_DICT_EXTENSION + mouse_e = SPECIES_DICT_EXTENSION["mouse"] + human_e = SPECIES_DICT_EXTENSION["human"] for k in mouse.keys(): if k in mouse_e.keys(): mouse[k].celltype_universe.update(mouse_e[k]) diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py b/sfaira/versions/topology_versions/human/celltype/celltypemarker.py index ef56b2eee..a31807448 100644 --- a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py +++ b/sfaira/versions/topology_versions/human/celltype/celltypemarker.py @@ -15,10 +15,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.celltype import CELLTYPEMARKER_TOPOLOGIES as CELLTYPEMARKER_TOPOLOGIES_EXTENSION CELLTYPEMARKER_TOPOLOGIES = { **CELLTYPEMARKER_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMARKER_TOPOLOGIES + **CELLTYPEMARKER_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py b/sfaira/versions/topology_versions/human/celltype/celltypemlp.py index 3ae82a2eb..827ffba91 100644 --- a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py +++ b/sfaira/versions/topology_versions/human/celltype/celltypemlp.py @@ -67,10 +67,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.celltype import CELLTYPEMLP_TOPOLOGIES as CELLTYPEMLP_TOPOLOGIES_EXTENSION CELLTYPEMLP_TOPOLOGIES = { **CELLTYPEMLP_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.celltype.CELLTYPEMLP_TOPOLOGIES + **CELLTYPEMLP_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/ae.py b/sfaira/versions/topology_versions/human/embedding/ae.py index 4e4e21646..225100769 100644 --- a/sfaira/versions/topology_versions/human/embedding/ae.py +++ b/sfaira/versions/topology_versions/human/embedding/ae.py @@ -62,10 +62,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.embedding import AE_TOPOLOGIES as AE_TOPOLOGIES_EXTENSION AE_TOPOLOGIES = { **AE_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.embedding.AE_TOPOLOGIES + **AE_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/linear.py b/sfaira/versions/topology_versions/human/embedding/linear.py index 1b3e4ac99..80f9edeca 100644 --- a/sfaira/versions/topology_versions/human/embedding/linear.py +++ b/sfaira/versions/topology_versions/human/embedding/linear.py @@ -35,10 +35,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.embedding import LINEAR_TOPOLOGIES as LINEAR_TOPOLOGIES_EXTENSION LINEAR_TOPOLOGIES = { **LINEAR_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.embedding.LINEAR_TOPOLOGIES + **LINEAR_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/nmf.py b/sfaira/versions/topology_versions/human/embedding/nmf.py index c0f0a3342..d006be9cb 100644 --- a/sfaira/versions/topology_versions/human/embedding/nmf.py +++ b/sfaira/versions/topology_versions/human/embedding/nmf.py @@ -35,10 +35,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.embedding import NMF_TOPOLOGIES as NMF_TOPOLOGIES_EXTENSION NMF_TOPOLOGIES = { **NMF_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.embedding.NMF_TOPOLOGIES + **NMF_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/vae.py b/sfaira/versions/topology_versions/human/embedding/vae.py index 9b626f1d8..535a907c8 100644 --- a/sfaira/versions/topology_versions/human/embedding/vae.py +++ b/sfaira/versions/topology_versions/human/embedding/vae.py @@ -58,10 +58,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.embedding import VAE_TOPOLOGIES as VAE_TOPOLOGIES_EXTENSION VAE_TOPOLOGIES = { **VAE_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.embedding.VAE_TOPOLOGIES + **VAE_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py b/sfaira/versions/topology_versions/human/embedding/vaeiaf.py index 48c769c90..0602ac457 100644 --- a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py +++ b/sfaira/versions/topology_versions/human/embedding/vaeiaf.py @@ -31,10 +31,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.embedding import VAEIAF_TOPOLOGIES as VAEIAF_TOPOLOGIES_EXTENSION VAEIAF_TOPOLOGIES = { **VAEIAF_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.embedding.VAEIAF_TOPOLOGIES + **VAEIAF_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/human/embedding/vaevamp.py b/sfaira/versions/topology_versions/human/embedding/vaevamp.py index 99a7b163f..d4fff9f69 100644 --- a/sfaira/versions/topology_versions/human/embedding/vaevamp.py +++ b/sfaira/versions/topology_versions/human/embedding/vaevamp.py @@ -29,10 +29,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.human.embedding import VAEVAMP_TOPOLOGIES as VAEVAMP_TOPOLOGIES_EXTENSION VAEVAMP_TOPOLOGIES = { **VAEVAMP_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.human.embedding.VAEVAMP_TOPOLOGIES + **VAEVAMP_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py index f8d6380ae..8043c48ad 100644 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py +++ b/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py @@ -15,10 +15,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.celltype import CELLTYPEMARKER_TOPOLOGIES as CELLTYPEMARKER_TOPOLOGIES_EXTENSION CELLTYPEMARKER_TOPOLOGIES = { **CELLTYPEMARKER_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMARKER_TOPOLOGIES + **CELLTYPEMARKER_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py index 2a8296e5a..97d029fb9 100644 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py +++ b/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py @@ -67,10 +67,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.celltype import CELLTYPEMLP_TOPOLOGIES as CELLTYPEMLP_TOPOLOGIES_EXTENSION CELLTYPEMLP_TOPOLOGIES = { **CELLTYPEMLP_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.celltype.CELLTYPEMLP_TOPOLOGIES + **CELLTYPEMLP_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/ae.py b/sfaira/versions/topology_versions/mouse/embedding/ae.py index e38c93724..4c628642a 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/ae.py +++ b/sfaira/versions/topology_versions/mouse/embedding/ae.py @@ -62,10 +62,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.embedding import AE_TOPOLOGIES as AE_TOPOLOGIES_EXTENSION AE_TOPOLOGIES = { **AE_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.embedding.AE_TOPOLOGIES + **AE_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/linear.py b/sfaira/versions/topology_versions/mouse/embedding/linear.py index 7af9b9cf7..cd07f0366 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/linear.py +++ b/sfaira/versions/topology_versions/mouse/embedding/linear.py @@ -35,10 +35,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.embedding import LINEAR_TOPOLOGIES as LINEAR_TOPOLOGIES_EXTENSION LINEAR_TOPOLOGIES = { **LINEAR_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.embedding.LINEAR_TOPOLOGIES + **LINEAR_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/nmf.py b/sfaira/versions/topology_versions/mouse/embedding/nmf.py index eb78e3129..65b2b44a3 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/nmf.py +++ b/sfaira/versions/topology_versions/mouse/embedding/nmf.py @@ -35,10 +35,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.embedding import NMF_TOPOLOGIES as NMF_TOPOLOGIES_EXTENSION NMF_TOPOLOGIES = { **NMF_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.embedding.NMF_TOPOLOGIES + **NMF_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/vae.py b/sfaira/versions/topology_versions/mouse/embedding/vae.py index c746a5779..49b45b01f 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vae.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vae.py @@ -58,10 +58,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.embedding import VAE_TOPOLOGIES as VAE_TOPOLOGIES_EXTENSION VAE_TOPOLOGIES = { **VAE_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.embedding.VAE_TOPOLOGIES + **VAE_TOPOLOGIES_EXTENSION } except ImportError: pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py b/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py index c9eb01704..d6dd458b2 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py @@ -31,10 +31,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.embedding import VAEIAF_TOPOLOGIES as VAEIAF_TOPOLOGIES_EXTENSION VAEIAF_TOPOLOGIES = { **VAEIAF_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.embedding.VAEIAF_TOPOLOGIES + **VAEIAF_TOPOLOGIES_EXTENSION } except ImportError: pass \ No newline at end of file diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py b/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py index 865d273ec..33e488224 100644 --- a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py +++ b/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py @@ -29,10 +29,10 @@ # Load versions from extension if available: try: - import sfaira_extension + from sfaira_extension.versions.topology_versions.mouse.embedding import VAEVAMP_TOPOLOGIES as VAEVAMP_TOPOLOGIES_EXTENSION VAEVAMP_TOPOLOGIES = { **VAEVAMP_TOPOLOGIES, - **sfaira_extension.versions.topology_versions.mouse.embedding.VAEVAMP_TOPOLOGIES + **VAEVAMP_TOPOLOGIES_EXTENSION } except ImportError: pass From 10a7998f78f723150aeb63f46c13e0848ecf7fdc Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 22:57:30 +0100 Subject: [PATCH 57/61] fix dataloader --- sfaira/data/mouse/uterus/mouse_uterus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sfaira/data/mouse/uterus/mouse_uterus.py b/sfaira/data/mouse/uterus/mouse_uterus.py index a48c8ee03..b7a7ea6fc 100644 --- a/sfaira/data/mouse/uterus/mouse_uterus.py +++ b/sfaira/data/mouse/uterus/mouse_uterus.py @@ -22,7 +22,7 @@ def __init__( self.datasets = dict(zip(keys, datasets)) # Load versions from extension if available: try: - from sfaira_extension.data.mouse import + from sfaira_extension.data.mouse import DatasetGroupUterus self.datasets.update(DatasetGroupUterus().datasets) except ImportError: pass From 6ad19e3312ddc1746c9750c1e68f6cfaa3b34ca0 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 23:28:12 +0100 Subject: [PATCH 58/61] fix celltype versioning through sfaira_extension --- sfaira/versions/celltype_versions/__init__.py | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/sfaira/versions/celltype_versions/__init__.py b/sfaira/versions/celltype_versions/__init__.py index bb83efce6..5fbc21d6b 100644 --- a/sfaira/versions/celltype_versions/__init__.py +++ b/sfaira/versions/celltype_versions/__init__.py @@ -9,15 +9,38 @@ # Load versions from extension if available: try: from sfaira_extension.versions.celltype_versions import SPECIES_DICT as SPECIES_DICT_EXTENSION - mouse_e = SPECIES_DICT_EXTENSION["mouse"] - human_e = SPECIES_DICT_EXTENSION["human"] - for k in mouse.keys(): - if k in mouse_e.keys(): - mouse[k].celltype_universe.update(mouse_e[k]) - mouse[k].ontology.update(mouse_e[k]) - if k in mouse_e.keys(): - human[k].celltype_universe.update(human_e[k]) - human[k].ontology.update(human_e[k]) + + for organ in mouse.keys(): + if organ in SPECIES_DICT_EXTENSION["mouse"].keys(): + for v in SPECIES_DICT_EXTENSION["mouse"][organ].versions: + if v in mouse[organ].celltype_universe.keys(): + mouse[organ].celltype_universe[v] = { + **mouse[organ].celltype_universe[v], + **SPECIES_DICT_EXTENSION["mouse"][organ].celltype_universe[v] + } + mouse[organ].ontology[v] = { + **mouse[organ].ontology[v], + **SPECIES_DICT_EXTENSION["mouse"][organ].ontology[v] + } + else: + mouse[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["mouse"][organ].celltype_universe[v] + mouse[organ].ontology[v] = SPECIES_DICT_EXTENSION["mouse"][organ].ontology[v] + + for organ in human.keys(): + if organ in SPECIES_DICT_EXTENSION["human"].keys(): + for v in SPECIES_DICT_EXTENSION["human"][organ].versions: + if v in human[organ].celltype_universe.keys(): + human[organ].celltype_universe[v] = { + **human[organ].celltype_universe[v], + **SPECIES_DICT_EXTENSION["human"][organ].celltype_universe[v] + } + human[organ].ontology[v] = { + **human[organ].ontology[v], + **SPECIES_DICT_EXTENSION["human"][organ].ontology[v] + } + else: + human[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["human"][organ].celltype_universe[v] + human[organ].ontology[v] = SPECIES_DICT_EXTENSION["human"][organ].ontology[v] except ImportError: pass From 176142c90f4758af68b2c550a0fa3668ea08a000 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 23:38:39 +0100 Subject: [PATCH 59/61] fix celltype versioning through sfaira_extension --- sfaira/versions/celltype_versions/__init__.py | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/sfaira/versions/celltype_versions/__init__.py b/sfaira/versions/celltype_versions/__init__.py index 5fbc21d6b..0439d8c13 100644 --- a/sfaira/versions/celltype_versions/__init__.py +++ b/sfaira/versions/celltype_versions/__init__.py @@ -14,14 +14,8 @@ if organ in SPECIES_DICT_EXTENSION["mouse"].keys(): for v in SPECIES_DICT_EXTENSION["mouse"][organ].versions: if v in mouse[organ].celltype_universe.keys(): - mouse[organ].celltype_universe[v] = { - **mouse[organ].celltype_universe[v], - **SPECIES_DICT_EXTENSION["mouse"][organ].celltype_universe[v] - } - mouse[organ].ontology[v] = { - **mouse[organ].ontology[v], - **SPECIES_DICT_EXTENSION["mouse"][organ].ontology[v] - } + raise ValueError(f'Celltype version {v} already defined for mouse organ {organ} in base sfaira. ' + f'Please define a new version in sfaira_extension') else: mouse[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["mouse"][organ].celltype_universe[v] mouse[organ].ontology[v] = SPECIES_DICT_EXTENSION["mouse"][organ].ontology[v] @@ -30,14 +24,8 @@ if organ in SPECIES_DICT_EXTENSION["human"].keys(): for v in SPECIES_DICT_EXTENSION["human"][organ].versions: if v in human[organ].celltype_universe.keys(): - human[organ].celltype_universe[v] = { - **human[organ].celltype_universe[v], - **SPECIES_DICT_EXTENSION["human"][organ].celltype_universe[v] - } - human[organ].ontology[v] = { - **human[organ].ontology[v], - **SPECIES_DICT_EXTENSION["human"][organ].ontology[v] - } + raise ValueError(f'Celltype version {v} already defined for human organ {organ} in base sfaira. ' + f'Please define a new version in sfaira_extension') else: human[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["human"][organ].celltype_universe[v] human[organ].ontology[v] = SPECIES_DICT_EXTENSION["human"][organ].ontology[v] From 8480a218ac3a7ab1889b2653a3917834dbc8d2e7 Mon Sep 17 00:00:00 2001 From: le-ander <20015434+le-ander@users.noreply.github.com> Date: Wed, 9 Dec 2020 23:57:41 +0100 Subject: [PATCH 60/61] formatting --- sfaira/data/base.py | 10 +++++----- sfaira/versions/celltype_versions/__init__.py | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sfaira/data/base.py b/sfaira/data/base.py index 98d6d55c9..9ddf8bfd1 100644 --- a/sfaira/data/base.py +++ b/sfaira/data/base.py @@ -158,7 +158,7 @@ def load( elif isinstance(self.adata.X, scipy.sparse.spmatrix): x = self.adata.X.tocsc() else: - raise ValueError("data type %s not recognized" % type(self.adata.X)) + raise ValueError(f"Data type {type(self.adata.X)} not recognized.") # Compute indices of genes to keep data_ids = self.adata.var["ensembl"].values @@ -324,11 +324,11 @@ def load_tobacked(self, adata_backed: anndata.AnnData, genome: str, idx: np.ndar ])) ) else: - raise ValueError("did not reccognize backed AnnData.X format %s" % type(adata_backed.X)) + raise ValueError(f"Did not reccognize backed AnnData.X format {type(adata_backed.X)}") def set_unkown_class_id(self, ids: list): """ - Sets list of custom identifiers of unkown cell types in adata.obs["cell_ontology_class"] to the target one. + Sets list of custom identifiers of unknown cell types in adata.obs["cell_ontology_class"] to the target one. :param ids: IDs in adata.obs["cell_ontology_class"] to replace. :return: @@ -355,7 +355,7 @@ def _set_genome(self, genome=genome ) else: - raise ValueError("genomes %s not recognised. please provide valid genomes." % genome) + raise ValueError(f"Genome {genome} not recognised. Needs to start with 'Mus_Musculus' or 'Homo_Sapiens'.") self.genome_container = g @@ -708,7 +708,7 @@ def get_gc( genome=genome ) else: - raise ValueError("genomes %s not recognised. please provide valid genomes." % genome) + raise ValueError(f"Genome {genome} not recognised. Needs to start with 'Mus_Musculus' or 'Homo_Sapiens'.") return g def ncells(self, annotated_only: bool = False): diff --git a/sfaira/versions/celltype_versions/__init__.py b/sfaira/versions/celltype_versions/__init__.py index 0439d8c13..3e4990909 100644 --- a/sfaira/versions/celltype_versions/__init__.py +++ b/sfaira/versions/celltype_versions/__init__.py @@ -15,7 +15,7 @@ for v in SPECIES_DICT_EXTENSION["mouse"][organ].versions: if v in mouse[organ].celltype_universe.keys(): raise ValueError(f'Celltype version {v} already defined for mouse organ {organ} in base sfaira. ' - f'Please define a new version in sfaira_extension') + f'Please define a new version in sfaira_extension.') else: mouse[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["mouse"][organ].celltype_universe[v] mouse[organ].ontology[v] = SPECIES_DICT_EXTENSION["mouse"][organ].ontology[v] @@ -25,7 +25,7 @@ for v in SPECIES_DICT_EXTENSION["human"][organ].versions: if v in human[organ].celltype_universe.keys(): raise ValueError(f'Celltype version {v} already defined for human organ {organ} in base sfaira. ' - f'Please define a new version in sfaira_extension') + f'Please define a new version in sfaira_extension.') else: human[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["human"][organ].celltype_universe[v] human[organ].ontology[v] = SPECIES_DICT_EXTENSION["human"][organ].ontology[v] From 5df5db57838740a9df9673055db4476b74149a1b Mon Sep 17 00:00:00 2001 From: "David S. Fischer" Date: Thu, 10 Dec 2020 11:33:39 +0100 Subject: [PATCH 61/61] Doc updates (#25) * added mention of download scripts into docs --- docs/data.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/data.rst b/docs/data.rst index d29179069..21ac5972c 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -15,6 +15,9 @@ Build a repository structure 2. Make subfolders in root for each organism for which you want to build a data base. 3. Make subfolders for each organ whithin each organism for which you want to build a data base. +We maintain a couple of download scripts that automatise this process, which have to be executed in a shell once to download specific subsets of the full data zoo. +These scripts can be found in sfaira.data.download_scripts. + Use 3rd party repositories ~~~~~~~~~~~~~~~~~~~~~~~~~~ Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira.