Find an OTU ID in a Newick-format tree.
    Return the starting position of the ID or None if not found.

def find_otu(otuid, tree):
    """
    Find an OTU ID in a Newick-format tree.
    Return the starting position of the ID or None if not found.
    """
    for m in re.finditer(otuid, tree):
        before, after = tree[m.start()-1], tree[m.start()+len(otuid)]
        if before in ["(", ",", ")"] and after in [":", ";"]:
            return m.start()
    return None