Example #1
0
    def togff(self, gff={}):
        """ Overwrites BasicGFF.togff() functionality """
        if not self._gff.has_key('gname'):
            self._gff['gname'] = "%s_%s" % (self.start, self.end)
        if not self._gff.has_key('gclass'):
            self._gff['gclass'] = self.__class__.__name__
        # call basal BasicGFF.togff() function
        gfflines = [BasicGFF.togff(self)]
        # gff default for TSS/ATG
        tss_gff = {
            'fref': self._gff['fref'],
            'gname': self._gff['gname'],
            'gclass': self._gff['gclass'],
        }

        # if SignalPeptide is spliced -> make 2 tracks!
        if self.intron:
            # calculate lengths
            signalp_length = self.end - self.start
            signalp_5p_length = self.intron.donor.pos - self.start
            signalp_3p_length = signalp_length - signalp_5p_length
            # create SignalP 5p and 3p tracks
            exon5p = list(gfflines[0])
            exon3p = list(gfflines[0])
            exon5p[4] = self.intron.donor.pos
            exon3p[3] = self.intron.acceptor.pos + 1
            exon3p[4] = self.intron.acceptor.pos + signalp_3p_length
            if self.tss: exon5p[3] += 3
            gfflines = [tuple(exon5p), tuple(exon3p)]
            if self.tss: gfflines.insert(0, self.tss.togff(gff=tss_gff))
        elif self.tss:
            # correct SignalPeptide start coord to 1nt after the ATG codon
            track = list(gfflines[0])
            track[3] += 3
            gfflines = [tuple(track)]
            gfflines.insert(0, self.tss.togff(gff=tss_gff))
        else:
            pass
        # return list with gff tuples
        return gfflines
Example #2
0
    def togff(self,gff={}):
        """ Overwrites BasicGFF.togff() functionality """
        if not self._gff.has_key('gname'):
            self._gff['gname'] = "%s_%s" % (self.start,self.end)
        if not self._gff.has_key('gclass'):
            self._gff['gclass'] = self.__class__.__name__
        # call basal BasicGFF.togff() function
        gfflines = [ BasicGFF.togff(self) ]
        # gff default for TSS/ATG
        tss_gff = { 'fref'  : self._gff['fref'],
                    'gname' : self._gff['gname'],
                    'gclass': self._gff['gclass'], }

        # if SignalPeptide is spliced -> make 2 tracks!
        if self.intron:
            # calculate lengths
            signalp_length    = self.end-self.start
            signalp_5p_length = self.intron.donor.pos - self.start
            signalp_3p_length = signalp_length - signalp_5p_length
            # create SignalP 5p and 3p tracks
            exon5p = list(gfflines[0])
            exon3p = list(gfflines[0])
            exon5p[4] = self.intron.donor.pos
            exon3p[3] = self.intron.acceptor.pos + 1
            exon3p[4] = self.intron.acceptor.pos + signalp_3p_length
            if self.tss: exon5p[3]+=3
            gfflines = [ tuple(exon5p), tuple(exon3p) ]
            if self.tss: gfflines.insert(0, self.tss.togff(gff=tss_gff) )
        elif self.tss:
            # correct SignalPeptide start coord to 1nt after the ATG codon
            track = list(gfflines[0])
            track[3]+=3
            gfflines = [ tuple(track) ]
            gfflines.insert(0, self.tss.togff(gff=tss_gff) )
        else:
            pass
        # return list with gff tuples
        return gfflines
Example #3
0
 def togff(self,gff={}):
     """ Overwrites BasicGFF.togff() """
     if not gff.has_key('gname'): gff['gname'] = str(self.pos)
     return BasicGFF.togff(self,gff=gff)
Example #4
0
 def togff(self,gff={}):
     """ Overwrites BasicGFF.togff() """
     if not gff.has_key('gname') and not self._gff.has_key('gname'):
         gff['gname'] = "%s-%s" % (self.start, self.end)
     return BasicGFF.togff(self,gff=gff)
Example #5
0
 def togff(self, gff={}):
     """ Overwrites BasicGFF.togff() """
     if not gff.has_key('gname'): gff['gname'] = str(self.pos)
     return BasicGFF.togff(self, gff=gff)