posthoc.attribution

Integrated Gradients

class posthoc.attribution.integrated_gradients.IntegratedGradientsConfig(n_steps: 'int' = 50, batch_size: 'int' = 256, device: 'str' = 'cpu', seed: 'int' = 0, task: 'str' = 'logistic', baseline: 'str' = 'zero')[source]

Bases: object

Parameters:
n_steps: int = 50
batch_size: int = 256
device: str = 'cpu'
seed: int = 0
task: str = 'logistic'
baseline: str = 'zero'
class posthoc.attribution.integrated_gradients.AttributionResult(importances: 'np.ndarray', p_values: 'np.ndarray', p_corrected: 'np.ndarray', n_repeats: 'int', method: 'str' = 'integrated_gradients')[source]

Bases: object

Parameters:
importances: ndarray
p_values: ndarray
p_corrected: ndarray
n_repeats: int
method: str = 'integrated_gradients'
posthoc.attribution.integrated_gradients.integrated_gradients_importance(model, genotypes, phenotype, covariates, config)[source]
Parameters:
Return type:

AttributionResult

PAL / AMAS

class posthoc.attribution.pal.PALConfig(theta_percentile: 'float' = 99.99, ld_window: 'int' = 20, ld_r2_threshold: 'float' = 0.5, min_model_occurence: 'int | None' = None)[source]

Bases: object

Parameters:
  • theta_percentile (float)

  • ld_window (int)

  • ld_r2_threshold (float)

  • min_model_occurence (int | None)

theta_percentile: float = 99.99
ld_window: int = 20
ld_r2_threshold: float = 0.5
min_model_occurence: int | None = None
class posthoc.attribution.pal.PALResult(mu: 'np.ndarray', amas: 'np.ndarray', theta: 'float', per_model_thetas: 'np.ndarray', pal_amas: 'np.ndarray', pal_common: 'np.ndarray', element_counts: 'dict[int, int]', n_models: 'int')[source]

Bases: object

Parameters:
mu: ndarray
amas: ndarray
theta: float
per_model_thetas: ndarray
pal_amas: ndarray
pal_common: ndarray
element_counts: dict[int, int]
n_models: int
posthoc.attribution.pal.stack_mas(mas_list)[source]
Parameters:

mas_list (list[ndarray])

Return type:

ndarray

posthoc.attribution.pal.compute_pal(mas_list, genotypes, config=None)[source]
Parameters:
Return type:

PALResult

Significance testing

class posthoc.attribution.significance.SignificanceConfig(n_bootstrap: 'int' = 100, seed: 'int' = 0)[source]

Bases: object

Parameters:
  • n_bootstrap (int)

  • seed (int)

n_bootstrap: int = 100
seed: int = 0
class posthoc.attribution.significance.SignificanceResult(p_values: 'np.ndarray', halfnorm_scale: 'float', positions: 'np.ndarray')[source]

Bases: object

Parameters:
p_values: ndarray
halfnorm_scale: float
positions: ndarray
posthoc.attribution.significance.fit_null_halfnorm(null_mas_list)[source]
Parameters:

null_mas_list (list[ndarray])

Return type:

float

posthoc.attribution.significance.compute_pal_pvalues(observed_mas_list, null_mas_list, genotypes, pal_result, pal_config, sig_config=None)[source]
Parameters:
Return type:

SignificanceResult