test_DER
Function
crisgi_obj.test_DER(
groupby,
target_group=None,
test_method="wilcoxon",
method='prod',
)
Performs differential entropy ranking (DER) analysis on the provided AnnData object, comparing groups defined by the groupby column. The function computes group-wise entropy, applies statistical tests (e.g., Wilcoxon), and aggregates results for downstream analysis.
Parameters
| Name | Type | Description |
|---|---|---|
| groupby | str | The column in adata.obs used to define groups for comparison. |
| target_group | str, optional | Specific group to compare against the reference group. If None, all groups are compared. |
| test_method | str, optional | Statistical test method to use (default: "wilcoxon"). |
| method | str, optional | Entropy calculation method (default: 'prod'). |
Return type
pandas.DataFrame
Returns
A DataFrame containing differential entropy ranking results for each group comparison. Columns include gene names, reference and target groups, method used, and mean entropy values for each group.
Attributes Set
self.groups: List of unique group names fromgroupby.self.groupby: The groupby column name.edata.uns[f'{method}_rank_genes_groups_{ref_group}_{target_group}']: Stores ranking results for each group comparison.edata.uns['rank_genes_groups_df']: Stores the concatenated DataFrame of all results.
Example
# Assume `obj` is an instance with an AnnData object as `obj.adata`
# Compare groups in the 'cell_type' column using the default Wilcoxon test and 'prod' method
result_df = obj.test_DER(groupby='cell_type')
# To compare a specific group, e.g., 'B_cell', against all others:
result_df = obj.test_DER(groupby='cell_type', target_group='B_cell')
# Access the results
print(result_df.head())
# Access attributes set by the function
print(obj.groups) # List of group names
print(obj.groupby) # The groupby column name