def taxonomy_from_node_name(self, node_name):
        '''return the taxonomy incorporated at a particular node, or None
        if it does not encode any taxonomy
        
        Parameters
        ----------
        node_name: str
            a node label.
            
        Returns
        -------
        Taxonomy as a string, or None if there is no taxonomy
        '''
        
        def is_float(s):
            try:
                float(s)
                return True
            except ValueError:
                return False
        
        if node_name is None:
            return None
        elif is_float(node_name):
            # no name, just a bootstrap
            return None
        else:
            bootstrap_regex = re.compile(r'[\d\.]+:(.*)')
            reg = bootstrap_regex.match(node_name)
            if reg:
                # bootstrap in name
                return reg.groups(0)[0]
            else:
                # bootstrap not in name
                return node_name
return the taxonomy incorporated at a particular node, or None
        if it does not encode any taxonomy
        
        Parameters
        ----------
        node_name: str
            a node label.
            
        Returns
        -------
        Taxonomy as a string, or None if there is no taxonomy