---
# System prepended metadata

title: 'Pipeline proposal: nf-core/createmetagenomicdb'
tags: [pipeline-proposals]

---

---
title: "Pipeline proposal: nf-core/createtaxdb"
tags: pipeline-proposals,createtaxdb
---

# Pipeline proposal: nf-core/createmetagenomicdb

## Pipeline title/name

nf-core/createmetagenomicdb
nf-core/createtaxdbs

## What is it about?

Automated creation of databases for multiple taxonomic or functional metagenomic classifiers or profilers, from a set of FASTA files, including helper preprocessing steps (redundancy reduction etc.). 

## Pipeline Diagram


```mermaid
%%{ init : { "themeVariables": { "lineColor": "#24B064" },"flowchart" : { "curve" : "linear" }}}%%

flowchart LR

    %% Styling
    classDef tool fill:#FFF,stroke:#000,stroke-width:4px,color:black;
    classDef input justification:left

    %% Nodes
    input1["Directories of FASTA files (one directory per database)"]
    dbkmcp[KMCP Databases]
    dbkraken2[Kraken2 Databases]
    dbbracken[Bracken Databases]
    dbkrakenuniq[KrakenUniq Databases]
    dbmalt[MALT Databases]
    dbdiamond[DIAMOND Databases]
    dbcentrifuge[Centrifuge Databases]
    dbkaiju[Kaiju Databases]
    
    taxonomy[Taxonomy]

    taxpick([Species representative picker]):::tool
    derep([Galah]):::tool

    kmcp([KCMP]):::tool
    kraken2([Kraken2]):::tool
    bracken([Bracken]):::tool
    krakenuniq([KrakenUniq]):::tool
    malt([MALT]):::tool
    diamond([DIAMOND]):::tool
    centrifuge([Centrifuge]):::tool
    kaiju([Kaiju]):::tool

    tar([tar]):::tool
    
    gettax([Downloaded Taxonomy]):::tool

    b1([ ])
    b2([ ])
    b3([ ])
    b4([ ])

    %% Edges

    input1 === b1

    b1 -.- derep
    b1 -.- taxpick

    taxonomy === taxpick
    taxonomy === b2

    subgraph "Genome redundency reduction (optional)"

        derep -.- b2
        taxpick -.- b2
    end

    b1 === b2
    
    b1 -.- gettax 
    gettax -.- b2

    b2 === kmcp
    b2 === kraken2
    b2 === bracken
    b2 === krakenuniq
    b2 === malt
    b2 === diamond
    b2 === centrifuge
    b2 === kaiju

    kmcp === b3
    kraken2 === b3
    bracken === b3
    krakenuniq === b3
    malt === b3
    diamond === b3
    centrifuge === b3
    kaiju === b3

    subgraph "Database compression"
        b3 -.- tar
        tar -.- b4
        b3 === b4
    end

    b4 === dbkmcp
    b4 === dbkraken2
    b4 === dbbracken
    b4 === dbkrakenuniq
    b4 === dbmalt
    b4 === dbdiamond
    b4 === dbcentrifuge
    b4 === dbkaiju

```

## Why do we need a new pipeline?

nf-core/taxprofiler already assists the metagenomics community navigate the many classification tools out there. However deciding which database to use is equally important. Depending on the tool this can consist of one to multiple steps to create the tool's database files.

We propose this pipeline as a complement to nf-core/taxprofiler, but could be used for people who use other metagenomic piplines or even just using metagenomic classification tools.

## Who would be interested?

Anyone working in metagenomics, and would like assistance in building custom databases.

## What is done so far

Most database creation modules have been created in the context of preparing test data for the classifier modules in nf-core/taxprofiler

## URL to existing work, if applicable (optional)

NA

## Are there any similar existing nf-core pipelines?

No