Slightly improved interface to merging utility for multiple bam files

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@757 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
depristo 2009-05-20 12:54:41 +00:00
parent b840dd1320
commit 3b1f84e15b
3 changed files with 14 additions and 8 deletions

View File

@ -13,7 +13,7 @@ bam_ext = '.bam'
if __name__ == "__main__": if __name__ == "__main__":
usage = "usage: %prog [options]" usage = "usage: %prog [options]"
parser = OptionParser(usage=usage) parser = OptionParser(usage=usage)
parser.add_option("-q", "--farm", dest="farm_sub", parser.add_option("-q", "--farm", dest="farmQueue",
type="string", default=None, type="string", default=None,
help="Farm queue to send processing jobs to") help="Farm queue to send processing jobs to")
parser.add_option("-d", "--dir", dest="output_dir", parser.add_option("-d", "--dir", dest="output_dir",
@ -47,8 +47,8 @@ if __name__ == "__main__":
if OPTIONS.ignoreExistingFiles or not os.path.exists(output_filename): if OPTIONS.ignoreExistingFiles or not os.path.exists(output_filename):
cmd = 'java -Xmx4096m -jar ' + MERGE_BIN + ' AS=true SO=coordinate O=' + output_filename + ' VALIDATION_STRINGENCY=SILENT ' + ' I=' + (' I='.join(sources)) cmd = 'java -Xmx4096m -jar ' + MERGE_BIN + ' AS=true SO=coordinate O=' + output_filename + ' VALIDATION_STRINGENCY=SILENT ' + ' I=' + (' I='.join(sources))
print cmd print cmd
farm_commands.cmd(cmd, OPTIONS.farm_sub, output) farm_commands.cmd(cmd, OPTIONS.farmQueue, output)
if OPTIONS.ignoreExistingFiles or not os.path.exists(output_index): if OPTIONS.ignoreExistingFiles or not os.path.exists(output_index):
ValidateGATK.indexBAM(output_filename) ValidateGATK.indexBAM(output_filename, OPTIONS.farmQueue)

View File

@ -6,9 +6,9 @@ import string
defaultCommands = ['CountReads', 'Pileup'] defaultCommands = ['CountReads', 'Pileup']
def indexBAM(reads): def indexBAM(reads, queue=None):
cmd = "samtools index " + reads cmd = "samtools index " + reads
farm_commands.cmd(cmd, None, None) farm_commands.cmd(cmd, queue, None)
def readIntervalFile(file): def readIntervalFile(file):
def notHeaderP(line): def notHeaderP(line):

View File

@ -3,15 +3,21 @@
import os import os
#justPrintCommands = False #justPrintCommands = False
def cmd(cmd_str, farm_queue=False, output_head="", just_print_commands=False, outputFile = None): def cmd(cmd_str, farm_queue=False, output_head=None, just_print_commands=False, outputFile = None):
# if farm_queue is non-False, submits to queue, other # if farm_queue is non-False, submits to queue, other
if farm_queue: if farm_queue:
if outputFile <> None: if outputFile <> None:
farm_stdout = outputFile farm_stdout = outputFile
else: elif output_head <> None:
farm_stdout = output_head+".stdout" farm_stdout = output_head+".stdout"
cmd_str = "bsub -q "+farm_queue+" -o "+farm_stdout+" "+cmd_str #+" TMP_DIR=/wga/scr1/andrewk/tmp" else:
farm_stdout = None
cmd_str = "bsub -q "+farm_queue+" "+cmd_str
if farm_stdout <> None:
cmd_str += " -o " + farm_stdout
print ">>> Farming via "+cmd_str print ">>> Farming via "+cmd_str
else: else:
print ">>> Executing "+cmd_str print ">>> Executing "+cmd_str