Exemplo n.º 1
0
    def __init__(self, seqTab, sequence, position, minusPrimer, plusPrimer, parent = None):
        super(Sequence, self).__init__()


        self.seqTab = seqTab
        self.baseClassL = self.seqTab.baseClassL
        self.sortBaseL = self.seqTab.sortBaseL

        print 'Id from Sequence item: ' + str(id(self.baseClassL))


        self.fill = QColor(100, 204, 150)
        self.seq = sequence
        self.rect = QRectF(0, 0, 12*len(self.seq), 30)
    #    self.setFlags(QGraphicsItem.ItemIsMovable)

        self.minusPrimer = minusPrimer
        self.plusPrimer = plusPrimer



        count = 0
        for nucleotide in self.seq:
            if count >= (len(self.seq))/2:
                primer = self.minusPrimer
            else:
                primer = self.plusPrimer
            base = Base(nucleotide, primer)
            base.setParentItem(self)
            base.setPos(count*12, 0)
            count = count + 1
            

        self.setPos(position[0], position[1])
Exemplo n.º 2
0
    def hybridize(self):
        count = 0
        for nucleotide in self.seq:
            base = Base(self.complement(nucleotide))
            self.hybBases.append(base)
            base.setParentItem(self)
            base.setPos(count, -15)
            count = count + 12

        self.scene().removeItem(self.seqHybAll)
        self.seqDenAll.setParentItem(self)
        self.seqDenAll.setPos(12*len(self.seq)/2 - 12*len('Denature')/2, 28)
Exemplo n.º 3
0
    def __init__(self, mainwin, sequence, position, primerLetter, parent = None):
        super(Primer, self).__init__()
        self.fill = QColor(170, 54, 20)
        self.seq = sequence
        self.rect = QRectF(0, 0, 12*len(self.seq), 45)
        self.setAcceptHoverEvents(True)
     #   self.setFlags(QGraphicsItem.ItemIsMovable)
        
        self.primerLetter = primerLetter

        count = 0
        for nucleotide in self.seq:
            base = Base(nucleotide, None)
            base.setParentItem(self)
            base.setPos(count, 0)
            count = count + 12
           
        self.isHybed = False
        self.hybBases = []

        self.plusLabel = QGraphicsSimpleTextItem(QString('Plus'))
        self.minusLabel = QGraphicsSimpleTextItem(QString('Minus'))
        self.primerLabel = QGraphicsSimpleTextItem(QString(self.primerLetter))

        self.plusLabel.setParentItem(self)       
        self.minusLabel.setParentItem(self)
        self.primerLabel.setParentItem(self)

        self.minusLabel.setPos(0, 15)
        self.plusLabel.setPos(12*len(self.seq)- self.plusLabel.boundingRect().width(), 15)
        self.primerLabel.setPos(12*len(self.seq)/2, 28)


        """
        self.seqDenAll = QGraphicsSimpleTextItem(QString('Denature'))
        self.seqHybAll = QGraphicsSimpleTextItem(QString('Hybridize'))
        self.seqHybAll.setParentItem(self)
        self.seqHybAll.setPos(12*len(self.seq)/2 - 12*len('Hybridize')/2, 28)
        """



        """
        psSeq = self.seq[len(self.seq)-6:]
        self.primeSite = SeqFunc(QColor(130, 190, 50), psSeq, [12*len(self.seq)-12*len(psSeq), 15], self)
        self.primeSite.setParentItem(self)
        """

        self.setPos(position[0], position[1])