code: def _freebayes_custom(in_file, ref_file, data):
      
      if vcfutils.get_paired_phenotype(data):
          return None
      config = data["config"]
      bv_ver = programs.get_version("bcbio_variation", config=config)
      if LooseVersion(bv_ver) < LooseVersion("0.1.1"):
          return None
      out_file = "%s-filter%s" % os.path.splitext(in_file)
      if not utils.file_exists(out_file):
          tmp_dir = utils.safe_makedir(os.path.join(os.path.dirname(in_file), "tmp"))
          resources = config_utils.get_resources("bcbio_variation", config)
          jvm_opts = resources.get("jvm_opts", ["-Xms750m", "-Xmx2g"])
          java_args = ["-Djava.io.tmpdir=%s" % tmp_dir]
          cmd = ["bcbio-variation"] + jvm_opts + java_args + \
                ["variant-filter", "freebayes", in_file, ref_file]
          do.run(cmd, "Custom FreeBayes filtering using bcbio.variation")
      return out_file
docs: Custom FreeBayes filtering using bcbio.variation, tuned to human NA12878 results.
  
      Experimental: for testing new methods.