Skip to content

Commit

Permalink
Merge 9065477 into b972628
Browse files Browse the repository at this point in the history
  • Loading branch information
cokelaer committed May 16, 2023
2 parents b972628 + 9065477 commit b0a266b
Show file tree
Hide file tree
Showing 31 changed files with 1,773 additions and 1,731 deletions.
51 changes: 40 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,65 @@ on:
- main
pull_request:
branches-ignore: []
schedule:
- cron: '0 0 13 * *'


jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
matrix:
python: ['3.8', '3.9', '3.10']
qt-api: ['pyside6']
fail-fast: false

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v3
with:
python-version: 3.7
python-version: ${{ matrix.python }}
- name: Setup ubuntu
run: |
sudo apt install xvfb libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0
sudo apt update -y --fix-missing
sudo apt install -y build-essential
sudo apt install -y xvfb libxkbcommon-x11-0 x11-xserver-utils
# cursor0 and shape0 required as well. Others were provided on pytest-qt and qt page
sudo apt install libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-xkb-dev libxcb-cursor0 libxcb-shape0
sudo apt install graphviz
sudo apt install libgl1 libgl1-mesa-glx libegl1 libgles2-mesa-dev libgl1-mesa-dev
- name: Install dependencies
run: |
pip install -r requirements.txt -r requirements_dev.txt
python setup.py install
pip install .[testing]
pip install sequana_fastqc
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude sequanix/ui/
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude '*/ui/'
- name: Test with pytest
env:
QT_DEBUG_PLUGINS: 1
DISPLAY: ":99.0"
QT_API: ${{ matrix.qt-api }}
T_QPA_PLATFORM: offscreen
run: |
Xvfb :99 -screen 0 1024x768x24 > dev>null 2>&1 &
# gives xvfb some time to start
sleep 3
pytest -s --cov-report term-missing --cov=sequanix -v
- name: coveralls
run: |
sudo Xvfb :1 -screen 0 1024x768x24 </dev/null &
export DISPLAY=":1"
pytest
pip install coveralls
coveralls --service=github
env:
GITHUB_TOKEN: ${{ github.token }}
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
recursive-exclude * __pycache__
recursive-exclude * *pyc
recursive-exclude test *
recursive-exclude doc *
include requirements*txt
include CONTRIBUTING.rst
include LICENSE
Expand Down
48 changes: 42 additions & 6 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ Sequanix is a graphical user interface (GUI) that can be used to run Snakemake w

.. image:: https://github.com/sequana/sequanix/actions/workflows/main.yml/badge.svg?branch=main
:target: https://github.com/sequana/sequanix/actions/workflows/main.yml

.. image:: https://coveralls.io/repos/github/sequana/sequanix/badge.svg?branch=main
:target: https://coveralls.io/github/sequana/sequanix?branch=main

.. image:: http://readthedocs.org/projects/sequana/badge/?version=master
:target: http://sequana.readthedocs.org/en/latest/?badge=master
.. image:: http://readthedocs.org/projects/sequana/badge/?version=main
:target: https://sequana.readthedocs.io/en/main/sequanix.html
:alt: Documentation Status

.. image:: http://joss.theoj.org/papers/10.21105/joss.00352/status.svg
:target: http://joss.theoj.org/papers/10.21105/joss.00352
:alt: JOSS (journal of open source software) DOI


:Python version: 3.6, 3.7.3 (below for now)
:Python version: 3.8, 3.9, 3.10
:Documentation: `On readthedocs <http://sequana.readthedocs.org/>`_
:Issues: `On github <https://github.com/sequana/sequana/issues>`_
:How to cite: Citations are important for us to carry on developments.
Expand All @@ -29,8 +29,7 @@ Sequanix is a graphical user interface (GUI) that can be used to run Snakemake w
Bioinformatics, bty034, https://doi.org/10.1093/bioinformatics/bty034
Also available on bioRxiv (DOI: https://doi.org/10.1101/162701)

**Sequanix** is a derivative of the **Sequana** projects that is dedicated to the analyse of NGS data (sequencing data). We provide a set of NGS pipelines including quality control, variant calling, coverage, taxonomy, transcriptomics. Please see the Sequana `documentation <http://sequana.readthedocs.org>`_ for an
up-to-date status and further information.
**Sequanix** is a derivative of the **Sequana** project that is dedicated to the analyse of NGS data (sequencing data). We provide a set of NGS pipelines including quality control, variant calling, coverage, taxonomy, transcriptomics. Please see the Sequana `documentation <http://sequana.readthedocs.org>`_ for an up-to-date status and further information.



Expand All @@ -44,3 +43,40 @@ Installation
############

Please see the installation notes and installation steps on the https://sequana.readthedocs.io link.


In brief::

pip install sequanix

For developers, use::


git clone git@github.com:sequana/sequanix.git
pip install -e .[testing]


Design choice
#############

Uses PySide6 from v0.2.0. See e.g., https://www.pythonguis.com/faq/pyqt6-vs-pyside6/ from information
on the switch to PySide6. In brief, the Qt project has recently adopted PySide as the official Qt for Python release which should ensure its viability going forward. When we migrate PyQt5 to PyQt6, we therefore decided to use PySide instead of PyQt.

Changelog
~~~~~~~~~

========= ==========================================================================
Version Description
========= ==========================================================================
0.2.0 * add logo
* remove pin on python3.7
* switch from PyQt5 to PySide6
* remove automatic creation of readtag in config. we let the pipelines
handle it
0.1.0 * revamp Sequanix independently of Sequana
========= ==========================================================================





12 changes: 5 additions & 7 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
colorlog
PyQt5==5.15.4
PyQt5-sip<13,>=12.8
PyQt5-Qt5==5.15.2
PyQtWebEngine==5.15.4
PyOpenGL==3.1.5
PyOpenGL_accelerate==3.1.5
qtconsole==5.1.1
PySide6
PySide6-Essentials
PyOpenGL==3.1.6
PyOpenGL_accelerate==3.1.6
qtconsole>=5.4.1
snakemake>=6.0.0
sequana_pipetools
ipython
Expand Down
4 changes: 0 additions & 4 deletions requirements_dev.txt

This file was deleted.

9 changes: 9 additions & 0 deletions sequanix/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@

import pkg_resources

try:
version = pkg_resources.require("sequanix")[0].version
except:
version = ">=0.2"


from .sequanix import SequanixGUI, main
Binary file added sequanix/media/sequana_logo_circle_512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b0a266b

Please sign in to comment.