Skip to content

Commit ca3eed2

Browse files
committed
Update installation instructions, add caveat
This updates the documented HNN-original installation methods for most platforms to a newer version based on jonescompneurolab#337 . This is necessary because: 1. The most recent install instructions found on the official HNN website https://hnn.brown.edu/installation-instructions/ provide only either a link to jonescompneurolab#337 or, in Oscar's case, a separate set of instructions. However, these webpages on the official HNN website will soon be deleted, since we will soon be doing a comprehensive overhaul of the HNN websites. Once this happens, the only guidance that users will receive about installation will need to be present on the README of the repository here https://github.com/jonescompneurolab/hnn 2. The Installation page indicated on the README of the repository https://github.com/jonescompneurolab/hnn does NOT include the install guidance from jonescompneurolab#337. This PR takes the old pre-existing instructions for each platform, moves them into respective subdirectories such as `2021_instructions` (the last year they were updated), and then updates most of the instructions for each platform to match jonescompneurolab#337. I successfully tested the updated install versions for brown_ccv, mac, ubuntu, and windows, and was able to get them all working using the provided instructions. For Mac and Windows, I built off of jonescompneurolab/hnn-tutorials#4 This also adds a disclaimer at the top of every install page that redirects users to HNN-Core. Even people in the lab have still been getting confused about which install instructions are for which version (original HNN or HNN-Core), so that should be cleared up now.
1 parent c73caa9 commit ca3eed2

File tree

8 files changed

+144
-167
lines changed

8 files changed

+144
-167
lines changed

installer/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# HNN Installation
22

