Esempio n. 1
0
 def __init__(self,id,strand=None):
     if(type(id)!=EssexNode): # not an EssexNode
         self.transcriptId=id
         self.strand=strand
         self.exons=[]
         self.UTR=[]
         self.rawExons=None
         self.stopCodons={"TAG":1,"TGA":1,"TAA":1}
         self.startCodon=None
         self.extraFields=None
     else: # EssexNode
         essex=id
         self.transcriptId=essex.getAttribute("ID")
         self.strand=essex.getAttribute("strand")
         self.source=essex.getAttribute("source")
         self.begin=essex.getAttribute("begin")
         self.end=essex.getAttribute("end")
         self.geneId=essex.getAttribute("gene")
         self.substrate=essex.getAttribute("substrate")
         self.exons=[]
         self.UTR=[]
         self.rawExons=None
         self.startCodon=None
         self.extraFields=None
         self.stopCodons={"TAG":1,"TGA":1,"TAA":1}
         exons=self.exons
         UTR=self.UTR
         exonsElem=essex.findChild("exons")
         if(exonsElem):
             n=exonsElem.numElements()
             for i in range(0,n):
                 exon=exonsElem.getIthElem(i)
                 begin=int(exon.getIthElem(0))
                 end=int(exon.getIthElem(1))
                 exon=Exon(begin,end,self)
                 exons.append(exon)
         utrElem=essex.findChild("UTR")
         if(utrElem):
             n=utrElem.numElements()
             for i in range(0,n):
                 exon=utrElem.getIthElem(i)
                 begin=int(exon.getIthElem(0))
                 end=int(exon.getIthElem(1))
                 exon=Exon(begin,end,self)
                 UTR.append(exon)