def readText (self, filename=None):
    """Reads a text command sequence from the given filename (defaults to
    self.pathname).
    """
    if filename is None:
      filename = self.pathname

    self.header = { }
    inBody      = False

    with open(filename, 'rt') as stream:
      for (lineno, line) in enumerate(stream.readlines()):
        stripped = line.strip()
        if stripped == '':
          continue
        elif stripped.startswith('#'):
          if not inBody:
            self._parseHeader(line, lineno, self.log)
        else:
          inBody = True
          self.lines.append( SeqCmd.parse(line, lineno, self.log, self.cmddict) )

    if 'seqid' in self.header:
      self.seqid = self.header['seqid']
    elif self.seqid is None:
      self.log.error('No sequence id present in header.')

    if 'version' in self.header:
      self.version = self.header['version']
    elif self.version is None:
      self.log.warning('No version present in header.  Defaulting to zero (0).')
      self.version = 0
Reads a text command sequence from the given filename (defaults to
    self.pathname).