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])
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)
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])