def read( self, line ):
        """read gff entry from line.
        
        <seqname> <source> <feature> <start> <end> <score> <strand> <frame> [attributes] [comments]
        """
        
        data = line[:-1].split("\t")

        try:
            (self.contig, self.source, self.feature,
             self.start, self.end, self.score, self.strand,
             self.frame ) = data[:8]
        except __HOLE__, msg:
            raise ValueError( "parsing error in line %s: %s" % (line[:-1], msg) )
        
        ## note: frame might be .
        (self.start, self.end) = map(int, (self.start, self.end))
        self.start -= 1

        self.__parseInfo( data[8], line )
dataset/ETHPy150Open CGATOxford/cgat/obsolete/GFF.py/Entry.read