def per_cell_normalize(adata, results_folder): # get start time start = time() # normalize per cell # already normalize BEFORE saving "raw" - as recommended in the scanpy tutorial normalize_per_cell(adata, counts_per_cell_after=1e4) print('adata normalized per cell') # keep raw copy adata.raw = log1p(adata, copy=True) print('log1p values saved into adata.raw') # make log entries logging.info('Per cell normalization completed successfully.') logging.info("\tTime for per-cell normalization: " + str(round(time() - start, 3)) + 's') # export to file start = time() export_cp10k(adata, basepath=results_folder) logging.info('cp10k values exported to file.') logging.info("\tTime for cp10k export: " + str(round(time() - start, 3)) + 's') return (adata)
def test(self, Xtest): testdata = AnnData(Xtest) normalize_per_cell(testdata, 1000, min_counts=0) log1p(testdata) testdata.X = _toarray(testdata.X) dxixk = scipy.spatial.distance.cdist(testdata.X, self.xkibar) return dxixk.argmin(axis=1)
def test_normalize_per_cell(self, adata, adata_dist): normalize_per_cell(adata_dist) result = materialize_as_ndarray(adata_dist.X) normalize_per_cell(adata) assert result.shape == adata.shape assert result.shape == (adata.n_obs, adata.n_vars) npt.assert_allclose(result, adata.X)
def train(self, adata): adata = adata.copy() adata.X = _toarray(adata.X) normalize_per_cell(adata, 1000, min_counts=0) log1p(adata) adata = process_clusts(adata) self.xkibar = np.array( [ adata.X[adata.uns["clusterindices"][k]].mean(axis=0).tolist() for k in range(adata.uns["num_clusts"]) ] )