def _ParseLine(String):
    """
    Parses a GMT file line into gene set name, descriptions and gene symbols.
    """

    # split string into delimited components
    Words = String.split()

    # extract gene set, link, genes
    GeneSet = Words[0]
    Description = Words[1]
    Genes = Words[2:]
    Genes.sort()

    return GeneSet, Description, Genes