BRAPH 2 — Flexible, Open-source, Reproducible, Community-Oriented, Easy-to-use Framework for Network Analysis in Neurosciences
BRAPH 2 is a flexible, open-source software built on MATLAB, designed to support community-driven and reproducible network analysis. It offers a comprehensive range of features, including complex statistical analyses and deep learning techniques. With its Genesis compiler, users can develop tailored distributions creating new custom pipelines, enhancing flexibility, scalability, and reproducibility across various research fields.
Genesis advantages to compile a new custom BRAPH 2 distribution To create a custom BRAPH 2 distribution with specialized analysis pipelines, users prepare a configuration file (genesis_config.txt) along with custom elements, pipeline scripts, and optional tutorial files. The Genesis module then integrates these with BRAPH 2’s core components through a structured compilation process, including directory setup, file integration, element compilation, GUI layout generation, and unit test creation. The final output is a customized, no-code GUI distribution, offering a flexible, open-source, reproducible, community-driven, and user-friendly framework for network analysis in neuroscience.
BRAPH 2 was originally designed to facilitate the analysis of brain connectivity using various neuroimaging modalities and cutting-edge techniques.The Standard BRAPH 2 Distribution enables researchers to assess brain organization with multimodal data and advanced tools such as deep learning. With its user-friendly interface and extensive analysis pipelines, researchers can explore the complex organization of the human brain using multimodal neuroimaging data, going beyond the limitations of traditional approaches. It provides an extensive set of analysis pipelines accessible through a graphical user interface (GUI) and through sample scripts, allowing users to perform ready-to-use analyses or develop customized pipelines for their specific needs.
Advances in brain connectivity analysis. Brain connectivity analysis is rapidly evolving thanks to the widespread availability of increasing computational power and large-scale, high-resolution, multimodal neuroimaging datasets. The Standard BRAPH 2 Distribution provides a complete set of tools to analyze these data with conventional graph theory (single-layer graphs), multiplex and multilayer graphs, and deep learning (from dense neural networks to graph convolutional neural networks), as well as a flexible, easily expandable software architecture. BRAPH 2 uses parallel computing to allow users to run scripts on servers or clusters with both central processing units (CPUs) and graphical processing units (GPUs).
The Standard BRAPH 2 Distribution provides a wide range of analysis pipelines that can be used for various use cases in brain connectivity analysis. For detailed information about these analysis pipelines, including their functionalities and step-by-step instructions, refer to the BRAPH 2 Pipeline Tutorials. Here are some possible use cases of BRAPH 2:
-
Conventional Single-Layer Analyses: The Standard BRAPH 2 Distribution offers pipelines to analyze single-layer graphs derived from different kinds of neuroimaging data. These pipelines involve loading the brain atlas, loading the subject data, constructing the graph, calculating graph measures of interest, and comparing groups. Single-layer analyses can be performed on connectivity data, functional data, and structural data.
-
Multilayer Analyses: The Standard BRAPH 2 Distribution supports the analysis of multilayer graphs, which capture the connectivity patterns across multiple layers or modalities. The multilayer analysis pipelines involve similar steps as single-layer analyses but operate on multilayer graphs. This allows researchers to explore the relationships between different layers or modalities of brain connectivity.
-
Deep Learning Analyses: The Standard BRAPH 2 Distribution enables the analysis of brain connectivity data using deep learning techniques. The deep learning pipelines involve loading the brain atlas, loading the subject data, constructing the input for deep learning models, splitting the dataset, training the models, and evaluating the model performance. Deep learning analyses can be applied to connectivity data, functional data, and structural data and graphs.
To install BRAPH 2, follow these steps:
-
Ensure that you have MATLAB R2022a or a later version installed on your system. BRAPH 2 is compatible with the versions of MATLAB for Microsoft Windows, MacOS, and Linux operating systems.
-
Make sure you have the following toolboxes installed in MATLAB:
- Statistics and Machine Learning Toolbox (required for most pipelines)
- Parallel Computing Toolbox (optional)
- Deep Learning Toolbox (optional, for deep learning analysis)
-
Download the latest stable version of BRAPH 2 from BRAPH 2 Releases.
-
Unzip the downloaded file into the desired directory on your system.
-
Launch MATLAB.
-
Navigate to the
braph2
folder located in the directory where you unzipped BRAPH 2. -
Run the script
braph2
. This will launch the graphical user interface (GUI) from which you can choose an analysis pipeline. -
Explore the BRAPH 2 Tutorials.
A ✓ indicates that we have unit-tested the current release BRAPH 2 on the indicated Matlab release and operative system.
Matlab Version | Mac | Win | Linux |
---|---|---|---|
R2022a | ✓ | ✓ | ✓ |
R2022b | ✓ | ✓ | ✓ |
R2023a | ✓ | ✓ | ✓ |
R2023b | ✓ | ✓ | ✓ |
R2024a | ✓ | ✓ | ✓ |
R2024b | ✓ | ✓ | ✓ |
BRAPH 2 is designed to be an open community-driven project, and the code is freely available on this GitHub repository at BRAPH 2 Releases. Developers can contribute to BRAPH 2 at various levels of complexity, ranging from editing existing pipelines and adapting example scripts to implementing entirely new features. For the details on how to do this, refer to the BRAPH 2 Developer Tutorials.
BRAPH 2 is an open-source project, and contributions from the community are highly encouraged. Whether you want to report a bug, suggest a new feature, or contribute code improvements, your involvement is valuable and will help make BRAPH 2 even better.
If you encounter any issues or have ideas for new features, please submit detailed information for bug reports using the Bug Report template and clear descriptions for feature requests using the Feature Request template.
If you're interested in contributing with code, follow these steps:
-
Fork the BRAPH 2 repository on GitHub.
-
Create a new branch for your changes.
-
Make your modifications and commit them.
-
Push your branch to your forked repository.
-
Open a pull request against the
develop
branch of the main repository.
The core team of BRAPH 2 developers will then revise this proposal and possibly merge it or come back to you with questions and comments.
Improvements to the documentation are welcome. Submit a pull request as indicated above with your proposed changes for errors, outdated information, or suggestions for improvement.
Join discussions on the BRAPH 2 Discussion Forum to provide support, answer questions, and share your expertise.
If you use BRAPH 2 in your research work, please cite the following publication:
Mite Mijalkov, Ehsan Kakaei, Joana B Pereira, Eric Westman & Giovanni Volpe (2017).
BRAPH: A graph theory software for the analysis of brain connectivity.
PLOS ONE 12, e0178798.
https://doi.org/10.1371/journal.pone.0178798