Visual workflow builder for reproducible neuroimaging analysis
Neuroimaging analysis suffers from a reproducibility crisis — the same dataset analyzed by different teams produces divergent results due to software versions, parameter choices, and undocumented processing steps (Eklund et al., 2016; Botvinik-Nezer et al., 2020). Manual pipeline scripting is error-prone, hard to share, and rarely portable across computing environments.
niBuild addresses this by providing a no-code, browser-based GUI where researchers visually design analysis workflows from 100+ neuroimaging tools across 9 libraries, then export a self-contained Workflow RO-Crate bundle with CWL workflows, Docker/Singularity containers, and FAIR-compliant metadata — all without installing anything.
Clicking Export generates a .crate.zip containing everything needed to run the workflow:
my_pipeline.crate.zip/
├── workflows/my_pipeline.cwl # CWL workflow definition
├── workflows/my_pipeline_job.yml # Pre-configured job template
├── cwl/ # Tool CWL files (with pinned Docker versions)
├── Dockerfile # Docker orchestration container
├── run.sh # Docker execution entrypoint
├── prefetch_images.sh # Pre-pull tool images
├── Singularity.def # Singularity/Apptainer container (if enabled)
├── run_singularity.sh # HPC execution entrypoint
├── prefetch_images_singularity.sh # Convert images to SIF format
├── ro-crate-metadata.json # JSON-LD metadata (FAIR compliance)
└── README.md # Execution instructions
git clone https://github.com/KunaalAgarwal/niBuild.git
cd niBuild
npm install
npm run dev- Create a feature branch from
main:git checkout -b feature/your-feature
- Make changes and test thoroughly (see
utils/for the testing harness). - Open a pull request to
main. PRs are reviewed before merging. - On merge to
main, GitHub Actions automatically deploys to GitHub Pages.
niBuild was created by Kunaal Agarwal with assistance from Adam Dawood, and advised by Javier Rasero, PhD, under the funding of the University of Virginia Harrison Research Award.
Publication forthcoming. If you use niBuild in your research, please cite this repository.