<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _validate_caller_vcf(call_vcf, truth_vcf, callable_bed, svcaller, work_dir, data):
 """Validate a caller VCF against truth within callable regions using SURVIVOR. Combines files with SURIVOR merge and counts (https://github.com/fritzsedlazeck/SURVIVOR/) """

    stats = _calculate_comparison_stats(truth_vcf)
    call_vcf = _prep_vcf(call_vcf, callable_bed, dd.get_sample_name(data), dd.get_sample_name(data),
                         stats, work_dir, data)
    truth_vcf = _prep_vcf(truth_vcf, callable_bed, vcfutils.get_samples(truth_vcf)[0],
                          "%s-truth" % dd.get_sample_name(data), stats, work_dir, data)
    cmp_vcf = _survivor_merge(call_vcf, truth_vcf, stats, work_dir, data)
    return _comparison_stats_from_merge(cmp_vcf, stats, svcaller, data)