Commit d23d746c authored by Alfredo Di Napoli's avatar Alfredo Di Napoli

Use Discrimination nub on relatedComponents

parent b48af3e4
Pipeline #5660 failed with stages
in 89 minutes and 25 seconds
......@@ -16,18 +16,19 @@ Portability : POSIX
module Gargantext.Core.Viz.Phylo.PhyloTools where
import Control.Lens hiding (Level)
import Data.List (union, nub, init, tail, partition, nubBy, (!!))
import Data.Discrimination qualified as D
import Data.List qualified as List
import Data.List (union, nub, init, tail, partition, nubBy, (!!))
import Data.Map (elems, empty, fromList, findWithDefault, unionWith, keys, member, (!), filterWithKey, fromListWith, restrictKeys)
import Data.Map qualified as Map
import Data.Maybe (fromJust)
import Data.Set (disjoint)
import Data.Set qualified as Set
import Data.String (String)
import Data.Text (unpack)
import Data.Text qualified as Text
import Data.Vector (Vector, elemIndex)
import Data.Text (unpack)
import Data.Vector qualified as Vector
import Data.Vector (Vector, elemIndex)
import Gargantext.Core.Viz.Phylo
import Gargantext.Prelude hiding (empty)
import Prelude (read)
......@@ -693,13 +694,13 @@ groupsToBranches' groups =
in map (\g -> g & phylo_groupBranchId %~ (\(lvl,_) -> (lvl,bId))) groups') graph
relatedComponents :: Ord a => [[a]] -> [[a]]
relatedComponents :: (D.Grouping a, Ord a) => [[a]] -> [[a]]
relatedComponents graph = foldl' (\branches groups ->
if (null branches)
then branches ++ [groups]
else
let branchPart = partition (\branch -> disjoint (Set.fromList branch) (Set.fromList groups)) branches
in (fst branchPart) ++ [nub $ concat $ (snd branchPart) ++ [groups]]) [] graph
in (fst branchPart) ++ [D.nub $ concat $ (snd branchPart) ++ [groups]]) [] graph
toRelatedComponents :: [PhyloGroup] -> [((PhyloGroup,PhyloGroup),Double)] -> [[PhyloGroup]]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment