scbulkde.PseudobulkResult#

class scbulkde.PseudobulkResult(adata_sub, pb_counts, grouped, sample_table, design_matrix, design_formula, group_key, group_key_internal, query, reference, strata, layer, layer_aggregation, categorical_covariates, continuous_covariates, continuous_aggregation, min_cells, min_fraction, min_coverage, qualify_strategy, n_cells=None)#

Container for the results of a pseudobulking procedure.

adata_sub#

Subset of input AnnData containing only query and reference cells.

Type:

ad.AnnData

pb_counts#

Aggregated pseudobulk expression matrix (samples x genes). Empty if no valid strata exist (collapsed case).

Type:

pd.DataFrame

grouped#

Grouped observation data used for aggregation.

Type:

DataFrameGroupBy

sample_table#

Metadata for each pseudobulk sample, including covariates, cell counts, and quality metrics.

Type:

pd.DataFrame

design_matrix#

Design matrix for statistical testing, created from design_formula.

Type:

pd.DataFrame

design_formula#

Patsy-style formula describing the statistical model.

Type:

str

group_key#

Column name in adata.obs used to define cell groups.

Type:

str

group_key_internal#

Internal column name for query/reference labels ('psbulk_condition').

Type:

str

query#

Query group(s) used for the comparison.

Type:

Sequence[str]

reference#

Reference group(s) used for the comparison.

Type:

Sequence[str]

strata#

Final stratification factors used (may be a subset of requested due to conflict resolution). Empty list indicates collapsed pseudobulk.

Type:

Sequence[str]

layer#

Layer in adata.layers used for aggregation, or None for adata.X.

Type:

str or None

layer_aggregation#

Method used to aggregate expression values across cells ('sum' or 'mean').

Type:

str

categorical_covariates#

Categorical covariates included in the design.

Type:

Sequence[str] or None

continuous_covariates#

Continuous covariates included in the design.

Type:

Sequence[str] or None

continuous_aggregation#

Method used to aggregate continuous covariates per pseudobulk sample.

Type:

str or None

min_cells#

Minimum number of cells required per pseudobulk sample.

Type:

int or None

min_fraction#

Minimum fraction of condition cells required per pseudobulk sample.

Type:

float or None

min_coverage#

Minimum coverage required per condition.

Type:

float or None

qualify_strategy#

Strategy used for sample qualification ('and' or 'or').

Type:

str

n_cells#

Number of cells per condition ('query' and 'reference').

Type:

dict[str, int] or None

Attributes table#

PseudobulkResult.collapsed

Whether samples are collapsed (all cells used without valid strata).

Returns True if no valid strata were found and all cells per condition are used as a single sample. In this case, pb_counts is empty.

PseudobulkResult.n_cells: dict[str, int] | None = None
PseudobulkResult.n_samples

Number of pseudobulk samples.

PseudobulkResult.adata_sub: AnnData
PseudobulkResult.pb_counts: DataFrame
PseudobulkResult.grouped: DataFrameGroupBy
PseudobulkResult.sample_table: DataFrame
PseudobulkResult.design_matrix: DataFrame
PseudobulkResult.design_formula: str
PseudobulkResult.group_key: str
PseudobulkResult.group_key_internal: str
PseudobulkResult.query: Sequence[str]
PseudobulkResult.reference: Sequence[str]
PseudobulkResult.strata: Sequence[str]
PseudobulkResult.layer: str | None
PseudobulkResult.layer_aggregation: str
PseudobulkResult.categorical_covariates: Sequence[str] | None
PseudobulkResult.continuous_covariates: Sequence[str] | None
PseudobulkResult.continuous_aggregation: str | None
PseudobulkResult.min_cells: int | None
PseudobulkResult.min_fraction: float | None
PseudobulkResult.min_coverage: float | None
PseudobulkResult.qualify_strategy: str

Methods table#

Attributes#

PseudobulkResult.collapsed#

Whether samples are collapsed (all cells used without valid strata).

Returns True if no valid strata were found and all cells per condition are used as a single sample. In this case, pb_counts is empty.

PseudobulkResult.n_cells: dict[str, int] | None = None#
PseudobulkResult.n_samples#

Number of pseudobulk samples.

PseudobulkResult.adata_sub: AnnData#
PseudobulkResult.pb_counts: DataFrame#
PseudobulkResult.grouped: DataFrameGroupBy#
PseudobulkResult.sample_table: DataFrame#
PseudobulkResult.design_matrix: DataFrame#
PseudobulkResult.design_formula: str#
PseudobulkResult.group_key: str#
PseudobulkResult.group_key_internal: str#
PseudobulkResult.query: Sequence[str]#
PseudobulkResult.reference: Sequence[str]#
PseudobulkResult.strata: Sequence[str]#
PseudobulkResult.layer: str | None#
PseudobulkResult.layer_aggregation: str#
PseudobulkResult.categorical_covariates: Sequence[str] | None#
PseudobulkResult.continuous_covariates: Sequence[str] | None#
PseudobulkResult.continuous_aggregation: str | None#
PseudobulkResult.min_cells: int | None#
PseudobulkResult.min_fraction: float | None#
PseudobulkResult.min_coverage: float | None#
PseudobulkResult.qualify_strategy: str#

Methods#