Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/development.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,22 @@ jobs:
COMPOSE_HTTP_TIMEOUT: "120"
run: |
docker-compose -f LNX-docker-compose.yaml up --build --exit-code-from app
publish-docs:
if: |
github.event_name == 'push' &&
startsWith(github.ref, 'refs/tags')
needs: test
runs-on: ubuntu-latest
env:
DOCKER_CLIENT_TIMEOUT: "120"
COMPOSE_HTTP_TIMEOUT: "120"
steps:
- uses: actions/checkout@v2
- name: Deploy docs
run: |
export MODE=BUILD
export PACKAGE=datajoint
export UPSTREAM_REPO=https://github.com/${GITHUB_REPOSITORY}.git
export HOST_UID=$(id -u)
docker compose -f docs/docker-compose.yaml up --exit-code-from docs --build
git push origin gh-pages
22 changes: 22 additions & 0 deletions .github/workflows/publish-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Publish Docs
on:
push:
tags:
- 'test*.*.*'
workflow_dispatch:
jobs:
publish-docs:
runs-on: ubuntu-latest
env:
DOCKER_CLIENT_TIMEOUT: "120"
COMPOSE_HTTP_TIMEOUT: "120"
steps:
- uses: actions/checkout@v2
- name: Deploy docs
run: |
export MODE=BUILD
export PACKAGE=datajoint
export UPSTREAM_REPO=https://github.com/${GITHUB_REPOSITORY}.git
export HOST_UID=$(id -u)
docker compose -f docs/docker-compose.yaml up --exit-code-from docs --build
git push origin gh-pages
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Changelog

Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention.

## [3.5.0] - 2022-03-21

