Install the Mac OS X developer tools, as described here:
http://stackoverflow.com/questions/9329243/xcode-4-4-and-later-install-command-line-tools
Install homebrew
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"Pay attention to responses. You may need to change permissions on a number of directories: sudo chmod 766 a-directory
- Install the latest version of git, and set up configuration files
brew install git bash-completionSome useful config settings
# remember password for a while
git config credential.helper 'cache --timeout=3600'
# enable colors
git config --global color.ui trueTo enable git auto-completion in bash, add the following to your .bash_profile:
if [ -f `brew --prefix`/etc/bash_completion ]; then
. `brew --prefix`/etc/bash_completion
fi- Python
The easiest python installation is with homebrew
brew install python
Be careful of this issue, if it's still open: Homebrew/legacy-homebrew#26900
The solution is the following, right after installing python:
pip install -U pip --no-use-wheel
Install cobrapy
pip install cobraFor ME model, be sure to use this version of cobrapy. You can use virtualenv to maintain two versions of cobra on the same machine.
pip install git+https://github.com/SBRG/cobrapy_internal.git
Install a solver. Gurobi and CPLEX offer free academic licenses. CPLEX is faster and more feature-rich, but it's easier to get the Gurobic license.
To use Gurobi with homebrew python, you'll have to follow steps from this thread: https://groups.google.com/forum/#!topic/gurobi/ghzhXNugDxs.
cd /Library/gurobi562/mac64
python setup.py install
cd /usr/local/lib/python2.7/site-packages/gurobipy
# otool -l gurobipy.so # optional
install_name_tool -change /System/Library/Frameworks/Python.framework/Versions/2.7/Python /usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib gurobipy.soThe same steps should work for gurobipy in a virtualenv. You can link to the same libpython2.7.dylib file.
Install libsbml python binding
pip install python-libsbml
Install ipython & ipdb
pip install 'ipython[all]'
pip install ipdbInstall numpy Mountain Lion ships with numpy, but to ensure compatibility, you can upgrade
pip install --upgrade numpyInstall gcc (which includes gfortran)
brew install gccInstall scipy
pip install scipyInstall sympy 1.7 (1.8 was causing problems)
pip install https://github.com/sympy/sympy/archive/sympy-0.7.1.tar.gzInstall biopython
pip install biopythonInstall sklearn
pip install scikit-learnInstall matplotlib Check out matplotlib from source
pip install matplotlibIf that doesn't work (e.g. can't find freetype headers), try this first.
ln -s /usr/local/opt/freetype/include/freetype2 /usr/local/include/freetypeInstall pytest (and use it!!; testing matters)
pip install pytestInstall parallel python (pp)
pip install pp- PYQT
Install pyqt (for inline ipython plots, code pasting, and more.) This installs qt for you
brew install pyqtInstall dependencies for pyqt
brew install zmq
pip install pyzmq
pip install pygments- PostgreSql
brew install postgresqlInitialize the database. Make sure you have ownership of this directory.
initdb /Library/PostgreSQL/data # just do this ONCE
Start the server
pg_ctl start -D /Library/PostgreSQL/data
createdb --owner=my_username ome
psql ome
alter user my_username with password 'my_password';
Also consider downloading (pgAdmin)[http://www.pgadmin.org/].
set PGDATA environment variable in you .bash_profile or .bashrc For hints on the difference: http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html I use /Library/PostgreSQL/data/
If you want to support more than the default (on my machine) 20 connections, you need to change the max_connections value in $PG_DATA/postgresql.conf to a higher value. This will also increase the size of the shared memory segment requested during server startup. You may need to change SHMMAX to accomodate (http://www.postgresql.org/docs/current/static/kernel-resources.html). I was able to run 23 connections without increasing SHMMAX. If the server crashes on startup, check you server log file to see if the connections are asking for too much memory on.
Install psycopg2
pip install psycopg2install PyGreSQL
pip install pygresqlInstall glpk 4.39 and pyglpk. Pyglpk is not compatible with some newer glpk versions (I tried 4.48).
brew versions glpk
cd $(brew --prefix)
git checkout a82e823 Library/Formula/glpk.rb # this corresponds to glpk 4.39Install pyglpk
pip install glpk
- For the OME framework
Install SqlAlchemy. At the moment, you should download version 0.7.9. Go to http://www.sqlalchemy.org/download.html, download the tar file, extract, and run the setup.py installer in the extracted folder.
sudo python setup.py installinstall SimpleJSON
sudo pip install SimpleJSON- SSH
http://www.ernieflores.net/osx-page-2/enable-remote-login-to-start-ssh-server-in-osx/
- web server
install tornado install django : sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in https://github.com/bdarnell/django-tornado-demo
check ports with
brew install nmap
nmap -p 80 host.domain.com80 is the default http port
Install jq for manipulating json from bash
brew install jqInstall neat howdoi script
brew install https://raw.github.com/gleitz/howdoi/master/howdoi.rbInstall tmux
brew install tmuxInstall tex, according to this site: http://www.tug.org/texlive/quickinstall.html Add to your .bash_profile:
export PATH=/usr/local/texlive/2012/bin/universal-darwin:$PATHInstall fasd for quickly moving around the file system:
brew install fasdThen add to your .bash_profile:
eval "$(fasd --init auto)"Maybe install zsh
brew install zshRemap option key: http://stackoverflow.com/questions/11876485/how-to-disable-typing-special-characters-when-pressing-option-key-in-mac-os-x
Install git
curl -LO http://git-core.googlecode.com/files/git-1.8.1.4.tar.gz
tar -xzvf git-1.8.1.4.tar.gz
cd git-1.8.1.4/
make prefix=/home/z1king/local && make prefix=/home/z1king/local installChange you .bashrc file to:
export PATH=$HOME/local:$HOME/local/bin:$PATHit's worth adding the following the .bash_profile, so you can just edit .bashrc
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fiInstall tmux locally on linux as user If you have root access, I highly suggest using the method presented by knudfl. Otherwise, if you are simply a non-root user (without the ability to gain root access), here are the steps that I used:
Code:
ssh username@server.com
mkdir local
curl -LO http://downloads.sourceforge.net/tmux/tmux-1.7.tar.gz
curl -LO http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
curl -LO https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar xvfz tmux-1.7.tar.gz
tar xvfz ncurses-5.9.tar.gz
tar xvfz libevent-2.0.11-stable.tar.gz
cd libevent-2.0.11-stable
./configure --prefix=$HOME/local
make
make install
cd ../ncurses-5.9
./configure --prefix=$HOME/local
make
make install
cd ../tmux-1.7
./configure CPPFLAGS="-I$HOME/local/include -I$HOME/local/include/ncurses" LDFLAGS="-static -L$HOME/local/include -L$HOME/local/include/ncurses -L$HOME/local/lib"
makemake install DOESN'T WORK, SO DON'T EVEN TRY, also -static makes it so we don't need to dynamically link shared files in $HOME/local/lib meaning exporting a LD shell variable. We can just copy it and run it. Note: that whole long line above is a single command, run it all together!
cp tmux ~/local/bin
export PATH=$HOME/local/bin:$PATHAt this point, you should be able to just type tmux on the command line and have it work. Otherwise, the binary was installed to $HOME/local/bin, and you can run it by changing directories to there. I'd be happy to help or further clarify if the above doesn't work for you. Note that you may need to resolve further dependencies other than the ones I needed to resolve. In that case, you should install all the additional dependencies using the same ./configure --prefix=$HOME/local location.
Clean up
cd
rm -rf tmux-1.7
rm -rf ncurses-5.9
rm -rf libevent-2.0.11-stable