---
name: "kmc_tools-complex"
section: "1"
platform: "linux"
package: "kmc"
version: "3.2.4+dfsg-1+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/kmc_tools-complex"
---

# kmc\_tools-complex(1)

complex operations with a number of input databases

## 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.
