The ``data/`` directory contains test data provided by the Selectome_
project.

.. _Selectome: http://selectome.unil.ch/


Testing ``gcodeml``
===================

The ``gcodeml`` application will scan its arguments for files with the
``.H0.ctl`` or ``.H1.ctl`` extension.  The auxliary files are located
by parsing the ``.ctl`` file.

Therefore, to run a test of ``gcodeml`` it is sufficient to provide
the path to a directory containing some ``.ctl`` files.  Two such
directories are provided here:

* ``data/small_flat``: a directory containing 4 files, resulting in a
  single CODEML job being submitted.  The whole job runs for about 25
  minutes.
* ``data/midsize_hierarchical``: this contains 4 different
  directories, grouped in a 2-level hierarchy; 4 CODEML jobs should be
  submitted when this directory is fed to ``gcodeml`` as input.

Invocation of ``gcodeml`` follows the usual session-based script
conventions::

    gcodeml -s TEST_SESSION_NAME -C 120 -vvv data/small_flat

Like all session-based scripts, ``gcodeml`` starts with a status
report like this one::

    Status of jobs in the 'XXX' session: (at 13:08:08, 02/28/12)
            NEW   0/1    (0.0%)  
        RUNNING   0/1    (0.0%)  
        STOPPED   0/1    (0.0%)  
      SUBMITTED   1/1   (100.0%) 
     TERMINATED   0/1    (0.0%)  
    TERMINATING   0/1    (0.0%)  
          total   1/1   (100.0%) 

See above for the number of jobs generated by each directory.
 
The processing ends when TERMINATED has reached 100% jobs.

When all the jobs are done, each input *directory* will contain
an ``.out`` directory, with the following content:

* An ``.mlc`` file for each ``.ctl`` file that was sent in the
  output.  This file contains the CODEML processing log and results.
  The file indicates successful processing if its last line says:
  "Time used: HH:MM".  (The ``gcodeml`` code already checks this, so
  the ok/failed state of a job correctly reflects its success/failure
  status.) 
* Files ``codeml.stdout.txt`` and ``codeml.stderr.txt`` with the
  obvious meanings.
