GraphVar version 2.03 has been released.
Please cite this toolbox as:
Kruschwitz JD, List D, Waller L, Rubinov M, Walter H - GraphVar: A user-friendly toolbox for comprehensive graph analyses of functional brain connectivity, JNeuroscience Methods (2015),
Waller L, Brovkin A, Dorfschmidt L, Bzdok D, Walter H, Kruschwitz JD - GraphVar 2.0: A user-friendly toolbox for machine learning on of functional connectivity measures, JNeuroscience Methods (2018),
New release: GraphVar 2.03: DOWNLOAD HERE
DOWNLOAD - GraphVar:
New Release: GraphVar 2.03
Article in "Journal of Neuroscience Methods 2015"
Article in "Journal of Neuroscience Methods 2018"
New Feature Highlights:
New Features GraphVar 2.02
New Features GraphVar 1.02
New Features GraphVar 0.62
Features and Highlights:
“GraphVar” is a user-friendly graphical-user-interface (GUI)-based toolbox (MATLAB) for comprehensive graph-theoretical analyses of brain connectivity, including network construction and characterization, statistical analysis (GLM and machine learning) on network topological measures, and interactive exploration of results. By combining together features across multiple current toolboxes, such as the Brain Connectivity Toolbox, the Graph Analysis Toolbox, the Network Based Statistic Toolbox, BrainNetClass and BRAPH (BCT, Rubinov and Sporns 2010; GAT, Hosseini et al., 2012; NBS, Zalesky et al., 2010; BrainNetClass, Zhou et al., 2020; BRAPH, Mijalkov et al., 2017), GraphVar represents a comprehensive collection of graph analysis routines for functional neuroimaging researchers. GraphVar offers an interactive viewer that allows intuitive exploration of statistical results. Results can easily be exported and reloaded.
The program entails a detailed manual that includes usage instructions and a description of all the implemented functions, a Quick Guide for getting started, and a tutorial for getting started with sample data.
(GraphVar was developed by J.D. Kruschwitz*, D. List*, L. Waller, M. Rubinov, H. Walter and is provided under the GNU GPL v3; *equal contribution)
- GraphVar does not require MATLAB programming experience
- GraphVar contains most functions included in the Brain Connectivity Toolbox, but allows users to add custom functions which can subsequently be accessed via
- GraphVar accepts correlation matrices as input but can also generate correlation or partial correlation matrices, offers generation of connectivity matrices based on percentage bend correlations, spearman correlation and mutual information from input time series. (e.g. ROISignals_TC from the DPARSF output). Additionally GraphVar generates covariance matrices that may be used for estimating binary graphs with the sparse inverse covariance matrix option (SICE).
- Users may also provide demographic, clinical and other subject specific data (in spreadsheet format) for statistical analyses.
- GraphVar offers pipeline construction of graph networks with a choice of no, relative, absolute and significance-based thresholding, and the generation of
subject specific “null-model networks and sub-network analyses”.
- Binary and weighted network topological measures can be easily calculated, normalized, exported, and used in statistical analyses.
- Statistical analyses include general linear models (GLM and Machine Learning) with the network measures but also on the raw connectivity matrices (i.e., network based statistics including identification of graph components).
- Statistical tests can be performed in a parametric and non-parametric fashion (i.e., testing against null-model networks, non-parametric permutation testing).
- GraphVar now supports Sliding Window analyses on the raw matrices but also with the graph topological measures!
2. Release notes:
Release info GraphVar 2.02:
Release info GraphVar 2.0:
Release info GraphVar 1.03:
We found that in the GraphVar 1.0 update, the function to calculate the clustering coefficient
for binary undirected graphs was accidentally replaced with a function to calculate the number of
triangles around each node. The clustering coefficient, however, is defined as the number of triangles
around each node divided by the number of possible triangles. In other words, the values that were
returned are simply the unscaled form of the binary undirected clustering coefficient.
The functions for calculating the clustering coefficient on weighted network (clustering_coef_wu; clustering_coef_wd)
and the binary clustering coefficient fpr directed networks (clustering_coef_bd) were not affected.
However, even though the values are thus conceptually related, the number of triangles and the
actual clustering coefficient share only roughly 20% of their variance. Therefore, please
re-run your analyses if you have used the clustering coefficient for binary undirected graphs
with a GraphVar version 1.00, 1.01, or 1.02.
GraphVar 1.03 now entails the original BCT clustering coefficient
function for binary undirected networks (clustering_coef_bu.m)
We are very sorry for the inconvenience!
Release info GraphVar 1.02:
1. Fixed a bug where the direction of the effect of continuous by continous
interactions was reversed in some models. This issue did not affect the
p-values of the regressors.
Release info GraphVar 1.01:
1. display mouseover non-parametric p-vals in one-dimensional graph metrics
2. enable the export of non-paramtric p-val maps from results viewer (previously only parametric p-vals were exported)
3. fixed a bug for drawing graphs in the network inspector for non-parametric p-vals<.0000001
Release info GraphVar 1.0:
1. New general linear model (GLM) framework for statistical analyses
2. Fast permutation testing via C functions
3. C++ implementation of „null_model_und_sign“ (ten times faster than the original BCT version)
4. New dynamic graph measure: Brain-Network Variability (Zhang et al. 2016)
5. Optimized results viewer
Release info GraphVar_beta_v_0.62:
1. Added two NEW "dynamic" graph measures!
- nodal flexibility and nodal promiscuity coefficient which are based on changing community assignments in an ordered multislice matrix (as in Braun et al., 2015: Dynamic reconfiguration of frontal brain networks during
executive cognition in humans)
2. Added new "regular" graph metrics:
- global cost-efficiency (as in Bassett et al.,2009): Cognitive fitness of cost-efficient brain functional networks, PNAS.
- small-world propensity (unbiased assessment of small-world structure in networks of varying densities) -> developed by Muldoon, Bridgeford and Bassett (http://arxiv.org/abs/1505.02194)
3. Finally, you can do directed analyses (graph metrics and raw matrix calculations) if you input e.g. directed granger causality matrices!
4. Added "CheckFrag": will check if network fragmentation with respect to the settings in your network construction occur
5. GraphVar now saves more output files when doing sliding window analyses (not only the dynamic summary measure as before) and will also save all results when only "calculate and Export" for further usage.
Files in your interim results folder are now (depending on what computations you do here with clustering_coeff as example):
- clustering_coef_bu_4.9_1.mat: dynamic summary measure (e.g. variance) of clustering_coef_bu across windows for each node on threshold 0.49 for all subjects
- clustering_coef_bu_4.9_1per_SW.mat: the (normalized) clustering_coef_bu for each node in each of the sliding windows on threshold 0.49 for all subjects
- clustering_coef_bu_4.9_1-rand1.mat: dynamic summary measure (e.g. variance) of clustering_coef_bu across windows for each node in the first random network on threshold 0.49 for all subjects
- clustering_coef_bu_4.9_1-rand_per_SW.mat: the clustering_coef_bu for each node in each random network in each of the sliding windows on threshold 0.49 for all subjects (i.e., cell comprised of: subjects x random networks x sliding windows)
6. Changed the normalization procedure for dynamic summary measures (this does not include "nodal flexibility/promiscuity":
- OLD normalization procedure: the dynamic summary measure of the orig. data was devided by the mean of the dynamic summary measure of the random data (there was a lot of information loss)
- NOW: first, per sliding window graph metrics are normalized as usual by division of the mean of the same graph metric derived in random networks in the same sliding window. Second, the dynamic summary measure is calculated across sliding windows of the beforehand normalized graph metrics.
Release info GraphVar_beta_v_06.12:
Again some bug fixes for "dynamic" calculations (THANKS to XIAOSONG HE for noticing these errors!)
- added the exception that for sliding windows also non-overlapping windows can be generated with gaps between windows
- fixed a bug that when generating sliding windows the last possible window was omitted from generating
- fixed a bug that the window size was erroneous window size+1
- fixed a bug that a cell2mat error occured for variance/standard deviation calculations with small-worldness (sliding windows)
Release info GraphVar_beta_v_06.11:
Mainly some small bug fixes that occured when using "static" matrices in "dynamic" GraphVar
- getMeanMatrix: corrected that plotting of MeanMatrix did not work when calculated without sliding windows (i.e., static matrix).
- Results: fixed a bug for plotting single subject matrices generated from time courses when no sliding windows were generated beforehand (i.e. static matrices).
- NetworkInspector: fixed a bug that "GetComponent" did not work when not generating random data but using parametric p-vals for initial link thresholds
- CalcVars: bugfix, that if individually generated "corr matrix" arrays were used (and not named "...Matrix") GraphVar stopped calculating when testing against random networks and using raw matrices.
Release info GraphVar_beta_v_06:
This Version offers some possibilities for Dynamic Functional Connectivity and Dynamic Graph Analyses -> DynamicGraphVar! Please read this for detailed info: DynamicGraphVar_Tutorial
Release info GraphVar_beta_v_05.1:
This release contains a bugfix that if numbers (e.g. 0 1) were used instead of strings (e.g. "male" "female") for defining groups (strings were suggested in the default variable sheet) group assignment mismatches could occure.
Release info GraphVar_beta_v_05.0:
- Create Connectivity Matrix:
- generate covariance matrices from input time series
- use SICE to produce binary graphs with a desired density from input time series
- features an additional method for producing random time series: randomizing the observed time series by taking its Fourier transform, scrambling its phase and then inverting the transform (Prichard, D., & Theiler, J. ;1994)
- Network Construction:
- use SICE (sparse inverse covariance estimation) to estimate binary graphs across a desired density range
Release info GraphVar_beta_v_04.2:
- Statistical Analyses:
- included paired sample T-Test - e.g. for examining pre-post treatment effects (works for graph metrics, raw matrix, network based statistics)
Release info GraphVar_beta_v_04.0:
- Create Connectivity Matrix:
- Acceleration of connectivity matrix generation (achieved through vectorization)
- Network Construction:
- Calculate and export graph topological measures now also without applying thresholds (i.e., on the fully connected matrix)
- Modify weights in the matrices by using “absolute weights” or “negative weights to zero”
- Network Calculations
- GraphVar will warn you at the densities were negative weights will enter your calculations
- Inclusion of “Rich Club Coefficient” (please ignore the node labels in the export -> each column stands for level k)
- Inclusion of non-parametric testing on the metric level for correlational analysis (i.e., testing against shuffled data)
- Results Viewer
- plot single subject association matrices (e.g. for QC)
- plot mean connectivity matrices (i.e., connectivity across subjects) to determine the direction of your effects in more detail
- Network Inspector
- open your identified graph component immediately in BrainNetViewer for 3D visualization (BrainNetViewer must be added to Matlab with subfolders)
Release info GraphVar_beta_v_03.2:
This release contains a bugfix (erroneous convertion of connection weights into connection-length weights) that impacted the calculation of the following WEIGHTED measures (binary was not affected): local char pathlength, global char pathlength, edge betweenness centrality, node betweenness centrality, small worldness
Release info GraphVar_beta_v_03.1:
This release offers more possibilities to generate connectivity matrices from time courses: besides pearson correlation and partial correlation, GraphVar now also enables creation of connectivity matrices based on percentage bend correlations, spearman correlation and mutual information - enjoy!
Release info GraphVar_beta_v_03:
Supports parallel computing! If you installed the MATLAB parallel computing toolbox, you can set the number of "Parallel Workers", GraphVar will distribute the subjects (generation of correlation matrices and random networks) into different CPU cores.
EXAMPLE OUTPUT of the Interactive RESULTS VIEWER: