'Initialize the synset from a line off a WN synset file.'

def __init__(self, pos, offset, line):

    self.pos = pos
    'part    of    speech    --    one    of    NOUN,    VERB,    ADJECTIVE,    ADVERB.'
    self.offset = offset
    'integer    offset    into    the    part-of-speech    file.        Together\n                                with    pos,    this    can    be    used    as    a    unique    id.'
    tokens = string.split(line[:string.index(line, '|')])
    self.ssType = tokens[2]
    self.gloss = string.strip(line[(string.index(line, '|') + 1):])
    self.lexname = ((Lexname.lexnames and Lexname.lexnames[int(tokens[1])]) or [])
    (self._senseTuples, remainder) = _partition(tokens[4:], 2, string.atoi(tokens[3], 16))
    (self._pointerTuples, remainder) = _partition(remainder[1:], 4, int(remainder[0]))
    if (pos == VERB):
        (vfTuples, remainder) = _partition(remainder[1:], 3, int(remainder[0]))
        def extractVerbFrames(index, vfTuples):
            return tuple(map((lambda t: string.atoi(t[1])), filter((lambda t, i=index: (string.atoi(t[2], 16) in (0, i))), vfTuples)))
        senseVerbFrames = []
        for index in range(1, (len(self._senseTuples) + 1)):
            senseVerbFrames.append(extractVerbFrames(index, vfTuples))
        self._senseVerbFrames = senseVerbFrames
        self.verbFrames = tuple(extractVerbFrames(None, vfTuples))
        'A    sequence    of    integers    that    index    into\n                                                VERB_FRAME_STRINGS.    These    list    the    verb    frames    that    any\n                                                Sense    in    this    synset    participates    in.        (See    also\n                                                Sense.verbFrames.)    Defined    only    for    verbs.'
