Skip to content

Commit

Permalink
tiny side cases
Browse files Browse the repository at this point in the history
  • Loading branch information
jkobject committed May 22, 2024
1 parent a0f9f83 commit aacfaac
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
5 changes: 3 additions & 2 deletions scdataloader/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import warnings

from anndata import AnnData
from scipy.sparse import issparse

from scdataloader.utils import get_ancestry_mapping, load_genes

Expand Down Expand Up @@ -276,8 +277,8 @@ def __init__(
layer (str): layer of the anndata to use
"""
self.adataX = (
adata.layers[layer].toarray() if layer is not None else adata.X.toarray()
)
adata.layers[layer] if layer is not None else adata.X)
self.adataX = self.adataX.toarray() if issparse(self.adataX) else self.adataX
self.obs_to_output = adata.obs[obs_to_output]

def __len__(self):
Expand Down
1 change: 0 additions & 1 deletion scdataloader/datamodule.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,6 @@ def train_dataloader(self, **kwargs):
self.train_weights,
self.train_labels,
num_samples=int(self.n_samples * self.train_oversampling_per_epoch),
# replacement=True,
)
return DataLoader(self.dataset, sampler=train_sampler, **self.kwargs, **kwargs)

Expand Down
10 changes: 10 additions & 0 deletions scdataloader/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,16 @@ def get_all_ancestors(val: str, df: pd.DataFrame):
return set.union(set(parents), *[get_all_ancestors(val, df) for val in parents])


# setting a cache of 200 elements
# @lru_cache(maxsize=200)
def get_descendants(val, df):
ontos = set(df[df.parents__ontology_id.str.contains(val)].index.tolist())
r_onto = set()
for onto in ontos:
r_onto |= get_descendants(onto, df)
return r_onto | ontos


def get_ancestry_mapping(all_elem: list, onto_df: pd.DataFrame):
"""
This function generates a mapping of all elements to their ancestors in the ontology dataframe.
Expand Down

0 comments on commit aacfaac

Please sign in to comment.