Bio::MAGETAB Documentation
==========================

Introduction
------------

This package contains the core MAGE-TAB Utilities Perl modules. This
is a beta release. All functions have now been implemented and most
have test suites; the exceptions include the modules involved in
export of MAGE-TAB documents, which are still a little experimental in
nature. The API is mostly finalised (and fully documented), but some
details may yet change where necessary to improve usability.

Package Contents
----------------

This package contains the following directories:

inc       Modules used by the installer Makefile.PL script.
lib       The Bio::MAGETAB modules themselves.
scripts   A set of example scripts. Run without options for usage info.
sql       Optional SQL schema for loading data into a MySQL database.
t         Test suite.

Dependencies
------------

Note that MAGE-TAB import, export and visualisation functions are not
provided by this package, but rather by the "magetab-utils" package
available from the main project SourceForge page.

The Bio::MAGETAB module requires at least version 5.8.1 of perl, and
depends on the following perl modules, all available from CPAN
(http://www.cpan.org):

    Moose
    Moose::Policy
    MooseX::Types
    Params::Coerce
    URI
    Date::Manip
    DateTime
    DateTime::Format::DateManip
    Email::Valid
    Parse::RecDescent
    Text::CSV_XS

The following modules are recommended, especially if you wish to use
Bio::MAGETAB with the optional database integration modules or
graph visualization:

    LWP::UserAgent
    Tangram
    DBI
    DBD::SQLite, DBD::mysql or similar
    GraphViz

Scripts
-------

The following example scripts are included in the package:

- read_magetab.pl

    This is the main example script, which can read in a MAGE-TAB
    document (optionally loading it into a local database), and then
    (a) create a graph visualization diagram, and/or (b) round-trip
    the data back into a new set of MAGE-TAB documents.

- deploy_magetab_db.pl

    A script which can deploy the Tangram-based schema to any
    Tangram-supported database engine. Note that the database schema
    generated by Tangram lacks indices or constraints, so performance
    can be poor when using databases generated using this script. For
    serious use with MySQL, the "tangram_with_indices.sql" script in
    the "sql" directory is recommended.

- unload_magetab_namespace.pl

    A simple unloader script to remove MAGE-TAB data which has
    previously been loaded into a database, e.g. by read_magetab.pl

- fix_ae_magetab.pl

    At the time of writing some of the MAGE-TAB documents made
    available by ArrayExpress on their FTP server do not completely
    conform to the MAGE-TAB specification v1.1. This script is
    intended to provide a quick fix for those documents and allow them
    to be read by Bio::MAGETAB.

Contact
-------

Please contact Tim Rayner (tfrayner@gmail.com) with any questions.
