Skip to content

Commit 57c07c2

Browse files
committed
Add memory requirement to DNA alignment (resolves #278)
resolves #278
1 parent 6f71966 commit 57c07c2

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

src/protect/alignment/dna.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,25 +65,35 @@ def align_dna(job, fastqs, sample_type, univ_options, bwa_options):
6565
+- '<sample_type>_fix_pg_sorted.bam.bai': fsID
6666
:rtype: dict
6767
"""
68+
# The mkdup and regroup steps use picard that allots heap space using the Xmx key in the
69+
# univ_options dictionary. This should reflect in the job allotment. Since We want all these
70+
# jobs to occur on the same node, we ened to give them all the same memory requirements.
71+
6872
bwa = job.wrapJobFn(run_bwa, fastqs, sample_type, univ_options, bwa_options,
6973
disk=PromisedRequirement(bwa_disk, fastqs, bwa_options['index']),
74+
memory=univ_options['java_Xmx'],
7075
cores=bwa_options['n'])
7176
sam2bam = job.wrapJobFn(bam_conversion, bwa.rv(), sample_type, univ_options,
7277
bwa_options['samtools'],
73-
disk=PromisedRequirement(sam2bam_disk, bwa.rv()))
78+
disk=PromisedRequirement(sam2bam_disk, bwa.rv()),
79+
memory=univ_options['java_Xmx'])
7480
# reheader takes the same disk as sam2bam so we can serialize this on the same worker.
7581
reheader = job.wrapJobFn(fix_bam_header, sam2bam.rv(), sample_type, univ_options,
7682
bwa_options['samtools'],
77-
disk=PromisedRequirement(sam2bam_disk, bwa.rv()))
83+
disk=PromisedRequirement(sam2bam_disk, bwa.rv()),
84+
memory=univ_options['java_Xmx'])
7885
regroup = job.wrapJobFn(add_readgroups, reheader.rv(), sample_type, univ_options,
7986
bwa_options['picard'],
80-
disk=PromisedRequirement(regroup_disk, reheader.rv()))
87+
disk=PromisedRequirement(regroup_disk, reheader.rv()),
88+
memory=univ_options['java_Xmx'])
8189
mkdup = job.wrapJobFn(mark_duplicates, regroup.rv(), sample_type, univ_options,
8290
bwa_options['picard'],
83-
disk=PromisedRequirement(mkdup_disk, regroup.rv()))
91+
disk=PromisedRequirement(mkdup_disk, regroup.rv()),
92+
memory=univ_options['java_Xmx'])
8493
index = job.wrapJobFn(index_bamfile, mkdup.rv(), sample_type, univ_options,
8594
bwa_options['samtools'], sample_info='fix_pg_sorted',
86-
disk=PromisedRequirement(index_disk, mkdup.rv()))
95+
disk=PromisedRequirement(index_disk, mkdup.rv()),
96+
memory=univ_options['java_Xmx'])
8797
job.addChild(bwa)
8898
bwa.addChild(sam2bam)
8999
sam2bam.addChild(reheader)

0 commit comments

Comments
 (0)