This code base provides a flask-driven infrastructure to explore the myconnectome project data, either integrated in the myconnectome-vm or as a standalone application.
If you are interested in reproducing all analyses in your own virtual machine, it is recommended to follow instructions in the myconnectome-vm repository. This vm will use myconnectome-explore to provide interactive exploration for the data that you produce. The installation is automatic and you do not need to do anything beyond following instructions to set up the virtual machine.
If you are looking for a quick (non production) deployment (via a Docker container) of the application, see the poldracklab/myconnectome-explore container served by the add/dockerfile branch of this repository. This is a container that you can run locally to see a single view of the interface (the interactive logs and progress pages are not relevant).
# Bind to port 80 to open at http://127.0.0.1
docker run -p 80:5000 poldracklab/myconnectome-explore
# Bind to port 5000 to open at http://127.0.0.1:5000
docker run -p 5000:5000 poldracklab/myconnectome-explore
If you want to see how the application is deployed in production, please see this master branch being cloned in the myconnectome-vm Vagrantfile.
You should first clone this repository
git clone https://github.com/vsoch/myconnectome-explore
cd myconnectome-explore
Install flask and flup
pip install flask
pip install flup
And then run the server locally
python databrowser.py
Don't worry about index.py - that is the executable that is integrated into the myconnectome-vm.
Your deployment environment will need flask installed to the python that will be running the application. If you are creating a local python environment to run the application, we reccommend using anaconda, as it comes with most of the libraries that you should need. You should also change "debug" "True" to debug "False" in the databrowser.py file. FInally, in the folder you need two files: an .htaccess and a myconnectome.fcgi. The myconnectome.fcgi should look as follows:
#!/home/youruser/local/anaconda/bin/python
from flup.server.fcgi import WSGIServer
from databrowser import app as application
WSGIServer(application).run()
The first line is the path to your python executable with flup and flask installed.
Your .htaccess should look like this:
Options +ExecCGI
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !=/home/youruser/public_html/myconnectome/myconnectome.fcgi
RewriteRule ^(.*)$ myconnectome.fcgi/$1 [QSA,L]
The fourth line is the path to the myconnectome.fcgi
Finally, you need to make your myconnectome.fcgi executable
chmod u+x myconnectome.fcgi
That should be it! Going to the url yourserver/myconnectome should show the databrowser.