Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/scirpy/ir_dist/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
from typing import Literal

import numpy as np
import pandas as pd
from scanpy import logging
from scipy.sparse import csr_matrix

from scirpy.get import airr as get_airr
from scirpy.util import DataHandler, _doc_params, _is_na, deprecated
from scirpy.util import DataHandler, _doc_params, deprecated

from . import metrics

Expand Down Expand Up @@ -237,7 +238,7 @@ def _get_unique_seqs(tmp_adata, chain_type):
tmp_seqs = np.concatenate(
[get_airr(tmp_adata, key, f"{chain_type}_{chain_id}").values for chain_id in ["1", "2"]] # type: ignore
)
return np.unique([x.upper() for x in tmp_seqs[~_is_na(tmp_seqs)]])
return np.unique([x.upper() for x in tmp_seqs[~pd.isna(tmp_seqs)]])

for i, tmp_params in enumerate([params, params_ref]):
if tmp_params is not None:
Expand Down
9 changes: 5 additions & 4 deletions src/scirpy/pl/_vdj_usage.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

from scirpy.get import airr as get_airr
from scirpy.io import AirrCell
from scirpy.util import DataHandler, _is_na, _normalize_counts
from scirpy.util import DataHandler, _normalize_counts

from .styling import _init_ax

Expand Down Expand Up @@ -163,7 +164,7 @@ def vdj_usage(

# Draw gene segments
for i, (segment_size, gene) in list(enumerate(zip(segment_sizes, genes, strict=False)))[:max_segments][::-1]:
if _is_na(gene):
if pd.isna(gene):
gene = "none"
gene_tops[col_name][gene] = bottom + segment_size
if draw_bars:
Expand Down Expand Up @@ -229,15 +230,15 @@ def vdj_usage(
try:
tmp_gene = ribbon[target_pair[0]]
tmp_col = target_pair[0]
tmp_gene = "none" if _is_na(tmp_gene) else tmp_gene
tmp_gene = "none" if pd.isna(tmp_gene) else tmp_gene
ribbon_color = gene_colors[tmp_col][tmp_gene]
except KeyError:
# Don't draw ribbon if the source gene is not drawn.
continue

for col_name in target_pair:
gene = ribbon[col_name]
if _is_na(gene):
if pd.isna(gene):
gene = "none"
if gene not in tmp_gene_tops[col_name]:
gene = "other"
Expand Down
10 changes: 5 additions & 5 deletions src/scirpy/tl/_chain_qc.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from scanpy import logging

from scirpy import get
from scirpy.util import DataHandler, _is_na
from scirpy.util import DataHandler


@DataHandler.inject_param_docs()
Expand Down Expand Up @@ -176,10 +176,10 @@ def _chain_pairing(

logging.debug("Done initalizing")

mask_has_vj1 = ~_is_na(get.airr(params, "junction_aa", "VJ_1").values)
mask_has_vdj1 = ~_is_na(get.airr(params, "junction_aa", "VDJ_1").values)
mask_has_vj2 = ~_is_na(get.airr(params, "junction_aa", "VJ_2").values)
mask_has_vdj2 = ~_is_na(get.airr(params, "junction_aa", "VDJ_2").values)
mask_has_vj1 = ~pd.isna(get.airr(params, "junction_aa", "VJ_1").values)
mask_has_vdj1 = ~pd.isna(get.airr(params, "junction_aa", "VDJ_1").values)
mask_has_vj2 = ~pd.isna(get.airr(params, "junction_aa", "VJ_2").values)
mask_has_vdj2 = ~pd.isna(get.airr(params, "junction_aa", "VDJ_2").values)

logging.debug("Done with masks")

Expand Down
6 changes: 3 additions & 3 deletions src/scirpy/tl/_clonal_expansion.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import numpy as np
import pandas as pd

from scirpy.util import DataHandler, _is_na, _normalize_counts
from scirpy.util import DataHandler, _normalize_counts


def _clip_and_count(
Expand Down Expand Up @@ -48,7 +48,7 @@ def _get_interval(value: int) -> str:
.assign(tmp_count=lambda X: pd.Categorical(_get_interval(X["tmp_count"].values), categories=categories))
)
clipped_count = obs.merge(clonotype_counts, how="left", on=groupby_cols)["tmp_count"]
clipped_count[_is_na(obs[target_col])] = "nan"
clipped_count[pd.isna(obs[target_col])] = "nan"
clipped_count.index = obs.index

if inplace:
Expand Down Expand Up @@ -170,7 +170,7 @@ def summarize_clonal_expansion(
obs[tmp_col] = expansion

# filter NA values
obs = obs.loc[~_is_na(obs[target_col]), :]
obs = obs.loc[~pd.isna(obs[target_col]), :]

if summarize_by == "clone_id":
obs.drop_duplicates(inplace=True)
Expand Down
5 changes: 3 additions & 2 deletions src/scirpy/tl/_clonotype_modularity.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
from typing import Literal

import numpy as np
import pandas as pd
import scipy.sparse
import scipy.stats
from mudata import MuData
from scanpy import logging
from statsmodels.stats.multitest import fdrcorrection

from scirpy.util import DataHandler, _is_na, tqdm
from scirpy.util import DataHandler, tqdm
from scirpy.util._negative_binomial import fit_nbinom
from scirpy.util.graph import _get_igraph_from_adjacency

Expand Down Expand Up @@ -107,7 +108,7 @@ def clonotype_modularity(
n_permutations = 1000 if permutation_test == "approx" else 10000

clonotype_per_cell = params.get_obs(target_col)
cells_with_valid_clonotype = clonotype_per_cell[~_is_na(clonotype_per_cell.values)].index
cells_with_valid_clonotype = clonotype_per_cell[~pd.isna(clonotype_per_cell.values)].index
data_subset = params.data[cells_with_valid_clonotype.values, :]
try:
connectivities = data_subset.obsp[connectivity_key]
Expand Down
4 changes: 2 additions & 2 deletions src/scirpy/tl/_diversity.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import numpy as np
import pandas as pd

from scirpy.util import DataHandler, _is_na
from scirpy.util import DataHandler


def _shannon_entropy(counts: np.ndarray):
Expand Down Expand Up @@ -105,7 +105,7 @@ def alpha_diversity(
"""
params = DataHandler(adata, airr_mod)
ir_obs = params.get_obs([target_col, groupby])
ir_obs = ir_obs.loc[~_is_na(ir_obs[target_col]), :]
ir_obs = ir_obs.loc[~pd.isna(ir_obs[target_col]), :]
clono_counts = ir_obs.groupby([groupby, target_col], observed=True).size().reset_index(name="count")

diversity = {}
Expand Down
4 changes: 2 additions & 2 deletions src/scirpy/tl/_group_abundance.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import pandas as pd

from scirpy.get import _has_ir
from scirpy.util import DataHandler, _is_na, _normalize_counts
from scirpy.util import DataHandler, _normalize_counts


def _group_abundance(
Expand All @@ -17,7 +17,7 @@ def _group_abundance(
sort: Literal["count", "alphabetical"] | Sequence[str] = "count",
) -> pd.DataFrame:
# remove NA rows
na_mask = _is_na(ir_obs[groupby]) | _is_na(ir_obs[target_col])
na_mask = pd.isna(ir_obs[groupby]) | pd.isna(ir_obs[target_col])
ir_obs = ir_obs.loc[~na_mask, :]

# normalize to fractions
Expand Down
4 changes: 2 additions & 2 deletions src/scirpy/tl/_ir_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from scirpy.ir_dist import MetricType, _get_metric_key
from scirpy.ir_dist._clonotype_neighbors import ClonotypeNeighbors
from scirpy.util import DataHandler, _is_na, read_cell_indices, tqdm
from scirpy.util import DataHandler, read_cell_indices, tqdm

from ._clonotypes import _common_doc, _common_doc_parallelism, _doc_clonotype_definition, _validate_parameters

Expand Down Expand Up @@ -407,7 +407,7 @@ def reduce_fun(x):

# convert nan-equivalents to real nan values.
for col in df_res:
df_res.loc[_is_na(df_res[col]), col] = None
df_res.loc[pd.isna(df_res[col]), col] = None

if inplace:
for col in df_res:
Expand Down
4 changes: 2 additions & 2 deletions src/scirpy/tl/_repertoire_overlap.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from scipy.cluster import hierarchy as sc_hierarchy
from scipy.spatial import distance as sc_distance

from scirpy.util import DataHandler, _is_na, _normalize_counts
from scirpy.util import DataHandler, _normalize_counts


@DataHandler.inject_param_docs()
Expand Down Expand Up @@ -65,7 +65,7 @@ def repertoire_overlap(
obs[normalize] = params.get_obs(normalize)

# Remove NA rows
na_mask = _is_na(obs[groupby]) | _is_na(obs[target_col])
na_mask = pd.isna(obs[groupby]) | pd.isna(obs[target_col])
df = obs.loc[~na_mask, :].copy()

# Normalize to fractions
Expand Down
Loading