prolint.utils

Utility functions for ProLint.

This module provides optimized utility functions for contact computation and data processing.

Submodules

Functions

fast_contiguous_segment_lengths(→ numpy.ndarray)

Compute lengths of contiguous segments in a sorted array.

fast_unique_comparison(residue_ids, database_ids, ...)

Find unique residue-database pairs efficiently.

Package Contents

prolint.utils.fast_contiguous_segment_lengths(arr, multiplier: float = 1.0) numpy.ndarray[source]

Compute lengths of contiguous segments in a sorted array.

Parameters:
  • arr (array-like) – Sorted array of frame indices.

  • multiplier (float, default=1.0) – Factor to multiply segment lengths by.

Returns:

Array of segment lengths (contact durations).

Return type:

np.ndarray

prolint.utils.fast_unique_comparison(residue_ids, database_ids, database_names)[source]

Find unique residue-database pairs efficiently.

Given parallel arrays of residue IDs, database IDs, and database names, returns the unique (residue_id, database_id) pairs with corresponding names.

Parameters:
  • residue_ids (np.ndarray) – Array of residue IDs.

  • database_ids (np.ndarray) – Array of database molecule IDs.

  • database_names (np.ndarray) – Array of database residue names.

Returns:

(unique_residue_ids, unique_database_ids, unique_database_names)

Return type:

tuple of np.ndarray