Skip to content
This repository has been archived by the owner. It is now read-only.

Commit

Permalink
Migrate from Qt 4 & PySide to Qt 5 & PyQt5
Browse files Browse the repository at this point in the history
  • Loading branch information
pafonta committed Jul 20, 2018
1 parent 8f49856 commit ba5abda
Show file tree
Hide file tree
Showing 33 changed files with 1,466 additions and 1,641 deletions.
147 changes: 54 additions & 93 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@
[Roadmap](#roadmap) |
[Status](#status)

**For the Annotation Viewer or the integration with the
[OpenMinTeD](https://openminted.eu)
platform, please refer to this
[branch](https://github.com/BlueBrain/neurocurator/blob/annotation_viewer/ANNOTATION_VIEWER.md).**
**For the Annotation Viewer or the integration with the [OpenMinTeD](
https://openminted.eu) platform, please refer to this [branch](
https://github.com/BlueBrain/neurocurator/blob/annotation_viewer/ANNOTATION_VIEWER.md).**

# NeuroCurator

Desktop application to perform systematic and collaborative curation of
neuroscientific literature.

This is a Graphical User Interface (GUI) for the Python package
This is a Graphical User Interface (GUI) for the Python module
[NeuroAnnotation Toolbox (NAT)](https://github.com/BlueBrain/nat).

This framework has been described in details in the following open-access
Expand All @@ -29,132 +28,94 @@ With NeuroCurator, annotations are:

## Getting Started

### Requirements:
### Installation

System side:
After having **installed Git and ImageMagick 6**:

- [Git 1.7.0+](https://git-scm.com/downloads)
- [ImageMagick 6](http://docs.wand-py.org/en/latest/guide/install.html)
- [Python 3.4*](https://www.python.org/downloads/)
- [Qt 4.8.7*](https://doc.qt.io/archives/qt-4.8/supported-platforms.html)
- [Miniconda*](https://conda.io/miniconda.html)

Python side:

- [NAT](https://github.com/BlueBrain/nat)
- [PySide 1.2.4](https://wiki.qt.io/PySide)
- [NumPy](http://www.numpy.org)
- [pandas](https://pandas.pydata.org)
- [Wand](http://docs.wand-py.org)

*Miniconda is not required. It simplifies only temporary the installation:
no need to compile Qt and to install manually Python 3.4. It also makes the
installation easier on Windows (pandas).

### Installation:

Instructions for macOS 10.13+, Ubuntu 16.04+, Windows 10+.

**1 - Create a virtual environment with Python 3.4:**
```bash
conda create -y --name nc python=3.4
pip3 install neurocurator
```

**2 - Switch to the virtual environment:**
If you would like to simplify the installation with Miniconda:

On macOS and Linux:
```bash
source activate nc
conda create --name nc python=3.7
conda activate nc
conda install beautifulsoup4 gitpython lxml numpy pandas scipy
pip install neurocurator
```

On Windows:
```bash
activate nc
```
**Requirements**

**3 - Install PySide 1.2.4 and Qt 4.8.7 from [conda-forge](https://conda-forge.org):**
```bash
conda install -y pyside --channel conda-forge
```
- System side:
- [Python 3.4+](https://www.python.org/downloads/)
- [Qt 5.11+](https://doc.qt.io/qt-5/gettingstarted.html)
- [Git 1.7.0+](https://git-scm.com/downloads)
- [ImageMagick 6](http://docs.wand-py.org/en/latest/guide/install.html)
- [Miniconda](https://conda.io/miniconda.html) (optional)

**4 - Install NAT:**
- Python side:
- [NAT](https://pypi.org/project/nat/)
- [PyQt5](https://pypi.org/project/PyQt5/)
- [NumPy](https://pypi.org/project/numpy/)
- [pandas](https://pypi.org/project/pandas/)
- [Wand](https://pypi.org/project/Wand/)

On macOS and Linux:
```bash
pip install nat
```

On Windows:
```bash
conda install -y pandas
pip install beautifulsoup4 gitpython lxml numpy parse pyzotero quantities scipy wand
pip install nat --no-deps
```
### Launch

**5 - Install NeuroCurator:**
```bash
pip install neurocurator --no-deps
neurocurator
```

### Use
If you have used Miniconda:

Launch NeuroCurator:
```bash
conda activate nc
neurocurator
```

For the future uses:
1. enter the virtual environment: `source activate nc` or `activate nc`
2. launch NeuroCurator: `neurocurator`
3. use NeuroCurator
4. close NeuroCurator
5. exit the virtual environment: `source deactivate` or `deactivate`

## Upgrade

Instructions for macOS 10.13+, Ubuntu 16.04+, Windows 10+.

**1 - Switch to the virtual environment:**

On macOS and Linux:
```bash
source activate nc
pip install --upgrade neurocurator
```

On Windows:
```bash
activate nc
```

**2 - Upgrade NAT:**
If you have used Miniconda:

```bash
pip install --upgrade nat
conda activate nc
pip install --upgrade neurocurator
```

**3 - Upgrade NeuroCurator:**

```bash
pip install --upgrade neurocurator --no-deps
```

## Releases

Versions and their notable changes are listed in the
[releases section](https://github.com/BlueBrain/neurocurator/releases/).
Versions and their notable changes are listed in the [releases section](
https://github.com/BlueBrain/neurocurator/releases/).

## Roadmap

1. [_ongoing_] Make the annotations publishable into a
[Blue Brain Nexus](https://bluebrain.github.io/nexus/) instance.
2. [_ongoing_] Stabilize NeuroCurator and NAT (Software Architecture).
3. Remove legacy dependencies in NeuroCurator (Qt 4 and Python 3.4).
4. Integrate fully the
[Annotation Viewer](https://github.com/BlueBrain/neurocurator/blob/annotation_viewer/ANNOTATION_VIEWER.md)
**Ongoing**

1. Make the annotations publishable into a [Blue Brain Nexus](
https://bluebrain.github.io/nexus/) instance.
2. Stabilize NeuroCurator and NAT (Software Architecture).

**TODO**

1. Integrate fully the [Annotation Viewer](
https://github.com/BlueBrain/neurocurator/blob/annotation_viewer/ANNOTATION_VIEWER.md)
into NeuroCurator.
5. Semi-automate the Knowledge Extraction process.
2. Semi-automate the Knowledge Extraction process.

**Done** (latest first)

* Remove legacy dependencies in NeuroCurator (Qt 4 and Python 3.4).
* Integrate OpenMinTeD annotations into the literature curation framework.
* Visualize NeuroCurator and OpenMinTeD annotations directly on PDFs.
* Make NeuroCurator easily installable, especially by scientists.

Updated on 28.06.18.
Updated on 20.07.18.

## Status

Expand Down
4 changes: 0 additions & 4 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@
# All configuration values have a default; values that are commented out
# serve to show the default.

import sys
import os
import shlex

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
Expand Down
2 changes: 1 addition & 1 deletion neurocurator/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import sys

from PySide.QtGui import QApplication
from PyQt5.QtWidgets import QApplication

from neurocurator.mainWin import Window

Expand Down
30 changes: 9 additions & 21 deletions neurocurator/addOntoTermDlg.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,40 +9,28 @@

__author__ = "Christian O'Reilly"

# Import PySide classes
from PySide import QtGui, QtCore
from PyQt5.QtWidgets import QDialog, QLabel, QGroupBox, QVBoxLayout, QHBoxLayout


class AddOntoTermDlg(QtGui.QDialog):
class AddOntoTermDlg(QDialog):

def __init__(self, parent=None):
super(AddOntoTermDlg, self).__init__(parent)
super().__init__(parent)

self.setWindowTitle("Addition of a new ontology term")
self.setGeometry(100, 300, 1000, 1000)

self.warningMsg = QLabel("Remember: ", self)



self.warningMsg = QtGui.QLabel("Remember: ", self)

self.addingGroup = QtGui.QGroupBox("Adding a new ontology term")
addingLayout = QtGui.QVBoxLayout(self.addingGroup)
self.addingGroup = QGroupBox("Adding a new ontology term")
addingLayout = QVBoxLayout(self.addingGroup)
addingLayout.addWidget(self.warningMsg)



self.suggestionGroup = QtGui.QGroupBox("Existing ontological term suggestions")
suggestionLayout = QtGui.QVBoxLayout(self.suggestionGroup)
#suggestionLayout.addWidget(self.warningMsg)


self.suggestionGroup = QGroupBox("Existing ontological term suggestions")

# Layout
layout = QtGui.QHBoxLayout()
layout = QHBoxLayout()
layout.addWidget(self.addingGroup)
layout.addWidget(self.suggestionGroup)

self.setLayout(layout)



Loading

0 comments on commit ba5abda

Please sign in to comment.