Skip to content

Commit

Permalink
...
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Fitzpatrick committed Jan 5, 2015
2 parents b915437 + 3a67a02 commit 71f3289
Show file tree
Hide file tree
Showing 9 changed files with 57 additions and 18 deletions.
17 changes: 14 additions & 3 deletions developer_install_linux.sh
@@ -1,3 +1,14 @@
sudo apt-get install python-qt4 python-numpy python-scipy python-pandas python-yapsy python-requests python-matplotlib python-scikits-learn python-pip ipython ipython-notebook ipython-notebook-common ipython-qtconsole python-pygments
# sudo apt-get install python-pkg-resources python-setuptools --reinstall
sudo pip install --upgrade pyqtconfig mplstyler
# We're using a development version of IPython so for now we need to get it via git
cwd=$(pwd)
mkdir /tmp/pathomx-install
cd /tmp/pathomx-install
git clone --recursive https://github.com/ipython/ipython.git
cd ipython
sudo pip install --upgrade .
rm -rf /tmp/pathomx-install
cd $cwd

# Now install all other dependencies via apt-get or pip
sudo apt-get install python-qt4 python-numpy python-scipy python-yapsy python-requests python-matplotlib python-scikits-learn python-pip ipython ipython-notebook ipython-notebook-common ipython-qtconsole python-pygments
sudo pip install --upgrade pandas dill pyqtconfig mplstyler mistune biocyc pydot jsonschema

18 changes: 15 additions & 3 deletions developer_install_linux_python3.sh
@@ -1,4 +1,16 @@
sudo apt-get install python3-pyqt4 python3-numpy python3-scipy python3-pandas python3-yapsy python3-matplotlib python3-requests python3-pip ipython3 ipython3-qtconsole ipython3-notebook
sudo pip3 install --upgrade pyqtconfig mplstyler
# We're using a development version of IPython so for now we need to get it via git
cwd=$(pwd)
mkdir /tmp/pathomx-install
cd /tmp/pathomx-install
git clone --recursive https://github.com/ipython/ipython.git
cd ipython
sudo pip3 install --upgrade .
rm -rf /tmp/pathomx-install
cd $cwd

# Now install all other dependencies via apt-get or pip
sudo apt-get install python3-pyqt4 python3-numpy python3-scipy python3-yapsy python3-matplotlib python3-requests python3-pip ipython3 ipython3-qtconsole ipython3-notebook
sudo pip3 install --upgrade pandas dill pyqtconfig mplstyler mistune biocyc jsonschema

# The following may error, but is not essential
sudo pip3 scikits.learn
sudo pip3 install scikits.learn
1 change: 1 addition & 0 deletions pathomx/Pathomx.py
Expand Up @@ -393,6 +393,7 @@ def do_open_demo(f):
#self.dbBrowser = self.dbtool.dbBrowser

self.setWindowTitle(tr('Pathomx'))
self.setWindowIcon(QIcon(os.path.join(utils.scriptdir, 'static', 'icon.png')))

self.kernelStatus = ui.KernelStatusWidget()
self.statusBar().addPermanentWidget(self.kernelStatus)
Expand Down
3 changes: 1 addition & 2 deletions pathomx/figures.py
Expand Up @@ -111,7 +111,7 @@ def find_linear_scale(data):
if type(data.columns) == pd.MultiIndex:
for n, l in enumerate(data.columns.levels):
if l.dtype == np.dtype('O'): # Object; maybe str?
if len(l) > longest:
if longest is None or len(l) > longest:
longest = len(l)

elif np.issubdtype(l.dtype, np.integer) or np.issubdtype(l.dtype, np.float):
Expand Down Expand Up @@ -246,7 +246,6 @@ def spectra(data, figure=None, ax=None, styles=None, regions=None):
anno_y = data_max[idx]

for x, y, l in zip(anno_scale, anno_y, anno_label):
print "*", x, y, l
if y >= 0:
r = '60'
else:
Expand Down
5 changes: 5 additions & 0 deletions pathomx/globals.py
Expand Up @@ -14,6 +14,11 @@
import matplotlib as mpl
from . import utils

try:
unicode
except:
unicode = str

# Pathomx global variables
current_tools = []
current_tools_by_id = {}
Expand Down
3 changes: 2 additions & 1 deletion pathomx/kernel_helpers.py
Expand Up @@ -3,6 +3,7 @@
import numpy as np
import pandas as pd
import re
import io

from matplotlib.figure import Figure, AxesStack
from matplotlib.axes import Subplot
Expand Down Expand Up @@ -106,7 +107,7 @@ def progress(progress):
print("____pathomx_execute_progress_%.2f____" % progress)


