code: def read_key(pysam_alignment_record):
      '''
      Given a `pysam.AlignedSegment` instance, return the attributes identifying
      the *read* it comes from (not the alignment). There may be more than one
      alignment for a read, e.g. chimeric and secondary alignments.
      '''
      return (
          pysam_alignment_record.query_name,
          pysam_alignment_record.is_duplicate,
          pysam_alignment_record.is_read1,
          pysam_alignment_record.is_read2,
      f read_key(pysam_alignment_record):
      '''
      Given a `pysam.AlignedSegment` instance, return the attributes identifying
      the *read* it comes from (not the alignment). There may be more than one
      alignment for a read, e.g. chimeric and secondary alignments.
      '''
      return (
          pysam_alignment_record.query_name,
          pysam_alignment_record.is_duplicate,
          pysam_alignment_record.is_read1,
          pysam_alignment_record.is_read2,
      )
docs: Given a `pysam.AlignedSegment` instance, return the attributes identifying
      the *read* it comes from (not the alignment). There may be more than one
      alignment for a read, e.g. chimeric and secondary alignments.