Creat the final summary file containing plate bias results.

    :param results: the list of all the significant results.
    :param maf: the minor allele frequency of the significant results.
    :param prefix: the prefix of all the files.

    :type results: list
    :type maf: dict
    :type prefix: str

def createSummaryFile(results, maf, prefix):
    """Creat the final summary file containing plate bias results.

    :param results: the list of all the significant results.
    :param maf: the minor allele frequency of the significant results.
    :param prefix: the prefix of all the files.

    :type results: list
    :type maf: dict
    :type prefix: str

    """
    o_filename = prefix + ".significant_SNPs.summary"
    try:
        with open(o_filename, "w") as o_file:
            print >>o_file, "\t".join(("chrom", "pos", "name", "maf", "p",
                                       "odds", "plate"))
            for row in results:
                print >>o_file, "\t".join((
                    row.chrom,
                    row.pos,
                    row.name,
                    maf.get(row.name, "N/A"),
                    row.p,
                    row.odds,
                    row.plate,
                ))

    except IOError:
        msg = "{}: cannot write file".format(o_filename)
        raise ProgramError(msg)