class open_with_progress(file):
class open_with_progress(io.IOBase):

def __init__(self, f, *args, **kwargs):
super(open_with_progress, self).__init__(f, *args, **kwargs)
Expand Down
13 changes: 8 additions & 5 deletions pathomx/plugins/import_text/import_text.py
Expand Up @@ -8,7 +8,9 @@
dialect = csv.Sniffer().sniff(f.read(1024))
f.close()
except:
pass
dialect = None
format_dict = dict()

else:
format_dict = dict()
else:
Expand All @@ -23,14 +25,14 @@
if config['column_headers'] == 1:
column_headers = 0
elif config['column_headers'] > 1:
column_headers = range(config['column_headers'])
column_headers = list( range(config['column_headers']) )
else:
column_headers = None

if config['row_headers'] == 0:
row_headers = None
else:
row_headers = range(config['row_headers'])
row_headers = list(range(config['row_headers']) )


with open(config['filename'], 'rU') as f:
Expand All @@ -54,13 +56,13 @@
# Check if we've got a singluar index (not multiindex) and convert
if not isinstance(output_data.index, pd.MultiIndex):
output_data.index = pd.MultiIndex.from_tuples(
zip(output_data.index.values, range(1, len(output_data.index.values) + 1)),
list( zip(output_data.index.values, range(1, len(output_data.index.values) + 1)) ),
names=['Sample'])


if not isinstance(output_data.columns, pd.MultiIndex):
output_data.columns = pd.MultiIndex.from_tuples(
zip(output_data.columns.values, range(1, len(output_data.columns.values) + 1)),
list( zip(output_data.columns.values, range(1, len(output_data.columns.values) + 1)) ),
names=['Label', 'Measurement'])


Expand All @@ -83,3 +85,4 @@

Spectra = spectra(output_data, styles=styles)
Heatmap = heatmap(output_data)

3 changes: 2 additions & 1 deletion pathomx/runqueue.py
Expand Up @@ -97,6 +97,7 @@ def run(self, tool, varsi, progress_callback=None, result_callback=None):

# Check metadata to see if this kernel has the outputs for the previous tool
self.e.execute('%reset_selective -f [^_]')
print(varsi)
self.e.push({'varsi': varsi})
self.e.execute(r'''from pathomx.kernel_helpers import pathomx_notebook_start, pathomx_notebook_stop, progress, open_with_progress
pathomx_notebook_start(varsi, vars());''')
Expand Down Expand Up @@ -565,7 +566,7 @@ def run(self):

if hasattr(tool, 'data'):
# We can run code without an associated tool (e.g. for central-setup)
varsi['_pathomx_expected_output_vars'] = tool.data.o.keys()
varsi['_pathomx_expected_output_vars'] = list( tool.data.o.keys() )

# Build the IO magic
# - if the source did not run on the current runner we'll need to push the data over
Expand Down
12 changes: 9 additions & 3 deletions pathomx/ui.py
Expand Up @@ -49,6 +49,11 @@
except:
Qutepart = None

try:
unicode
except:
unicode = str

PX_INIT_SHOT = 50
PX_RENDER_SHOT = 500

Expand Down Expand Up @@ -1374,8 +1379,9 @@ def __init__(self, parent, name=None, code="", position=None, auto_focus=True, a

self.logger.debug('Setup config manager...')
self.config = ConfigManager() # Configuration manager object; handle all get/setting, defaults etc.

# Add hooks for custom widgets
self.config.hooks = dict(self.config.hooks.items() + custom_pyqtconfig_hooks.items())
self.config.hooks.update( custom_pyqtconfig_hooks.items() )

self.logger.debug('Create editor icon...')
self.editorItem = self.parent().editor.addApp(self, position=position)
Expand Down Expand Up @@ -1475,11 +1481,11 @@ def reload(self):
self.load_source()

def load_notes(self):
with open(os.path.join(self.plugin.path, "%s.md" % self.shortname), 'rU') as f:
with open(os.path.join(self.plugin.path, "%s.md" % self.shortname), 'rb') as f:
self.notes = f.read().decode('utf-8')

def load_source(self):
with open(os.path.join(self.plugin.path, "%s.py" % self.shortname), 'rU') as f:
with open(os.path.join(self.plugin.path, "%s.py" % self.shortname), 'rb') as f:
self.default_code = f.read().decode('utf-8')

if self.code == "":
Expand Down

0 comments on commit 71f3289

Please sign in to comment.