From 072e346d82a17c8ea1c4326e1de62722b212464c Mon Sep 17 00:00:00 2001
From: Padraig Gleeson
Date: Tue, 5 Mar 2024 11:41:51 +0000
Subject: [PATCH 1/2] Update Arbor, torch and mdf
---
applications/jupyterlab/requirements.txt | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/applications/jupyterlab/requirements.txt b/applications/jupyterlab/requirements.txt
index c822378c..20718921 100644
--- a/applications/jupyterlab/requirements.txt
+++ b/applications/jupyterlab/requirements.txt
@@ -11,7 +11,7 @@ git+https://github.com/Neurosim-lab/netpyne.git@osbv2#egg=netpyne
#### Other simulators
# Arbor
-arbor==0.6.0
+arbor==0.9.0
# EDEN
eden-simulator==0.2.1
@@ -42,10 +42,10 @@ seaborn
# Note: this just installs pytorch for cpu, the default install adds a v large cuda lib
-f https://download.pytorch.org/whl/torch_stable.html
-torch==1.11.0+cpu
+torch==2.1.2+cpu
# For MDF
-modeci_mdf==0.4.5 # big jump in size of image...
+modeci_mdf==0.4.8 # big jump in size of image...
scikit-learn # Required for some Neuromatch Academy material
fasttext # Required for some Neuromatch Academy material
From 9d2377a9c93200f52e1c92b859e1e7e45088ae28 Mon Sep 17 00:00:00 2001
From: Padraig Gleeson
Date: Tue, 5 Mar 2024 18:07:47 +0000
Subject: [PATCH 2/2] Installs NEST, OMV, sbml libs
---
applications/jupyterlab/Dockerfile | 28 ++++++++++++++++++++++--
applications/jupyterlab/requirements.txt | 10 +++++++++
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/applications/jupyterlab/Dockerfile b/applications/jupyterlab/Dockerfile
index 151473ad..ecf6a4e4 100644
--- a/applications/jupyterlab/Dockerfile
+++ b/applications/jupyterlab/Dockerfile
@@ -31,7 +31,6 @@ RUN pip install -r requirements.txt --upgrade --no-cache-dir
RUN jupyter labextension install plotlywidget
-
##############
USER root
@@ -44,6 +43,10 @@ RUN echo -e '#!/bin/bash\n#Reusing the jNeuroML jar from the pip installed pyNeu
RUN chmod +x /opt/conda/bin/jnml
ENV JNML_HOME=/opt/conda/bin
+### Set up lems, reusing pynml jar
+RUN echo -e '#!/bin/bash\n#Reusing the jNeuroML jar from the pip installed pyNeuroML for the lems command\n\njava -classpath /opt/conda/lib/python3.9/site-packages/pyneuroml/lib/jNeuroML-*-jar-with-dependencies.jar org.lemsml.jlems.viz.VizMain $@' >> /opt/conda/bin/lems
+RUN chmod +x /opt/conda/bin/lems
+
RUN cat ~/.bashrc
@@ -84,13 +87,34 @@ RUN apt-get update && apt-get install libopenmpi-dev -y
# Octave etc.
RUN apt-get update && apt-get install octave octave-statistics -y
+# NEST
+ENV NEST_VER=3.5
+ENV NEST_HOME=/opt/conda/nest
+RUN cd /tmp && \
+ wget -nv https://github.com/nest/nest-simulator/archive/v$NEST_VER.tar.gz && \
+ tar xvzf v$NEST_VER.tar.gz && \
+ mv nest-simulator-$NEST_VER nest && \
+ cd nest && \
+ mkdir $NEST_HOME && \
+ apt-get install libgsl-dev -y && \
+ cmake -DCMAKE_INSTALL_PREFIX:PATH=$NEST_HOME -DPYTHON_EXECUTABLE:FILEPATH=/opt/conda/bin/python -DPYTHON_INCLUDE_DIR=/opt/conda/include/python3.9 . && \
+ make -j7 && \
+ make install
+ENV PYTHONPATH=$NEST_HOME/lib/python3.9/site-packages
+ENV PATH=$PATH:$NEST_HOME/bin
+
USER jovyan
#### Install Python packages
RUN pip install -r requirements.txt --upgrade --no-cache-dir
+# Compile NEURON mod files for PyNN
+RUN cd /opt/conda/lib/python3.9/site-packages/pyNN/neuron/nmodl && nrnivmodl
+# See https://github.com/OpenSourceBrain/osb-model-validation/issues/91 for status of this
+RUN pip install 'numpy<=1.23.0' # temp fix for https://levelup.gitconnected.com/fix-attributeerror-module-numpy-has-no-attribute-float-d7d68c5a4971
+
#########################################################################
# fix for https://github.com/jupyter/notebook/issues/7048
-
RUN pip install traitlets==5.9.0
+
COPY --chown=jovyan:users overrides/* /opt/conda/share/jupyter/lab/static/
WORKDIR /opt/workspace
diff --git a/applications/jupyterlab/requirements.txt b/applications/jupyterlab/requirements.txt
index 20718921..9f0bb0c5 100644
--- a/applications/jupyterlab/requirements.txt
+++ b/applications/jupyterlab/requirements.txt
@@ -57,8 +57,18 @@ tvb-data
ipympl
+#### SBML/COMBINE packages
+python-libsbml
+tellurium
+
+
#### General Python packages
plotly
+
+#### Install OMV
+git+https://github.com/OpenSourceBrain/osb-model-validation.git@v0.2.15
+
+
#### Final updates
numpy # Removes some issues with LFPy...
\ No newline at end of file