dynamo.pl.response

dynamo.pl.response(adata, pairs_mat, xkey=None, ykey=None, log=True, drop_zero_cells=True, delay=0, grid_num=25, n_row=1, n_col=None, cmap=None, show_ridge=False, show_rug=True, zero_indicator=False, zero_line_style='w--', zero_line_width=2.5, mean_style='c*', fit_curve=False, fit_mode='hill', curve_style='c-', curve_lw=2.5, no_degradation=True, show_extent=False, ext_format=None, stacked_fraction=False, figsize=(6, 4), save_show_or_return='show', save_kwargs={}, return_data=False)[source]

Plot the lagged DREVI plot pairs of genes across pseudotime. This plotting function builds on the original idea of DREVI plot but is extended in the context for causal network. It considers the time delay between the hypothetical regulators to the target genes which is parametered by \(d\). Lagged DREVI plot first estimates the joint density (\(P(x_{t - d}, y_t)\)) for variables \(x_{t - d} and y_t\), then it divides the joint density by the marginal density \(P(x_{t - d})\) to get the conditional density estimate (\(P(x_{t - d}, y_t | x_{x - d})\)). We then calculate the z-score normalizing each column of conditional density. Note that this plot tries to demonstrate the potential influence between two variables instead of the factual influence. A red line corresponding to the point with maximal density on each \(x\) value is plot which indicates the maximal possible point for \(y_t\) give the value of \(x_{t - d}\). The 2-d density is estimated through the kde2d function.

Parameters
  • adata (Anndata) – Annotated Data Frame, an Anndata object.

  • pairs_mat ('np.ndarray') – A matrix where each row is the gene pair and the first column is the hypothetical source or regulator while the second column represents the hypothetical target. The name in this matrix should match the name in the gene_short_name column of the adata object.

  • log (bool (Default: True)) – A logic argument used to determine whether or not you should perform log transformation (using \(log(expression + 1)\)) before calculating density estimates, default to be TRUE.

  • drop_zero_cells (bool (Default: True)) – Whether to drop cells that with zero expression for either the potential regulator or potential target. This can signify the relationship between potential regulators and targets, speed up the calculation, but at the risk of ignoring strong inhibition effects from certain regulators to targets.

  • delay (int (Default: 0)) – The time delay between the source and target gene. Always zero because we don’t have real time-series.

  • k (int (Default: 5)) – Number of k-nearest neighbors used in calculating 2-D kernel density

  • grid_num (int (Default: 25)) – The number of grid when creating the lagged DREVI plot.

  • n_row (int (Default: None)) – number of columns used to layout the faceted cluster panels.

  • n_col (int (Default: 1)) – number of columns used to layout the faceted cluster panels.

  • ext_format (None or str or List[str]) – The string/list of strings (the first is for x and second for y labels) that will be used to format the ticks on x or y-axis. If it is None or one of the element in the list is None, the default setting will be used.

  • stacked_fraction (bool (default: False)) – If True the jacobian will be represented as a stacked fraction in the title, otherwise a linear fraction style is used.

  • save_show_or_return (str {‘save’, ‘show’, ‘return’} (default: show)) – Whether to save, show or return the figure. If “both”, it will save and plot the figure at the same time. If “all”, the figure will be saved, displayed and the associated axis and other object will be return.

  • save_kwargs (dict (default: {})) – A dictionary that will passed to the save_fig function. By default it is an empty dictionary and the save_fig function will use the {“path”: None, “prefix”: ‘scatter’, “dpi”: None, “ext”: ‘pdf’, “transparent”: True, “close”: True, “verbose”: True} as its parameters. Otherwise you can provide a dictionary that properly modify those keys according to your needs.

Returns

  • In addition to figure created by matplotlib, it also returns

  • flat_res (‘pd.core.frame.DataFrame’) – a pandas data frame used to create the heatmap with four columns (x: x-coordinate; y: y-coordinate; den: estimated density at x/y coordinate; type: the corresponding gene pair).

  • flat_res_subset (‘pd.core.frame.DataFrame’) – a pandas data frame used to create the heatmap for the last gene pair (if multiple gene-pairs are inputted) with four columns (x: x-coordinate; y: y-coordinate; den: estimated density at x/y coordinate; type: the corresponding gene pair).

  • ridge_curve_subset (‘pd.core.frame.DataFrame’) – a pandas data frame used to create the read ridge line for the last gene pair (if multiple gene-pairs are inputted) with four columns (x: x-coordinate; y: y-coordinate; type: the corresponding gene pair).