arcfish.tl.DiffRegion#
- class arcfish.tl.DiffRegion(adata1: AnnData, adata2: AnnData)#
Differential analysis of chromatin TADs.
- Parameters:
data1 (pd.DataFrame) – Condition 1 data in FOF-CT_core format with no repeating rows.
data2 (pd.DataFrame) – Condition 2 data in FOF-CT_core format with no repeating rows.
Methods
__init__(adata1, adata2)diff_loops(summit_df[, s])Call differential chromatin interactions.
diff_region(region_df)Test differential regions within each chromosome.
entry_pvals(adata1, adata2)Calculate axis-wise entry-wise p-values by F-tests.
loop_pvals(weights, f_pvals, d1d, summit_chr)Calculate p-value for each loop considered.
pval_to_fdr(agg_p_mat, idx)Adjust multiple testing by FDR.
region_pvals(weights, f_pvals, d1d, region_df)Aggregate p-values within a region and across axis.
to_bedpe(result[, fdr_cutoff])Add a column diff to the result dataframe, indicating whether the domain is differentially significant.
- diff_region(region_df: DataFrame) DataFrame#
Test differential regions within each chromosome.
- Parameters:
region_df (pd.DataFrame) – List of regions to check. Columns: c1, s1, e1, c2, s2, e2.
- Returns:
Same format as the input, with additional columns stat, pval, fdr, and log_fdr.
- Return type:
pd.DataFrame
- static region_pvals(weights: ndarray, f_pvals: ndarray, d1d: ndarray, region_df: DataFrame) DataFrame#
Aggregate p-values within a region and across axis. Assign uniform weights for entries within the same axis.
- Parameters:
weights ((d,) np.ndarray) – Weight for each axis.
f_pvals ((d, p, p) np.ndarray) – Entry-wise p-values returned by func:arcfish.analysis.loop.DiffLoop.entry_pvals.
d1d (np.ndarray) – 1D genomic locations.
region_df (pd.DataFrame) – A dataframe containing a list of regions to check.
- Returns:
Same format as region_df, with additional columns stat, pval, fdr, and log_fdr.
- Return type:
pd.DataFrame
- to_bedpe(result: DataFrame, fdr_cutoff: float = 0.1) DataFrame#
Add a column diff to the result dataframe, indicating whether the domain is differentially significant.
- Parameters:
result (pd.DataFrame) – Differential domain result from
diff_region().fdr_cutoff (float, optional) – Domains with differential FDR below this cutoff are marked as significant, by default 0.1.
- Returns:
Same format as result, with an additional column diff.
- Return type:
pd.DataFrame