-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.nf
52 lines (41 loc) · 1019 Bytes
/
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
params.assemblies = ""
process BUILD_DATABASE {
input:
tuple val(assemblyName), path(assembly)
output:
tuple val(assemblyName), path("${assemblyName}.*")
"""
BuildDatabase -name $assemblyName $assembly
"""
}
process REPEAT_MODELER {
input:
tuple val(dbName), path(db)
output:
tuple val(dbName), path("${dbName}-families.fa")
"""
RepeatModeler -threads $task.cpus -database $dbName -quick
"""
}
process REPEAT_MASKER {
input:
tuple val(dbName), path(assembly), path(families)
output:
path("${dbName}.fa.*")
"""
RepeatMasker \
-pa ${task.cpus.intdiv(4)} \
-lib $families \
-xsmall \
$assembly
"""
}
workflow {
Channel.fromPath(params.assemblies)
.map { tuple(it.baseName, it) }
.set { assemblies }
REPEAT_MODELER(BUILD_DATABASE(assemblies))
REPEAT_MASKER(assemblies.join(REPEAT_MODELER.out))
}