Graph Analysis Toolbox (GAT) Guide
Graph Analysis Toolbox (GAT) Guide
Page 1
GAT DEVELOPMENT 2
INSTALLING GAT 3
GAT
MORPHOMETRY
4
1.
NETWORK
CONSTRUCTION
4
2.
NETWORK
COMPARISON
8
3.
REGIONAL
NETWORK
ANALYSIS
10
4.
NETWORK
ATTACK
ANALYSIS
12
5.
AUC
AND
FDA
ANALYSES
15
6.
MISCELLANEOUS
18
7.
NETWORK
VISUALIZATION
19
GAT
FUNCTIONAL
22
1.
NETWORK
CONSTRUCTION
22
2.
NETWORK
COMPARISON
25
3.
REGIONAL
NETWORK
ANALYSIS
27
4.
MISCELLANEOUS
29
5.
NETWORK
VISUALIZATION
31
GAT DIFFUSION 33
GAT BEHAVIORAL 34
GAT
LONGITUDINAL
35
1.
LONGITUDINAL
STRUCTURAL
CORRELATION
NETWORKS
35
2.
LONGITUDINAL
FUNCTIONAL
NETWORKS
37
NOTES 40
ROI
SCHEMES
40
05/30/2014
Page
2
GAT
Development
GAT
was
developed
by
Hadi
Hosseini,
PhD
under
supervision
of
Shelli
Kesler,
Ph.D.
in
collaboration
with
Fumiko
Hoeft,
MD,
PhD
in
the
Department
of
Psychiatry
at
Stanford
University
School
of
Medicine.
This
Matlab
based
software
provides
a
GUI
framework
for
conducting
graph
theory
analysis
with
MR
data.
It
integrates
the
Brain
Connectivity
Toolbox
by
Sporns
and
Rubinov
([Link]
for
quantification
of
network
measures,
the
REX
toolbox
for
region
of
interest
extraction
([Link]
the
BrainNet
Viewer
([Link]
with
original
code
for
additional
graph
analyses
and
comparing
networks
between
groups.
Hosseini,
S.M.H.,
Hoeft,
F.,
Kesler,
S.R.,
2012.
GAT:
a
graph-‐theoretical
analysis
toolbox
for
analyzing
between-‐group
differences
in
large-‐scale
structural
and
functional
brain
networks.
PLoS
ONE
7(7),
e40709.
*Please
cite
this
paper
if
you
are
using
GAT
Hosseini
SM,
Kesler
SR.
Comparing
connectivity
pattern
and
small-‐world
organization
between
structural
correlation
and
resting-‐state
networks
in
healthy
adults.
NeuroImage
2013;78:402-‐14.
Hosseini
SM,
Kesler
SR.
Influence
of
choice
of
null
network
on
small-‐world
parameters
of
structural
correlation
networks.
PLoS
ONE
2013;8:e67354.
We
have
validated
the
toolbox
in
several
analyses
of
both
typically
developing
and
neurologically
affected
children
and
adults
but
cannot
guarantee
that
errors
will
not
occur.
We
do
not
offer
any
extensive
support
for
using
the
toolbox
but
please
report
any
bugs
or
suggestions
for
updates
to
Hadi
Hosseini
(hosseiny@[Link];
[Link]@[Link])
or
Shelli
Kesler
(skesler@[Link]).
You
can
subscribe
to
GAT
mailing
list
at
[Link]
to
share
questions
regarding
GAT.
Installing
GAT
2. Add the SPM8 directory to your Matlab path as well.
4. Select the type of analysis you wish to run from the GUI window.
a. Click
“Morphometry”
if
you
are
analyzing
regional
brain
volume,
surface
area,
or
thickness
data.
b. Click “Functional” if you are analyzing functional or resting state MRI data.
c. Click “Diffusion” if you are analyzing diffusion weighted imaging data.
d. Click “Behavioral” if you are analyzing the topology of behavioral data.
e. Click
“Longitudinal
Design”
if
you
are
analyzing
changes
in
the
topology
of
networks
across
time
points
(two
groups,
two
time
points).
05/30/2014
Page
4
GAT
Morphometry
1.
Network
Construction
1. Click
on
Extract
ROIs
and
perform
the
following
steps
for
each
group
separately:
a. For
sources
choose
your
structural
images
(e.g.
m0wp1*img
for
gray
matter
images
from
VBM8
output).
05/30/2014
Page
5
c. Choose ROI-‐level (i.e. extracts one dataset separately for each ROI file).
h. Click
Extract
(Caution:
the
output
is
written
in
the
current
directory,
so
it
will
be
easiest
to
make
a
new
directory
for
each
group’s
data
and
change
the
directory
beforehand).
i. If
you
wish
to
use
other
data
such
as
voxel-‐wise
correlations
or
ROIs
from
another
parcellation
scheme,
you
may
put
the
data
in
an
Excel
spreadsheet
as
described
in
2.d
(Load
Data).
Alternatively,
if
you
feel
comfortable
with
Matlab,
reformat
the
data
matrix
D
so
that
each
row
represents
a
subject
and
each
column
represents
a
voxel
(such
that
D(i,j)
equals
the
gray
matter
volume
for
Subject
i
at
Voxel
j).
ii. Create
a
cell
array
of
size
1*nVoxels
with
each
cell
containing
the
voxel
number
and
name
it
regionName.
iii. Save
both
the
mat4SVM
and
regionName
variables
in
a
mat
file
named
[Link].
You
can
then
use
the
[Link]
in
GAT
in
the
Load
Data
step
below.
a. Type
1
if
you
want
to
use
the
parallel
processing
function;
type
2
if
you
do
not.
i. If
you
want
to
use
parallel
processing,
type
the
number
of
the
cores
you
want
to
use.
b. Type the name of the first group in single quotation marks (e.g. ‘group1’)
c. Type the name of the second group in single quotation marks (e.g. ‘group2’)
d. Type
1
if
you
need
to
correct
the
data
for
covariates
(e.g.
age,
total
brain
volume,
etc.);
type
2
if
you
do
not
or
your
data
is
already
corrected.
05/30/2014
Page
6
-‐ If you need to correct the data for covariates:
-‐ Type
1
if
you
want
to
regress
out
the
interactions
between
covariates
(if
you
have
more
than
one
covariate);
type
2
if
you
do
not.
-‐ Type
1
if
your
covariate
data
is
in
.xls
format;
type
2
if
it
is
in
.mat
format.
-‐ First
select
the
Excel
file
(or
Mat
file)
that
includes
Group1
covariate
data,
and
then
select
the
file
that
includes
Group2
covariate
data.
NOTE:
For
Excel
file
input,
data
should
be
in
the
first
sheet
of
the
excel
file.
Names
of
the
covariates
are
placed
in
the
first
row.
The
following
rows
should
contain
covariate
values
for
each
subject.
For
.mat
files,
just
input
the
covariate
values
(one
column
for
each
covariate,
and
one
row
for
each
subject).
Name
the
array
“covar”
in
Matlab
but
you
can
name
the
file
as
you
want
(e.g.
group1_covariates.mat).
(Caution:
the
order
of
the
rows
should
be
consistent
with
the
order
of
the
subjects'
data).
-‐ If you do not need to correct for covariates, jump to the next step.
e. Click
Yes
if
you
want
to
use
the
REX
output
(from
the
“Extract
ROIs”
step)
to
extract
data.
Click
No
if
you
already
have
your
data
ready
(outside
of
GAT),
e.g.
you
have
regional
volumes
or
regional
surface-‐area
or
regional
thickness
output
from
FreeSurfer.
-‐
Type
1
if
your
covariate
data
is
in
.mat
format;
type
2
if
it
is
in
.xls
format.
-‐
Select
the
Excel
file
(or
.mat
files)
that
includes
Group1
regional
data.
(The
data
should
be
in
the
first
sheet
of
the
Excel
file.
The
first
row
should
include
the
names
of
the
regions.
The
following
rows
should
include
each
subject’s
regional
morphometry
data).
Refer
to
the
procedure
in
05/30/2014
Page
7
section
1.1.i
if
you
are
preparing
your
input
data
as
a
.mat
file.
-‐ Select the Excel file that includes Group2 regional data.
f. Select
the
type
of
null
networks
you
are
going
to
use:
type
2
for
“degree
distribution
preserved
null
networks”
or
type
3
for
“HQS”.
At
this
moment,
there
is
no
gold
standard
for
benchmarking
correlation
networks
(see
Hosseini
&
Kesler,
2013,
PLoS
ONE
8(6)).
We
recommend
using
“degree
distribution
preserved
null
networks”
(type
2)
or
HQS
(type
3),
although
they
overestimate
the
clustering
coefficient
and
path
length,
respectively.
g. Number
of
null
networks:
usually
a
number
between
10
and
20
works
well.
However,
with
20,
the
non-‐parametric
permutation
takes
longer.
j. This
outputs
a
[Link]
file
that
contains
all
the
above
information
(each
group’s
data,
group
names,
roi
names,
covariates
(if
any),
etc.).
This
option
allows
comparing
two
graphs
at
the
minimum
graph
density
at
which
both
graphs
are
fully
connected
(not
fragmented).
a. Type
1
(or
2)
for
simple
(or
partial)
correlation
analysis.
Select
partial
correlation
if
your
sample
size
is
larger
than
the
number
of
ROIs.
If
you
get
a
lot
of
NaN
in
correlation
matrices,
your
data
is
probably
over-‐partialed
e.g.
ROIs
include
both
gray
and
white
matter
or
structures
that
remove
too
much
of
the
variance
from
others
(cancel
each
other
out).
vii. It
also
reports
the
minimum
density
at
which
both
networks
are
not
fragmented.
We
recommend
using
this
density
as
the
lower
bound
for
FDA
and
AUC
analyses.
viii. It
also
plots
the
final
binary
graphs
and
saves
them
to
the
current
directory
(e.g.
‘Group1/2_Binary_Graph.fig’).
2.
Network
Comparison
This
function
makes
N
random
connectivity
matrices
by
randomly
assigning
each
subject's
data
to
a
group.
It
uses
sampling
with
replacement,
such
that
the
size
of
the
generated
samples
for
each
group
is
the
same
as
the
original
group
size.
a. Type
the
number
of
random
networks
to
be
generated
(default:
1000
networks)
b. Type
1
(or
2)
for
simple
(or
partial)
correlation
analysis.
Select
the
same
option
that
you
chose
in
step
1.3.a.
05/30/2014
Page
9
This
option
allows
computing
the
p-‐values
of
the
comparison
of
network
measures
at
minimum
density.
d. This outputs:
This
function
compares
the
between-‐group
differences
in
graph
measures
(e.g.
clustering,
characteristic
path
length,
small-‐worldness,
global
efficiency,
etc.)
with
their
difference
in
randomly-‐generated
graphs
and
plots
the
graph
measures
for
each
group
(as
well
as
between-‐group
differences
in
graph-‐
measures).
It
also
generates
the
corresponding
95%
confidence
intervals,
allowing
you
to
check
whether
or
not
the
observed
between-‐group
differences
in
graph
measures
are
significant.
In
addition,
it
outputs
the
p-‐values
for
the
performed
statistics.
c. Input
the
minimum
network
density
of
interest.
You
can
check
the
KAN_FixedDens_Results.mat
(output
from
Graph
Measures
(Minimum
Density))
and
enter
the
minimum
network
density
of
full
connectivity
as
the
minimum
density
of
interest.
d. Input
the
maximum
network
density
of
interest.
For
structural
networks,
densities
above
50%
might
not
have
biological
meaning.
05/30/2014
Page
10
f. This outputs:
v. A
set
of
figures
showing
the
difference
in
network
measures
(as
well
as
the
network
measures
themselves)
for
Group1,
Group2
and
randomly-‐generated
graphs.
The
set
also
includes
the
95%
confidence
intervals,
so
you
can
check
whether
or
not
the
observed
between-‐group
differences
in
graph
measures
are
statistically
significant.
vi. The
p-‐values
for
each
network
measure
across
a
range
of
densities.
NOTE:
if
you
selected
1-‐tail
testing
for
the
analysis,
the
p-‐values
reflect
1-‐tail
p-‐values
while
the
figures
show
the
95%
confidence
intervals
that
correspond
to
2-‐tail
testing.
This
function
gets
the
outputs
from
the
previous
step
and
calculates
the
between-‐group
differences
in
normalized
regional
network
(thresholded
at
minimum
density)
measures
for
each
ROI.
It
also
generates
the
95%
confidence
interval
for
each
measure,
allowing
you
to
check
whether
or
not
the
05/30/2014
Page
11
g. This outputs:
iii. A
set
of
figures
showing
the
between-‐group
differences
in
regional
network
measures
for
group1
vs.
group2,
as
well
as
for
randomly-‐
generated
graphs.
The
set
also
includes
the
95%
confidence
intervals,
allowing
you
to
check
whether
or
not
the
observed
between-‐group
differences
in
regional
network
measures
are
statistically
significant.
iv. In
addition,
for
each
regional
network
measure,
four
.mat
files
are
written
in
the
current
directory
(e.g.
RegDeg_pval.mat,
RegDegNorm_pval.mat,
fdr_corrected_pval_RegDeg.mat,
and
fdr_corrected_pval_RegDegNorm.mat
are
generated
for
Regional
Degree
analysis).
These
files
include
the
(uncorrected
and
FDR-‐
corrected)
p-‐values
from
the
significance
tests
of
the
difference
in
(original
and
normalized)
network
measures.
05/30/2014
Page
12
This
function
generates
the
network
hubs
(based
on
“degree”
and
“node-‐
betweenness”).
Hubs
are
defined
as
those
nodes
that
possess
a
degree
(node-‐
betweenness)
2*SD
greater
than
the
average
network
degree
(node-‐
betweenness).
c. Type
a
value
for
“n”
to
set
the
criterion
for
calculating
hubs.
Hubs
will
be
considered
as
those
nodes
with
a
degree
(betweenness)
which
is
n*SD
greater
than
the
average
network
degree
(betweenness).
(2
would
be
a
good
candidate).
d. This outputs:
i. Net_Hubs.mat,
in
which
the
cell
array
“HubNames”
stores
the
names
of
the
hubs
for
the
selected
network.
This
function
performs
targeted
attack
analysis
on
the
input
graphs
(between
two
groups).
It
repetitively
removes
the
network
nodes
in
the
order
of
their
importance
(betweenness
centrality,
degree,
etc.)
and
calculates
the
size
of
the
remaining
largest
component
of
the
network
(or
diameter,
efficiency,
etc,
of
the
remaining
network).
It
does
the
same
procedure
on
the
randomly
generated
networks
to
see
if
the
observed
between-‐group
difference
in
robustness
to
attack
for
the
two
original
networks
is
significant.
e. Type
the
measure
based
on
which
the
nodes
are
removed
in
single
quotation
marks:
f. Type
the
measure
based
on
which
the
influence
of
attack
is
analyzed
in
single
quotation
marks:
g. Type the network density of interest (e.g. min density from step 7)
h. This
outputs:
05/30/2014
Page
14
This
function
performs
random
failure
analysis
on
the
input
graphs
(between
two
groups).
It
repetitively
removes
the
network
nodes
in
random
order
and
calculates
the
size
of
the
remaining
largest
component
of
the
network.
It
enacts
the
same
procedure
on
the
randomly
generated
networks
to
see
if
the
observed
between-‐group
difference
in
robustness
to
random
failure
for
the
two
original
networks
is
significant.
e. Type
the
number
of
simulations
(n).
Each
step
of
the
random
node
removal
procedure
will
be
repeated
n
times,
and
the
average
of
the
remaining
largest
components
are
calculated.
f. Type
the
network
density
of
interest
(e.g.
min
density
from
step
[Link]
under
Network
Construction).
g. This
outputs:
05/30/2014
Page
15
This
function
performs
area
under
a
curve
(AUC)
and
functional
data
analyses
(FDA)
for
network
measures.
It
simply
compares
the
between-‐group
differences
in
the
areas
under
different
network
measure
curves
(e.g.
Sigma,
Gamma,
Lambda,
etc.)
or
the
summation
of
curves
across
a
range
of
densities.
These
analyses
depend
on
the
range
of
densities
selected.
For
best
results,
select
a
density
range
in
which
the
network
is
fully
connected.
The
minimum
density
of
full
connectivity
is
one
of
the
outputs
of
the
“Graph
Measures
(Minimum
Density)”
step;
you
may
wish
to
use
this
for
the
lower
limit
of
the
density
range
for
AUC
and
FDA
analysis.
The
maximum
density
would
preferably
be
lower
than
0.5.
-‐ Type
the
minimum
density
of
interest
(greater
than
or
equal
to
the
minimum
density
value
that
you
picked
when
doing
“Compare
Graphs
Across
Densities”).
-‐ Type
the
maximum
density
of
interest
(smaller
than
or
equal
to
the
maximum
density
value
that
you
picked
when
doing
“Compare
Graphs
Across
Densities”).
-‐ Input
the
density
interval
(steps)
(greater
than
or
equal
to
the
step
that
you
picked
when
doing
“Compare
Graphs
Across
Densities”).
-‐ This
will
output
a
p-‐value
for
each
of
the
network
measures,
showing
the
significance
of
the
between-‐group
differences
in
AUC/FDA
for
that
measure.
The
p-‐values
are
saved
in
.mat
files
named
“AUC/fda_[Net
Measure]_pval.mat”.
-‐ Type
the
minimum
density
of
interest
(greater
than
or
equal
to
the
minimum
density
value
that
you
picked
when
doing
“Compare
Graphs
Across
Densities”).
-‐ Type
the
maximum
density
of
interest
(smaller
than
or
equal
to
the
maximum
density
value
that
you
picked
when
doing
“Compare
Graphs
Across
Densities”).
-‐ Type
the
density
interval
(step)
of
interest
(greater
than
or
equal
to
the
density
step
that
you
picked
when
doing
“Compare
Graphs
Across
Densities”).
-‐ Type
a
value
for
“n”
to
set
the
criterion
for
calculating
hubs:
hubs
will
be
considered
as
those
nodes
with
a
degree
(betweenness)
n*SD
greater
than
the
average
network
degree
(betweenness).
(2
would
be
a
good
candidate).
This
function
performs
AUC
and/or
FDA
analysis
for
the
curves
resulted
from
random
failure
and
targeted
attack
analysis,
separately.
6.
Miscellaneous
This
function
performs
the
modularity
analysis
on
the
input
graphs
(for
each
group
separately).
It
breaks
the
network
into
non-‐overlapping
modules
of
nodes
in
a
way
that
maximizes
the
number
of
within-‐module
edges,
and
minimizes
the
number
of
between-‐
module
edges
(i.e.
it
finds
the
optimized
solution).
Note
that
since
this
is
an
optimization
problem,
you
need
to
repeat
it
n
times.
This
function
generates
the
degree
distribution
for
each
group
network
and
finds
an
exponential
truncated
power
law
function
that
fits
the
network
degree
distribution.
Previous
studies
have
demonstrated
that
the
degree
distribution
of
structural
brain
networks
follows
an
exponentially
truncated
power-‐law
distribution.
Such
distribution
is
formulated
as
P(d)
~
d(a−1)
x
exp(-‐d/b)],
where
P(d)
is
the
probability
of
network
regional
degree
(d),
b
is
the
cut-‐off
degree
above
which
there
is
an
exponential
decay
in
probability
of
hubs
and
a
is
the
exponent,
and
indicates
a
scaling
regimen,
followed
by
an
exponential
decay
in
the
probability
of
nodes
with
nodal
degree
greater
than
a
cutoff
value
of
b.
c. Type
1
to
explore
degree
distribution
at
the
minimum
density
(Dmin),
or
type
2
to
base
the
degree
distribution
on
AUC.
e. This
will
generate
three
plots
and
display
the
parameters
for
the
fitted
function
for
the
first
group
network
in
the
Matlab
command
window.
Check
the
“Log
Plot
of
Cumulative
Degree
Distribution”
figure
and
if
the
fitted
line
is
satisfactory,
type
1
to
continue.
Otherwise,
you
can
try
to
play
with
“a”
and
“b”
manually
to
see
how
the
fit
works.
g. This
outputs
a
degree
distribution
histogram,
and
normal
(and
log)
plots
of
cumulative
degree
distribution
for
each
network.
7.
Network
Visualization
This
function
generates
the
input
files
required
for
plotting
the
network
on
ICBM152
template
using
BrainNet
Viewer.
Note
that
for
visualization,
the
order
of
the
ROIs
(AAL-‐LR,
AAL,
and
Freesurfer)
that
you
input
to
GAT
should
match
the
order
that
comes
at
the
end
of
this
manual.
(See
“ROI
Schemes”
for
the
ordered
lists
of
ROIs.)
05/30/2014
Page
20
a. Enter
the
ROI
scheme
used
for
graph
analysis:
type
1
for
AAL-‐LR,
2
for
AAL
original,
3
for
FreeSurfer,
or
4
for
manual
dimension
input.
b. Indicate
whether
the
size
of
each
node
represents
nodal
betweenness
(type
1)
or
degree
(2)
or
clustering
(3).
If
you
wish
to
see
the
nodes
all
in
the
same
size,
type
4.
e. If
the
ROIs
you
used
are
a
subset
of
the
ROIs
implemented
here,
you
may
choose
those
by
clicking
on
their
names.
f. The
code
also
asks
if
you
want
to
display
the
modular
structure
in
the
network.
If
you
type
1
for
yes,
the
code
will
ask
for
a
(Group1/2)
[Link]
file
and
will
generate
a
.node
file
that
comprises
the
modular
structure.
If
you
choose
to
display
the
modular
structure,
you
need
to
make
sure
that
you
have
already
performed
the
Modularity
Analysis
(Step
6.1).
This
function
generates
the
regional
maps
(Betw,
Deg,
CLust)
for
overlaying
them
on
ICBM152
template
in
BrainNet
Viewer.
a. Indicate
the
regional
map
that
you
want
to
generate:
1
for
Betweenness,
2
for
Degree,
3
for
Clustering.
b. Indicate
whether
you
want
the
map
to
be
uncorrected
(1)
or
fdr
corrected
(2).
d. Select
the
normalized
“RegNode*
_Pval.mat
“
file
(output
from
"
Regional
Network
Measures”).
If
you
opted
for
the
fdr
corrected
map,
enter
the
fdr_pval_Group1gdanGroup2_Reg(NodeBetwNorm
or
DegNorm
or
05/30/2014
Page
21
e. The
program
outputs
the
list
of
ROIs
that
showed
significant
between-‐group
differences
in
network
measure
of
interest
(Betw/Deg/Clust).
You
need
to
select
the
ROI
images
corresponding
to
these
ROIs
(either
from
the
“ROIs”
subfolder
under
GAT
if
you
used
AAL
ROIs
included
in
GAT
or
where
you
saved
you
ROI
images
if
you
used
your
own
ROIs)
in
the
pop
up
dialogue
(SPM
imcalc)
and
press
Done.
f. This
outputs
an
image
that
maps
the
between-‐group
differences
in
regional
network
measures
of
interest.
These
files
will
be
used
as
the
input
to
BrainNet
Viewer
for
visualization.
05/30/2014
Page
22
GAT
Functional
The
GAT
functional
works
with
the
output
from
the
CONN
toolbox,
which
conducts
functional
connectivity
analysis
([Link]
Whitfield-‐Gabrieli
S,
et
al.
Brain
connectivity
2012;2:125-‐41).
You
may
also
conduct
the
functional
connectivity
analysis
using
other
tools
and
place
the
connectivity
matrices
in
an
array
“Z”
of
size
N*N*M
(N:
number
of
ROIs,
M:
number
of
subjects).
You
also
need
to
put
your
ROI
names
in
a
cell
array
“names”
of
size
1xN
where
names{i}
represents
the
name
of
the
ith
ROI.
Then
save
the
Z
and
names
in
a
.mat
file
named
resultsROI
_Condition*.mat.
1.
Network
Construction
number
of
ROIs
and
48
is
the
total
number
of
subjects
in
both
groups:
group1
(1:24)
and
group2
(25:48)).
a. Type
1
if
you
want
to
use
the
parallel
processing
function;
type
2
if
you
do
not.
i. If
you
want
to
use
parallel
processing,
type
the
number
of
the
cores
you
would
like
to
use.
b. Type
name
of
the
dataset
in
single
quotation
marks
(e.g.
‘Group1&Group2_data’).
c. Number of null networks: usually a number between 10 and 20 works well.
f. Type
1
if
you
want
to
regress
out
the
effect
of
covariates,
and
2
if
you
do
not.
Note
that
here
you
may
need
to
correct
for
between-‐group
covariates
(e.g.
age,
gender,
etc.)
and
not
intra-‐subject
covariates
(e.g.
movement
params).
The
intra-‐subject
covariates
should
have
already
been
taken
into
account
in
CONN.
g. If
you
typed
1
(to
regress
out
the
covariates
of
no
interest)
in
the
previous
step:
i. Type
1
if
you
want
to
regress
out
the
interactions
between
covariates
(if
you
have
more
than
one
covariate);
type
2
if
you
do
not.
ii. Type
1
if
your
covariate
data
is
in
.xls
format;
type
2
if
it
is
in
.mat
format.
iii. Select
the
Excel
file
(or
Mat
file)
that
includes
covariate
data
for
Group
1.
Group1
is
the
group
whose
data
comes
first
in
the
CONN
output
file.
NOTE:
For
Excel
inputs,
data
should
be
in
the
first
sheet
of
the
excel
file.
Names
of
the
covariates
should
be
placed
in
the
first
row.
The
following
rows
should
contain
covariate
values
for
each
subject.
For
Mat
files,
just
input
the
covariate
values
(one
column
for
each
covariate,
and
one
row
for
each
subject).
Name
the
array
“covar”
in
Matlab
but
you
can
name
the
file
as
you
want
(e.g.
group1_covariates.mat).
(Caution:
the
order
of
the
rows
should
be
consistent
with
the
order
of
subjects'
data
in
the
CONN
output).
05/30/2014
Page
24
iv. Select
the
Excel
file
(or
Mat
file)
that
includes
covariate
data
for
Group
2.
i. Select
those
ROIs
in
which
you
are
interested.
Otherwise,
all
the
ROIs
will
be
included
in
the
analysis.
j. A
window
pops
up
and
gives
you
the
maximum
possible
density
for
the
input
networks.
l. Type
the
highest
density
of
interest
(e.g.
0.6).
You
may
type
the
maximum
possible
density
recommended
in
the
previous
step
(step
j).
n. The
code
will
extract
the
thresholded
correlation
matrices
for
each
subject
across
the
specified
range
of
densities.
Next,
it
will
ask
for
group
specific
information:
i. Type
the
name
of
the
first
group
in
single
quotation
marks
(e.g.
‘group1’).
ii. Type
the
name
of
the
second
group
in
single
quotation
marks
(e.g.
‘group2’)
o. This outputs:
This
function
finds
the
density
at
which
the
networks
get
fragmented.
It
is
always
good
to
compare
the
functional
networks
between
groups
in
a
density
range
at
which
the
networks
are
not
fragmented.
You
need
to
test
the
disconnections
for
each
group
network
separately.
05/30/2014
Page
25
a. Select
the
“NetMesBin_f_Group1(2)_*.mat”
file
that
you
want
to
test
(output
from
"Network
Measures").
c. This outputs:
ii. The
minimum
network
density
at
which
no
individual’s
network
is
fragmented.
2.
Network
Comparison
This
function
gets
the
outputs
from
the
previous
step
(“Network
Measures”)
and
compares
the
network
measures
between
groups.
It
tests
the
significance
of
the
between-‐group
differences
in
network
measures
using
2-‐sample
t-‐tests
as
well
as
nonparametric
permutation
analyses.
d. Type the number of random network to be generated (at least 1000).
g. After
generating
plots
of
network
measures
across
densities,
the
program
will
ask
you
for
new
density
range
values
before
doing
a
2-‐sample
t-‐test.
You
can
check
the
graphs
and
select
a
range
in
which
the
networks
are
small-‐
world
(e.g.
Sigma
>
1.2).
Make
sure
to
select
a
minimum
density
that
is
greater
than
or
equal
to
the
lowest
density
of
interest
you
specified
in
step
1.k
under
“Network
Measures”,
and
a
maximum
density
that
is
lower
than
or
equal
to
the
highest
density
of
interest
you
specified
in
step
1.L.
The
density
range
values
you
select
should
also
be
multiples
of
the
density
interval
you
selected
in
step
1.m.
h. This
outputs:
05/30/2014
Page
26
ii. A
set
of
figures
showing
the
differences
in
network
measures
(as
well
as
network
measures
themselves)
for
group1,
group2
and
randomly-‐generated
graphs.
The
figures
also
include
the
95%
confidence
intervals,
allowing
you
to
check
whether
or
not
the
observed
between-‐group
differences
in
graph
measures
are
statistically
significant.
Note
that
these
results
are
based
on
permutation
analysis.
NOTE:
if
you
selected
1-‐tail
testing
for
the
analysis,
the
p-‐values
reflect
1-‐tail
p-‐values
while
the
figures
show
the
95%
confidence
intervals
that
correspond
to
2-‐tail
testing.
iv. A
folder
named
“TTest_Results”,
in
which
it
saves
the
p-‐values
for
the
2-‐sample
t-‐test
results
(“pVal_TTest.mat”).
This
function
gets
the
outputs
from
the
previous
step
(“Compare
Networks
Across
Densities”)
and
compares
the
average
network
measures
between
groups.
j. Type
the
minimum
threshold.
Make
sure
to
select
a
minimum
density
that
is
greater
than
or
equal
to
the
lowest
density
of
interest
you
specified
in
step
1.k
under
“Network
Measures”.
k. Type
the
maximum
threshold.
Make
sure
to
select
a
maximum
density
that
is
lower
than
or
equal
to
the
highest
density
of
interest
you
specified
in
step
1.L
under
“Network
Measures”.
l. This
outputs:
05/30/2014
Page
27
This
function
gets
the
outputs
from
the
previous
step
(“Compare
Networks
Across
Densities”)
and
compares
the
average
network
measures
between
groups.
p. Type
the
minimum
threshold.
Make
sure
to
select
a
minimum
density
that
is
greater
than
or
equal
to
the
lowest
density
of
interest
you
specified
in
step
1.k
under
“Network
Measures”.
q. Type
the
maximum
threshold.
Make
sure
to
select
a
maximum
density
that
is
lower
than
or
equal
to
the
highest
density
of
interest
you
specified
in
step
1.L
under
“Network
Measures”.
r. This outputs:
This
function
gets
the
outputs
from
previous
steps
and
compares
the
regional
network
measures
between
groups
(AUC
and
FDA
analyses).
a. Type the number of random networks to be generated (at least 1000).
d. Type
the
minimum
threshold.
Make
sure
to
select
a
minimum
density
that
is
greater
than
or
equal
to
the
lowest
density
of
interest
you
specified
in
step
1.k
under
“Network
Measures”.
e. Type
the
maximum
threshold.
Make
sure
to
select
a
maximum
density
that
is
lower
than
or
equal
to
the
highest
density
of
interest
you
specified
in
step
1.L
under
“Network
Measures”.
f. This outputs:
i. A
set
of
p-‐values
showing
the
significance
of
the
differences
in
the
AUC/FDA
of
regional
network
measures
(e.g.
AUC_RegDegNorm*_pval.mat,
fda_RegDegNorm_*_pval.mat).
These
are
placed
in
a
folder
named
“Regional”.
This
function
gets
the
outputs
from
previous
steps
and
quantifies
hubs
based
on
AUC/FDA.
a. Type
a
value
for
“n”
to
set
the
criterion
for
calculating
hubs.
Hubs
will
be
considered
as
those
nodes
that
have
a
degree
(betweenness)
that
is
n*SD
greater
than
the
average
network
degree
(betweenness).
(2
would
be
a
good
candidate).
4.
Miscellaneous
This
function
performs
the
modularity
analysis
on
the
input
functional
graphs.
It
breaks
the
network
into
non-‐overlapping
modules
of
nodes
in
a
way
that
maximizes
the
number
of
within-‐module
edges,
and
minimizes
the
number
of
between-‐module
edges.
Note
that
since
this
is
an
optimization
problem,
you
need
to
repeat
it
n
times.
2. Click
on
Attack/Failure
Analysis
This
function
generates
the
degree
distribution
for
each
group
network
(by
averaging
individual
network
degree)
and
finds
an
exponential
truncated
power
law
function
that
fits
the
network
degree
distribution.
Previous
studies
have
demonstrated
that
the
degree
distribution
of
functional
brain
networks
follows
an
exponentially
truncated
power-‐law
distribution.
Such
distribution
is
formulated
as
P(d)
~
d(a−1)
x
exp(-‐d/b)],
where
P(d)
is
the
probability
of
network
regional
degree
(d),
b
is
the
cut-‐off
degree
above
which
there
is
an
exponential
decay
in
probability
of
hubs
and
a
is
the
exponent,
and
indicates
a
scaling
regimen,
followed
by
an
exponential
decay
in
the
probability
of
nodes
with
nodal
degree
greater
than
a
cutoff
value
of
b.
c. Type
the
minimum
threshold.
Make
sure
to
select
a
minimum
density
that
is
greater
than
or
equal
to
the
lowest
density
of
interest
you
specified
in
step
1.k
under
“Network
Measures”.
d. Type
the
maximum
threshold.
Make
sure
to
select
a
maximum
density
that
is
lower
than
or
equal
to
the
highest
density
of
interest
you
specified
in
step
1.L
under
“Network
Measures”.
e. This
will
generate
three
plots
and
display
the
parameters
for
the
fitted
function
for
the
first
group
network
in
the
Matlab
command
window.
Check
the
“Log
Plot
of
Cumulative
Degree
Distribution”
figure,
and
if
the
fitted
line
is
satisfactory,
type
1
to
continue.
Otherwise,
you
can
try
to
play
with
“a”
and
“b”
manually
to
see
how
the
fit
works.
g. This
outputs
a
degree
distribution
histogram,
and
normal
(and
log)
plots
of
cumulative
degree
distribution
for
each
network.
5.
Network
Visualization
This
function
generates
the
input
files
required
for
plotting
the
networks
on
the
ICBM152
template
using
BrainNet
Viewer.
a. Enter
the
ROI
scheme
used
for
graph
analysis:
type
1
for
AAL-‐LR,
2
for
AAL
original,
3
for
FreeSurfer,
4
for
manual
dimension
input.
b. Indicate
whether
the
size
of
each
node
represents
nodal
betweenness
(type
1)
or
degree
(2)
or
clustering
(3).
If
you
want
to
display
the
nodes
all
in
the
same
size,
type
4.
e. Type
the
minimum
threshold.
Make
sure
to
select
a
minimum
density
that
is
greater
than
or
equal
to
the
lowest
density
of
interest
you
specified
in
step
1.k
under
“Network
Measures”.
05/30/2014
Page
32
f. Type
the
maximum
threshold.
Make
sure
to
select
a
maximum
density
that
is
lower
than
or
equal
to
the
highest
density
of
interest
you
specified
in
step
1.L
under
“Network
Measures”.
g. If
the
ROIs
that
you
used
are
a
subset
of
the
ROIs
implemented
here,
you
may
choose
those
by
clicking
on
their
names.
h. The
code
also
asks
if
you
want
to
display
the
modular
structure
in
the
network.
If
you
type
1(yes),
the
code
will
ask
you
to
enter
the
“ModularCommunity_Group1(2).mat”
files
(output
from
“Modularity
Analysis”)
and
will
then
generate
a
.node
file
that
comprises
the
modular
structure.
You
will
need
to
do
a
Modularity
Analysis
(by
clicking
Network
Modules)
before
the
Network
Visualization
if
you
wish
to
view
the
modular
structure.
i. This
outputs
two
files
for
each
group
network:
Nodes_Group1(2).nodes
and
Edge_Group1(2).edge.
These
files
will
be
used
as
the
input
to
BrainNet
Viewer
for
visualization.
05/30/2014
Page
33
GAT
Diffusion
The
procedure
for
performing
graph
analysis
on
diffusion
networks
is
similar
to
that
of
functional
networks.
You
need
to
have
a
network
of
size
Nroi*Nroi
for
each
individual.
The
only
difference
is
that
you
need
to
format
the
input
as
follows:
a
Matlab
array
“Z”
of
size
Nroi*Nroi*Nsbj
containing
individual
networks
and
a
cell
array
of
“names”
of
size
1*Nroi
that
includes
the
names
of
ROIs.
These
two
variables
need
to
be
saved
in
a
.mat
file
named
“results_diff*.mat”.
The
GUI
asks
you
to
choose
the
“results_diff*.mat”
file
to
kick
off
the
analysis.
The
Z
array
should
include
both
groups’
data
(ordered
by
groups).
05/30/2014
Page
34
GAT
Behavioral
The
procedure
for
performing
graph
analysis
on
behavioral
data
is
similar
to
that
of
morphometric
networks.
05/30/2014
Page
35
GAT
Longitudinal
a. Type
1
if
you
want
to
use
the
parallel
processing
function,
type
2
if
you
do
not.
i. If
you
want
to
use
parallel
processing,
type
the
number
of
the
cores
you
want
to
use.
b. Type the name of the first group in single quotation marks (e.g. ‘group1’)
c. Type the name of the second group in single quotation marks (e.g. ‘group2’)
d. Number
of
null
networks:
usually
a
number
between
10
and
20
works
well.
However,
with
20,
the
non-‐parametric
permutation
takes
longer.
g. Type
1
if
you
need
to
correct
the
data
for
covariates
(e.g.
age,
total
brain
volume,
etc.).
Type
2
if
you
do
not
or
your
data
is
already
corrected.
-‐
If
you
chose
to
correct
the
data
for
covariates,
GAT
will
ask
to
make
covariate
files
from
Excel
sheets:
-‐ Type
1
if
your
covariate
data
is
in
.xls
format;
type
2
if
it
is
in
.mat
format.
-‐ First
select
the
Excel
file
(or
Mat
file)
that
includes
Group1
covariate
data,
and
then
select
the
file
that
includes
Group2
covariate
data.
NOTE:
For
Excel
file
input,
data
should
be
in
the
first
sheet
of
the
excel
file.
Names
of
the
covariates
are
placed
in
the
first
row.
The
following
rows
should
contain
covariate
values
for
each
subject.
For
.mat
files,
just
input
the
covariate
values
(one
column
for
each
covariate,
and
one
row
for
each
subject).
Name
the
array
“covar”
in
Matlab
but
you
can
name
the
file
as
you
want
(e.g.
group1_covariates.mat).
(Caution:
the
order
of
the
rows
should
be
consistent
with
the
order
of
the
subjects'
data).
-‐
If
you
do
not
need
to
correct
for
covariates,
jump
to
the
next
step.
05/30/2014
Page
36
NOTE:
If
.xls
file
of
past
analysis
won’t
load
–
Error:
xlsread
-‐,
try
to
create
a
new
.xls
file
on
your
machine
by
copying
and
pasting
the
data
into
a
new
excel
file
and
save
it
as
.xls
(1997-‐2004).
h. Click
Yes
if
you
want
to
use
the
REX
output
(from
“Extract
ROIs”)
to
extract
data.
Click
No
if
you
already
have
your
data
ready
(outside
of
GAT),
e.g.
you
have
regional
volumes
or
regional
surface-‐area
or
regional
thickness
output
from
FreeSurfer.
-‐
Type
1
if
your
data
is
in
.mat
format;
type
2
if
it
is
in
.xls
format.
(For
Excel
input,
the
data
should
be
in
the
first
sheet
of
the
Excel
file.
The
first
row
should
include
the
names
of
the
regions.
The
following
rows
should
include
each
subject’s
regional
morphometry
data).
i. This
outputs
a
[Link]
file
that
contains
all
the
above
information
(each
group’s
data,
group
names,
roi
names,
covariates
(if
any),
etc.).
a. Type the number of random networks to be generated (e.g. 1000 networks).
c. This
step
might
take
a
couple
of
days
to
complete
depending
on
the
number
of
bootstrap
networks!
d. This outputs:
i. P-‐values
for
differences
in
slopes
in
global
and
regional
network
measures
between
groups
across
time
points.
(e.g.
MClust_1Tail_pval).
ii.
Figures
showing
the
95%
confidence
intervals
of
null
differences
in
slope
and
the
actual
group
difference
(e.g.
clustering
_Slope_vs_Null.fig).
Regions
falling
outside
of
the
95%
CI
are
those
that
show
significant
difference
in
slope.
a. Type 1 if you want to use parallel processing function, type 2 if you do not.
i. If
you
do
want
to
use
parallel
processing,
type
the
number
of
the
cores
you
want
to
use.
b. Type
name
of
the
dataset
in
single
quotation
(e.g.
‘Group1&Group2_data’).
c. Number
of
null
networks:
usually
a
number
between
10
and
20
works
well.
g. If
you
typed
1
(to
regress
out
the
covariates
of
no
interest)
in
the
previous
step,
i. Type
1
if
your
covariate
data
is
in
.xls
format;
type
2
if
it
is
in
.mat
format.
ii. Select
the
Excel
file
(or
Mat
file)
that
includes
covariate
data
for
Group
1.
Group1
is
the
group
whose
data
comes
first
in
the
CONN
output
file.
(For
Excel
inputs,
data
should
be
in
the
first
sheet
of
the
excel
file.
Names
of
the
covariates
come
in
the
first
row.
The
following
rows
contain
covariate
values
for
each
subject)
(Caution:
the
order
of
the
rows
should
be
consistent
with
the
order
of
subjects'
data
in
the
CONN
output).
iii. Select
the
Excel
file
(or
Mat
file)
that
includes
covariate
data
for
Group
2.
iv. Type
1
if
you
want
to
regress
out
the
interactions
between
covariates
(if
you
have
more
than
one
covariate);
type
2
if
you
do
not.
h. Select
the
“ResultsROI_Condition*.mat”
file
(output
from
CONN
toolbox)
for
Time
1
(both
groups).
i. Select
those
ROIs
in
which
you
are
interested.
Otherwise,
all
the
ROIs
will
be
included
in
the
analysis.
j. Select
the
“ResultsROI_Condition*.mat”
file
(output
from
CONN
toolbox)
for
Time
2
(both
groups).
k. Select
those
ROIs
in
which
you
are
interested.
Otherwise,
all
the
ROIs
will
be
included
in
the
analysis.
l. Type
the
name
of
the
first
group
in
single
quotation
marks
(e.g.
‘group1’).
m. Type
the
name
of
the
second
group
in
single
quotation
marks
(e.g.
‘group2’)
n. Type
the
number
of
subjects
in
group1.
o. Type
the
number
of
subjects
in
group2.
p. This
outputs
network
measures
for
each
individual
functional
network.
2. Click
“Compare
Functional
Networks”
a. Type
the
number
of
random
network
to
be
generated
(e.g.
5000).
b. Select
the
“[Link]”
file
(output
from
“Network
Measures”).
c. Select
the
“IndivNetMeasures_(adjusted)_Time1_Group1-‐[Link]”
output
from
the
previous
step.
d. Select
the
“IndivNetMeasures_(adjusted)_Time2_Group1-‐[Link]”
output
from
the
previous
step.
e. Select
the
“IndivNetMeasures_(adjusted)
_Group1_Time1.mat
output
from
the
previous
step.
f. Select
the
“IndivNetMeasures_(adjusted)
_Group1_Time2.mat
output
from
the
previous
step.
g. Select
the
“IndivNetMeasures_(adjusted)
_Group2_Time1.mat
output
from
the
previous
step.
h. Select
the
“IndivNetMeasures_(adjusted)
_Group2_Time2.mat
output
from
the
previous
step.
i. This
outputs:
i. P-‐values
for
differences
in
slopes
in
network
measures
between
groups
across
time
points.
(e.g.
clust_pval.mat,
RegClust_pval).
05/30/2014
Page
39
ii. A
set
of
figures
showing
the
95%
confidence
intervals
of
null
differences
in
slopes
and
the
actual
group
difference
(e.g.
clustering_Slope_vs_Null.fig,
Regional
clustering
_Slope_vs_Null.fig).
Regions/measures
falling
outside
of
the
95%
CI
are
those
that
show
significant
difference
in
slope.
iii. A
set
of
figures
showing
the
network
measures
at
each
time
point
(e.g.
clustering_Value_T1_T2.fig).
05/30/2014
Page
40
Notes
sigma = small-‐worldness
-‐
The
p-‐value
for
each
network
measure
is
a
vector
corresponding
to
the
number
of
density
thresholds
(e.g.
for
0.05:0.01:0.45,
p(1)
is
the
p-‐value
for
comparing
networks
at
density=0.05).
-‐
A
positive
p-‐value
means
the
group2
network
measure
is
significantly
(p<0.05)
greater
than
that
of
group
1.
A
negative
p-‐value
means
the
group1
network
measure
is
significantly
(p<0.05)
greater
than
that
of
group
2.
ROI
Schemes
'L.Temporal_Sup' 'L.Temporal_Sup'
'R.Temporal_Sup' 'R.Temporal_Sup'
'[Link]' '[Link]'
'[Link] '[Link]'
3. Which
papers
must
I
cite
when
publishing
GAT
results?
-‐
Please
refer
to
the
first
page
in
“GAT_MANUAL.doc”
for
the
information
regarding
citing
GAT
in
your
paper.
4. What
algorithms
are
used
for
calculating
network
measures?
-‐
GAT
uses
BCT
for
calculation
of
graph
measures.
The
description
of
the
formulations
can
be
found
in
Rubinov
&
Sporns,
NeuroImage
2010
(Complex
network
measures
of
brain
connectivity:
uses
and
interpretations).
5. Error
“???
Error
using
==>
spm>spm_version
at
…
;
Can't
obtain
SPM
Revision
information”.
-‐
Check
the
Matlab
path
and
make
sure
that
the
path
to
SPM
directory
is
on
top
of
the
path
to
GAT
directory.
6. Error
“Undefined
function
'degrees_und'
for
input
arguments
of
type
'double'”.
05/30/2014
Page
45
-‐ Make sure that the BCT directory is already added to your Matlab path.
7. Error
“???
Undefined
function
or
variable
"Output1"
:
Error
in
==>
KAN_FixedDensity
at
line
!!!
”.
-‐
This
error
means
that
the
program
could
not
find
a
common
minimum
density
of
full
connectivity
for
your
input
networks.
This
might
happen
when
the
networks
are
really
sparse,
the
maximum
density
of
the
networks
does
not
fall
within
the
density
range
that
you
have
chosen,
or
you
have
small
number
of
ROIs.
8. When
using
GAT
for
functional
and/or
DTI
networks,
the
calculation
stuck
at
“calculating
network
measures
at
each
density:
1
out
of
N...”.
-‐
Make
sure
your
networks
are
symmetric.
9. Matlab
cannot
read
the
Excel
files
that
include
FreeSurfer
data
for
structural
correlation
network
analysis.
-‐
This
problem
sometimes
happens
in
Unix
platforms.
As
an
alternative,
you
may
save
the
data
in
a
Matlab
variable
named
mat4SVM
and
save
it
as
[Link].
Also,
do
not
forget
to
put
the
region
names
in
a
Matlab
cell
array
named
"regionName"
and
save
it
in
[Link]
along
with
the
mat4SVM.
10. Where
can
I
find
the
p-‐values
for
regional
differences
in
networks
parameters?
-‐
The
p-‐values
for
regional
measures
(e.g.
regional
node
betweenness)
are
in
*_pval.mat
files
(e.g.
RegNodeBetw_norm_pval.mat).
11. When
using
GAT
output
for
visualizing
structural
correlation
networks,
the
BrainNet
Viewer
gives
an
error.
-‐
Make
sure
you
do
not
have
any
space
in
ROI
names
13. I cannot unzip the [Link] file that I downloaded from the NCNL website.
-‐
The
[Link]
is
compressed
under
MAC
and
sometimes
cannot
unzip
properly
on
PC
systems.
Try
a
different
unarchiver
such
as
Stuffit
Expander.
05/30/2014
Page
46
13. Error
“Error
using
size;
Dimension
argument
must
be
a
positive
integer
scalar
within
indexing
range.
Error
in
nanmean
(line
43)
count
=
size(x,dim)
-‐
sum(nans,dim);
Error
in
nanvar
(line
54)
avg
=
nanmean(x,dim);
Error
in
ttest2
(line
134)
s2x
=
nanvar(x,[],dim”
-‐
Try
moving
the
set
paths
for
spm8
below
other
paths;
spm8
functions
may
be
interfering.
14. If
you
get
any
error
involving
Matlab
Parallel
Function
and
Java,
try
to
install
the
following
Matlab
patch
developed
by
Mathworks:
[Link]
Make
sure
that
you
are
downloading
the
version
that
corresponds
to
your
Matlab
release.