-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.nf
37 lines (33 loc) · 1.91 KB
/
main.nf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { identify_resistance_genes } from './modules/cluster_plasmids.nf'
include { identify_replicons } from './modules/cluster_plasmids.nf'
include { extract_individual_plasmids } from './modules/cluster_plasmids.nf'
include { bakta } from './modules/cluster_plasmids.nf'
include { sketch_plasmid_db } from './modules/cluster_plasmids.nf'
include { create_mash_distance_matrix } from './modules/cluster_plasmids.nf'
include { find_similar_plasmids } from './modules/cluster_plasmids.nf'
include { remove_duplicates } from './modules/cluster_plasmids.nf'
include { extract_plasmid_pair } from './modules/cluster_plasmids.nf'
include { pairwise_align } from './modules/cluster_plasmids.nf'
include { dotpath } from './modules/cluster_plasmids.nf'
include { dotmatcher } from './modules/cluster_plasmids.nf'
include { evaluate_pairwise_alignment } from './modules/cluster_plasmids.nf'
workflow {
ch_db = Channel.fromPath(params.db)
ch_bakta_db = Channel.fromPath(params.bakta_db)
main:
identify_resistance_genes(ch_db)
identify_replicons(ch_db)
extract_individual_plasmids(ch_db)
bakta(extract_individual_plasmids.out.files.flatten().combine(ch_bakta_db))
sketch_plasmid_db(ch_db)
create_mash_distance_matrix(sketch_plasmid_db.out.combine(extract_individual_plasmids.out.dir))
find_similar_plasmids(create_mash_distance_matrix.out)
remove_duplicates(find_similar_plasmids.out)
extract_plasmid_pair(remove_duplicates.out.splitCsv().map{ it -> [it[0], it[1]] }.combine(ch_db))
pairwise_align(extract_plasmid_pair.out)
dotpath(extract_plasmid_pair.out)
dotmatcher(extract_plasmid_pair.out)
evaluate_pairwise_alignment(pairwise_align.out).collectFile(name: "pairwise_alignment_metrics.csv", storeDir: params.outdir, keepHeader: true)
}