-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathIndelRealigner.py
More file actions
executable file
·42 lines (37 loc) · 1.61 KB
/
IndelRealigner.py
File metadata and controls
executable file
·42 lines (37 loc) · 1.61 KB
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 python3
from PairedEndCommand import PairedEndCommand
class IndelRealigner(PairedEndCommand):
def __init__(self, *args, **kwargs):
super(IndelRealigner, self).__init__(*args, **kwargs)
self.modules = ["java"]
self.set_default("tmp", "~/tmp")
self.set_default("gatk",
"~/.prog/GenomeAnalysisTK/GenomeAnalysisTK.jar")
self.set_default("reference", "reference.fa")
self.set_default("known", None)
def make_command(self, filename):
def __known_sites():
if self.known:
return "-known {}".format(self.known)
return ""
realigner_targets = self.rebase_file(filename)
realigner_targets = self.replace_extension_with(".intervals",
realigner_targets)
output_bam = self.rebase_file(filename)
command = ("java -Xms{xms} -Xmx{xmx} -Djava.io.tmpdir={tmp} -jar "
"{gatk} -T RealignerTargetCreator -R {ref} -I {inbam} "
"-o {targets} {known} && java -Xms{xms} -Xmx{xmx} "
"-Djava.io.tmpdir={tmp} -jar {gatk} -T IndelRealigner -R "
"{ref} -I {inbam} -targetIntervals {targets} -o {outputb}"
" {known}").format(
xms=self.get_mem(0.95),
xmx=self.get_mem(0.99),
tmp=self.tmp,
gatk=self.gatk,
ref=self.reference,
inbam=filename,
targets=realigner_targets,
outputb=output_bam,
known=__known_sites()
)
return command