3+
**Note**: these are instructions for installing the *original* version of HNN, which is **no longer actively-developed**, and only made available for scientific reproducibility. If you are reading this, you probably want to be using the actively-developed version, called *HNN-Core*, which is [available here](https://github.com/jonescompneurolab/hnn-core).
4+
35
This directory contains instructions and files supporting installation of HNN on supported platforms. Click on the link below corresponding to your operating system:
46

57
* [Windows](windows)

installer/aws/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# HNN on Amazon Cloud (AWS)
22

3+
**Note**: these are instructions for installing the *original* version of HNN, which is **no longer actively-developed**, and only made available for scientific reproducibility. If you are reading this, you probably want to be using the actively-developed version, called *HNN-Core*, which is [available here](https://github.com/jonescompneurolab/hnn-core).
4+
35
This guide describes running HNN on Amazon Web Services (AWS). An image containing HNN pre-installed is available as a Community AMI.
46

57
## Starting an Amazon EC2 instance with HNN pre-installed
@@ -44,4 +46,4 @@ The script used to create the AMI referenced above on Ubuntu 18.04 can be found
4446

4547
If you run into other issues with the installation, please [open an issue on our GitHub](https://github.com/jonescompneurolab/hnn/issues). Our team monitors these issues and will be able to suggest possible fixes.
4648

47-
For other HNN software issues, please visit the [HNN bulletin board](https://www.neuron.yale.edu/phpBB/viewforum.php?f=46)
49+
For other HNN software issues, please visit the [HNN bulletin board](https://www.neuron.yale.edu/phpBB/viewforum.php?f=46)

installer/brown_ccv/README.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,36 @@
11
# Running HNN on Brown's Oscar supercomputer
22

3+
**Note**: these are instructions for installing the *original* version of HNN, which is **no longer actively-developed**, and only made available for scientific reproducibility. If you are reading this, you probably want to be using the actively-developed version, called *HNN-Core*, which is [available here](https://github.com/jonescompneurolab/hnn-core).
4+
35
**(Brown students, staff, faculty only)**
46

5-
Brown's [Oscar supercomputer](https://ccv.brown.edu/services/infrastructure/oscar/) operated by the Center for Computation and Visualization (CCV) group is able to run HNN as a Docker container using [Singularity](https://www.sylabs.io/guides/3.0/user-guide/). This method greatly simplifies installing HNN and its prerequisites. Instead, HNN is pre-installed in a vetted environment inside a Docker container that is pulled from Docker Hub before starting on Oscar.
7+
Brown's [Oscar supercomputer](https://docs.ccv.brown.edu/oscar) operated by the Center for Computation and Visualization (CCV) group is able to run HNN as a Docker container using [Singularity](https://www.sylabs.io/guides/3.0/user-guide/). This method greatly simplifies installing HNN and its prerequisites. Instead, HNN is pre-installed in a vetted environment inside a Docker container that is pulled from Docker Hub before starting on Oscar.
68

79
## Getting an account on Oscar
810

9-
Please fill out a [new user account form](https://brown.edu/cis/forms/CCV/newuseraccount.php). If you are a member of a lab that has priority or condo access on Oscar, make sure to list the PI and request those accesses. Otherwise choose an exploratory account for access to 16 cores, which is adequate for most HNN simulations.
11+
To create an Oscar account, follow the instructions and click the New User Account link on [Oscar's frontpage](https://docs.ccv.brown.edu/oscar). If you are a member of a lab that has priority or Condo access on Oscar, make sure to list the PI and request those accesses. Otherwise choose an free "Exploratory" account for access to 16 cores, which is adequate for most HNN simulations.
12+
13+
## Running HNN
14+
15+
1. Go to [Oscar-on-Demand](https://ood.ccv.brown.edu/pun/sys/dashboard).
16+
2. Choose the Desktop application and launch a new session (pick the "6 cores" option).
17+
3. Once the Desktop is launched, open the "Terminal Emulator" program (one of the options at the bottom of the Desktop), and enter the following command. (Note that after you have installed and run HNN for the first time, you no longer need to run this line.)
18+
19+
```bash
20+
singularity pull docker://jonescompneurolab/hnn
21+
```
1022

11-
## Choose a method for displaying GUI
23+
3. To open the HNN graphical user interface (GUI), run the following commands:
1224

13-
In order to display the HNN GUI on your computer (while HNN is running on Oscar), you can use X11 forwarding or the Java VNC client. X11 forwarding is typically easier once you have installed an X client on your system (XQuartz for Mac and VcXsrv for Windows)
25+
```bash
26+
singularity shell hnn_latest.sif
27+
source /home/hnn_user/hnn_envs
28+
cd /home/hnn_user/hnn_source_code
29+
python3 hnn.py
30+
```
1431

15-
* [X11 Forwarding (recommended)](./x11-forwarding.md)
16-
* [VNC Client](./vnc-client.md)
32+
4. HNN should open with two windows, and you should be able to click the "Run Simulation" button and see a small dialogue box appear displaying the time steps of the simulation appear in real-time. Now it's time to simulate!
1733

18-
## Installing HNN in a user directory (Advanced users)
34+
## Troubleshooting
1935

20-
Alternatively, advanced users may wish to install HNN and run it from their home directory rather than a Docker container
36+
If you have issues with the above installation method, you can view older but different install methods at [this link here](2021_instructions).

installer/centos/README.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# HNN "Python" install (CentOS)
22

3+
**Note**: these are instructions for installing the *original* version of HNN, which is **no longer actively-developed**, and only made available for scientific reproducibility. If you are reading this, you probably want to be using the actively-developed version, called *HNN-Core*, which is [available here](https://github.com/jonescompneurolab/hnn-core).
4+
35
The script below assumes that it can update OS packages for python and prerequisites for HNN.
46

57
* CentOS 7: [hnn-centos7.sh](hnn-centos7.sh)
@@ -44,11 +46,3 @@ cd hnn_source_code
4446
make
4547
python3 hnn.py
4648
```
47-
48-
## Troubleshooting
49-
50-
If you run into other issues with the installation, please [open an issue on our GitHub](https://github.com/jonescompneurolab/hnn/issues). Our team monitors these issues and will investigate possible fixes.
51-
52-
Another option for users that are running into problems with the above methods, we provide a VirtualBox VM pre-installed with HNN.
53-
54-
* [Virtualbox install instructions](../virtualbox/README.md)

installer/mac/README.md

Lines changed: 26 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,134 +1,48 @@
1-
# HNN "Python" install (Mac OS)
1+
# Installing HNN via Docker on macOS
22

3-
## Opening a terminal window
3+
**Note**: these are instructions for installing the *original* version of HNN, which is **no longer actively-developed**, and only made available for scientific reproducibility. If you are reading this, you probably want to be using the actively-developed version, called *HNN-Core*, which is [available here](https://github.com/jonescompneurolab/hnn-core).
44

5-
- Open up macOS's terminal.app by searching for terminal in Spotlight (upper right search icon). We will use this terminal for running the commands below.
5+
## 1) Install Docker Desktop
66

7-
## Run pre-install checks
7+
Simply scroll down and follow the instructions on the website to download and install Docker Desktop: [https://www.docker.com/products/docker-desktop/](https://www.docker.com/products/docker-desktop/).
88

9-
- The command below will run a script to check for existing installations of prerequisites. If a compatible version is installed, it will say which steps can be skipped below.
9+
You do NOT need to create an account.
1010

11-
```bash
12-
curl -s "https://raw.githubusercontent.com/jonescompneurolab/hnn/master/installer/mac/check-pre.sh" | bash
13-
```
11+
## 2) Install Xquartz
1412

15-
## Prerequisite 1: Xcode Command Line Tools
13+
Download the installer from [https://www.xquartz.org/](https://www.xquartz.org/).
1614

17-
The Xcode Command Line Tools package includes utilities for compiling code from the terminal (gcc, make, etc.). This is needed for compiling mod files in NEURON.
15+
## 3) Restart your computer
1816

19-
1. To install the package, type the following from a terminal.app window:
17+
Make sure to restart your computer.
2018

21-
```bash
22-
xcode-select --install
23-
```
19+
## 4) Start Docker Desktop
2420

25-
- If you get the following error, you can skip this step.
26-
`xcode-select: error: command line tools are already installed, use "Software Update" to install updates`
21+
Start the Docker Desktop application. You can do this easily by pressing Command + space together, typing "docker", and then hit enter. If it asks you to accept any license agreements, select yes, but otherwise you don't need to change anything once it has started.
2722

28-
2. Then press `Install` in the pop-up dialog
23+
## 5) Start Xquartz
2924

30-
<img src="install_pngs/xcode_tools.png" width="400" />
25+
Start the Xquartz application. You can do this easily by pressing Command + space together, typing "xquartz", and then hit enter
3126

32-
## Prerequisite 2: Miniconda (Python 3)
27+
After you've started it, in the top left, click the "XQuartz" dropdown menu, then "Settings" to open the Preferences window. Inside the Preferences window, click Security, then click the checkmark for "Allow connections from network clients". You should only have to do this once.
3328

34-
- Run the commands below from a terminal window (as a regular user). This will create a python environment isolated from other installations on the system. You could use homebrew `brew install python3` if you wish (has been tested with HNN), but this guide will cover the miniconda version.
29+
## 6) Obtaining the HNN code
3530

36-
```bash
37-
cd /tmp/
38-
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
39-
sh ./Miniconda3-latest-MacOSX-x86_64.sh -b
40-
rm /tmp/Miniconda3-latest-MacOSX-x86_64.sh
41-
```
31+
Go to the HNN code repository at [https://github.com/jonescompneurolab/hnn](https://github.com/jonescompneurolab/hnn), then click the green "Code" button, then "Download ZIP". This will prompt you to download a file named `hnn-master.zip`. Download it. Open the Finder application, navigate to where you downloaded the file, then double-click it to create a new directory that contains the code. (If you are familiar with Git and Github, you can instead choose to clone the repository from the same repository URL.)
4232

43-
## Download HNN source code
33+
## 7) Start HNN-GUI
4434

45-
- The following commands will download the hnn source code. We use the directory `hnn_source_code` for consistency with all of our instructions, but any directory can be used. You can use `git` if you prefer.
35+
Once you have completed all of the above, you will only need execute the following steps everytime you want to start the HNN-GUI:
4636

47-
```bash
48-
curl -OL https://github.com/jonescompneurolab/hnn/releases/latest/download/hnn.tar.gz
49-
mkdir hnn_source_code
50-
tar -x --strip-components 1 -f hnn.tar.gz -C hnn_source_code
51-
```
52-
53-
## Prepare the Python environment
54-
55-
1. Create a conda environment with the Python prerequisites for HNN.
56-
57-
```bash
58-
cd hnn_source_code
59-
curl -O https://raw.githubusercontent.com/jonescompneurolab/hnn/master/environment.yml
60-
conda env create -f environment.yml
61-
```
62-
63-
2. Activate the HNN conda environment and install nlopt and NEURON
64-
65-
```bash
66-
source activate hnn
67-
pip install nlopt NEURON
68-
```
69-
70-
3. Set the LD_LIBRARY_PATH for openmpi on conda activation. This environnement variable must be set before HNN can run simulations with openmpi. The variable is only useful inside the 'hnn' conda environment, so we will set the variable when conda is activated with `source activate hnn`. Run the following commands to make this automatic.
71-
72-
```bash
73-
cd ${CONDA_PREFIX}
74-
mkdir -p etc/conda/activate.d etc/conda/deactivate.d
75-
echo "export OLD_DYLD_FALLBACK_LIBRARY_PATH=\$DYLD_FALLBACK_LIBRARY_PATH" >> etc/conda/activate.d/env_vars.sh
76-
echo "export DYLD_FALLBACK_LIBRARY_PATH=\$DYLD_FALLBACK_LIBRARY_PATH:\${CONDA_PREFIX}/lib" >> etc/conda/activate.d/env_vars.sh
77-
echo "export DYLD_FALLBACK_LIBRARY_PATH=\$OLD_DYLD_FALLBACK_LIBRARY_PATH" >> etc/conda/deactivate.d/env_vars.sh
78-
echo "unset OLD_DYLD_FALLBACK_LIBRARY_PATH" >> etc/conda/deactivate.d/env_vars.sh
79-
```
80-
81-
4. Open a new terminal window for the settings in the previous step to take effect and activate the HNN conda environment
82-
83-
```bash
84-
source activate hnn
85-
```
86-
87-
## Run post-install checks and compile NEURON mode files
88-
89-
- Run a post-installation check to ensure that all necessary libraries were
90-
successful installed. Finally, we will compile the NEURON mod files.
91-
92-
```bash
93-
curl -s "https://raw.githubusercontent.com/jonescompneurolab/hnn/master/installer/mac/check-post.sh" | bash
94-
cd hnn_source_code
95-
make
96-
```
97-
98-
## Run the HNN model
99-
100-
1. Start the HNN GUI from a terminal window:
101-
102-
```bash
103-
source activate hnn
104-
python hnn.py
105-
```
106-
107-
2. The HNN GUI should show up. Make sure that you can run simulations by clicking the 'Run Simulation' button. This will run a simulation with the default configuration. After it completes, graphs should be displayed in the main window.
108-
109-
3. When you run simulations for the first time, the following dialog boxes may pop-up and ask you for permission to allow connections through the firewall. Saying 'Deny' is fine since simulations will just run locally on your Mac.
110-
111-
<img src="install_pngs/nrniv_firewall.png" width="400" />
112-
113-
<img src="install_pngs/orterun_firewall.png" width="400" />
114-
115-
4. You can now proceed to running the tutorials at https://hnn.brown.edu/index.php/tutorials/ . Some things to note:
116-
- A directory called "hnn_out" exists in your home directory where the results from your simulations (data and param files) will be stored.
117-
118-
## Upgrading to a new version of HNN
119-
120-
HNN Releases can be seen on the [GitHub releases page](https://github.com/jonescompneurolab/hnn/releases/). You can also be notified of new releases by watching the hnn [repository on GitHub](https://github.com/jonescompneurolab/hnn/).
121-
122-
If you downloaded the `tar.gz` file, simply re-run the steps above, but replace `hnn_source_code` with a new directory name.
123-
124-
Otherwise, if you are using `git`, then run `git pull origin master` from the source code directory.
37+
- Make sure Docker Desktop is running.
38+
- Make sure Xquartz is running.
39+
- Open the Terminal application.
40+
- Navigate to the folder where you have cloned the HNN repository using `cd`. For example, if you downloaded and decompressed the code in your `Downloads` folder using the instructions in **6) Obtaining the HNN code**, you can run the following in the terminal: `cd ~/Downloads/hnn-master/`.
41+
- Start the GUI by running the following: `./hnn_docker.sh start`.
42+
- You're done! Now it's time to get simulating!
12543

12644
## Troubleshooting
12745

128-
For Mac OS specific issues: please see the [Mac OS troubleshooting page](troubleshooting.md)
129-
130-
If you run into other issues with the installation, please [open an issue on our GitHub](https://github.com/jonescompneurolab/hnn/issues). Our team monitors these issues and will investigate possible fixes.
131-
132-
Another option for users that are running into problems with the above methods, we provide a VirtualBox VM pre-installed with HNN.
46+
If you receive an error, try running `./hnn_docker.sh uninstall` first before running `./hnn_docker.sh start`. This could happen if you're trying to run an old version of HNN. Note that these instructions were based off of the instructions provided in this pull request: https://github.com/jonescompneurolab/hnn/pull/337 .
13347

134-
- [Virtualbox install instructions](../virtualbox/README.md)
48+
If you have issues with the above installation method, you can view older but different install methods at [this link here](2021_instructions).

0 commit comments

Comments
 (0)