lib5c.algorithms.filtering.bin_bin_filtering module

Module for smoothing bin-level 5C interaction matrices.

lib5c.algorithms.filtering.bin_bin_filtering.bin_bin_filter(array, filter_function, regional_pixelmap, threshold, filter_kwargs=None)[source]

Convenience function for filtering a bin-level matrix to a bin-level matrix.

Parameters
  • array (np.ndarray) – The matrix to filter.

  • filter_function (Callable[[List[Dict[str, Any]]], float]) –

    The filter function to use when filtering. This function should take in a “neighborhood” and return the filtered value given that neighborhood. A neighborhood is represented as a list of “nearby points” where each nearby point is represented as a dict of the following form:

    {
        'value': float,
        'x_dist': int,
        'y_dist': int
    }
    

    where ‘value’ is the value at the point and ‘x_dist’ and ‘y_dist’ are its distances from the center of the neighborhood along the x- and y-axis, respectively, in base pairs. See lib5c.algorithms.filtering.filter_functions for examples of filter functions and how they can be created.

  • regional_pixelmap (List[Dict[str, Any]]) – The list of bins in this region.

  • threshold (int) – The threshold for defining the size of the neighborhood passed to the filter function, in base pairs.

  • filter_kwargs (Optional[Dict[str, Any]]) – Kwargs to be passed to the filter_function.

Returns

The filtered matrix.

Return type

np.ndarray

lib5c.algorithms.filtering.bin_bin_filtering.bin_bin_filter_counts(counts, function, pixelmap, threshold, function_kwargs=None)[source]

Non-parallel wrapper for bin_bin_filter(). Deprecated now that bin_bin_filter() is decorated with @parallelize_regions.

Parameters
  • counts (Dict[str, np.ndarray]) – The counts dict to filter.

  • function (Callable[[List[Dict[str, Any]]], float]) – The filter function to use for filtering. See the description of the filter_function arg in bin_bin_filter().

  • pixelmap (Dict[str, List[Dict[str, Any]]]) – The pixelmap describing the bins for counts.

  • threshold (int) – The threshold for defining the size of the neighborhood passed to the filter function, in base pairs.

  • function_kwargs (Optional[Dict[str, Any]]) – Kwargs to be passed to the function.

Returns

The dict of filtered counts.

Return type

Dict[str, np.ndarray]

lib5c.algorithms.filtering.bin_bin_filtering.find_nearby_bins(index, regional_pixelmap, threshold)[source]

Finds the bins near a target bin as specified by an index.

Parameters
  • index (int) – The index of the bin to look near.

  • regional_pixelmap (List[Dict[str, Any]]) – The list of bins in this region.

  • threshold (int) – The threshold for deciding if a bin is “nearby” or not, as a distance in base pairs.

Returns

A list of nearby bins, where each nearby bin is represented as a dict of the following form:

{
    'index': int,
    'distance': int
}

where ‘index’ is the index of the bin within the region and ‘distance’ is the distance between this bin and the target bin.

Return type

List[Dict[str, int]]