def manifest_gene_map(manifest, genome_build='NEW'):
    """returns 3 columns from manifest for chromosome/gene mapping. Used in >2 functions.
    genome_build: NEW or OLD"""
    ## sort probes by CHR,MAPINFO
    genome_prefix = 'OLD_' if genome_build == 'OLD' else '' # defaults to NEW, no prefix
    if genome_prefix+'MAPINFO' not in manifest.data_frame.columns:
        raise IndexError(f"{genome_prefix+'MAPINFO'} not in manifest")
    genes = manifest.data_frame[[genome_prefix+'CHR', genome_prefix+'MAPINFO']] # Strand and Genome_Build also available, but not needed.
    genes = genes.rename(columns={genome_prefix+'MAPINFO': 'chromStart', genome_prefix+'CHR': 'chrom'}) # standardize, regardless of genome build used
    genes = genes.astype({'chromStart':float})
    genes['chromEnd'] = genes['chromStart'] + 50 # all probes are 50 base pairs long. Ignoring that strand might affect the direction that each probe extends within genome for now. test then fix.
    return genes