kronos-pipeliner 2.3.0
A workflow assembler for genome analytics and informatics
License: MIT
Keywords: pipeline workflow bioinformatics kronos

======
Kronos
======

``kronos`` is a software tool for automating reproducible, auditable and distributable bioinformatics workflow development.
It obviates explicit coding for workflow development to a great extent by compiling a text configuration file into an executable Python scripts. 

Dependencies
^^^^^^^^^^^^

- `ruffus == 2.4.1 <http://www.ruffus.org.uk/>`_
- `PyYaml >= 3.11  <http://pyyaml.org/>`_

Optional Python Libraries
*************************
For running on a cluster using drmaa, i.e. using `-b drmaa`, you will need to install:

- `drmaa-python == 0.7.6 <http://drmaa-python.github.io>`_

Documentation
^^^^^^^^^^^^^
Please refer to kronos `online documentation <http://kronos.readthedocs.org/en/latest/>`_.

Contact
^^^^^^^
email:
Jafar Taghiyar <jafar.taghiyar@gmail.com>

Please report issues in our `kronos google group <https://groups.google.com/forum/#!forum/kronos_pipeliner>`_.

Change log
^^^^^^^^^^^^

2.3.0:

- added a mechanism to update the requirements of the implicit merge via GENERAL section. **Note:** you can switch off the implicit merge and use an explicit merge if you want to specify a particular requirement for only that merge task.
- previously, multiple identical implicit merge tasks could exist in a workflow. In the new version, they are combined into a single merge task that happens only once. 
- added a switch called ``merge`` that defaults to ``True`` in the *run* subsection of each task. If it is set to ``False``, the implicit merging mechanism is switched off for that task and the following warning message is shown when initializing the workflow::

     UserWarning: Implicit merge is off for task <the_task_name>.
     You may have to use an explicit merge task.

- added support for tags in the interval file, *i.e.* an optional tag can be added for each chunk in each line of the interval file that will be used as the suffix for the name of the task corresponding to that chunk. The tags should be added to each line using tab as the separation character, e.g.::

     chunk1	tag1
     chunk2	tag2
     chunk3
     chunk4	tag4

- bug fixes.

2.2.0:

- each task in the configuration file now has its own *requirements* entry in the *run* subsection which takes precedence over the requirements listed in the GENERAL section. This enables users to have different versions of the same requirements for different tasks.
- interval file now takes precedence over the synchronization, i.e. if a task has an interval file, then it will not be synchronized with its predecessors. 
- added support for floating point memory requests.
- made all the merged files to store in a directory called *merge*.
- username and version are automatically added to the config files when using ``make_config`` command.
- added a check to make sure that the input of the implicit merge node is always a list.
- bug fixes.

2.1.0:

- Kronos now uses multithreading instead of multiprocessing.

2.0.4:

- removed the limitation on the number of simultaneous jobs/pipelines.
- added ``--no_prefix`` back to the input options of ``run`` command. 
- minor bug fixes.

2.0.3:

First version released!