def __init__(self, dProject, parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel( self.tr("<center><b>MANUAL SIGNAL ALGINMENT</b></center>")) self.name = "Manual Signal Alignment" self.toolID = 1 self.dProject = dProject self.dProjOut = deepcopy(dProject) self.linkXR, self.linkXS = np.array([]), np.array([]) self.dataR, self.dataS = np.array([]), np.array([]) self.isToolApplied = False label0 = QtGui.QLabel('Reference Channel') self.comboBox0 = QtGui.QComboBox() self.comboBox0.addItems(dProject['chKeyRS']) label1 = QtGui.QLabel('Sample Channel') self.comboBox1 = QtGui.QComboBox() self.comboBox1.addItems(dProject['chKeyRS']) self.comboBox1.setCurrentIndex(1) layout0 = myGridLayout() layout0.addWidget(label0, 0, 0) layout0.addWidget(self.comboBox0, 0, 1) layout0.addWidget(label1, 1, 0) layout0.addWidget(self.comboBox1, 1, 1) self.groupBox0 = QtGui.QGroupBox("Select Channels") self.groupBox0.setLayout(layout0) self.groupBox0.setCheckable(True) self.button0 = QtGui.QPushButton('Modify Matched Peaks') self.button0.setEnabled(False) self.buttonBox = ToolButton() self.applyChannel = ApplyChannel(self.dProject) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.button0) mainLayout.addStretch() mainLayout.addWidget(self.applyChannel.groupBox) mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.refKey = 'RXS1' self.sampleKey = 'BGS1'
def __init__(self, dProject, parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel( self.tr("<center><b>CHANNEL SWAP</b></center>")) self.name = "Swap" self.toolID = 1 self.dProject = dProject self.dProjOut = dProject.copy() self.label0 = {} self.comboBox0 = {} for key in self.dProject['chKeyRS']: self.label0[key] = QtGui.QLabel(key) self.comboBox0[key] = QtGui.QComboBox() self.comboBox0[key].addItems(self.dProject['chKeyRS']) self.comboBox0[key].setCurrentIndex( self.dProject['chKeyRS'].index(key)) vbox = myGridLayout() vbox.addWidget(self.label0['RX'], 0, 0) vbox.addWidget(self.comboBox0['RX'], 0, 1) vbox.addWidget(self.label0['BG'], 1, 0) vbox.addWidget(self.comboBox0['BG'], 1, 1) vbox.addWidget(self.label0['RXS1'], 2, 0) vbox.addWidget(self.comboBox0['RXS1'], 2, 1) vbox.addWidget(self.label0['BGS1'], 3, 0) vbox.addWidget(self.comboBox0['BGS1'], 3, 1) if self.dProject['isSeq2']: vbox.addWidget(self.label0['RXS2'], 4, 0) vbox.addWidget(self.comboBox0['RXS2'], 4, 1) vbox.addWidget(self.label0['BGS2'], 5, 0) vbox.addWidget(self.comboBox0['BGS2'], 5, 1) self.groupBox0 = QtGui.QGroupBox() self.groupBox0.setLayout(vbox) ### Button Box self.buttonBox = ToolButton() ## Main Layout mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.groupBox0) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isToolApplied = False
def __init__(self, dVar, chKeyRS, parent=None): super(DlgLineProps, self).__init__(parent) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.setModal(False) self.labelTitle = QtGui.QLabel( self.tr("<center><b>CHANNEL ATTRIBUTES</b></center>")) self.name = "Channel Attributes" self.toolID = 3 self.dVar = dVar.copy() self.chKeyRS = chKeyRS labels = ["Channel", "Color", "Line", "Marker", "Width"] self.label = {} self.checkBox0 = {} self.pushButton0 = {} self.comboBoxLineStyle = {} lineStyles = ["solid", "dashed", "dash_dot", "dotted"] self.lineStyles = ['-', '--', '-.', ':'] self.comboBoxMarkerStyle = {} markerStyles = [ "none", "point", "circle", "star", "square", "plus", "X", "diamond" ] self.markerStyles1 = ['', '.', 'o', '*', 's', '+', 'x', 'D'] self.doubleSpinBoxLW = {} for key in chKeyRS: self.checkBox0[key] = QtGui.QCheckBox(key) self.checkBox0[key].setChecked(self.dVar['lineVisible'][key]) self.pushButton0[key] = QtGui.QPushButton() self.pushButton0[key].setStyleSheet( "QWidget { background-color: %s }" % self.dVar['lineColor'][key]) self.comboBoxLineStyle[key] = QtGui.QComboBox() self.comboBoxLineStyle[key].addItems(lineStyles) self.comboBoxMarkerStyle[key] = QtGui.QComboBox() self.comboBoxMarkerStyle[key].addItems(markerStyles) self.doubleSpinBoxLW[key] = QtGui.QDoubleSpinBox() self.doubleSpinBoxLW[key].setValue(1.0) self.doubleSpinBoxLW[key].setSingleStep(0.1) layout0 = myGridLayout() for i in range(len(labels)): self.label[i] = QtGui.QLabel(labels[i]) layout0.addWidget(self.label[i], 0, i) for key in chKeyRS: #self.dChKeys['RS']: index = chKeyRS.index(key) + 1 layout0.addWidget(self.checkBox0[key], index, 0) layout0.addWidget(self.pushButton0[key], index, 1) layout0.addWidget(self.comboBoxLineStyle[key], index, 2) layout0.addWidget(self.comboBoxMarkerStyle[key], index, 3) layout0.addWidget(self.doubleSpinBoxLW[key], index, 4) self.buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Close) self.connect(self.pushButton0['RX'], QtCore.SIGNAL("clicked()"), self.changeColorRX) self.connect(self.pushButton0['RXS1'], QtCore.SIGNAL("clicked()"), self.changeColorRXS1) self.connect(self.pushButton0['BG'], QtCore.SIGNAL("clicked()"), self.changeColorBG) self.connect(self.pushButton0['BGS1'], QtCore.SIGNAL("clicked()"), self.changeColorBGS1) if 'RXS2' in chKeyRS: self.connect(self.pushButton0['RXS2'], QtCore.SIGNAL("clicked()"), self.changeColorRXS2) if 'BGS2' in chKeyRS: self.connect(self.pushButton0['BGS2'], QtCore.SIGNAL("clicked()"), self.changeColorBGS2) self.connect(self.buttonBox.button(QtGui.QDialogButtonBox.Apply), QtCore.SIGNAL("clicked()"), self.apply) self.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), self.reject) mainLayout = QtGui.QVBoxLayout() mainLayout.addLayout(layout0) mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.title = "Channel Attributes" self.setWindowTitle(self.title)
def __init__(self, dVar, chKeyRS, parent=None): super(DlgFigureSet, self).__init__(parent) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.setModal(False) self.labelTitle = QtGui.QLabel( self.tr("<center><b>FIGURE SETTING</b></center>")) self.name = "Figure Setting" self.toolID = 3 self.dVar = dVar.copy() self.chKeyRS = chKeyRS # Size, width, height, resolution, labelT = QtGui.QLabel('Size style') self.comboBox0 = QtGui.QComboBox() self.comboBox0.addItems(['Percentage', 'Inches']) labelW = QtGui.QLabel("Width") self.spinBoxWidth = QtGui.QSpinBox() self.spinBoxWidth.setRange(10, 200) self.spinBoxWidth.setValue(100) self.spinBoxWidth.setSingleStep(10) self.spinBoxWidth.setSuffix(" %") labelH = QtGui.QLabel("Height") self.spinBoxHeight = QtGui.QSpinBox() self.spinBoxHeight.setRange(10, 200) self.spinBoxHeight.setValue(100) self.spinBoxHeight.setSingleStep(10) self.spinBoxHeight.setSuffix(" %") self.checkBoxFitWindow = QtGui.QCheckBox("Fit into Window") labelR = QtGui.QLabel("Zoom") self.spinBoxR = QtGui.QSpinBox() self.spinBoxR.setRange(10, 1000) self.spinBoxR.setValue(100) self.spinBoxR.setSingleStep(50) layout0 = myGridLayout() layout0.addWidget(self.checkBoxFitWindow, 0, 0, 1, 2) layout0.addWidget(labelT, 1, 0) layout0.addWidget(self.comboBox0, 1, 1) layout0.addWidget(labelW, 2, 0) layout0.addWidget(self.spinBoxWidth, 2, 1) layout0.addWidget(labelH, 3, 0) layout0.addWidget(self.spinBoxHeight, 3, 1) layout0.addWidget(labelR, 4, 0) layout0.addWidget(self.spinBoxR, 4, 1) groupBox0 = QtGui.QGroupBox(self.tr('Figure Options')) groupBox0.setLayout(layout0) labelSubs = {} self.spinBoxSubs = {} self.keySubs = ['top', 'bottom', 'left', 'right'] #,'wspace','hspace'] for key in self.keySubs: labelSubs[key] = QtGui.QLabel(key) self.spinBoxSubs[key] = QtGui.QDoubleSpinBox() self.spinBoxSubs[key].setRange(0, 1) self.spinBoxSubs[key].setValue(self.dVar[key]) self.spinBoxSubs[key].setSingleStep(0.01) layout1 = myGridLayout() i = 0 while i < len(self.keySubs): key = self.keySubs[i] layout1.addWidget(labelSubs[key], i, 0) layout1.addWidget(self.spinBoxSubs[key], i, 1) i += 1 key = self.keySubs[i] layout1.addWidget(labelSubs[key], i - 1, 2) layout1.addWidget(self.spinBoxSubs[key], i - 1, 3) i += 1 groupBox1 = QtGui.QGroupBox(self.tr('Subplot Configuration')) groupBox1.setLayout(layout1) self.checkBoxSatd = QtGui.QCheckBox('Draw Saturated Points') self.lanelXLim = QtGui.QLabel('Set Xlim') self.fromSpinBox = QtGui.QSpinBox() self.toSpinBox = QtGui.QSpinBox() fromLabel = QtGui.QLabel('From') toLabel = QtGui.QLabel('To') self.buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Close) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(groupBox0) mainLayout.addWidget(groupBox1) mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.title = "Channel Attributes" self.setWindowTitle(self.title)
def __init__(self, dProject,parent=None): QtGui.QWidget.__init__(self, parent) self.title = QtGui.QLabel(self.tr("<center><b>SIGNAL ALIGNMENT</b></center>")) self.name="Signal Alignment" self.toolID=4 self.dProject=dProject self.dOutput=dProject['dData'].copy() self.dProjOut=deepcopy(dProject) self.linkXR,self.linkXS=np.array([]),np.array([]) self.dataR,self.dataS=np.array([]),np.array([]) self.isToolApplied=False ### Group of ComboBoxes label1=QtGui.QLabel("Seq. Channels") self.comboBox0=QtGui.QComboBox() self.comboBox0.setCurrentIndex(0) if self.dProject['isSeq2']: choices0= ['RXS1 - BGS1','RXS2 - BGS2'] else: choices0= ['RXS1 - BGS1'] self.comboBox0.addItems(choices0) gridLayout0 = QtGui.QGridLayout() gridLayout0.addWidget(label1, 0, 0) gridLayout0.addWidget(self.comboBox0, 0, 1) groupBox1=QtGui.QGroupBox('Select Channels to be aligned') groupBox1.setLayout(gridLayout0) self.button0=peakMatchModifyButton() text=self.tr("HINT: When the matched peaks are modified; Key 'A' to add a Peak. Key 'D' to delete a Peak. Key 'Shift' to change position. ") self.hint = hintLabel(text) # self.button0=QtGui.QPushButton('Modify Matched Peaks') # self.button0.setEnabled(False) # # self.hint = QtGui.QLabel(self.tr("HINT: When the matched peaks are modified," # "Press Key 'A' button and click both plots to add a Peak. " # "Press Key 'D' button and click to delete a Peak. " # "Press Key 'Shift' button and select a peak in BGS to change position. " # )) # self.font = QtGui.QFont() # self.font.setPointSize(9) # self.hint.setFont(self.font) # self.hint.setWordWrap(True) ### Button Box self.buttonBox = ToolButton() ## Main Layout mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget( self.title) mainLayout.addWidget(groupBox1) mainLayout.addWidget(self.button0) mainLayout.addWidget(self.hint) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isToolAppliedSigAlign=False self.connect(self.comboBox0,QtCore.SIGNAL('currentIndexChanged(int)'), self.comboChanged)
def __init__(self,dProject,parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel(self.tr("<center><b>MOBILITY SHIFT</b></center>")) self.name="Mobility Shift" self.toolID=4 self.dProject=dProject self.dProjOut=deepcopy(dProject) self.dProject=dProject.copy() self.isToolApplied=False self.radioButton0=QtGui.QRadioButton('Position Similarity') self.radioButton1=QtGui.QRadioButton('Dynamic Programming') self.radioButton0.setChecked(True) layoutMethod=myVBoxLayout() layoutMethod.addWidget((self.radioButton0)) layoutMethod.addWidget(self.radioButton1) self.groupBoxMethod=QtGui.QGroupBox('Select a method') self.groupBoxMethod.setLayout(layoutMethod) self.comboBox0={} self.label0={} for key in dProject['chKeyRS']: self.label0[key] = QtGui.QLabel(key) self.comboBox0[key]=QtGui.QComboBox() self.comboBox0[key].addItems(dyesName) try: self.comboBox0[key].setCurrentIndex(dyesName.index(dProject['dyeN'][key])) except: pass if len(self.dProject['dData'][key])==0: self.comboBox0[key].setEnabled(False) self.groupBoxRX=QtGui.QGroupBox(self.tr('(+) Reagent')) self.groupBoxRX.setCheckable(True) self.groupBoxRX.setChecked(True) layoutRX = myGridLayout() layoutRX.addWidget(self.label0['RX'], 0, 0) layoutRX.addWidget(self.comboBox0['RX'], 0, 1) layoutRX.addWidget(self.label0['RXS1'], 1, 0) layoutRX.addWidget(self.comboBox0['RXS1'], 1, 1) if self.dProject['isSeq2']: layoutRX.addWidget(self.label0['RXS2'], 2, 0) layoutRX.addWidget(self.comboBox0['RXS2'], 2, 1) self.groupBoxRX.setLayout(layoutRX) self.groupBoxBG=QtGui.QGroupBox(self.tr('(-) Reagent)')) self.groupBoxBG.setCheckable(True) self.groupBoxBG.setChecked(True) layoutBG = myGridLayout() layoutBG.addWidget(self.label0['BG'], 0, 0) layoutBG.addWidget(self.comboBox0['BG'], 0, 1) layoutBG.addWidget(self.label0['BGS1'], 1, 0) layoutBG.addWidget(self.comboBox0['BGS1'], 1, 1) if self.dProject['isSeq2']: layoutBG.addWidget(self.label0['BGS2'], 2, 0) layoutBG.addWidget(self.comboBox0['BGS2'], 2, 1) self.groupBoxBG.setLayout(layoutBG) ### Button Box self.buttonBox = ToolButton() mainLayout=QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.groupBoxMethod) mainLayout.addWidget(self.groupBoxRX) mainLayout.addWidget(self.groupBoxBG) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout)
def __init__(self, dProject, parent=None): QtGui.QWidget.__init__(self, parent) self.title = QtGui.QLabel( self.tr("<center><b>SEQUENCE ALIGNMENT</b></center>")) self.name = "Sequence Alignment" self.toolID = 1 self.dProject = dProject self.dProjOut = deepcopy(dProject) self.fileReadSeq = DlgSelectFile( 'Seq. File', "Base Files (*.txt *.fasta *.gbk *.seq )", self.dProject['dir']) self.fileReadSeq.lineEdit0.setText(self.dProject['fNameSeq']) self.seqRNA3to5 = self.dProjOut['RNA'][::-1] self.seqRNA3to5N = changeNucToN(self.seqRNA3to5, self.dProjOut) self.NSeqRNA = len(self.dProjOut['RNA']) ### SEQUENCE FIND label0 = QtGui.QLabel("Channel") label1 = QtGui.QLabel("ddNTP") label2 = QtGui.QLabel('Thres') self.comboBox0 = QtGui.QComboBox() self.comboBox1 = QtGui.QComboBox() self.comboBox2 = QtGui.QComboBox() self.comboBox3 = QtGui.QComboBox() self.spinBox0 = QtGui.QDoubleSpinBox() self.spinBox0.setRange(-3, 3) self.spinBox0.setValue(0.5) self.spinBox0.setSingleStep(0.1) choices0 = ['BGS1', 'RXS1'] self.choicesNuc = ['ddC', 'ddG', 'ddA', 'ddT'] self.nucNames = ['G', 'C', 'U', 'A'] self.comboBox0.addItems(choices0) self.comboBox1.addItems(self.choicesNuc) self.comboBox1.setCurrentIndex( self.nucNames.index(self.dProject['nuc1'])) self.radioSeqFind0 = QtGui.QRadioButton('Histogram') self.radioSeqFind1 = QtGui.QRadioButton('Background') layoutMethod = myHBoxLayout() layoutMethod.addWidget(self.radioSeqFind0) layoutMethod.addWidget(self.radioSeqFind1) gridLayout = myGridLayout() gridLayout.addWidget(label0, 0, 0) gridLayout.addWidget(label1, 0, 1) # gridLayout.addWidget(label2, 0, 2) gridLayout.addWidget(self.comboBox0, 1, 0) gridLayout.addWidget(self.comboBox1, 1, 1) # gridLayout.addWidget(self.spinBox0, 1, 2) if self.dProject[ 'isSeq2']: #('RXS2' in self.dInput.keys()) and ('BGS2' in self.dInput.keys()): choices2 = ['BGS2', 'RXS2'] self.comboBox2.addItems(choices2) self.comboBox3.addItems(self.choicesNuc) self.comboBox3.setCurrentIndex( self.nucNames.index(self.dProject['nuc2'])) self.spinBox1 = QtGui.QDoubleSpinBox() self.spinBox1.setRange(-3, 3) self.spinBox1.setValue(0.5) self.spinBox1.setSingleStep(0.1) gridLayout.addWidget(self.comboBox2, 2, 0) gridLayout.addWidget(self.comboBox3, 2, 1) # gridLayout.addWidget(self.spinBox1, 2, 2) self.checkBox0 = QtGui.QCheckBox('Check for high BG peaks') self.groupBoxBaseCall = QtGui.QGroupBox('Base Calling') self.groupBoxBaseCall.setLayout(gridLayout) self.groupBoxBaseCall.setCheckable(True) ## LAYOUTS labelSetting2 = QtGui.QLabel("Seq Range: From") labelSetting3 = QtGui.QLabel("To:") labelSetting4 = QtGui.QLabel("Seq Start: ") self.spinBoxSeqRangeFrom = QtGui.QSpinBox() self.spinBoxSeqRangeTo = QtGui.QSpinBox() try: self.setSpinBoxSeq() except: pass self.spinBoxSeqOffset = QtGui.QSpinBox() self.spinBoxSeqOffset.setRange(0, len(self.dProject['RNA'])) self.checkBoxLineDraw = QtGui.QCheckBox('Draw peak match lines') self.checkBoxLineDraw.setChecked(True) layoutSetting = myGridLayout() layoutSetting.addWidget(labelSetting2, 0, 0) layoutSetting.addWidget(self.spinBoxSeqRangeFrom, 0, 1) layoutSetting.addWidget(labelSetting3, 0, 2) layoutSetting.addWidget(self.spinBoxSeqRangeTo, 0, 3) # layoutSetting.addWidget(self.checkBoxLineDraw,1,0,1,2) self.groupBoxSettings = QtGui.QGroupBox('Settings') self.groupBoxSettings.setLayout(layoutSetting) text = "HINT: Click a Nuc to change the type. \ Press Key 'A' button and click to add a Nuc.\ Press Key 'D' button and click to delete a Nuc. \ Press Key 'Shift' button and select a peak to change position. " self.hint = hintLabel(text) self.connect(self.fileReadSeq.pushButton0, QtCore.SIGNAL("clicked()"), self.changeSeqFile) self.buttonBox = ToolButton() mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.title) mainLayout.addWidget(self.fileReadSeq) mainLayout.addWidget(self.groupBoxBaseCall) mainLayout.addWidget(self.groupBoxSettings) mainLayout.addWidget(self.hint) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isToolApplied = False
def __init__(self, dProject, dProjRef, parent=None): QtGui.QWidget.__init__(self, parent) self.title = QtGui.QLabel( self.tr("<center><b>SEQUENCE ALIGNMENT BY REFERENCE</b></center>")) self.name = "Sequence Alignment by Reference" self.toolID = 1 self.dProject = dProject self.dProjRef = dProjRef self.linkXR, self.linkXS = np.array([]), np.array([]) self.linkYR, self.linkYS = np.array([]), np.array([]) self.dataR, self.dataS = np.array([]), np.array([]) #### BY REFERENCE self.fileReadRef = DlgSelectFile( 'Ref. Proj.', "Reference Project (*.pyShape *.qushape)", self.dProject['dir']) if 'fNameRef' in self.dProject.keys(): self.fileReadRef.lineEdit0.setText(self.dProject['fNameRef']) self.connect(self.fileReadRef.pushButton0, QtCore.SIGNAL("clicked()"), self.changeRefFile) label10 = QtGui.QLabel("Ref. Channel") self.comboBox10 = QtGui.QComboBox() self.comboBox10.addItems(chKeysRS) self.comboBox10.setCurrentIndex(3) label11 = QtGui.QLabel("Sample Channel") self.comboBox11 = QtGui.QComboBox() self.comboBox11.addItems(chKeysRS) self.comboBox11.setCurrentIndex(3) layout0 = myGridLayout() layout0.addWidget(self.fileReadRef, 0, 0, 1, 2) layout0.addWidget(label10, 1, 0) layout0.addWidget(self.comboBox10, 1, 1) layout0.addWidget(label11, 2, 0) layout0.addWidget(self.comboBox11, 2, 1) self.groupBox0 = QtGui.QGroupBox(self.tr('Signal Alignment')) self.groupBox0.setLayout(layout0) self.groupBox0.setCheckable(True) labelRX = QtGui.QLabel('Scale Factor for RX') labelBG = QtGui.QLabel('Scale Factor for BG') self.spinBoxRX = QtGui.QDoubleSpinBox() self.spinBoxRX.setRange(0.01, 100.00) self.spinBoxRX.setValue(1.00) self.spinBoxRX.setSingleStep(0.01) self.spinBoxBG = QtGui.QDoubleSpinBox() self.spinBoxBG.setRange(0.01, 100.00) self.spinBoxBG.setValue(1.00) self.spinBoxBG.setSingleStep(0.01) self.checkBoxScale0 = QtGui.QCheckBox('Scale by windowing') layout1 = myGridLayout() layout1.addWidget(labelRX, 0, 0) layout1.addWidget(self.spinBoxRX, 0, 1) layout1.addWidget(labelBG, 1, 0) layout1.addWidget(self.spinBoxBG, 1, 1) layout1.addWidget(self.checkBoxScale0, 2, 0, 1, 2) self.groupBox1 = QtGui.QGroupBox(self.tr('Scale RX and BG')) self.groupBox1.setLayout(layout1) # self.groupBox1.setCheckable(True) # self.button0=QtGui.QPushButton('Modify Matched Peaks') # self.button0.setEnabled(False) self.button0 = peakMatchModifyButton() self.button1 = QtGui.QPushButton('Modify Peak Link by Reference') self.button1.setEnabled(False) self.button1.setWhatsThis( self. tr(" Check the accuracy of linked peaks" " by C\changing the peak position in the sample RX and BG peaks." " Press Key 'Shift' button and select a sample peak to change position. " )) text = self.tr( "HINT: When the matched peaks are modified; Key 'A' to add a Peak. Key 'D' to delete a Peak. Key 'Shift' to change position. " ) self.hint = hintLabel(text) ### BUTTON BOX self.buttonBox = ToolButton() ## MAIN LAYOUT mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.title) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.button0) mainLayout.addWidget(self.button1) mainLayout.addWidget(self.hint) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.isClickedModifyMatchedPeaks = True self.isToolApplied = False self.isMatchedPeaksChanged = True
def __init__(self, dProject,parent=None): QtGui.QDialog.__init__(self, parent) self.name='New Project' self.title = QtGui.QLabel(self.tr("<center><b>CREATE NEW PROJECT - STEP 3 OF 3</b></center>")) self.dProject=dProject self.isApplied=False self.label0={} self.comboBox0={} choices0=['Channel 1','Channel 2', 'Channel 3','Channel 4'] for key in self.dProject['chKeyRS']: self.label0[key]=QtGui.QLabel(key) self.comboBox0[key]=QtGui.QComboBox() self.comboBox0[key].addItems(choices0) self.comboBox0[key].setCurrentIndex(self.dProject['chIndex'][key]) choices2=['ddC','ddG', 'ddA', 'ddT'] self.comboBox1={} self.comboBox1['RXS1']=QtGui.QComboBox() self.comboBox1['RXS1'].addItems(choices2) self.comboBox1['BGS1']=QtGui.QComboBox() self.comboBox1['BGS1'].addItems(choices2) if self.dProject['isSeq2']: self.comboBox1['RXS2']=QtGui.QComboBox() self.comboBox1['RXS2'].addItems(choices2) self.comboBox1['BGS2']=QtGui.QComboBox() self.comboBox1['BGS2'].addItems(choices2) self.comboBox1['RXS2'].setCurrentIndex(1) self.comboBox1['BGS2'].setCurrentIndex(1) layout1 = QtGui.QGridLayout() layout1.addWidget(self.label0['RX'], 0, 0) layout1.addWidget(self.comboBox0['RX'], 0, 1) layout1.addWidget(self.label0['RXS1'], 1, 0) layout1.addWidget(self.comboBox0['RXS1'], 1, 1) layout1.addWidget(self.comboBox1['RXS1'], 1, 2) if self.dProject['isSeq2']: layout1.addWidget(self.label0['RXS2'], 2, 0) layout1.addWidget(self.comboBox0['RXS2'], 2, 1) layout1.addWidget(self.comboBox1['RXS2'], 2, 2) groupBox1=QtGui.QGroupBox('Select (+) Reaction Channels') groupBox1.setLayout(layout1) layout2 = QtGui.QGridLayout() layout2.addWidget(self.label0['BG'], 0, 0) layout2.addWidget(self.comboBox0['BG'], 0, 1) layout2.addWidget(self.label0['BGS1'], 1, 0) layout2.addWidget(self.comboBox0['BGS1'], 1, 1) layout2.addWidget(self.comboBox1['BGS1'], 1, 2) if self.dProject['isSeq2']: layout2.addWidget(self.label0['BGS2'], 2, 0) layout2.addWidget(self.comboBox0['BGS2'], 2, 1) layout2.addWidget(self.comboBox1['BGS2'], 2, 2) groupBox2=QtGui.QGroupBox('Select (-) Reaction Channels') groupBox2.setLayout(layout2) self.buttonBox=ButtonWizard() self.buttonBox.nextButton.setText('Apply') self.buttonBox.doneButton.setEnabled(False) self.buttonBox.nextButton.setDefault(True) self.connect(self.buttonBox.backButton,QtCore.SIGNAL("clicked()"),self.clickBack2) self.connect(self.buttonBox.nextButton,QtCore.SIGNAL("clicked()"),self.clickNext2) mainLayout=QtGui.QVBoxLayout() mainLayout.addWidget(self.title) mainLayout.addWidget(groupBox1) mainLayout.addWidget(groupBox2) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout) self.connect(self.comboBox0['RX'],QtCore.SIGNAL("currentIndexChanged(int)"),self.changeCombo00) self.connect(self.comboBox0['RXS1'],QtCore.SIGNAL("currentIndexChanged(int)"),self.changeCombo01) self.connect(self.comboBox1['RXS1'],QtCore.SIGNAL("currentIndexChanged(int)"),self.changeCombo10) if self.dProject['isSeq2']: self.connect(self.comboBox0['RXS2'],QtCore.SIGNAL("currentIndexChanged(int)"),self.changeCombo02) self.connect(self.comboBox1['RXS2'],QtCore.SIGNAL("currentIndexChanged(int)"),self.changeCombo11)