+ Bugfix: Cascading delete for renamed foreign keys (#379) PR #386
+ Minor: Add renaming the same attribute multiple times within a single projection PR #386
+ Minor: Add config for reading values with 32-bit dimensions (datajoint/mym#86) PR #395

[3.5.0]: https://github.com/datajoint/element-deeplabcut/releases/tag/3.5.0
88 changes: 23 additions & 65 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,68 +1,28 @@
[![View DataJoint on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/63218-datajoint)

# 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.

DataJoint was initially developed in 2009 by Dimitri Yatsenko in Andreas Tolias' Lab at Baylor College of Medicine for the distributed processing and management of large volumes of data streaming from regular experiments. Starting in 2011, DataJoint has been available as an open-source project adopted by other labs and improved through contributions from several developers.
Presently, the primary developer of DataJoint open-source software is the company DataJoint (https://datajoint.com). Related resources are listed at https://datajoint.org.

## Installation
<details>
<summary>Click to expand details</summary>

### (Recommended) Greater than R2016b

1. Utilize MATLAB built-in GUI i.e. *Top Ribbon -> Add-Ons -> Get Add-Ons*
2. Search and Select `DataJoint`
3. Select *Add from GitHub*

### Using GHToolbox (FileExchange Community Toolbox)

1. Install *GHToolbox* using using an appropriate method in https://github.com/datajoint/GHToolbox
2. run: `ghtb.install('datajoint/datajoint-matlab')`

### Less than R2016b

1. Utilize MATLAB built-in GUI i.e. *Top Ribbon -> Add-Ons -> Get Add-Ons*
2. Search and Select `DataJoint`
3. Select *Download from GitHub*
4. Save `DataJoint.mltbx` locally
5. Navigate in MATLAB tree browser to saved toolbox file
6. Right-Click and Select *Install*
7. Select *Install*

### From Source

1. Download `DataJoint.mltbx` locally
2. Navigate in MATLAB tree browser to saved toolbox file
3. Right-Click and Select *Install*
4. Select *Install*

</details>

## Config
For help in utilizing `dj.config` (added in `3.4.0`), you may access the help via `help('dj.config')` or review it online [here](https://github.com/datajoint/datajoint-matlab/blob/c2bd6b3e195dfeef773d4e12bad5573c461193b0/%2Bdj/config.m#L2-L27). Formal documentation to follow.

## Documentation and Tutorials
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.

* https://datajoint.org -- start page
* https://docs.datajoint.org -- up-to-date documentation
* https://tutorials.datajoint.io -- step-by-step tutorials
* https://elements.datajoint.org -- catalog of example pipelines
* https://codebook.datajoint.io -- interactive online tutorials
For more information, see our
[general](https://datajoint.com/docs/welcome/) and
[MATLAB](https://datajoint.com/docs/core/datajoint-matlab/) documentation pages.

## Citation

+ If your work uses DataJoint for MATLAB, please cite the following Research Resource Identifier (RRID) and manuscript.

+ DataJoint ([RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543)) - DataJoint for MATLAB (version `<Enter version number>`)

+ Yatsenko D, Reimer J, Ecker AS, Walker EY, Sinz F, Berens P, Hoenselaar A, Cotton RJ, Siapas AS, Tolias AS. DataJoint: managing big scientific data using MATLAB or Python. bioRxiv. 2015 Jan 1:031658. doi: https://doi.org/10.1101/031658

## Running Tests Locally
## For Developers: Running Tests Locally

<details>
<summary>Click to expand details</summary>

* Create an `.env` with desired development environment values e.g.
+ Create an `.env` with desired development environment values e.g.

``` sh
MATLAB_USER=rguzman
MATLAB_LICENSE=IyBCRUd... # For image usage instructions see https://github.com/guzman-raphael/matlab, https://hub.docker.com/r/raphaelguzman/matlab
Expand All @@ -73,11 +33,12 @@ 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:

+ `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 |
| ---------------------------- | ------------------------------------------------------------------------------ |
Expand All @@ -86,23 +47,20 @@ MINIO_VER=RELEASE.2022-01-03T18-22-58Z
| Run one specific test | `runtests('TestTls/TestTls_testInsecureConn')` |
| Run tests based on test name | `import matlab.unittest.TestSuite;`<br>`import matlab.unittest.selectors.HasName;`<br>`import matlab.unittest.constraints.ContainsSubstring;`<br>`suite = TestSuite.fromClass(?Main, ... `<br><code>&nbsp;&nbsp;&nbsp;&nbsp;</code>`HasName(ContainsSubstring('Conn')));`<br>`run(suite)`|


### Launch Jupyter Notebook

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

+ 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 runnning command `matlab`

+ 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 runnning command `matlab -nodisplay`
+ 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`

</details>
</details>
4 changes: 0 additions & 4 deletions docs-parts/admin/5-blob-config_lang1.rst

This file was deleted.

1 change: 0 additions & 1 deletion docs-parts/admin/5-blob-config_lang2.rst

This file was deleted.

4 changes: 0 additions & 4 deletions docs-parts/admin/5-blob-config_lang3.rst

This file was deleted.

4 changes: 0 additions & 4 deletions docs-parts/admin/5-blob-config_lang4.rst

This file was deleted.

4 changes: 0 additions & 4 deletions docs-parts/admin/5-blob-config_lang5.rst

This file was deleted.

23 changes: 0 additions & 23 deletions docs-parts/computation/01-autopopulate_lang1.rst

This file was deleted.

4 changes: 0 additions & 4 deletions docs-parts/computation/01-autopopulate_lang2.rst

This file was deleted.

3 changes: 0 additions & 3 deletions docs-parts/computation/01-autopopulate_lang3.rst

This file was deleted.

28 changes: 0 additions & 28 deletions docs-parts/computation/01-autopopulate_lang4.rst

This file was deleted.

1 change: 0 additions & 1 deletion docs-parts/computation/02-keysource_lang1.rst

This file was deleted.

17 changes: 0 additions & 17 deletions docs-parts/computation/02-keysource_lang2.rst

This file was deleted.

52 changes: 0 additions & 52 deletions docs-parts/computation/04-master-part_lang1.rst

This file was deleted.

4 changes: 0 additions & 4 deletions docs-parts/computation/04-master-part_lang2.rst

This file was deleted.

Loading