diff --git a/OpenBis.m b/OpenBis.m index 7043a1e7c3627e93c41ad2f80d022ac1f19c5387..e37d2164fa144eefb3a8335b36da4951926c5ca0 100644 --- a/OpenBis.m +++ b/OpenBis.m @@ -516,27 +516,30 @@ classdef OpenBis end - function dataset = new_dataset(obj, type, experiment, object, file_list) + function dataset = new_dataset(obj, type, object, file_list, varargin) %new_dataset % Create a new dataset with files % type ... dataset type - % experiment ... experiment for dataset % object ... object for dataset % file_list ... list of files (cell string) to upload to new dataset + % properties ... structure with dataset properties (meta-data) % Usage: - % dataset = obi.new_dataset('type', 'RAW_DATA', 'experiment', 'MY_EXP', 'object', 'MY_SAMPLE', 'file_list', {'file1', 'file2'}) + % dataset = obi.new_dataset('RAW_DATA', '/SPACE/PROJECT/OBJECT', {'file1', 'file2'}, 'properties', props) + + properties = struct; p = inputParser; addRequired(p, 'obj'); addRequired(p, 'type', @ischar); - addRequired(p, 'experiment', @ischar); addRequired(p, 'object', @ischar); addRequired(p, 'file_list', @iscellstr); + addParameter(p, 'properties', properties, @isstruct); - parse(p, obj, type, experiment, object, file_list); + parse(p, obj, type, object, file_list, varargin{:}); a = p.Results; - dataset = obj.pybis.new_dataset(pyargs('type', a.type, 'experiment', a.experiment, 'sample', a.object, 'files', a.file_list)); + dataset = obj.pybis.new_dataset(pyargs('type', a.type, 'sample', a.object, ... + 'files', a.file_list, 'props', a.properties)); dataset.save(); end