def __init__(self, dProject, parent=None): QtGui.QWidget.__init__(self, parent) ## Region of Interest self.fromSpinBox = QtGui.QSpinBox() self.fromSpinBox.setRange(0, len(dProject['dData']['RX'])) self.fromSpinBox.setValue(0) self.fromSpinBox.setSingleStep(1) self.toSpinBox = QtGui.QSpinBox() self.toSpinBox.setRange(0, len(dProject['dData']['RX'])) self.toSpinBox.setValue(len(dProject['dData']['RX'])) self.toSpinBox.setSingleStep(1) fromLabel = QtGui.QLabel('From') toLabel = QtGui.QLabel('To') self.groupBox = QtGui.QGroupBox(self.tr('Region of Interest')) self.groupBox.setCheckable(True) self.groupBox.setChecked(False) layoutRoi = myHBoxLayout() layoutRoi.addWidget(fromLabel) layoutRoi.addWidget(self.fromSpinBox) layoutRoi.addWidget(toLabel) layoutRoi.addWidget(self.toSpinBox) self.groupBox.setLayout(layoutRoi)
def __init__(self, dProject,parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel(self.tr("<center><b>SMOOTHING</b></center>")) self.name="Smooth" self.toolID=2 self.dProject=dProject self.dProjOut=deepcopy(dProject) self.isToolApplied=False #Saturation Correction: Analysis of saturated data points by creating a synthetic peak based upon the peak shape before and after saturation. self.checkBoxSatd=QtGui.QCheckBox('Saturation Correction') self.checkBoxSatd.setChecked(True) #### Group Box Radio self.radioButton0 = QtGui.QRadioButton(self.tr("Triangular Moving Aver.")) self.radioButton1 = QtGui.QRadioButton(self.tr("Rectangular Moving Aver.")) self.radioButton2 = QtGui.QRadioButton(self.tr("Gaussian")) self.radioButton0.setChecked(True) #### Window Size windowSizeLabel = QtGui.QLabel("Window Size:") self.spinBox1 = QtGui.QSpinBox() self.spinBox1.setRange(1, 10) self.spinBox1.setValue(1) self.spinBox1.setSingleStep(1) layout1 = myGridLayout() layout1.addWidget(self.radioButton0,0,0,1,2) layout1.addWidget(self.radioButton1,1,0,1,2) layout1.addWidget(self.radioButton2,2,0,1,2) layout1.addWidget(windowSizeLabel,3,0) layout1.addWidget(self.spinBox1,3,1) self.groupBox0 = QtGui.QGroupBox(self.tr("Smoothing")) self.groupBox0.setCheckable(True) self.groupBox0.setLayout(layout1) ### Button Box self.buttonBox =ToolButton() self.groupBoxROI=GroupBoxROI(self.dProject) self.applyChannel=ApplyChannel(self.dProject) mainLayout=QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.checkBoxSatd) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.groupBoxROI.groupBox) mainLayout.addWidget(self.applyChannel.groupBox) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout)
def __init__(self, dProject,parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel(self.tr("<center><b>BASELINE ADJUSTMENT</b></center>")) self.name="Baseline Adjustment" self.toolID=3 self.dProject=dProject self.isToolApplied=False #### Window Size windowLabel = QtGui.QLabel("Baseline Window:") self.spinBox0 = QtGui.QSpinBox() self.spinBox0.setRange(0,200) self.spinBox0.setValue(60) self.spinBox0.setSingleStep(1) self.smoothCheckBox = QtGui.QCheckBox("Smooth the Baseline Drift") #self.smoothCheckBox.setChecked(True) layout2=myGridLayout() layout2.addWidget(windowLabel,0,0) layout2.addWidget(self.spinBox0,0,1) layout2.addWidget(self.smoothCheckBox,1,0) groupBoxParameter = QtGui.QGroupBox() groupBoxParameter.setLayout(layout2) ### Button Box self.buttonBox = ToolButton() self.groupBoxROI=GroupBoxROI(self.dProject) self.applyChannel=ApplyChannel(self.dProject) mainLayout=QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(groupBoxParameter) mainLayout.addWidget(self.groupBoxROI.groupBox) mainLayout.addWidget(self.applyChannel.groupBox) mainLayout.addStretch() mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout)
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,dProjRef,parent=None): QtGui.QWidget.__init__(self, parent) self.labelTitle = QtGui.QLabel(self.tr("<center><b>APPLY ALL TOOLS</b></center>")) self.name="Apply All Tools" self.toolID=1 self.dProject=dProject self.dProjOut=deepcopy(dProject) self.dProjRef=deepcopy(dProjRef) label0 = QtGui.QLabel("Start Point") label1 = QtGui.QLabel("End Point") start,end=0,len(self.dProject['dData']['RX']) # findRoi(self.dCurData['RXS']) self.spinBox0 = QtGui.QSpinBox() self.spinBox0.setRange(0, len(self.dProject['dData']['RX'])) self.spinBox0.setValue(start) self.spinBox0.setSingleStep(1) self.spinBox1 = QtGui.QSpinBox() self.spinBox1.setRange(0, len(self.dProject['dData']['RX'])) self.spinBox1.setValue(end) self.spinBox1.setSingleStep(1) layout0=QtGui.QHBoxLayout() layout0.addWidget(label0) layout0.addWidget(self.spinBox0) layout0.addWidget(label1) layout0.addWidget(self.spinBox1) groupBox0=QtGui.QGroupBox('Select Region of Interest') groupBox0.setLayout(layout0) self.checkBox01=QtGui.QCheckBox("Saturation Correction") self.checkBox0=QtGui.QCheckBox("Smoothing Windows Size") self.checkBox1=QtGui.QCheckBox("Mobility Shift") self.checkBox2=QtGui.QCheckBox("Baseline Adjustment Window") self.checkBox3=QtGui.QCheckBox("Signal Decay Correction") self.checkBox4=QtGui.QCheckBox("Signal Alignment") self.checkBox01.setChecked(True) self.checkBox0.setChecked(True) self.checkBox1.setChecked(True) self.checkBox2.setChecked(True) self.checkBox3.setChecked(True) self.checkBox4.setChecked(True) self.spinBox2 = QtGui.QSpinBox() self.spinBox2.setRange(0, 10) self.spinBox2.setValue(1) self.spinBox2.setSingleStep(1) self.spinBox4 = QtGui.QSpinBox() self.spinBox4.setRange(0, 500) self.spinBox4.setValue(60) self.spinBox4.setSingleStep(1) layout1=QtGui.QGridLayout() layout1.addWidget(self.checkBox01,0,0) layout1.addWidget(self.checkBox0,1,0) layout1.addWidget(self.spinBox2,1,1) layout1.addWidget(self.checkBox1,2,0) layout1.addWidget(self.checkBox2,3,0) layout1.addWidget(self.spinBox4,3,1) layout1.addWidget(self.checkBox3,4,0) layout1.addWidget(self.checkBox4,5,0) groupBox1=QtGui.QGroupBox('Select Tools') groupBox1.setLayout(layout1) ### Button Box self.buttonBox = ToolButton() mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(groupBox0) mainLayout.addWidget(groupBox1) 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.labelTitle = QtGui.QLabel(self.tr("<center><b>REGION OF INTEREST</b></center>")) self.name="Region of Interest" self.toolID=1 self.hint = QtGui.QLabel(self.tr("HINT: Press Key 'F' button and click the axes to set From. " "Press Key 'T' button and click the axes to set To" )) self.hint.setWordWrap(True) self.font = QtGui.QFont() self.font.setPointSize(10) self.hint.setFont(self.font) self.dProject=dProject self.dProjRef=dProjRef self.dProjOut=deepcopy(dProject) self.isToolApplied=False self.roi={} for key in self.dProject['chKeyRS']: self.roi[key]=[0,len(self.dProject['dData'][key])] labelFrom = QtGui.QLabel("From ") labelTo = QtGui.QLabel("To ") labelPlus=QtGui.QLabel('(+) Reaction') self.spinBoxPlusFrom=QtGui.QSpinBox() self.spinBoxPlusTo=QtGui.QSpinBox() self.spinBoxPlusFrom.setRange(0,len(self.dProject['dData']['RX'])) self.spinBoxPlusTo.setRange(0,len(self.dProject['dData']['RX'])) self.spinBoxPlusTo.setValue(len(self.dProject['dData']['RX'])) labelMinus=QtGui.QLabel('(-) Reaction') self.spinBoxMinusFrom=QtGui.QSpinBox() self.spinBoxMinusTo=QtGui.QSpinBox() self.spinBoxMinusFrom.setRange(0,len(self.dProject['dData']['BG'])) self.spinBoxMinusTo.setRange(0,len(self.dProject['dData']['BG'])) self.spinBoxMinusTo.setValue(len(self.dProject['dData']['BG'])) layout0=myGridLayout() layout0.addWidget(labelFrom,0,1) layout0.addWidget(labelTo,0,2) layout0.addWidget(labelPlus,1,0) layout0.addWidget( self.spinBoxPlusFrom,1,1) layout0.addWidget( self.spinBoxPlusTo,1,2) layout0.addWidget(labelMinus,2,0) layout0.addWidget( self.spinBoxMinusFrom,2,1) layout0.addWidget( self.spinBoxMinusTo,2,2) self.groupBox0=QtGui.QGroupBox() self.groupBox0.setLayout(layout0) self.buttunAuto=QtGui.QPushButton('Auto ROI by Reference') self.connect(self.buttunAuto,QtCore.SIGNAL("clicked()"),self.autoFindROI) if not self.dProject['isRef']: self.buttunAuto.setEnabled(False) self.buttonBox = ToolButton() mainLayout=QtGui.QVBoxLayout() mainLayout.addWidget(self.labelTitle) mainLayout.addWidget(self.groupBox0) mainLayout.addWidget(self.buttunAuto) mainLayout.addWidget(self.hint) 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