# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'F:\Work\python\bioinfo_excercise\PhyloSuite\codes\PhyloSuite\uifiles\HmmCleaner.ui'
#
# Created by: PyQt5 UI code generator 5.10.1
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_HmmCleaner(object):
    def setupUi(self, HmmCleaner):
        HmmCleaner.setObjectName("HmmCleaner")
        HmmCleaner.resize(501, 388)
        HmmCleaner.setStyleSheet("")
        HmmCleaner.setSizeGripEnabled(True)
        self.verticalLayout = QtWidgets.QVBoxLayout(HmmCleaner)
        self.verticalLayout.setObjectName("verticalLayout")
        self.groupBox_4 = QtWidgets.QGroupBox(HmmCleaner)
        self.groupBox_4.setObjectName("groupBox_4")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_4)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.label_4 = QtWidgets.QLabel(self.groupBox_4)
        self.label_4.setObjectName("label_4")
        self.horizontalLayout_5.addWidget(self.label_4)
        self.comboBox_4 = ListQCombobox(self.groupBox_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.comboBox_4.sizePolicy().hasHeightForWidth())
        self.comboBox_4.setSizePolicy(sizePolicy)
        self.comboBox_4.setAcceptDrops(True)
        self.comboBox_4.setEditable(True)
        self.comboBox_4.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToMinimumContentsLength)
        self.comboBox_4.setObjectName("comboBox_4")
        self.horizontalLayout_5.addWidget(self.comboBox_4)
        self.pushButton_3 = QtWidgets.QPushButton(self.groupBox_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth())
        self.pushButton_3.setSizePolicy(sizePolicy)
        self.pushButton_3.setMinimumSize(QtCore.QSize(30, 30))
        self.pushButton_3.setMaximumSize(QtCore.QSize(30, 30))
        self.pushButton_3.setStyleSheet("")
        self.pushButton_3.setText("")
        self.pushButton_3.setObjectName("pushButton_3")
        self.horizontalLayout_5.addWidget(self.pushButton_3)
        self.gridLayout_2.addLayout(self.horizontalLayout_5, 0, 0, 1, 1)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label_5 = QtWidgets.QLabel(self.groupBox_4)
        self.label_5.setOpenExternalLinks(True)
        self.label_5.setObjectName("label_5")
        self.horizontalLayout_3.addWidget(self.label_5)
        spacerItem = QtWidgets.QSpacerItem(58, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem)
        self.label_3 = QtWidgets.QLabel(self.groupBox_4)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_3.addWidget(self.label_3)
        self.label_7 = ClickedLableGif(self.groupBox_4)
        self.label_7.setText("")
        self.label_7.setObjectName("label_7")
        self.horizontalLayout_3.addWidget(self.label_7)
        self.gridLayout_2.addLayout(self.horizontalLayout_3, 1, 0, 1, 1)
        self.verticalLayout.addWidget(self.groupBox_4)
        self.groupBox_2 = QtWidgets.QGroupBox(HmmCleaner)
        self.groupBox_2.setObjectName("groupBox_2")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_2)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label = QtWidgets.QLabel(self.groupBox_2)
        self.label.setObjectName("label")
        self.horizontalLayout.addWidget(self.label)
        self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.groupBox_2)
        self.doubleSpinBox.setMinimum(-9999.0)
        self.doubleSpinBox.setMaximum(0.0)
        self.doubleSpinBox.setSingleStep(0.01)
        self.doubleSpinBox.setProperty("value", -0.15)
        self.doubleSpinBox.setObjectName("doubleSpinBox")
        self.horizontalLayout.addWidget(self.doubleSpinBox)
        self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox(self.groupBox_2)
        self.doubleSpinBox_2.setMinimum(-9999.0)
        self.doubleSpinBox_2.setMaximum(0.0)
        self.doubleSpinBox_2.setSingleStep(0.01)
        self.doubleSpinBox_2.setProperty("value", -0.08)
        self.doubleSpinBox_2.setObjectName("doubleSpinBox_2")
        self.horizontalLayout.addWidget(self.doubleSpinBox_2)
        self.doubleSpinBox_3 = QtWidgets.QDoubleSpinBox(self.groupBox_2)
        self.doubleSpinBox_3.setMaximum(9999.0)
        self.doubleSpinBox_3.setSingleStep(0.01)
        self.doubleSpinBox_3.setProperty("value", 0.15)
        self.doubleSpinBox_3.setObjectName("doubleSpinBox_3")
        self.horizontalLayout.addWidget(self.doubleSpinBox_3)
        self.doubleSpinBox_4 = QtWidgets.QDoubleSpinBox(self.groupBox_2)
        self.doubleSpinBox_4.setSingleStep(0.01)
        self.doubleSpinBox_4.setProperty("value", 0.45)
        self.doubleSpinBox_4.setObjectName("doubleSpinBox_4")
        self.horizontalLayout.addWidget(self.doubleSpinBox_4)
        self.checkBox_5 = QtWidgets.QCheckBox(self.groupBox_2)
        self.checkBox_5.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.checkBox_5.setObjectName("checkBox_5")
        self.horizontalLayout.addWidget(self.checkBox_5)
        self.checkBox_4 = QtWidgets.QCheckBox(self.groupBox_2)
        self.checkBox_4.setObjectName("checkBox_4")
        self.horizontalLayout.addWidget(self.checkBox_4)
        self.verticalLayout_3.addLayout(self.horizontalLayout)
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.label_25 = QtWidgets.QLabel(self.groupBox_2)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.label_25.setFont(font)
        self.label_25.setObjectName("label_25")
        self.horizontalLayout_4.addWidget(self.label_25)
        self.comboBox_5 = QtWidgets.QComboBox(self.groupBox_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.comboBox_5.sizePolicy().hasHeightForWidth())
        self.comboBox_5.setSizePolicy(sizePolicy)
        self.comboBox_5.setMinimumSize(QtCore.QSize(13, 26))
        self.comboBox_5.setObjectName("comboBox_5")
        self.comboBox_5.addItem("")
        self.comboBox_5.addItem("")
        self.comboBox_5.addItem("")
        self.comboBox_5.addItem("")
        self.comboBox_5.addItem("")
        self.comboBox_5.addItem("")
        self.horizontalLayout_4.addWidget(self.comboBox_5)
        self.checkBox = QtWidgets.QCheckBox(self.groupBox_2)
        self.checkBox.setObjectName("checkBox")
        self.horizontalLayout_4.addWidget(self.checkBox)
        self.checkBox_2 = QtWidgets.QCheckBox(self.groupBox_2)
        self.checkBox_2.setObjectName("checkBox_2")
        self.horizontalLayout_4.addWidget(self.checkBox_2)
        self.checkBox_3 = QtWidgets.QCheckBox(self.groupBox_2)
        self.checkBox_3.setObjectName("checkBox_3")
        self.horizontalLayout_4.addWidget(self.checkBox_3)
        self.checkBox_6 = QtWidgets.QCheckBox(self.groupBox_2)
        self.checkBox_6.setObjectName("checkBox_6")
        self.horizontalLayout_4.addWidget(self.checkBox_6)
        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.label_24 = QtWidgets.QLabel(self.groupBox_2)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.label_24.setFont(font)
        self.label_24.setObjectName("label_24")
        self.horizontalLayout_6.addWidget(self.label_24)
        self.comboBox_3 = QtWidgets.QComboBox(self.groupBox_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.comboBox_3.sizePolicy().hasHeightForWidth())
        self.comboBox_3.setSizePolicy(sizePolicy)
        self.comboBox_3.setMinimumSize(QtCore.QSize(13, 26))
        self.comboBox_3.setObjectName("comboBox_3")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.horizontalLayout_6.addWidget(self.comboBox_3)
        self.label_40 = QtWidgets.QLabel(self.groupBox_2)
        font = QtGui.QFont()
        font.setPointSize(10)
        self.label_40.setFont(font)
        self.label_40.setObjectName("label_40")
        self.horizontalLayout_6.addWidget(self.label_40)
        self.comboBox_6 = QtWidgets.QComboBox(self.groupBox_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.comboBox_6.sizePolicy().hasHeightForWidth())
        self.comboBox_6.setSizePolicy(sizePolicy)
        self.comboBox_6.setObjectName("comboBox_6")
        self.horizontalLayout_6.addWidget(self.comboBox_6)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label_9 = QtWidgets.QLabel(self.groupBox_2)
        self.label_9.setObjectName("label_9")
        self.horizontalLayout_2.addWidget(self.label_9)
        self.doubleSpinBox_6 = QtWidgets.QDoubleSpinBox(self.groupBox_2)
        self.doubleSpinBox_6.setMaximum(1.0)
        self.doubleSpinBox_6.setSingleStep(0.01)
        self.doubleSpinBox_6.setProperty("value", 0.5)
        self.doubleSpinBox_6.setObjectName("doubleSpinBox_6")
        self.horizontalLayout_2.addWidget(self.doubleSpinBox_6)
        self.horizontalLayout_6.addLayout(self.horizontalLayout_2)
        self.verticalLayout_3.addLayout(self.horizontalLayout_6)
        self.verticalLayout.addWidget(self.groupBox_2)
        self.groupBox_3 = QtWidgets.QGroupBox(HmmCleaner)
        self.groupBox_3.setObjectName("groupBox_3")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_3)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.pushButton = ArrowPushButton(self.groupBox_3)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/picture/resourses/if_start_60207.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton.setIcon(icon)
        self.pushButton.setObjectName("pushButton")
        self.gridLayout_3.addWidget(self.pushButton, 0, 0, 1, 1)
        self.pushButton_2 = QtWidgets.QPushButton(self.groupBox_3)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/picture/resourses/if_Delete_1493279.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton_2.setIcon(icon1)
        self.pushButton_2.setObjectName("pushButton_2")
        self.gridLayout_3.addWidget(self.pushButton_2, 0, 1, 1, 1)
        self.gridLayout_3.setColumnStretch(0, 1)
        self.gridLayout_3.setColumnStretch(1, 1)
        self.verticalLayout.addWidget(self.groupBox_3)
        self.groupBox = QtWidgets.QGroupBox(HmmCleaner)
        self.groupBox.setObjectName("groupBox")
        self.gridLayout = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout.setObjectName("gridLayout")
        self.progressBar = QtWidgets.QProgressBar(self.groupBox)
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName("progressBar")
        self.gridLayout.addWidget(self.progressBar, 0, 0, 1, 1)
        self.pushButton_9 = QtWidgets.QPushButton(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.pushButton_9.sizePolicy().hasHeightForWidth())
        self.pushButton_9.setSizePolicy(sizePolicy)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/picture/resourses/Eye_Care_Services-512.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton_9.setIcon(icon2)
        self.pushButton_9.setObjectName("pushButton_9")
        self.gridLayout.addWidget(self.pushButton_9, 1, 0, 1, 1)
        self.verticalLayout.addWidget(self.groupBox)
        self.label_25.setBuddy(self.comboBox_3)
        self.label_24.setBuddy(self.comboBox_3)

        self.retranslateUi(HmmCleaner)
        self.comboBox_6.setCurrentIndex(-1)
        QtCore.QMetaObject.connectSlotsByName(HmmCleaner)
        HmmCleaner.setTabOrder(self.pushButton_3, self.comboBox_3)
        HmmCleaner.setTabOrder(self.comboBox_3, self.comboBox_4)
        HmmCleaner.setTabOrder(self.comboBox_4, self.pushButton)
        HmmCleaner.setTabOrder(self.pushButton, self.pushButton_2)
        HmmCleaner.setTabOrder(self.pushButton_2, self.pushButton_9)

    def retranslateUi(self, HmmCleaner):
        _translate = QtCore.QCoreApplication.translate
        HmmCleaner.setWindowTitle(_translate("HmmCleaner", "HmmCleaner"))
        self.groupBox_4.setTitle(_translate("HmmCleaner", "Input"))
        self.label_4.setText(_translate("HmmCleaner", "Input:"))
        self.label_5.setText(_translate("HmmCleaner", "<html><head/><body><p>Click <a href=\"https://metacpan.org/pod/release/ARNODF/Bio-MUST-Apps-HmmCleaner-0.180750/bin/HmmCleaner.pl\"><span style=\" text-decoration: underline; color:#0000ff;\">here</span></a> to learn more about HmmCleaner.</p></body></html>"))
        self.label_3.setText(_translate("HmmCleaner", "Demo:"))
        self.label_7.setToolTip(_translate("HmmCleaner", "Brief example"))
        self.groupBox_2.setTitle(_translate("HmmCleaner", "Parameter"))
        self.label.setToolTip(_translate("HmmCleaner", "Cost parameters that defines the low similarity segments detected by HmmCleaner"))
        self.label.setText(_translate("HmmCleaner", "costs:"))
        self.checkBox_5.setToolTip(_translate("HmmCleaner", "Convert X characters to gaps that will not be taken into account by HmmCleaner."))
        self.checkBox_5.setText(_translate("HmmCleaner", "noX"))
        self.checkBox_4.setToolTip(_translate("HmmCleaner", "Outputs result file(s) in ali MUST format."))
        self.checkBox_4.setText(_translate("HmmCleaner", "ali"))
        self.label_25.setToolTip(_translate("HmmCleaner", "Verbosity level for logging to STDERR "))
        self.label_25.setText(_translate("HmmCleaner", "verbosity"))
        self.comboBox_5.setToolTip(_translate("HmmCleaner", "Verbosity level for logging to STDERR "))
        self.comboBox_5.setItemText(0, _translate("HmmCleaner", "0"))
        self.comboBox_5.setItemText(1, _translate("HmmCleaner", "1"))
        self.comboBox_5.setItemText(2, _translate("HmmCleaner", "2"))
        self.comboBox_5.setItemText(3, _translate("HmmCleaner", "3"))
        self.comboBox_5.setItemText(4, _translate("HmmCleaner", "4"))
        self.comboBox_5.setItemText(5, _translate("HmmCleaner", "5"))
        self.checkBox.setToolTip(_translate("HmmCleaner", "Load predifined cost parameters optimized to give more weigth on specificity. Can be use with --large option. User defined costs will be prioritary if present."))
        self.checkBox.setText(_translate("HmmCleaner", "specificity"))
        self.checkBox_2.setToolTip(_translate("HmmCleaner", "Load predifined cost parameters optimized for MSA with at least 50 sequences. Can be use with --specificity option. User defined costs will be prioritary if present."))
        self.checkBox_2.setText(_translate("HmmCleaner", "large"))
        self.checkBox_3.setToolTip(_translate("HmmCleaner", "Only outputs list of segments removed."))
        self.checkBox_3.setText(_translate("HmmCleaner", "log_only"))
        self.checkBox_6.setToolTip(_translate("HmmCleaner", "Determine if output will have defline with generic suffix (_hmmcleaned)"))
        self.checkBox_6.setText(_translate("HmmCleaner", "changeID"))
        self.label_24.setToolTip(_translate("HmmCleaner", "Determine how the profile will be create complete or leave-one-out (default: complete) leave-one-out = without the analyzed sequence (new profile each time) complete = all sequences (same profile for each sequence) First case is more sensitive but need more ressources (hence more time)"))
        self.label_24.setText(_translate("HmmCleaner", "profile:"))
        self.comboBox_3.setToolTip(_translate("HmmCleaner", "Determine how the profile will be create complete or leave-one-out (default: complete) leave-one-out = without the analyzed sequence (new profile each time) complete = all sequences (same profile for each sequence) First case is more sensitive but need more ressources (hence more time)"))
        self.comboBox_3.setItemText(0, _translate("HmmCleaner", "complete"))
        self.comboBox_3.setItemText(1, _translate("HmmCleaner", "leave-one-out"))
        self.label_40.setToolTip(_translate("HmmCleaner", "Amino acid score matrix to use"))
        self.label_40.setText(_translate("HmmCleaner", "thread:"))
        self.comboBox_6.setToolTip(_translate("HmmCleaner", "Amino acid score matrix to use"))
        self.label_9.setToolTip(_translate("HmmCleaner", "Handle the symfrac option of hmmbuild modifying the required fraction of sequences to consider a position as a consensus column"))
        self.label_9.setText(_translate("HmmCleaner", "symfrac:"))
        self.doubleSpinBox_6.setToolTip(_translate("HmmCleaner", "Handle the symfrac option of hmmbuild modifying the required fraction of sequences to consider a position as a consensus column"))
        self.groupBox_3.setTitle(_translate("HmmCleaner", "Run"))
        self.pushButton.setText(_translate("HmmCleaner", "Start"))
        self.pushButton_2.setText(_translate("HmmCleaner", "Stop"))
        self.groupBox.setTitle(_translate("HmmCleaner", "Progress"))
        self.pushButton_9.setText(_translate("HmmCleaner", "Show log"))

from src.CustomWidget import ArrowPushButton, ClickedLableGif, ListQCombobox
from uifiles import myRes_rc

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    HmmCleaner = QtWidgets.QDialog()
    ui = Ui_HmmCleaner()
    ui.setupUi(HmmCleaner)
    HmmCleaner.show()
    sys.exit(app.exec_())

