Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
195
Issues
195
List
Board
Labels
Milestones
Merge Requests
12
Merge Requests
12
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
haskell-gargantext
Commits
a4a4a2fb
Commit
a4a4a2fb
authored
Apr 05, 2019
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FIX] heads.
parent
9ec52356
Pipeline
#338
failed with stage
Changes
18
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
59 additions
and
59 deletions
+59
-59
Prelude.hs
src/Gargantext/Prelude.hs
+1
-0
Cluster.hs
src/Gargantext/Viz/Phylo/Aggregates/Cluster.hs
+3
-4
Cooc.hs
src/Gargantext/Viz/Phylo/Aggregates/Cooc.hs
+2
-1
Document.hs
src/Gargantext/Viz/Phylo/Aggregates/Document.hs
+3
-3
Fis.hs
src/Gargantext/Viz/Phylo/Aggregates/Fis.hs
+3
-3
BranchMaker.hs
src/Gargantext/Viz/Phylo/BranchMaker.hs
+4
-4
Example.hs
src/Gargantext/Viz/Phylo/Example.hs
+3
-3
LevelMaker.hs
src/Gargantext/Viz/Phylo/LevelMaker.hs
+3
-3
LinkMaker.hs
src/Gargantext/Viz/Phylo/LinkMaker.hs
+5
-5
Clustering.hs
src/Gargantext/Viz/Phylo/Metrics/Clustering.hs
+4
-4
Proximity.hs
src/Gargantext/Viz/Phylo/Metrics/Proximity.hs
+1
-1
Tools.hs
src/Gargantext/Viz/Phylo/Tools.hs
+9
-9
Display.hs
src/Gargantext/Viz/Phylo/View/Display.hs
+4
-5
Filters.hs
src/Gargantext/Viz/Phylo/View/Filters.hs
+4
-4
Metrics.hs
src/Gargantext/Viz/Phylo/View/Metrics.hs
+4
-4
Sort.hs
src/Gargantext/Viz/Phylo/View/Sort.hs
+1
-1
Taggers.hs
src/Gargantext/Viz/Phylo/View/Taggers.hs
+4
-4
ViewMaker.hs
src/Gargantext/Viz/Phylo/View/ViewMaker.hs
+1
-1
No files found.
src/Gargantext/Prelude.hs
View file @
a4a4a2fb
...
...
@@ -269,3 +269,4 @@ maximumWith f = L.maximumBy (compare `on` f)
listToCombi
::
forall
a
b
.
(
a
->
b
)
->
[
a
]
->
[(
b
,
b
)]
listToCombi
f
l
=
[
(
f
x
,
f
y
)
|
(
x
:
rest
)
<-
L
.
tails
l
,
y
<-
rest
]
head'
e
xs
=
maybe
(
panic
e
)
identity
(
head
xs
)
src/Gargantext/Viz/Phylo/Aggregates/Cluster.hs
View file @
a4a4a2fb
...
...
@@ -17,11 +17,10 @@ Portability : POSIX
module
Gargantext.Viz.Phylo.Aggregates.Cluster
where
import
Data.List
(
head
,
null
,
tail
)
import
Data.List
(
null
,
tail
)
import
Data.Map
(
Map
)
import
Data.Tuple
(
fst
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
import
Gargantext.Viz.Phylo.BranchMaker
...
...
@@ -33,7 +32,7 @@ import qualified Data.Map as Map
graphToClusters
::
Cluster
->
GroupGraph
->
[
PhyloCluster
]
graphToClusters
clust
(
nodes
,
edges
)
=
case
clust
of
Louvain
(
LouvainParams
_
)
->
undefined
-- louvain (nodes,edges)
RelatedComponents
(
RCParams
_
)
->
relatedComp
0
(
head
nodes
)
(
tail
nodes
,
edges
)
[]
[]
RelatedComponents
(
RCParams
_
)
->
relatedComp
0
(
head
'
"graphToClusters"
nodes
)
(
tail
nodes
,
edges
)
[]
[]
_
->
panic
"[ERR][Viz.Phylo.Aggregates.Cluster.graphToClusters] not implemented"
-- | To transform a Phylo into Clusters of PhyloGroups at a given level
...
...
src/Gargantext/Viz/Phylo/Aggregates/Cooc.hs
View file @
a4a4a2fb
...
...
@@ -19,7 +19,8 @@ module Gargantext.Viz.Phylo.Aggregates.Cooc
import
Data.List
(
union
,
concat
)
import
Data.Map
(
Map
,
elems
,
adjust
)
import
Gargantext.Prelude
hiding
(
head
)
import
Data.Maybe
(
maybe
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
import
qualified
Data.Map
as
Map
...
...
src/Gargantext/Viz/Phylo/Aggregates/Document.hs
View file @
a4a4a2fb
...
...
@@ -19,12 +19,12 @@ module Gargantext.Viz.Phylo.Aggregates.Document
import
Control.Lens
hiding
(
both
,
Level
)
import
Data.List
(
last
,
head
,
nub
,(
++
))
import
Data.List
(
last
,
nub
,(
++
))
import
Data.Map
(
Map
,
member
)
import
Data.Text
(
Text
)
import
Data.Tuple
(
fst
,
snd
)
import
Data.Vector
(
Vector
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Text.Terms.Mono
(
monoTexts
)
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
...
...
@@ -35,7 +35,7 @@ import qualified Data.Vector as Vector
-- | To init a list of Periods framed by a starting Date and an ending Date
initPeriods
::
(
Eq
date
,
Enum
date
)
=>
Grain
->
Step
->
(
date
,
date
)
->
[(
date
,
date
)]
initPeriods
g
s
(
start
,
end
)
=
map
(
\
l
->
(
head
l
,
last
l
))
initPeriods
g
s
(
start
,
end
)
=
map
(
\
l
->
(
head
'
"Doc"
l
,
last
l
))
$
chunkAlong
g
s
[
start
..
end
]
...
...
src/Gargantext/Viz/Phylo/Aggregates/Fis.hs
View file @
a4a4a2fb
...
...
@@ -17,10 +17,10 @@ Portability : POSIX
module
Gargantext.Viz.Phylo.Aggregates.Fis
where
import
Data.List
(
head
,
null
)
import
Data.List
(
null
)
import
Data.Map
(
Map
,
empty
)
import
Data.Tuple
(
fst
,
snd
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Text.Metrics.FrequentItemSet
(
fisWithSizePolyMap
,
Size
(
..
))
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
...
...
@@ -41,7 +41,7 @@ filterMinorFis min' l = filter (\fis -> getSupport fis > min') l
-- | To filter nested Fis
filterFisByNested
::
Map
(
Date
,
Date
)
[
PhyloFis
]
->
Map
(
Date
,
Date
)
[
PhyloFis
]
filterFisByNested
=
map
(
\
l
->
let
cliqueMax
=
filterNestedSets
(
head
$
map
getClique
l
)
(
map
getClique
l
)
[]
filterFisByNested
=
map
(
\
l
->
let
cliqueMax
=
filterNestedSets
(
head
'
"Fis"
$
map
getClique
l
)
(
map
getClique
l
)
[]
in
filter
(
\
fis
->
elem
(
getClique
fis
)
cliqueMax
)
l
)
...
...
src/Gargantext/Viz/Phylo/BranchMaker.hs
View file @
a4a4a2fb
...
...
@@ -18,9 +18,9 @@ module Gargantext.Viz.Phylo.BranchMaker
where
import
Control.Lens
hiding
(
both
,
Level
)
import
Data.List
(
head
,
concat
,
nub
,(
++
),
tail
)
import
Data.List
(
concat
,
nub
,(
++
),
tail
)
import
Data.Tuple
(
fst
,
snd
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Metrics.Clustering
import
Gargantext.Viz.Phylo.Metrics.Proximity
...
...
@@ -32,7 +32,7 @@ graphToBranches :: Level -> GroupGraph -> Phylo -> [(Int,PhyloGroupId)]
graphToBranches
_lvl
(
nodes
,
edges
)
_p
=
concat
$
map
(
\
(
idx
,
gs
)
->
map
(
\
g
->
(
idx
,
getGroupId
g
))
gs
)
$
zip
[
1
..
]
$
relatedComp
0
(
head
nodes
)
(
tail
nodes
,
edges
)
[]
[]
$
relatedComp
0
(
head
'
"branchMaker"
nodes
)
(
tail
nodes
,
edges
)
[]
[]
-- | To transform a list of PhyloGroups into a PhyloGraph by using a given Proximity mesure
...
...
@@ -55,7 +55,7 @@ groupsToGraph prox groups p = (groups,edges)
-- | To set all the PhyloBranches for a given Level in a Phylo
setPhyloBranches
::
Level
->
Phylo
->
Phylo
setPhyloBranches
lvl
p
=
alterGroupWithLevel
(
\
g
->
let
bIdx
=
(
fst
.
head
)
$
filter
(
\
b
->
snd
b
==
getGroupId
g
)
bs
setPhyloBranches
lvl
p
=
alterGroupWithLevel
(
\
g
->
let
bIdx
=
(
fst
$
head'
"branchMaker"
$
filter
(
\
b
->
snd
b
==
getGroupId
g
)
bs
)
in
over
(
phylo_groupBranchId
)
(
\
_
->
Just
(
lvl
,
bIdx
))
g
)
lvl
p
where
--------------------------------------
...
...
src/Gargantext/Viz/Phylo/Example.hs
View file @
a4a4a2fb
...
...
@@ -29,12 +29,12 @@ TODO:
module
Gargantext.Viz.Phylo.Example
where
import
Data.Text
(
Text
)
import
Data.List
((
++
),
last
,
head
)
import
Data.List
((
++
),
last
)
import
Data.Map
(
Map
)
import
Data.Tuple
(
fst
)
import
Data.Tuple.Extra
import
Data.Vector
(
Vector
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Aggregates.Cluster
import
Gargantext.Viz.Phylo.Aggregates.Document
...
...
@@ -221,7 +221,7 @@ phyloBase = initPhyloBase periods foundations peaks defaultPhyloParam
periods
::
[(
Date
,
Date
)]
periods
=
initPeriods
5
3
$
both
fst
(
head
corpus
,
last
corpus
)
$
both
fst
(
head
'
"Example"
corpus
,
last
corpus
)
peaks
::
PhyloPeaks
...
...
src/Gargantext/Viz/Phylo/LevelMaker.hs
View file @
a4a4a2fb
...
...
@@ -20,12 +20,12 @@ module Gargantext.Viz.Phylo.LevelMaker
where
import
Control.Lens
hiding
(
both
,
Level
)
import
Data.List
((
++
),
sort
,
concat
,
nub
,
zip
,
head
,
last
)
import
Data.List
((
++
),
sort
,
concat
,
nub
,
zip
,
last
)
import
Data.Map
(
Map
,
(
!
),
empty
,
restrictKeys
,
filterWithKey
,
singleton
,
union
)
import
Data.Text
(
Text
)
import
Data.Tuple.Extra
import
Data.Vector
(
Vector
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Aggregates.Cluster
import
Gargantext.Viz.Phylo.Aggregates.Cooc
...
...
@@ -190,7 +190,7 @@ toPhyloBase q p c a ts = initPhyloBase periods foundations peaks p
--------------------------------------
periods
::
[(
Date
,
Date
)]
periods
=
initPeriods
(
getPeriodGrain
q
)
(
getPeriodSteps
q
)
$
both
fst
(
head
c
,
last
c
)
$
both
fst
(
head
'
"LevelMaker"
c
,
last
c
)
--------------------------------------
foundations
::
Vector
Ngrams
foundations
=
initFoundations
a
...
...
src/Gargantext/Viz/Phylo/LinkMaker.hs
View file @
a4a4a2fb
...
...
@@ -18,9 +18,9 @@ module Gargantext.Viz.Phylo.LinkMaker
where
import
Control.Lens
hiding
(
both
,
Level
)
import
Data.List
((
++
),
nub
,
sortOn
,
head
,
null
,
tail
,
splitAt
,
elem
)
import
Data.List
((
++
),
nub
,
sortOn
,
null
,
tail
,
splitAt
,
elem
)
import
Data.Tuple.Extra
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
import
Gargantext.Viz.Phylo.Metrics.Proximity
...
...
@@ -107,8 +107,8 @@ getNextPeriods to' id l = case to' of
unNested
::
PhyloPeriodId
->
[
PhyloPeriodId
]
->
[
PhyloPeriodId
]
unNested
x
l'
|
null
l'
=
[]
|
nested
(
fst
$
head
l'
)
x
=
unNested
x
(
tail
l'
)
|
nested
(
snd
$
head
l'
)
x
=
unNested
x
(
tail
l'
)
|
nested
(
fst
$
head
'
"getNextPeriods1"
l'
)
x
=
unNested
x
(
tail
l'
)
|
nested
(
snd
$
head
'
"getNextPeriods2"
l'
)
x
=
unNested
x
(
tail
l'
)
|
otherwise
=
l
--------------------------------------
nested
::
Date
->
PhyloPeriodId
->
Bool
...
...
@@ -128,7 +128,7 @@ findBestCandidates to' depth max' prox group p
next
=
getNextPeriods
to'
(
getGroupPeriod
group
)
(
getPhyloPeriods
p
)
--------------------------------------
candidates
::
[
PhyloGroup
]
candidates
=
getGroupsWithFilters
(
getGroupLevel
group
)
(
head
next
)
p
candidates
=
getGroupsWithFilters
(
getGroupLevel
group
)
(
head
'
"findBestCandidates"
next
)
p
--------------------------------------
scores
::
[(
PhyloGroupId
,
Double
)]
scores
=
map
(
\
group'
->
applyProximity
prox
group
group'
)
candidates
...
...
src/Gargantext/Viz/Phylo/Metrics/Clustering.hs
View file @
a4a4a2fb
...
...
@@ -18,9 +18,9 @@ module Gargantext.Viz.Phylo.Metrics.Clustering
where
import
Data.Graph.Clustering.Louvain.CplusPlus
import
Data.List
(
last
,
head
,
concat
,
null
,
nub
,(
++
),
init
,
tail
,
elemIndex
,
groupBy
,(
!!
))
import
Data.List
(
last
,
concat
,
null
,
nub
,(
++
),
init
,
tail
,
elemIndex
,
groupBy
,(
!!
))
import
Data.Map
(
fromList
,
mapKeys
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
...
...
@@ -32,8 +32,8 @@ import Gargantext.Viz.Phylo.Tools
relatedComp
::
Int
->
PhyloGroup
->
GroupGraph
->
[
PhyloGroup
]
->
[[
PhyloGroup
]]
->
[[
PhyloGroup
]]
relatedComp
idx
curr
(
nodes
,
edges
)
next
memo
|
null
nodes'
&&
null
next'
=
memo'
|
(
not
.
null
)
next'
=
relatedComp
idx
(
head
next'
)
(
nodes'
,
edges
)
(
tail
next'
)
memo'
|
otherwise
=
relatedComp
(
idx
+
1
)
(
head
nodes'
)
(
tail
nodes'
,
edges
)
[]
memo'
|
(
not
.
null
)
next'
=
relatedComp
idx
(
head
'
"relatedComp1"
next'
)
(
nodes'
,
edges
)
(
tail
next'
)
memo'
|
otherwise
=
relatedComp
(
idx
+
1
)
(
head
'
"relatedComp2"
nodes'
)
(
tail
nodes'
,
edges
)
[]
memo'
where
--------------------------------------
memo'
::
[[
PhyloGroup
]]
...
...
src/Gargantext/Viz/Phylo/Metrics/Proximity.hs
View file @
a4a4a2fb
...
...
@@ -19,7 +19,7 @@ module Gargantext.Viz.Phylo.Metrics.Proximity
import
Data.List
(
null
)
import
Data.Map
(
Map
,
elems
,
unionWith
,
intersectionWith
,
intersection
,
size
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
-- | To process the weightedLogJaccard between two PhyloGroup fields
weightedLogJaccard
::
Double
->
Map
(
Int
,
Int
)
Double
->
Map
(
Int
,
Int
)
Double
->
Double
...
...
src/Gargantext/Viz/Phylo/Tools.hs
View file @
a4a4a2fb
...
...
@@ -20,14 +20,14 @@ module Gargantext.Viz.Phylo.Tools
where
import
Control.Lens
hiding
(
both
,
Level
,
Empty
)
import
Data.List
(
filter
,
intersect
,
(
++
),
sort
,
null
,
head
,
tail
,
last
,
tails
,
delete
,
nub
,
concat
,
sortOn
)
import
Data.List
(
filter
,
intersect
,
(
++
),
sort
,
null
,
tail
,
last
,
tails
,
delete
,
nub
,
concat
,
sortOn
)
import
Data.Maybe
(
mapMaybe
,
fromMaybe
)
import
Data.Map
(
Map
,
mapKeys
,
member
,
(
!
))
import
Data.Set
(
Set
)
import
Data.Text
(
Text
,
toLower
)
import
Data.Tuple.Extra
import
Data.Vector
(
Vector
,
elemIndex
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
qualified
Data.Map
as
Map
import
qualified
Data.Set
as
Set
...
...
@@ -54,7 +54,7 @@ doesContains :: Eq a => [a] -> [a] -> Bool
doesContains
l
l'
|
null
l'
=
True
|
length
l'
>
length
l
=
False
|
elem
(
head
l'
)
l
=
doesContains
l
(
tail
l'
)
|
elem
(
head
'
"doesContains"
l'
)
l
=
doesContains
l
(
tail
l'
)
|
otherwise
=
False
...
...
@@ -62,8 +62,8 @@ doesContains l l'
doesContainsOrd
::
Eq
a
=>
Ord
a
=>
[
a
]
->
[
a
]
->
Bool
doesContainsOrd
l
l'
|
null
l'
=
False
|
last
l
<
head
l'
=
False
|
head
l'
`
elem
`
l
=
True
|
last
l
<
(
head'
"doesContainsOrd"
l'
)
=
False
|
(
head'
"doesContainsOrd"
l'
)
`
elem
`
l
=
True
|
otherwise
=
doesContainsOrd
l
(
tail
l'
)
...
...
@@ -73,8 +73,8 @@ filterNestedSets h l l'
|
null
l
=
if
doesAnySetContains
h
l
l'
then
l'
else
h
:
l'
|
doesAnySetContains
h
l
l'
=
filterNestedSets
(
head
l
)
(
tail
l
)
l'
|
otherwise
=
filterNestedSets
(
head
l
)
(
tail
l
)
(
h
:
l'
)
|
doesAnySetContains
h
l
l'
=
filterNestedSets
(
head
'
"filterNestedSets1"
l
)
(
tail
l
)
l'
|
otherwise
=
filterNestedSets
(
head
'
"filterNestedSets2"
l
)
(
tail
l
)
(
h
:
l'
)
...
...
@@ -142,7 +142,7 @@ initFoundations l = Vector.fromList $ map phyloAnalyzer l
-- | To init the base of a Phylo from a List of Periods and Foundations
initPhyloBase
::
[(
Date
,
Date
)]
->
Vector
Ngrams
->
PhyloPeaks
->
PhyloParam
->
Phylo
initPhyloBase
pds
fds
pks
prm
=
Phylo
((
fst
.
head
)
pds
,
(
snd
.
last
)
pds
)
fds
pks
(
map
(
\
pd
->
initPhyloPeriod
pd
[]
)
pds
)
prm
initPhyloBase
pds
fds
pks
prm
=
Phylo
((
fst
.
(
head'
"initPhyloBase"
)
)
pds
,
(
snd
.
last
)
pds
)
fds
pks
(
map
(
\
pd
->
initPhyloPeriod
pd
[]
)
pds
)
prm
-- | To init the param of a Phylo
initPhyloParam
::
Maybe
Text
->
Maybe
Software
->
Maybe
PhyloQueryBuild
->
PhyloParam
...
...
@@ -489,7 +489,7 @@ getNeighbours :: Bool -> PhyloGroup -> GroupEdges -> [PhyloGroup]
getNeighbours
directed
g
e
=
case
directed
of
True
->
map
(
\
((
_s
,
t
),
_w
)
->
t
)
$
filter
(
\
((
s
,
_t
),
_w
)
->
s
==
g
)
e
False
->
map
(
\
((
s
,
t
),
_w
)
->
head
$
delete
g
$
nub
[
s
,
t
,
g
])
False
->
map
(
\
((
s
,
t
),
_w
)
->
(
head'
"getNeighbours"
)
$
delete
g
$
nub
[
s
,
t
,
g
])
$
filter
(
\
((
s
,
t
),
_w
)
->
s
==
g
||
t
==
g
)
e
...
...
src/Gargantext/Viz/Phylo/View/Display.hs
View file @
a4a4a2fb
...
...
@@ -18,9 +18,8 @@ module Gargantext.Viz.Phylo.View.Display
where
import
Control.Lens
hiding
(
makeLenses
,
both
,
Level
)
import
Data.List
(
head
,
null
,(
++
),
sortOn
)
import
Gargantext.Prelude
hiding
(
head
)
import
Data.List
(
null
,(
++
),
sortOn
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
...
...
@@ -33,7 +32,7 @@ toNestedView ns ns'
where
--------------------------------------
lvl'
::
Level
lvl'
=
getNodeLevel
$
head
$
nested
lvl'
=
getNodeLevel
$
head
'
"toNestedView"
nested
--------------------------------------
nested
::
[
PhyloNode
]
nested
=
foldl
(
\
ns''
n
->
let
nIds'
=
getNodeParentsId
n
...
...
@@ -48,7 +47,7 @@ processDisplay :: DisplayMode -> PhyloView -> PhyloView
processDisplay
d
v
=
case
d
of
Flat
->
v
Nested
->
let
ns
=
sortOn
getNodeLevel
$
v
^.
pv_nodes
lvl
=
getNodeLevel
$
head
ns
lvl
=
getNodeLevel
$
head
'
"processDisplay"
ns
in
v
&
pv_nodes
.~
toNestedView
(
filter
(
\
n
->
lvl
==
getNodeLevel
n
)
ns
)
(
filter
(
\
n
->
lvl
<
getNodeLevel
n
)
ns
)
--
_
->
panic
"[ERR][Viz.Phylo.Example.processDisplay] display not found"
src/Gargantext/Viz/Phylo/View/Filters.hs
View file @
a4a4a2fb
...
...
@@ -18,10 +18,10 @@ module Gargantext.Viz.Phylo.View.Filters
where
import
Control.Lens
hiding
(
makeLenses
,
both
,
Level
)
import
Data.List
(
notElem
,
head
,
null
,
nub
,(
\\
),
intersect
)
import
Data.List
(
notElem
,
null
,
nub
,(
\\
),
intersect
)
import
Data.Maybe
(
isNothing
)
import
Data.Tuple
(
fst
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
...
...
@@ -61,8 +61,8 @@ filterSmallBranch inf sup min' prds v = cleanNodesEdges v v'
--------------------------------------
isLone
::
[
PhyloNode
]
->
[
PhyloPeriodId
]
->
Bool
isLone
ns
prds'
=
(
length
ns
<=
min'
)
&&
notElem
(
head
prds'
)
(
take
inf
prds
)
&&
notElem
(
head
prds'
)
(
take
sup
$
reverse
prds
)
&&
notElem
(
head
'
"filterSmallBranch1"
prds'
)
(
take
inf
prds
)
&&
notElem
(
head
'
"filterSmallBranch2"
prds'
)
(
take
sup
$
reverse
prds
)
--------------------------------------
...
...
src/Gargantext/Viz/Phylo/View/Metrics.hs
View file @
a4a4a2fb
...
...
@@ -18,11 +18,11 @@ module Gargantext.Viz.Phylo.View.Metrics
where
import
Control.Lens
hiding
(
makeLenses
,
both
,
Level
)
import
Data.List
(
last
,
head
,
groupBy
,
sortOn
)
import
Data.List
(
last
,
groupBy
,
sortOn
)
import
Data.Map
(
insert
)
import
Data.Text
(
Text
)
import
Data.Tuple
(
fst
,
snd
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
...
...
@@ -38,9 +38,9 @@ addBranchMetrics id lbl val v = over (pv_branches
-- | To get the age (in year) of all the branches of a PhyloView
branchAge
::
PhyloView
->
PhyloView
branchAge
v
=
foldl
(
\
v'
b
->
let
bId
=
(
fst
.
head
)
b
branchAge
v
=
foldl
(
\
v'
b
->
let
bId
=
(
fst
.
(
head'
"branchAge"
)
)
b
prds
=
sortOn
fst
$
map
snd
b
in
addBranchMetrics
bId
"age"
((
abs
.
fromIntegral
)
$
((
snd
.
last
)
prds
)
-
(
(
fst
.
head
)
prds
))
v'
)
v
in
addBranchMetrics
bId
"age"
((
abs
.
fromIntegral
)
$
((
snd
.
last
)
prds
)
-
(
fst
$
head'
"branchAge"
prds
))
v'
)
v
$
groupBy
((
==
)
`
on
`
fst
)
$
sortOn
fst
$
map
(
\
n
->
(
getNodeBranchId
n
,
(
fst
.
fst
)
$
getNodeId
n
))
...
...
src/Gargantext/Viz/Phylo/View/Sort.hs
View file @
a4a4a2fb
...
...
@@ -20,7 +20,7 @@ module Gargantext.Viz.Phylo.View.Sort
import
Control.Lens
hiding
(
makeLenses
,
both
,
Level
)
import
Data.List
(
sortOn
)
import
Data.Tuple
(
fst
,
snd
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
...
...
src/Gargantext/Viz/Phylo/View/Taggers.hs
View file @
a4a4a2fb
...
...
@@ -18,11 +18,11 @@ module Gargantext.Viz.Phylo.View.Taggers
where
import
Control.Lens
hiding
(
makeLenses
,
both
,
Level
)
import
Data.List
(
head
,
concat
,
nub
,
groupBy
,
sortOn
,
sort
)
import
Data.List
(
concat
,
nub
,
groupBy
,
sortOn
,
sort
)
import
Data.Text
(
Text
,
unwords
)
import
Data.Tuple
(
fst
,
snd
)
import
Data.Vector
(
Vector
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
import
qualified
Data.Map
as
Map
...
...
@@ -45,7 +45,7 @@ mostFreqNgrams thr groups = map fst
$
take
thr
$
reverse
$
sortOn
snd
$
map
(
\
g
->
(
head
g
,
length
g
))
$
map
(
\
g
->
(
head
'
"mostFreqNgrams"
g
,
length
g
))
$
groupBy
(
==
)
$
(
sort
.
concat
)
$
map
getGroupNgrams
groups
...
...
@@ -87,7 +87,7 @@ nodeLabelCooc v thr p = over (pv_nodes
.
traverse
)
(
\
n
->
let
lbl
=
ngramsToLabel
(
getPeaksLabels
p
)
$
mostOccNgrams
thr
$
head
$
getGroupsFromIds
[
getNodeId
n
]
p
$
head
'
"nodeLabelCooc"
$
getGroupsFromIds
[
getNodeId
n
]
p
in
n
&
pn_label
.~
lbl
)
v
...
...
src/Gargantext/Viz/Phylo/View/ViewMaker.hs
View file @
a4a4a2fb
...
...
@@ -23,7 +23,7 @@ import Data.Text (Text)
import
Data.Map
(
Map
,
empty
,
elems
,
unionWithKey
,
fromList
)
import
Data.Tuple
(
fst
,
snd
)
import
Data.Vector
(
Vector
)
import
Gargantext.Prelude
hiding
(
head
)
import
Gargantext.Prelude
import
Gargantext.Viz.Phylo
import
Gargantext.Viz.Phylo.Tools
import
Gargantext.Viz.Phylo.View.Display
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment