[med-svn] [Git][med-team/microbegps][master] First attempt to port to PyQt5 (not finished yet)
Andreas Tille
gitlab at salsa.debian.org
Fri Sep 6 10:37:33 BST 2019
Andreas Tille pushed to branch master at Debian Med / microbegps
Commits:
e778a669 by Andreas Tille at 2019-09-06T09:37:03Z
First attempt to port to PyQt5 (not finished yet)
- - - - -
4 changed files:
- debian/changelog
- debian/control
- + debian/patches/PyQt5.patch
- debian/patches/series
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+microbegps (1.0.0-5) UNRELEASED; urgency=medium
+
+ * Port to PyQt5
+ Closes: #935345
+
+ -- Andreas Tille <tille at debian.org> Fri, 06 Sep 2019 10:26:15 +0200
+
microbegps (1.0.0-4) unstable; urgency=medium
* Use 2to3 to port to Python3
=====================================
debian/control
=====================================
@@ -7,7 +7,7 @@ Build-Depends: debhelper-compat (= 12),
dh-python,
python3,
python3-setuptools,
- python3-pyqt4
+ python3-pyqt5
Standards-Version: 4.4.0
Vcs-Browser: https://salsa.debian.org/med-team/microbegps
Vcs-Git: https://salsa.debian.org/med-team/microbegps.git
@@ -18,7 +18,7 @@ Architecture: all
Depends: ${misc:Depends},
${python3:Depends},
python3-matplotlib-venn,
- python3-pyqt4
+ python3-pyqt5
Description: explorative taxonomic profiling tool for metagenomic data
MicrobeGPS is a bioinformatics tool for the analysis of metagenomic
sequencing data. The goal is to profile the composition of metagenomic
=====================================
debian/patches/PyQt5.patch
=====================================
@@ -0,0 +1,242 @@
+Description: Port to PyQt5
+Bug-Debian: https://bugs.debian.org/935345
+Author: Andreas Tille <tille at debian.org>
+Last-Update: Fri, 06 Sep 2019 10:26:15 +0200
+
+--- a/setup.py
++++ b/setup.py
+@@ -1,9 +1,9 @@
+ """ MicrobeGPS setup.py script. Allows direct installation of the tool or creating Python eggs. """
+
+ try:
+- import PyQt4
++ import PyQt5
+ except ImportError:
+- print('PyQt4 is not installed on your system! Please install PyQt4 first. You can download PyQt4 from http://www.riverbankcomputing.co.uk/software/pyqt/download or use your package manager to install the library.')
++ print('PyQt5 is not installed on your system!')
+ import sys
+ sys.exit()
+
+--- a/microbegps/gui.py
++++ b/microbegps/gui.py
+@@ -9,7 +9,7 @@ import pkg_resources
+ import threading
+ import pickle
+
+-from PyQt4 import QtGui, QtCore
++from PyQt5 import QtGui, QtCore, QtWidgets
+
+ import matplotlib.pyplot as plt
+ from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
+@@ -79,7 +79,7 @@ First, a subset of reads is selected tha
+ ]
+
+
+-class Pipeline(QtGui.QWidget):
++class Pipeline(QtWidgets.QWidget):
+ def __init__(self,mainWindow):
+ super(Pipeline, self).__init__()
+ self.mainWindow = mainWindow
+@@ -126,13 +126,13 @@ class Pipeline(QtGui.QWidget):
+ sublayout = QtGui.QHBoxLayout()
+ sublayout.addWidget(self.fileNameEdit,stretch=4)
+ sublayout.addWidget(selectButton,stretch=1)
+- subwidget = QtGui.QWidget()
++ subwidget = QtWidgets.QWidget()
+ subwidget.setLayout(sublayout)
+ layout = QtGui.QGridLayout()
+ layout.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignLeft)
+ layout.addWidget(QtGui.QLabel('Input Directory'),0,0)
+ layout.addWidget(subwidget,0,1)
+- loadDataWidget = QtGui.QWidget()
++ loadDataWidget = QtWidgets.QWidget()
+ loadDataWidget.setLayout(layout)
+ self.settingsBox.addWidget(loadDataWidget)
+
+@@ -167,7 +167,7 @@ class Pipeline(QtGui.QWidget):
+ layout.addRow(QtGui.QLabel('Max. Read Matches'),self.maxMatchesBox)
+ layout.addRow(QtGui.QLabel('Max. Read Mapping Error'),self.maxMappingError)
+ layout.addRow(QtGui.QLabel('Mapping Error Quantile'),self.mappingErrorQuantile)
+- rawFilterWidget = QtGui.QWidget()
++ rawFilterWidget = QtWidgets.QWidget()
+ rawFilterWidget.setLayout(layout)
+ self.settingsBox.addWidget(rawFilterWidget)
+
+@@ -191,12 +191,12 @@ class Pipeline(QtGui.QWidget):
+ sublayout1 = QtGui.QHBoxLayout()
+ sublayout1.addWidget(self.mappingFileEdit,stretch=4)
+ sublayout1.addWidget(selectButton1,stretch=1)
+- subwidget1 = QtGui.QWidget()
++ subwidget1 = QtWidgets.QWidget()
+ subwidget1.setLayout(sublayout1)
+ sublayout2 = QtGui.QHBoxLayout()
+ sublayout2.addWidget(self.NCBICatalogPath,stretch=4)
+ sublayout2.addWidget(selectButton2,stretch=1)
+- subwidget2 = QtGui.QWidget()
++ subwidget2 = QtWidgets.QWidget()
+ subwidget2.setLayout(sublayout2)
+ layout = QtGui.QGridLayout()
+ layout.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignLeft)
+@@ -205,7 +205,7 @@ class Pipeline(QtGui.QWidget):
+ layout.addWidget(subwidget1,1,1)
+ layout.addWidget(self.useNCBIFiles,2,0)
+ layout.addWidget(subwidget2,2,1)
+- referenceTableWidget = QtGui.QWidget()
++ referenceTableWidget = QtWidgets.QWidget()
+ referenceTableWidget.setLayout(layout)
+ self.settingsBox.addWidget(referenceTableWidget)
+
+@@ -228,7 +228,7 @@ class Pipeline(QtGui.QWidget):
+ layout.addRow(QtGui.QLabel('Min. Number Unique Reads'),self.minAbsoluteUnique)
+ layout.addRow(QtGui.QLabel('Max. Homogeneity'),self.maxHomogeneity)
+
+- qualFilterWidget = QtGui.QWidget()
++ qualFilterWidget = QtWidgets.QWidget()
+ qualFilterWidget.setLayout(layout)
+ self.settingsBox.addWidget(qualFilterWidget)
+
+@@ -266,7 +266,7 @@ class Pipeline(QtGui.QWidget):
+ layout.addRow(QtGui.QLabel('Coverage Similarity'),self.coverageSimilarity)
+ layout.addRow(QtGui.QLabel('Fraction Shared USR'),self.sharedFractionUSR)
+ layout.addRow(QtGui.QLabel('Fraction Shared Reads'),self.sharedFractionAll)
+- extractUSRWidget = QtGui.QWidget()
++ extractUSRWidget = QtWidgets.QWidget()
+ extractUSRWidget.setLayout(layout)
+ self.settingsBox.addWidget(extractUSRWidget)
+
+@@ -274,7 +274,7 @@ class Pipeline(QtGui.QWidget):
+ self.closeOnFinish = QtGui.QCheckBox('Close this window after visualizing results')
+ layout = QtGui.QVBoxLayout()
+ layout.addWidget(self.closeOnFinish)
+- visualizeWidget = QtGui.QWidget()
++ visualizeWidget = QtWidgets.QWidget()
+ visualizeWidget.setLayout(layout)
+ self.settingsBox.addWidget(visualizeWidget)
+
+@@ -294,7 +294,7 @@ class Pipeline(QtGui.QWidget):
+ consoleLayout = QtGui.QVBoxLayout()
+ consoleLayout.addWidget(self.progress)
+ consoleLayout.addWidget(self.consoleText)
+- consoleWidget = QtGui.QWidget()
++ consoleWidget = QtWidgets.QWidget()
+ consoleWidget.setLayout(consoleLayout)
+
+ self.runStepBtn = QtGui.QPushButton("Run Step")
+@@ -304,7 +304,7 @@ class Pipeline(QtGui.QWidget):
+ buttonLayout = QtGui.QHBoxLayout()
+ buttonLayout.addWidget(self.runStepBtn)
+ buttonLayout.addWidget(self.runPipelineBtn)
+- buttonBar = QtGui.QWidget()
++ buttonBar = QtWidgets.QWidget()
+ buttonBar.setLayout(buttonLayout)
+
+ gridLayout = QtGui.QGridLayout()
+@@ -871,7 +871,7 @@ class Pipeline(QtGui.QWidget):
+ self.sharedFractionAll.setValue(settings.get('fraction_shared_all',0.8))
+
+
+-class GPSAnalyzer(QtGui.QMainWindow):
++class GPSAnalyzer(QtWidgets.QMainWindow):
+ def __init__(self):
+ super(GPSAnalyzer, self).__init__()
+ self.initUI()
+@@ -901,19 +901,19 @@ class GPSAnalyzer(QtGui.QMainWindow):
+ self.graphicDock = QtGui.QDockWidget('Graphic',self)
+ self.graphicDock.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures)
+ self.graphicDock.setMinimumSize(450,300)
+- self.graphicDock.setTitleBarWidget(QtGui.QWidget())
++ self.graphicDock.setTitleBarWidget(QtWidgets.QWidget())
+
+ self.toolsDock = QtGui.QDockWidget('Tools',self)
+ self.toolsDock.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures)
+ self.toolsDock.setMinimumHeight(150)
+ self.toolsDock.setMaximumHeight(250)
+- self.toolsDock.setTitleBarWidget(QtGui.QWidget())
++ self.toolsDock.setTitleBarWidget(QtWidgets.QWidget())
+
+ self.consoleDock = QtGui.QDockWidget('Console',self)
+ self.consoleDock.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures)
+ self.consoleDock.setMinimumHeight(150)
+ self.consoleDock.setMaximumHeight(450)
+- self.consoleDock.setTitleBarWidget(QtGui.QWidget())
++ self.consoleDock.setTitleBarWidget(QtWidgets.QWidget())
+
+ self.addDockWidget(QtCore.Qt.RightDockWidgetArea,self.graphicDock)
+ self.addDockWidget(QtCore.Qt.RightDockWidgetArea,self.toolsDock)
+@@ -966,7 +966,7 @@ class GPSAnalyzer(QtGui.QMainWindow):
+ toolsGrid.addWidget(self.exportFigureQuality,1,1)
+ toolsGrid.addWidget(showPipelineBtn,2,0)
+
+- toolsWidget = QtGui.QWidget()
++ toolsWidget = QtWidgets.QWidget()
+ toolsWidget.setLayout(toolsGrid)
+
+ self.toolsTab = QtGui.QTabWidget()
+@@ -1734,7 +1734,7 @@ the LICENSE file shipped with this softw
+ self.treeView.scrollToItem(sel)
+
+ def main():
+- app = QtGui.QApplication(sys.argv)
++ app = QtWidgets.QApplication(sys.argv)
+ GPSAnalyzer()
+ app.exec_()
+
+--- a/microbegps/modules/composition_analysis.py
++++ b/microbegps/modules/composition_analysis.py
+@@ -1,4 +1,4 @@
+-from PyQt4 import QtGui
++from PyQt5 import QtGui, QtWidgets
+ import matplotlib.pyplot as plt
+
+ class GPSModule:
+@@ -56,7 +56,7 @@ class GPSModule:
+ tabGrid.addWidget(self.getFromTree, 3,1)
+ tabGrid.addWidget(self.taxSelectedText,4,0)
+ tabGrid.addWidget(self.showComposition,4,1)
+- tabWidget = QtGui.QWidget()
++ tabWidget = QtWidgets.QWidget()
+ tabWidget.setLayout(tabGrid)
+ tabWidget.helpText = self.helpText
+
+--- a/microbegps/modules/export_table.py
++++ b/microbegps/modules/export_table.py
+@@ -1,4 +1,4 @@
+-from PyQt4 import QtGui
++from PyQt5 import QtGui, QtWidgets
+ from os import linesep
+ from microbegps import taxonomy
+
+@@ -57,7 +57,7 @@ class GPSModule:
+ tabGrid.addWidget(self.genomeValidity,4,1)
+ tabGrid.addWidget(self.homogeneity,5,0)
+ tabGrid.addWidget(self.mappingError,5,1)
+- tabWidget = QtGui.QWidget()
++ tabWidget = QtWidgets.QWidget()
+ tabWidget.setLayout(tabGrid)
+ tabWidget.helpText = self.helpText
+
+--- a/microbegps/modules/search_tab.py
++++ b/microbegps/modules/search_tab.py
+@@ -1,5 +1,5 @@
+ # -*- coding: utf-8 -*-
+-from PyQt4 import QtGui
++from PyQt5 import QtGui, QtWidgets
+
+ class GPSModule:
+ """ This GPS Module implements a search tab, that allows the user to
+@@ -24,7 +24,7 @@ class GPSModule:
+ searchGrid.addWidget(self.searchBtn, 0,1)
+ searchGrid.addWidget(self.searchRes, 1,0,1,2)
+
+- searchWidget = QtGui.QWidget()
++ searchWidget = QtWidgets.QWidget()
+ searchWidget.setLayout(searchGrid)
+
+ GPS.toolsTab.addTab(searchWidget,"Search")
+@@ -54,4 +54,4 @@ class GPSModule:
+ self.GPS.treeView.setCurrentItem(sel)
+ self.GPS.treeView.expand(self.GPS.treeView.currentIndex())
+ self.GPS.treeView.scrollToItem(self.GPS.treeView.currentItem())
+- self.GPS.tree_item_clicked_handler(self.GPS.treeView.currentItem(),0)
+\ No newline at end of file
++ self.GPS.tree_item_clicked_handler(self.GPS.treeView.currentItem(),0)
=====================================
debian/patches/series
=====================================
@@ -1 +1,2 @@
2to3.patch
+PyQt5.patch
View it on GitLab: https://salsa.debian.org/med-team/microbegps/commit/e778a66926a1445140c9f2a9bd41f6923012de26
--
View it on GitLab: https://salsa.debian.org/med-team/microbegps/commit/e778a66926a1445140c9f2a9bd41f6923012de26
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20190906/2bc21d17/attachment-0001.html>
More information about the debian-med-commit
mailing list