pub fn get_sparse_pos_sets<T>(
    bpp_mat_pair: &(&HashMap<(T, T), f32, RandomState, Global>, &HashMap<(T, T), f32, RandomState, Global>),
    align_prob_mat: &HashMap<(T, T), f32, RandomState, Global>,
    seq_len_pair: &(T, T)
) -> (HashMap<(T, T), HashSet<(T, T), RandomState, Global>, RandomState, Global>, HashMap<(T, T), HashSet<(T, T), RandomState, Global>, RandomState, Global>, HashSet<(T, T, T, T), RandomState, Global>, HashMap<(T, T), HashSet<(T, T), RandomState, Global>, RandomState, Global>, HashMap<T, HashSet<T, RandomState, Global>, RandomState, Global>, HashMap<T, HashSet<T, RandomState, Global>, RandomState, Global>)where
    T: Unsigned + PrimInt + Hash + FromPrimitive + Integer + Ord + Sync + Send,