-
Notifications
You must be signed in to change notification settings - Fork 2
/
Snakefile.references
42 lines (35 loc) · 1.28 KB
/
Snakefile.references
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
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
References
"""
localrules: download_references
rule download_references:
input:
ancient("refs/")
output:
"refs/download/Homo_sapiens_UCSC_hg19.tar.gz"
shell:
"mkdir -p refs/download && "
"wget -O {output} ftp://igenome:[email protected]/Homo_sapiens/UCSC/hg19/Homo_sapiens_UCSC_hg19.tar.gz"
''' unzipping the human genome, renaming the files, and removing the extra '''
rule unzipping_references:
input:
"refs/download/Homo_sapiens_UCSC_hg19.tar.gz"
output:
expand(config['bt2idx'] + ".{i}.bt2", i = range(1, 5)),
expand(config['bt2idx'] + ".rev.{i}.bt2", i = range(1, 3)),
expand(config['bt2idx'] + ".fa")
threads: snakemake.utils.available_cpu_count()
params:
outdir = "refs/download/"
conda:
"envs/references.yaml"
shell: """
tar --use-compress-program=pigz -C {params.outdir} -xf {input} &&
for f in {params.outdir}/Homo_sapiens/UCSC/hg19/Sequence/Bowtie2Index/*.bt2; do
ext=${{f#*.}} && mv $f {config[bt2idx]}.${{ext}}
done &&
mv {params.outdir}/Homo_sapiens/UCSC/hg19/Sequence/WholeGenomeFasta/genome.fa {config[bt2idx]}.fa &&
rm -rf {params.outdir}/Homo_sapiens/
"""