<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def reads_overlapping_variants(variants, samfile, **kwargs):
 """ Generates sequence of tuples, each containing a variant paired with a list of AlleleRead objects. Parameters variants : varcode.VariantCollection samfile : pysam.AlignmentFile use_duplicate_reads : bool Should we use reads that have been marked as PCR duplicates use_secondary_alignments : bool Should we use reads at locations other than their best alignment min_mapping_quality : int Drop reads below this mapping quality """

    chromosome_names = set(samfile.references)
    for variant in variants:
        # I imagine the conversation went like this:
        # A: "Hey, I have an awesome idea"
        # B: "What's up?"
        # A: "Let's make two nearly identical reference genomes"
        # B: "But...that sounds like it might confuse people."
        # A: "Nah, it's cool, we'll give the chromosomes different prefixes!"
        # B: "OK, sounds like a good idea."
        if variant.contig in chromosome_names:
            chromosome = variant.contig
        elif "chr" + variant.contig in chromosome_names:
            chromosome = "chr" + variant.contig
        else:
            logger.warn(
                "Chromosome '%s' from variant %s not in alignment file %s",
                chromosome,
                variant,
                samfile.filename)
            yield variant, []
            continue
        allele_reads = reads_overlapping_variant(
            samfile=samfile,
            chromosome=chromosome,
            variant=variant,
            **kwargs)
        yield variant, allele_reads