|Perl module documentation|
Configuration for all the modules is handled by a single class, which generates a Config::YAML object that is then imported into each module that needs it. Documentation on configuration options is available here:
The actual configuration file to be used can be set by editing the installed version of this module ("site config"); alternatively the Config.yml file included with the Tab2MAGE package may be edited directly ("module config"). For convenience, the configuration system will also look for a file named ".tab2mage.conf" in the user's home directory and use that if found ("user config"). All found configuration files are parsed, with priority for each specified option running in this order: user config; site config; module config.
The following modules provide a series of miscellaneous functions used by many of the package subsystems:
The core MAGE-TAB parsing subsystem consists of the following modules:
The Experiment Checker subsystem consists of a core ExperimentChecker class which is subclassed to provide support for MAGE-TAB, Tab2MAGE, MIAMExpress or stand-alone checks:
The following helper modules provide functions used by these checker modules:
The core data file parsing subsystem consists of a main Datafile class, a Parser class to handle MAGE-ML generation, and helper classes to handle quantitation type and array design information:
Affymetrix data files are handled as special cases throughout the Datafile subsystem. The following modules provide comprehensive support for reading most commonly-used Affymetrix gene expression, SNP, and resequencing data files:
Limited support is provided for visualizing the experiment design graphs represented by MAGE-TAB and Tab2MAGE documents. For more detailed visualization of MAGE-ML documents, the MAGE-ML Visualize script is recommended.
Due to their increasingly large size, generating full MAGE-ML documents for the array designs in use today often taxes the resources of the average desktop computer. The ArrayMAGE modules were created to remove the memory and CPU overhead of this process, allowing them to support arbitrarily large array designs:
A data submissions tracking database subsystem is included in the Tab2MAGE package. This database drives the main ArrayExpress MAGE-TAB and Tab2MAGE submissions web pages, the automated checking of submitted experiments and export to MAGE-ML, and automated import of data from NCBI GEO (see the GEOImport package). It also provides back-end support for data quality metrics calculation against the full ArrayExpress database.
Tab2MAGE spreadsheet parsing is documented, albeit sparsely, here: