Retrieve appropriate annotations to use for VQSR based on filter type.

    Issues reported with MQ and bwa-mem quality distribution, results in intermittent
    failures to use VQSR:
    http://gatkforums.broadinstitute.org/discussion/4425/variant-recalibration-failing
    http://gatkforums.broadinstitute.org/discussion/4248/variantrecalibrator-removing-all-snps-from-the-training-set

def _get_vqsr_annotations(filter_type, data):
    """Retrieve appropriate annotations to use for VQSR based on filter type.

    Issues reported with MQ and bwa-mem quality distribution, results in intermittent
    failures to use VQSR:
    http://gatkforums.broadinstitute.org/discussion/4425/variant-recalibration-failing
    http://gatkforums.broadinstitute.org/discussion/4248/variantrecalibrator-removing-all-snps-from-the-training-set
    """
    if filter_type == "SNP":
        # MQ, MQRankSum
        anns = ["QD", "FS", "ReadPosRankSum", "SOR"]
    else:
        assert filter_type == "INDEL"
        # MQRankSum
        anns = ["QD", "FS", "ReadPosRankSum", "SOR"]
    if dd.get_coverage_interval(data) == "genome":
        anns += ["DP"]
    return anns