= kmc_tools-complex(1)

== NAME

kmc_tools-complex - complex operations with a number of input databases

== SYNOPSIS

kmc_tools complex <operations_definition_file>

== DESCRIPTION

This command executes a combination of operations as defined by <operations_definition_file>. It is text file with following syntax:

     __________________________________________________________________
    |INPUT:                                                            |
    |<input1>=<input1_db_path> [params]                                |
    |<input2>=<input2_db_path> [params]                                |
    |...                                                               |
    |<inputN>=<inputN_db_path> [params]                                |
    |OUTPUT:                                                           |
    |<out_db_path>=<ref_input><oper><ref_input>[<oper><ref_input>[...] |
    |[OUTPUT_PARAMS:                                                 __|
    |<output_params>]                                               |  /
    |                                                               | /
    |_______________________________________________________________|/


== PARAMETERS

  *input1, input2, ..., inputN*::
    names of inputs used to define equation
  *input1_db_path, input2_db_path, ..., inputN_db_path*::
    paths to k-mers sets

For each input there are additional parameters which can be set:

  *-ci<value>*::
    exclude k-mers occurring less than <value> times
  *cx<value>*::
    exclude k-mers occurring more of than <value> times
  *out_db_path*::
    path to output database
  *ref_input*::
    one of input1, input2, ..., inputN
  *oper*::
    one of {*,-,~,+}, which refers to {intersect, kmers_subtract, counters_subtract, union}

Operator '*' has the highest priority. Other operators have equal priorities.
The order of operations can be changed with parentheses.

Output parameters:

  *-ci<value>*::
    exclude k-mers occurring less than <value> times
  *-cx<value>*::
    exclude k-mers occurring more of than <value> times
  *-cs<value>*::
    maximal value of a counter

== EXAMPLE

     __________________________________________________________________
    |INPUT:                                                            |
    |set1 = kmc_o1 -ci5                                                |
    |set2 = kmc_o2                                                     |
    |set3 = kmc_o3 -ci10 -cx100                                      __|
    |OUTPUT:                                                        |  /
    |result = (set3+set1)*set2                                      | /
    |_______________________________________________________________|/

== AUTHOR

KMC was originally written by:

 - Sebastian Deorowicz (sebastian.deorowicz@polsl.pl)

 - Marek Kokot

 - Szymon Grabowski

 - Agnieszka Debudaj-Grabysz

== COPYING

KMC is a free software distributed under GNU GPL3 licence for academic,
research, and commercial use.
