def guess_feature_group(feature):
    """Given a feature name, returns a best-guess group name."""
    prefix_list = (
        ('Sha', 'Shadow'),
        ('miRNA', 'miRNA'),
        ('chr', 'mRNA'),
        ('Fir', 'Firmicutes'),
        ('Act', 'Actinobacteria'),
        ('Bac', 'Bacterodetes'),
        ('Pro', 'Proteobacteria'),
        ('Ami', 'Amino Acid'),
        ('Pep', 'Peptide'),
        ('Car', 'Carbohydrate'),
        ('Ene', 'Energy'),
        ('Lip', 'Lipid'),
        ('Nuc', 'Nucleotide'),
        ('Cof', 'Cofactor or Vitamin'),
        ('Xen', 'Xenobiotics'),
        ('Gen', 'Genus OTU'),
        ('MET', 'Metabolite'),
        ('OTU', 'OTU'),
        ('V.K', 'Vaginal Functional'),
        ('F.K', 'Fecal Functional'),
        ('V.G', 'Vaginal Gene'),
        ('F.G', 'Fecal Gene'),
        ('V.', 'Vaginal OTU'),
        ('F.', 'Fecal OTU')
    )
    for prefix, group in prefix_list:
        if feature.startswith(prefix):
            return group
    return 'NA'