pyprobound.rounds.RhoGammaRound

class RhoGammaRound(aggregate, reference_round, train_depth=True, log_depth=0, library_concentration=-1, rho=0, gamma=-1, name='')

Bases: Round

Enrichment round with learned saturation parameters.

\[\frac{f_{i,r}}{f_{i,r-1}} = \frac{Z_{i,r}^\rho}{(1+Z_{i,r})^\gamma}\]
aggregate

The binding components driving enrichment.

Type:

Aggregate

reference_round

The previous round for cumulative enrichment.

Type:

BaseRound

log_depth

The sequencing depth \(\eta\) in log space.

Type:

Tensor

rho

The parameter \(\rho\).

Type:

Tensor

gamma

The parameter \(\gamma\).

Type:

Tensor

__init__(aggregate, reference_round, train_depth=True, log_depth=0, library_concentration=-1, rho=0, gamma=-1, name='')

Initializes the round.

Parameters:
  • aggregate (Aggregate) – The binding components driving enrichment.

  • reference_round (BaseRound | None) – The previous round used in cumulative enrichment.

  • train_depth (bool) – Whether to train the sequencing depth \(\eta\).

  • log_depth (float) – The initial value of log_depth.

  • library_concentration (float) – The total library concentration, used for estimating the free protein concentration.

  • rho (float) – The initial value of rho.

  • gamma (float) – The initial value of gamma.

  • name (str) – A string used to describe the round.

Methods

cache(fun)

Decorator for a function to cache its output.

check_length_consistency()

Checks that input lengths of Binding components are consistent.

components()

Iterator of child components.

forward(seqs)

Predicts the log relative count.

freeze()

Turns off gradient calculation for all parameters.

from_binding(binding, reference_round[, ...])

Creates a new instance from binding components and reference round.

log_aggregate(seqs)

Predicts the log aggregate \(\log Z_i\).

log_cumulative_enrichment(seqs)

Predicts the log cumulative enrichment.

log_enrichment(seqs)

Predicts the log enrichment ratio.

max_embedding_size()

The maximum number of bytes needed to encode a sequence.

optim_procedure([ancestry, current_order])

The sequential optimization procedure for all Binding components.

reload(checkpoint)

Loads the model from a checkpoint file.

reload_from_state_dict(state_dict)

Loads the model from a state dict.

save(checkpoint[, flank_lengths])

Saves the model to a file with "state_dict" and "metadata" fields.

unfreeze([parameter])

Turns on gradient calculation for the specified parameter.

Attributes

library_concentration

The total library concentration \([\text{library}]\).

unfreezable

alias of Literal['all', 'depth', 'rho']

Non-Inherited Members

unfreezable

alias of Literal[‘all’, ‘depth’, ‘rho’]

classmethod from_binding(binding, reference_round, train_depth=True, log_depth=0, train_concentration=False, target_concentration=1, library_concentration=-1, activity_heuristic=0.05, name='', rho=1, gamma=-1)

Creates a new instance from binding components and reference round.

Parameters:
  • binding (Iterable[Binding]) – The binding components driving enrichment.

  • reference_round (BaseRound | None) – The previous round used in cumulative enrichment.

  • train_depth (bool) – Whether to train the sequencing depth \(\eta\).

  • log_depth (float) – The initial value of log_depth.

  • train_concentration (bool) – Whether to train the protein concentration.

  • target_concentration (float) – Protein concentration, used for estimating the free protein concentration.

  • library_concentration (float) – Library concentration, used for estimating the free protein concentration.

  • activity_heuristic (float) – The fraction of the total aggregate that the contribution will be set to when it is first optimized.

  • name (str) – A string used to describe the round.

  • rho (float) – The initial value of rho.

  • gamma (float) – The initial value of gamma.

Return type:

Self

unfreeze(parameter='all')

Turns on gradient calculation for the specified parameter.

Parameters:

parameter (unfreezable) – Parameter to be unfrozen, defaults to all parameters.

Return type:

None

log_enrichment(seqs)

Predicts the log enrichment ratio.

\[\log \frac{f_{i,r}}{f_{i,r-1}}\]
Parameters:

seqs (Tensor) – A sequence tensor of shape \((\text{minibatch},\text{length})\) or \((\text{minibatch},\text{in_channels},\text{length})\).

Return type:

Tensor

Returns:

The log enrichment ratio tensor of shape \((\text{minibatch},)\).