Source code for iCallSV.sortbamByReadName

"""
sortbamByReadName
~~~~~~~~~~~~~~~~~

:Description: This module will sort bam file by name
"""
'''
Created on Mar 18, 2015
Description: This module will sort bam file by name
@author: Ronak H Shah
'''

import os
import sys
import pysam
import logging
import coloredlogs

logger = logging.getLogger('iCallSV.sortbamByReadName')
coloredlogs.install(level='DEBUG')

[docs]def sortBam(inputBam, outputBamName, outputDir): logger.info("sortbamByReadName: Trying to sort BAM file by Read Name") if(os.path.isdir(outputDir)): logger.info("sortbamByReadName: The output directory %s exists", outputDir) outputFile = outputDir + "/" + outputBamName else: logger.info("sortbamByReadName: The output directory %s does not exists !!", outputDir) sys.exit() if(os.path.isfile(inputBam)): try: pysam.sort("-n", inputBam, outputFile) except IndexError as err: exception = "Index error({0}): {1}".format(err.errno, err.strerror) logger.info("%s", exception) except IOError as err: exception = "I/O error({0}): {1}".format(err.errno, err.strerror) logger.info("%s", exception) else: logger.info("sortbamByReadName:Bam File %s does not exists !!", inputBam) sys.exit() logger.info("sortbamByReadName: Finished sorting BAM file by Read Name.") return(outputFile)