code: def get_gatk_annotations(config, include_depth=True, include_baseqranksum=True,
                           gatk_input=True):
      
      broad_runner = broad.runner_from_config(config)
      anns = ["MappingQualityRankSumTest", "MappingQualityZero",
              "QualByDepth", "ReadPosRankSumTest", "RMSMappingQuality"]
      if include_baseqranksum:
          anns += ["BaseQualityRankSumTest"]
      # Some annotations not working correctly with external datasets and GATK 3
      if gatk_input or broad_runner.gatk_type() == "gatk4":
          anns += ["FisherStrand"]
      if broad_runner.gatk_type() == "gatk4":
          anns += ["MappingQuality"]
      else:
          anns += ["GCContent", "HaplotypeScore", "HomopolymerRun"]
      if include_depth:
          anns += ["DepthPerAlleleBySample"]
          if broad_runner.gatk_type() in ["restricted", "gatk4"]:
              anns += ["Coverage"]
          else:
              anns += ["DepthOfCoverage"]
      return anns
docs: Retrieve annotations to use for GATK VariantAnnotator.
  
      If include_depth is false, we'll skip annotating DP. Since GATK downsamples
      this will undercount on high depth sequencing and the standard outputs
      from the original callers may be preferable.
  
      BaseQRankSum can cause issues with some MuTect2 and other runs, so we
      provide option to skip it.