MultiRun is organized to be a stand-alone
Matlab Package,
primarily to give access to the HashedRun class and modelMultiRun method.
The directory structure of the MultiRun project look something like this:
MultiRun
└── +MultiRun
├── +config
├── +quality
├── +lib
│ ├── +allcomb
│ ├── +glazer
│ ├── +padlock
│ └── +wordplay
└── @HashedRun+MultiRun: The MultiRun package directory, everything under this folder is part of the MultiRun package+quality: Contains methods for reading mmodel-quality daty from the output of DEBaM and DETIM.+config: Contains implementation-specific data for MultiRun, currently an enumeration containing error codes used is the only member of this subpackage.+lib: Contains libraries/subpackages used by MultiRun. These packages are not properly parts of MutiRun, and are (usually) independently maintained. These should not be edited directly, but updated from their respective distributions (more on this later)@HashedRun: Object folder containing theHashedRunobject description.
MultiRun makes use of several subpackages, locates in the +lib subdirectory,
These are all copyright their respective owners. If you're running into trouble,
and suspect the issue is with one of these subpackages, a good first step is to check
that package's webpage, and see if a newer version has been released.
Due to the way that Matlab's packaging and import system works (as of 2011), updating sublibraries is a pain. Any self-referencing done within packages must be modified to reference the subpackage of MultiRun.
This is far from ideal, If anyone has a better way of doing this, their input is much appreciated.
Glazer references itself in the function degreeToMaps,
in MultiRun, this reference must be changed, so that MultiRun's
copy of Glazer points at itself (and not another version,
perhaps installed to the Matlab path). The difference between the two files
is:
--- matlab_glazer/+glazer/degreeToMaps.m
+++ matlab_MultiRun/+MultiRun/+lib/+glazer/degreeToMaps.m
@@ -21,7 +21,7 @@ function c = degreeToMaps(s)
%
- eg = glazer.EntryGetter(s);
+ eg = MultiRun.lib.glazer.EntryGetter(s);
c = containers.Map();+allcombv3.0: Generates all combinations of inputs. By Jos.+glazerv0.0.3: Reads DEBAM/DETiMinput.txtfiles into Matlabcontainers.Mapsobjects. By Lyman Gillispie.+padlockv0.0.4: A lock/status file library, MultiRun uses this to indicate runstatus on the filesystem. By Lyman Gillispie.+wordplayv0.0.4: Key-value option parser. Used to parse the parameter-value pairs inmodelMultiRun. By Lyman Gillispie.DataHash.m27 Jun 2012: Matlab checksum library, used to access Java's SHA-1 routines. Written by Jan Simon.