Skip to content

A Matlab Toolbox that provides functions to interact with data repositories that implement the DataONE service API. The toolbox also includes client-side functions for managing provenance (the history) of derived data products.

License

Notifications You must be signed in to change notification settings

lisakemp/matlab-dataone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matlab DataONE Toolbox

The Matlab DataONE Toolbox provides an automated way to capture data provenance for Matlab scripts and console commands without the need to modify existing Matlab code. The provenance captured during a Matlab script execution includes information about the script that was run, files that were read or written, and details about the execution environment at the time of execution. A package of the script iteself, its input files, and generated files that are associated with the run can be easily published to a repository within the DataONE network.

Installation Notes

Matlab R2015b or later for Mac, Windows, or Linux is required to use the toolbox. To install the toolbox,

  1. Download the zip file: Matlab DataONE Toolbox 1.0.0
  2. Unpack the zip file into an installation directory of your choosing
  3. Open Matlab and change directories to your unpacked matlab-dataone directory
  4. Run the install_matlab_dataone script in that directory
  5. Restart Matlab

License

The Matlab DataONE Toolbox is licensed as open source software under the Apache 2.0 license.

Example Usage

Thae Matlab DataONE package can be used to track code execution in Matlab, data inputs and outputs to those executions, and the software environment during the execution (e.g. Matlab and operating system versions). As a quick start, here is an example that starts the toolbox RunManager, executes a precanned script, and then views the details of that script run.

import org.dataone.client.run.RunManager;
mgr = RunManager.getInstance();
mgr.record('/Users/cjones/projects/intertidal_temps/process_temperatures.m', 'First toolbox run');
mgr.listRuns();
mgr.view('runNumber', 1);

Documentation

The classes provided in the toolbox have built-in documentation. Use the help() function or the doc() function to view the help for a given class. For instance, to view the help on the RunManager class, use:

doc org.dataone.client.run.RunManager

A User Guide is in the works, and will walk through the various toolbox functions.

Kown Issues

  • The toolbox captures provenance for only a subset of the load() function syntaxes. See Issue #196
  • The toolbox captures provenance for the save() function, but requires the filename to be the first argument. See Issue #198
  • Debugging log output for some function calls is not suppressed completely. See Issue #200

https://www.dataone.org/sites/default/files/d1-logo-v3_aligned_left_0_0.jpeg

About

A Matlab Toolbox that provides functions to interact with data repositories that implement the DataONE service API. The toolbox also includes client-side functions for managing provenance (the history) of derived data products.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 99.3%
  • Other 0.7%