A wrapper for the the entire SomaticSniper sub-graph.

    :param dict tumor_bam: Dict of bam and bai for tumor DNA-Seq
    :param dict normal_bam: Dict of bam and bai for normal DNA-Seq
    :param dict univ_options: Dict of universal options used by almost all tools
    :param dict somaticsniper_options: Options specific to SomaticSniper
    :return: fsID to the merged SomaticSniper calls
    :rtype: toil.fileStore.FileID

def run_somaticsniper_with_merge(job, tumor_bam, normal_bam, univ_options, somaticsniper_options):
    """
    A wrapper for the the entire SomaticSniper sub-graph.

    :param dict tumor_bam: Dict of bam and bai for tumor DNA-Seq
    :param dict normal_bam: Dict of bam and bai for normal DNA-Seq
    :param dict univ_options: Dict of universal options used by almost all tools
    :param dict somaticsniper_options: Options specific to SomaticSniper
    :return: fsID to the merged SomaticSniper calls
    :rtype: toil.fileStore.FileID
    """
    spawn = job.wrapJobFn(run_somaticsniper, tumor_bam, normal_bam, univ_options,
                          somaticsniper_options, split=False).encapsulate()
    job.addChild(spawn)
    return spawn.rv()