def get_mq_unique_proteins(
    filepath: str
) -> list:
    """Extract unique "Protein names" from the specified MaxQuant output file.

    Parameters
    ----------
    filepath : str
        Full path to the file.

    Returns
    -------
    list
        A list of unique protein names from the specified file.

    """
    if filepath.endswith('.txt'):
        sep = '\t'
    else:
        raise ValueError('The given file does not have an original .txt extension.')

    with open(filepath) as filelines:
        i = 0
        filename_col_index = int()
        filename_data = []

        for line in filelines:
            line = line.split(sep)
            if i == 0:
                try:
                    filename_col_index = line.index('Protein names')
                except ValueError:
                    raise ValueError('The given file does not contain the "Protein names" column.')
            else:
                filename_data.append(line[filename_col_index])
            i += 1

        unique_proteins = set(filename_data)

    sorted_unique_proteins = sorted(list(unique_proteins))
    return sorted_unique_proteins