scirpy.ir_dist.metrics.ParallelDistanceCalculator#

class scirpy.ir_dist.metrics.ParallelDistanceCalculator(cutoff, *, n_jobs=None, block_size=50)#

Abstract base class for a DistanceCalculator that computes distances in parallel.

It does so in a blockwise fashion. The function computing distances for a single block needs to be overriden.

Parameters:
  • n_jobs (Optional[int] (default: None)) – Number of jobs to use for the pairwise distance calculation. If None, use all jobs (only for ParallelDistanceCalculators).

  • block_size (Optional[int] (default: 50)) – The width of a block of the matrix that will be delegated to a worker process. The block contains block_size ** 2 elements.

Attributes table#

DTYPE

The sparse matrix dtype.

Methods table#

calc_dist_mat(seqs[, seqs2])

Calculate the distance matrix.

squarify(triangular_matrix)

Mirror a triangular matrix at the diagonal to make it a square matrix.

Attributes#

ParallelDistanceCalculator.DTYPE = 'uint8'#

The sparse matrix dtype. Defaults to uint8, constraining the max distance to 255.

Methods#

ParallelDistanceCalculator.calc_dist_mat(seqs, seqs2=None)#

Calculate the distance matrix.

See DistanceCalculator.calc_dist_mat().

Return type:

csr_matrix

static ParallelDistanceCalculator.squarify(triangular_matrix)#

Mirror a triangular matrix at the diagonal to make it a square matrix.

The input matrix must be upper triangular to begin with, otherwise the results will be incorrect. No guard rails!

Return type:

csr_matrix