code: def variant_filtration(call_file, ref_file, vrn_files, data, items):
      
      caller = data["config"]["algorithm"].get("variantcaller")
      if "gvcf" not in dd.get_tools_on(data):
          call_file = ploidy.filter_vcf_by_sex(call_file, items)
      if caller in ["freebayes"]:
          return vfilter.freebayes(call_file, ref_file, vrn_files, data)
      elif caller in ["platypus"]:
          return vfilter.platypus(call_file, data)
      elif caller in ["samtools"]:
          return vfilter.samtools(call_file, data)
      elif caller in ["gatk", "gatk-haplotype", "haplotyper"]:
          if dd.get_analysis(data).lower().find("rna-seq") >= 0:
              from bcbio.rnaseq import variation as rnaseq_variation
              return rnaseq_variation.gatk_filter_rnaseq(call_file, data)
          else:
              return gatkfilter.run(call_file, ref_file, vrn_files, data)
      # no additional filtration for callers that filter as part of call process
      else:
          return call_file
docs: Filter variant calls using Variant Quality Score Recalibration.
  
      Newer GATK with Haplotype calling has combined SNP/indel filtering.