Unix system requirements, conventions, and installation

System requirements

This toolkit is designed to run on generic Unix-compatible systems. Most of our non-MacOS Unix testing is done on Ubuntu or CentOS Linux. (Below, we provide some somewhat dated instructions specific to Ubuntu 9.10.) Note: as of 2.0, Cygwin is no longer supported, because Python in Cygwin does not include sqlite bindings, which are now required for MAT workspaces.

This toolkit depends on a number of external tools which must be installed before you install MAT. For the Unix version, they are:

Conventions

MAT is primarily a Unix-based tool, so many of the conventions used here will come from Unix.

We'll show command lines in fixed-width type, in boldface; the system output in response will be in normal face:

% pwd
/home/user/Desktop

Throughout the documentation, we'll refer to the location of the MAT source tree as the variable MAT_PKG_HOME, as in the following command:

% cd $MAT_PKG_HOME

If you received this distribution as a tar or a zip file, MAT_PKG_HOME is the directory src/MAT inside the unpacked zip file. If you received this distribution in any other way, check the toplevel README.

All command lines in this documentation are Unix command lines, unless otherwise indicated. The Unix shell assumed is bash. To set the MAT_PKG_HOME variable, do this:

% export MAT_PKG_HOME=<dir>

where <dir> is the appropriate value for MAT_PKG_HOME.

In some cases, you'll see a backslash followed immediately by a line break in command-line examples:

% bin/MATEngine --task 'Named Entity' --workflow Demo --steps 'zone,tokenize' \
--input_file $PWD/sample/ne/resources/data/raw/voa2.txt --input_file_type raw \
--output_file ./voa2_txt.json --output_file_type mat-json

These backslashes and line breaks are not required parts of the command line; they're present simply to enable us to present the command line in a reasonable width. If you type them in the bash shell, they'll work just fine; you'll get a continuation prompt (">") and you can keep typing. But you can omit them.

MAT may be installed in directories whose paths contain spaces. If you do this, you'll likely have to wrap double-quotes around any references to MAT_PKG_HOME or subdirectories thereof:

% cd "$MAT_PKG_HOME"
% ls "$PWD"

If you don't do this, you'll likely encounter bizarre behavior due to the path being expanded and split into command-line tokens according to the whitespace in the path.

Installation of full application

A clean Ubuntu 9.10 installation is missing a number of packages, which someone suitably knowledgeable should install using the Synaptic package manager. Those packages are:

Once these packages are installed, you should unzip the distribution (you must have already done that to read this). Assume <toolkit_dir> is the root directory of the distribution. For Python 2:

% cd <toolkit_dir>
% ./install.sh

or, if you don't want to use the executable named python in your path:

% cd <toolkit_dir>
% /<path>/<to>/python ./install.py

For Python 3:

% cd <toolkit_dir>
% ./install3.sh

or, if you don't want to use the executable named python3 in your path:

% cd <toolkit_dir>
% /<path>/<to>/python3 ./install.py

During the installation, you might be prompted for various paths and locations which the toolkit requires.

When the installation is complete, your runtime environment will be configured for you. If you want to do something fancy during your installation (e.g., use your own settings file, or store the task plugin record outside your installation), see install.py.

Installation of core Python library via pip

As of MAT 3.3, the core of MAT can also be distributed as a pip-compatible Python library. This library contains the core MAT APIs, but lacks the Web server, the jCarafe engine, the documentation, and the command-line tools. Its sole dependency, a library implementing the Kuhn-Munkres bipartite set alignment algorithm, is installed as a dependency when the pip module is installed (and is only needed for the pairer/scorer).

Upgrading dependencies, changing the configuration, or moving the installation

While it is possible to override MAT's runtime environment using environment variables, it's not recommended. So you may have to do something special if you want to change your installation in any way.