DataJoint

Scientific workflow management framework built on top of a relational database.
1.3K Downloads
Updated 27 Mar 2023

View DataJoint on File Exchange

Welcome to DataJoint for MATLAB!

DataJoint for MATLAB is a high-level programming interface for relational databases designed to support data processing chains in science labs. DataJoint is built on the foundation of the relational data model and prescribes a consistent method for organizing, populating, and querying data.

For more information, see our general DataJoint docs and DataJoint MATLAB docs.

For Developers: Running Tests Locally

Click to expand details
  • Create an .env with desired development environment values e.g.
MATLAB_USER=rguzman
MATLAB_LICENSE=IyBCRUd... # For image usage instructions see https://github.com/guzman-raphael/matlab, https://hub.docker.com/r/raphaelguzman/matlab
MATLAB_VERSION=R2019a
MATLAB_HOSTID=XX:XX:XX:XX:XX:XX
MATLAB_UID=1000
MATLAB_GID=1000
MYSQL_TAG=5.7
MINIO_VER=RELEASE.2022-01-03T18-22-58Z
  • cp local-docker-compose.yaml docker-compose.yaml
  • docker-compose up (Note configured JUPYTER_PASSWORD)
  • Select a means of running MATLAB e.g. Jupyter Notebook, GUI, or Terminal (see bottom)
  • Add tests directory to path e.g. in MATLAB, addpath('tests')
  • Run desired tests. Some examples are as follows:
Use Case MATLAB Code
Run all tests run(Main)
Run one class of tests run(TestTls)
Run one specific test runtests('TestTls/TestTls_testInsecureConn')
Run tests based on test name import matlab.unittest.TestSuite;
import matlab.unittest.selectors.HasName;
import matlab.unittest.constraints.ContainsSubstring;
suite = TestSuite.fromClass(?Main, ...
    HasName(ContainsSubstring('Conn')));
run(suite)

Launch Jupyter Notebook

  • Navigate to localhost:8888
  • Input Jupyter password
  • Launch a notebook i.e. New > MATLAB

Launch MATLAB GUI (supports remote interactive debugger)

  • Shell into datajoint-matlab_app_1 i.e. docker exec -it datajoint-matlab_app_1 bash
  • Launch Matlab by running command matlab

Launch MATLAB Terminal

  • Shell into datajoint-matlab_app_1 i.e. docker exec -it datajoint-matlab_app_1 bash
  • Launch Matlab with no GUI by running command matlab -nodisplay

Cite As

DataJoint Bot (2024). DataJoint (https://github.com/datajoint/datajoint-matlab/releases/tag/v3.5.1), GitHub. Retrieved .

Yatsenko, Dimitri, et al. DataJoint: Managing Big Scientific Data Using MATLAB or Python. Cold Spring Harbor Laboratory, Nov. 2015, doi:10.1101/031658.

View more styles
MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
3.5.1.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.5.1

3.5.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.5.0

3.4.3

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.4.3

3.4.2

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.4.2

3.4.1

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.4.1

3.4.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.4.0

3.3.2

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.3.2

3.3.1.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v3.3.1

3.2.3

Updated support for additional database connection configurations.

3.2.2

Bugfix in renamed foreign key

3.2.1

Minor bugfixes.

3.2.0

Bug fixes for MATLAB version earlier than R2016b.

3.1.0.0

Improve installation procedure.

2.9.0.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v2.9.0

2.8.0.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v2.8.0

2.7.6.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v2.7.6

2.7.2.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v2.7.2

2.6.10.0

See release notes for this release on GitHub: https://github.com/datajoint/datajoint-matlab/releases/tag/v2.6.10

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.