code: def report(self, align_bam, ref_file, is_paired, bait_file, target_file,
                 variant_region_file, config):
          
          dup_metrics = self._get_current_dup_metrics(align_bam)
          align_metrics = self._collect_align_metrics(align_bam, ref_file)
          # Prefer the GC metrics in FastQC instead of Picard
          # gc_graph, gc_metrics = self._gc_bias(align_bam, ref_file)
          gc_graph = None
          insert_graph, insert_metrics, hybrid_metrics = (None, None, None)
          if is_paired:
              insert_graph, insert_metrics = self._insert_sizes(align_bam)
          if bait_file and target_file:
              assert os.path.exists(bait_file), (bait_file, "does not exist!")
              assert os.path.exists(target_file), (target_file, "does not exist!")
              hybrid_metrics = self._hybrid_select_metrics(align_bam,
                                                           bait_file, target_file)
          elif (variant_region_file and
                config["algorithm"].get("coverage_interval", "").lower() in ["exome"]):
              assert os.path.exists(variant_region_file), (variant_region_file, "does not exist")
              hybrid_metrics = self._hybrid_select_metrics(
                  align_bam, variant_region_file, variant_region_file)
  
          vrn_vals = self._variant_eval_metrics(align_bam)
          summary_info = self._parser.get_summary_metrics(align_metrics,
                  dup_metrics, insert_metrics, hybrid_metrics,
                  vrn_vals)
          graphs = []
          if gc_graph and os.path.exists(gc_graph):
              graphs.append((gc_graph, "Distribution of GC content across reads"))
          if insert_graph and os.path.exists(insert_graph):
              graphs.append((insert_graph, "Distribution of paired end insert sizes"))
          return summary_info, graphs
docs: Produce report metrics using Picard with sorted aligned BAM file.