pub fn get_sparse_pos_sets<T>(
    bpp_mat_pair: &ProbMatPair<'_, T>,
    align_prob_mat: &SparseProbMat<T>,
    seq_len_pair: &(T, T)
) -> (PosPairMatSet<T>, PosPairMatSet<T>, PosQuadrupleMat<T>, PosQuadrupleMatWithLenPairs<T>, SparsePosSets<T>, SparsePosSets<T>) where
    T: Unsigned + PrimInt + Hash + FromPrimitive + Integer + Ord + Sync + Send