code: def get_split_discordants(data, work_dir):
      
      align_bam = dd.get_align_bam(data)
      sr_bam, disc_bam = find_existing_split_discordants(data)
      if not sr_bam:
          work_dir = (work_dir if not os.access(os.path.dirname(align_bam), os.W_OK | os.X_OK)
                      else os.path.dirname(align_bam))
          sr_bam, disc_bam = _extract_split_and_discordants(align_bam, work_dir, data)
      return sr_bam, disc_bam
docs: Retrieve split and discordant reads, potentially calculating with extract_sv_reads as needed.