Skip to content

Commit

Permalink
fix #12
Browse files Browse the repository at this point in the history
  • Loading branch information
theAeon committed Aug 30, 2023
1 parent b1b3c1b commit 312013e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 21 deletions.
2 changes: 1 addition & 1 deletion src/pyliger/clustering/_utilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def refine_clusts(H, clusts, k, use_ann, num_trees=None):
def compute_snn(knn, prune):
"""helper function to compute the SNN graph"""
# int for indexing
knn = knn.astype(np.int)
knn = knn.astype(int)

k = knn.shape[1]
num_cells = knn.shape[0]
Expand Down
2 changes: 1 addition & 1 deletion src/pyliger/preprocessing/_initialization.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def _create_liger_matrix(adata_list, make_sparse, take_gene_union, remove_missin
if make_sparse:
for idx, adata in enumerate(adata_list):
# force raw data to be csr matrix
adata_list[idx].X = csr_matrix(adata_list[idx].X, dtype=np.int)
adata_list[idx].X = csr_matrix(adata_list[idx].X, dtype=int)
# check if dimnames exist
if not adata.obs.index.name or not adata.var.index.name:
raise ValueError('Raw data must have both row (cell) and column (gene) names.')
Expand Down
38 changes: 19 additions & 19 deletions src/pyliger/pyliger.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,54 +10,54 @@
"""
class Liger(object):
"""Main LIGER class
The liger object is created from two or more single cell datasets. To construct a
liger object, the user needs to provide at least two expression (or another
single-cell modality) matrices. The class serves as a container for results generated
from data preprocessing, integrative analysis, and visualization.
Attributes:
adata_list(list):
List of AnnData objects, one per experiment/dataset (cells by genes)
In each AnnData objects, main matrix stores raw data and two addtional
layers store normalized and scaled data with keys 'norm_data' and
'scale_data' respectively.
H(matrix):
H(matrix):
Cell loading factors (one matrix per dataset, dimensions cells by k)
W(matrix):
W(matrix):
Shared gene loading factors (k by genes)
V(matrix):
V(matrix):
Dataset-specific gene loading factors (one matrix per dataset, dimensions k by genes)
cell_data(pd dataframe):
cell_data(pd dataframe):
Dataframe of cell attributes across all datasets (nrows equal to total number
cells across all datasets)
var_genes(list):
var_genes(list):
Subset of informative genes shared across datasets to be used in matrix
factorization
H_norm(pd dataframe):
H_norm(pd dataframe):
Normalized cell loading factors (cells across all datasets combined into single
matrix)
clusters(pd dataframe):
clusters(pd dataframe):
Joint cluster assignments for cells
tsne_coords():
tsne_coords():
Matrix of 2D coordinates obtained from running t-SNE on H_norm or H matrices
alignment_clusters():
alignment_clusters():
Initial joint cluster assignments from shared factor alignment
snf(list):
snf(list):
List of values associated with shared nearest factor matrix for use in clustering and
alignment (out_summary contains edge weight information between cell combinations)
agg_data(list):
agg_data(list):
Data aggregated within clusters
parameters(list):
parameters(list):
List of parameters used throughout analysis
version():
version():
Version of package used to create object
"""

__slots__ = ('adata_list', 'cell_data', 'var_genes', 'tsne_coords',
'alignment_clusters', 'agg_data', 'parameters',
'snf', 'version')

def __init__(self, adata_list=[]):
self.adata_list = adata_list

Expand Down Expand Up @@ -143,7 +143,7 @@ def get_data(self, set_name, dataset_use='all', combine=False, use_var=False):

def get_obs(self, obs_name, return_values=False):
obs_values = pd.concat([adata.obs[obs_name] for adata in self.adata_list])

if return_values:
return obs_values.values
else:
Expand Down Expand Up @@ -202,7 +202,7 @@ def get_gene_values(self, gene, use_cols=False, methylation_indices=None, log2sc
if gene in gene_names:
gene_vals = np.ravel(adata[:, gene].layers['norm_data'].toarray())
else:
gene_vals = np.zeros(adata.shape[0], dtype=np.int)
gene_vals = np.zeros(adata.shape[0], dtype=int)

if log2scale and idx not in methylation_indices:
gene_vals = np.log2(gene_vals * scale_factor + 1)
Expand Down

0 comments on commit 312013e

Please sign in to comment.