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)
