Source code for iCallSV.launch_FilterDellyCalls

"""
launch_FilterDellyCalls
~~~~~~~~~~~~~~~~~~~~~~~

:Description: This module will filter delly results and create filtered delly vcf files
"""
'''
Created on November 20, 2015
Description: This module will filter delly results and create filtered delly vcf files
@author: Ronak H Shah
::Inputs::
args: Arguments passed to iCallSV
config: configuration file passed to iCallSV
sampleOutdirForDelly: Output directory for delly vcf files.
del_vcf: Path to deletion based vcf file
dup_vcf: Path to duplication based vcf file
inv_vcf: Path to inversion based vcf file
tra_vcf: Path to translocation based vcf file
ins_vcf: Path to insertion based vcf file
'''

import os
import logging
import FilterDellyCalls as fdc
import multiprocessing as mp
import coloredlogs

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

[docs]def launch_filterdellycalls_for_different_analysis_type( args, config, sampleOutdirForDelly, del_vcf, dup_vcf, inv_vcf, tra_vcf): """ This will launch the filtering of delly calls in parallel. :param Namespace args: Namespace of args to get other variables :param Namespace config: configuration file passed to iCallSV :param str sampleOutdirForDelly: Output directory for delly vcf files. :param str del_vcf: Path to deletion based vcf file :param str dup_vcf: Path to duplication based vcf file :param str inv_vcf: Path to inversion based vcf file :param str tra_vcf: Path to translocation based vcf file :return: Multiple objects :rtype: list """ verbose = args.verbose fileType = [del_vcf, dup_vcf, inv_vcf, tra_vcf] pool = mp.Pool(processes=4) if(verbose): logger.info( "launch_FilterDellyCalls: Launched FilterDellyCalls for Deletion, Duplication, Inversion and Translocation Events") results = [pool.apply_async(fdc.run, args=( x, sampleOutdirForDelly, args.controlId, args.caseId, config.get("HotSpotRegions", "HotspotFile"), config.get("BlackListRegions", "BlackListFile"), int(config.get("ParametersToFilterDellyResults", "LengthOfSV")), int(config.get("ParametersToFilterDellyResults", "OverallMapq")), int(config.get("ParametersToFilterDellyResults", "OverallMapqHotspot")), float(config.get("ParametersToFilterDellyResults", "CaseAltFreqHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseCoverageHotspot")), float(config.get("ParametersToFilterDellyResults", "ControlAltFreqHotspot")), float(config.get("ParametersToFilterDellyResults", "CaseAltFreq")), int(config.get("ParametersToFilterDellyResults", "CaseCoverage")), float(config.get("ParametersToFilterDellyResults", "ControlAltFreq")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReadsHotspot")), verbose)) for x in fileType] output = [p.get() for p in results] filter_del_vcf, filter_dup_vcf, filter_inv_vcf, filter_tra_vcf = output return(filter_del_vcf, filter_dup_vcf, filter_inv_vcf, filter_tra_vcf)
''' # Run Delly for Deletion if(verbose): logger.info("launch_Run_Delly: Launched Delly for Deletion Events") filter_del_vcf = os.path.splitext(os.path.basename(del_vcf))[0] + "_filtered.vcf" filter_dup_vcf = os.path.splitext(os.path.basename(dup_vcf))[0] + "_filtered.vcf" filter_del_vcf = fdc.run( del_vcf, sampleOutdirForDelly, args.controlId, args.caseId, config.get("HotSpotRegions", "HotspotFile"), config.get("BlackListRegions", "BlackListFile"), int(config.get("ParametersToFilterDellyResults", "LengthOfSV")), int(config.get("ParametersToFilterDellyResults", "OverallMapq")), int(config.get("ParametersToFilterDellyResults", "OverallMapqHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReadsHotspot")), verbose) # Run Delly for duplication if(verbose): logger.info("launch_Run_Delly: Launched Delly for Duplication Events") filter_dup_vcf = os.path.splitext(os.path.basename(dup_vcf))[0] + "_filtered.vcf" filter_dup_vcf = fdc.run( dup_vcf, sampleOutdirForDelly, args.controlId, args.caseId, config.get("HotSpotRegions", "HotspotFile"), config.get("BlackListRegions", "BlackListFile"), int(config.get("ParametersToFilterDellyResults", "LengthOfSV")), int(config.get("ParametersToFilterDellyResults", "OverallMapq")), int(config.get("ParametersToFilterDellyResults", "OverallMapqHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReadsHotspot")), verbose) # Run Delly for inversion if(verbose): logger.info("launch_Run_Delly: Launched Delly for Inversion Events") filter_inv_vcf = os.path.splitext(os.path.basename(inv_vcf))[0] + "_filtered.vcf" filter_inv_vcf = fdc.run( inv_vcf, sampleOutdirForDelly, args.controlId, args.caseId, config.get("HotSpotRegions", "HotspotFile"), config.get("BlackListRegions", "BlackListFile"), int(config.get("ParametersToFilterDellyResults", "LengthOfSV")), int(config.get("ParametersToFilterDellyResults", "OverallMapq")), int(config.get("ParametersToFilterDellyResults", "OverallMapqHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReadsHotspot")), verbose) # Run Delly for Translocation if(verbose): logger.info("launch_Run_Delly: Launched Delly for Translocation Envents") filter_tra_vcf=os.path.splitext(os.path.basename(tra_vcf))[0] + "_filtered.vcf" filter_tra_vcf=fdc.run( tra_vcf, sampleOutdirForDelly, args.controlId, args.caseId, config.get("HotSpotRegions", "HotspotFile"), config.get("BlackListRegions", "BlackListFile"), int(config.get("ParametersToFilterDellyResults", "LengthOfSV")), int(config.get("ParametersToFilterDellyResults", "OverallMapq")), int(config.get("ParametersToFilterDellyResults", "OverallMapqHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "OverallSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "CaseSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults", "ControlSupportingSplitReadsHotspot")), verbose) return(filter_del_vcf, filter_dup_vcf, filter_inv_vcf, filter_tra_vcf) # Run Delly for Insertion if(verbose): logger.info("launch_Run_Delly: Launched Delly for Insertion Events") filter_ins_vcf = os.path.splitext(os.path.basename(tra_vcf))[0] + "_filtered.vcf" ins_vcf = fdc.run( ins_vcf, sampleOutdirForDelly, args.controlId, args.caseId, config.get("HotSpotRegions","HotspotFile"), config.get("BlackListRegions","BlackListFile"), int(config.get("ParametersToFilterDellyResults","LengthOfSV")), int(config.get("ParametersToFilterDellyResults","OverallMapq")), int(config.get("ParametersToFilterDellyResults","OverallMapqHotspot")), int(config.get("ParametersToFilterDellyResults","OverallSupportingReads")), int(config.get("ParametersToFilterDellyResults","OverallSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults","OverallSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults","OverallSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults","CaseSupportingReads")), int(config.get("ParametersToFilterDellyResults","CaseSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults","CaseSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults","CaseSupportingSplitReadsHotspot")), int(config.get("ParametersToFilterDellyResults","ControlSupportingReads")), int(config.get("ParametersToFilterDellyResults","ControlSupportingSplitReads")), int(config.get("ParametersToFilterDellyResults","ControlSupportingReadsHotspot")), int(config.get("ParametersToFilterDellyResults","ControlSupportingSplitReadsHotspot")), verbose) '''