-
Notifications
You must be signed in to change notification settings - Fork 110
/
snpeff_build.nf
58 lines (48 loc) · 1.43 KB
/
snpeff_build.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
53
54
55
56
57
58
process SNPEFF_BUILD {
tag "$fasta"
label 'process_low'
conda "bioconda::snpeff=5.0"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/snpeff:5.0--hdfd78af_1' :
'quay.io/biocontainers/snpeff:5.0--hdfd78af_1' }"
input:
path fasta
path gff
output:
path 'snpeff_db' , emit: db
path '*.config' , emit: config
path "versions.yml", emit: versions
when:
task.ext.when == null || task.ext.when
script:
def basename = fasta.baseName
def avail_mem = 4
if (!task.memory) {
log.info '[snpEff] Available memory not known - defaulting to 4GB. Specify process memory requirements to change this.'
} else {
avail_mem = task.memory.giga
}
"""
mkdir -p snpeff_db/genomes/
cd snpeff_db/genomes/
ln -s ../../$fasta ${basename}.fa
cd ../../
mkdir -p snpeff_db/${basename}/
cd snpeff_db/${basename}/
ln -s ../../$gff genes.gff
cd ../../
echo "${basename}.genome : ${basename}" > snpeff.config
snpEff \\
-Xmx${avail_mem}g \\
build \\
-config snpeff.config \\
-dataDir ./snpeff_db \\
-gff3 \\
-v \\
${basename}
cat <<-END_VERSIONS > versions.yml
"${task.process}":
snpeff: \$(echo \$(snpEff -version 2>&1) | cut -f 2 -d ' ')
END_VERSIONS
"""
}