code: def _prepare_smoove_bams(full_bams, sr_bams, disc_bams, items, tx_work_dir):
      
      input_dir = utils.safe_makedir(tx_work_dir)
      out = []
      for full, sr, disc, data in zip(full_bams, sr_bams, disc_bams, items):
          if sr and disc:
              new_full = os.path.join(input_dir, "%s.bam" % dd.get_sample_name(data))
              new_sr = os.path.join(input_dir, "%s.split.bam" % dd.get_sample_name(data))
              new_disc = os.path.join(input_dir, "%s.disc.bam" % dd.get_sample_name(data))
              utils.symlink_plus(full, new_full)
              utils.symlink_plus(sr, new_sr)
              utils.symlink_plus(disc, new_disc)
              out.append(new_full)
          else:
              out.append(full)
      return out
docs: Prepare BAMs for smoove, linking in pre-existing split/disc BAMs if present.
  
      Smoove can use pre-existing discordant and split BAMs prepared by samblaster
      if present as $sample.split.bam and $sample.disc.bam.