lineage.states.stateCommon

Common utilities used between states regardless of distribution.

Attributes

arr_type

_addr_gammaincc

gammaincc

_addr_gammaln

gammaln

_addr_psi

psi

Functions

censor_lineage_gamma(tree, obs, states, censor_condition)

Applies temporal and fate censorship to Gamma distribution lineages using arrays.

censor_lineage_gaphs(tree, obs, states, censor_condition)

Applies temporal and fate censorship to 2-phase GaPhs lineages using arrays.

bern_estimator(bern_obs, gammas)

A weighted estimator for a Bernoulli distribution.

gamma_LL(logX, gamma_obs, time_cen, gammas, param_idx)

Log-likelihood for the optionally censored Gamma distribution.

gamma_LL_grad(logX, gamma_obs, time_cen, gammas, param_idx)

Analytical gradient of gamma_LL with respect to logX.

trigamma(x)

Asymptotic expansion for polygamma(1, x).

pava_increasing(y, w)

Pool Adjacent Violators Algorithm for increasing monotonicity: y[0] <= y[1] <= ... <= y[K-1].

gamma_mle_closed_form(gamma_obs, gammas, param_idx, K)

1D profile likelihood solver using Minka initialization and Newton-Raphson.

gamma_estimator(gamma_obs, time_cen, gammas, ...)

This is a weighted estimator for the parameters of the Gamma distribution,

Module Contents

lineage.states.stateCommon.arr_type
lineage.states.stateCommon.censor_lineage_gamma(tree, obs, states, censor_condition, desired_experiment_time=2000000000000.0)

Applies temporal and fate censorship to Gamma distribution lineages using arrays.

Parameters:
  • tree (scipy.sparse.csr_array)

  • obs (numpy.ndarray)

  • states (numpy.ndarray)

  • censor_condition (int)

  • desired_experiment_time (float)

Return type:

tuple[scipy.sparse.csr_array, numpy.ndarray, numpy.ndarray]

lineage.states.stateCommon.censor_lineage_gaphs(tree, obs, states, censor_condition, desired_experiment_time=2000000000000.0)

Applies temporal and fate censorship to 2-phase GaPhs lineages using arrays.

Parameters:
  • tree (scipy.sparse.csr_array)

  • obs (numpy.ndarray)

  • states (numpy.ndarray)

  • censor_condition (int)

  • desired_experiment_time (float)

Return type:

tuple[scipy.sparse.csr_array, numpy.ndarray, numpy.ndarray]

lineage.states.stateCommon.bern_estimator(bern_obs, gammas)

A weighted estimator for a Bernoulli distribution.

Parameters:
  • bern_obs (numpy.ndarray)

  • gammas (numpy.ndarray)

lineage.states.stateCommon._addr_gammaincc
lineage.states.stateCommon.gammaincc
lineage.states.stateCommon._addr_gammaln
lineage.states.stateCommon.gammaln
lineage.states.stateCommon._addr_psi
lineage.states.stateCommon.psi
lineage.states.stateCommon.gamma_LL(logX, gamma_obs, time_cen, gammas, param_idx)

Log-likelihood for the optionally censored Gamma distribution. The logX is the log transform of the parameters, in case of atonce estimation, it is [shape, scale1, scale2, scale3, scale4].

Parameters:
lineage.states.stateCommon.gamma_LL_grad(logX, gamma_obs, time_cen, gammas, param_idx)

Analytical gradient of gamma_LL with respect to logX.

Parameters:
Return type:

arr_type

lineage.states.stateCommon.trigamma(x)

Asymptotic expansion for polygamma(1, x).

Parameters:

x (float)

Return type:

float

lineage.states.stateCommon.pava_increasing(y, w)

Pool Adjacent Violators Algorithm for increasing monotonicity: y[0] <= y[1] <= ... <= y[K-1].

Parameters:
  • y (numpy.ndarray)

  • w (numpy.ndarray)

Return type:

numpy.ndarray

lineage.states.stateCommon.gamma_mle_closed_form(gamma_obs, gammas, param_idx, K, constrained=True)

1D profile likelihood solver using Minka initialization and Newton-Raphson.

lineage.states.stateCommon.gamma_estimator(gamma_obs, time_cen, gammas, param_idx, x0, phase)

This is a weighted estimator for the parameters of the Gamma distribution, estimating shared shape and separate scale parameters across drug concentrations.

Parameters:
Return type:

arr_type