Clone code from git repository:
git clone http://github.com/zsloan/genenetwork.git gene 

Pull from branch in git repository:
git pull origin flask(or whatever the branch is)


**** apt-get is an Ubuntu system-wide package manager, while pip is a Python-only system
for python packages ****

Upgrade system packages for security updates, etc:
apt-get upgrade

**"apt-cache search" searches for text in the description for various packages, while
"apt-file search" searches for files within the packages**

Show information about given result item returned by apt-cache search:
apt-cache show _______

Search for package with a specified file that can be installed with apt-get
apt-file search _______

============================================

Check which system packages are installed:
dpkg -l | less

============================================


To fix error "mysql_config not found":
sudo apt-get install libmysqlclient-dev

Create requirements.txt file:
pip freeze > requirements.txt (or whatever filename)

Install from requirements.txt:
pip install -r gene/wqflask/requirements.txt -t ve27

============================================

To get server running:

!If having seemingly inexplicable problems with imports, make sure I've started the environment!

Note: Virtual environment is not activated when running as root

Start up virtual environment:
source ~/ve27/bin/activate

Deactivate virtual environment:
deactivate (just type deactivate)

To set WQFLASK_SETTINGS environment variable:
export WQFLASK_SETTINGS=~/gene/wqflask/cfg/zach_settings.py (or wherever file is located)

To change screen environment variable (if man not working or to get color, for example):
export TERM=screen

To search for commands in history if necessary:
history | grep "(whatever is being searched for)"

Run web server:
/usr/local/nginx/sbin/nginx

Run server:
python runserver.py

===========================================

Start screen session:
byobu -RD (to start)
control-a then :multiuser on
control-a then :acladd sam

More info on sharing byobu screen with other users:
http://wiki.networksecuritytoolkit.org/nstwiki/index.php/HowTo_Share_A_Terminal_Session_Using_Screen

control-a c to create channel

type: screen -list for sessions
screen -r zas1024/25679.byobu

or if only one:

screen -r zas1024/

===========================================

Start up log:
Go to /tmp and tail -f flask_gn_log

===========================================

Coffeescript Stuff:

coffee -c (filename)
coffee -c -w . (to watch for changes and recompile in current directory; the "." is for current directory)
coffee --help (for information about setting options)

===========================================

Unset ASKPASS when trying to git push

unset SSH_ASKPASS

===========================================

htop: Gives information on processes, cpu/memory load, etc
dstat: Also gives various system information, resource usage, etc
df: Reports file system disk space usage

===========================================

ll h*: Finds items in the directory starting with h

===========================================

tidyp - Improves/beautifies html code
tidyp -m -i -w 100 index_page.html

===========================================

ps -ax - View processes

kill (process #)

===========================================

Installing QTL Reaper

wget http://downloads.sourceforge.net/project/qtlreaper/qtlreaper/1.1.1/qtlreaper-1.1.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fqtlreaper%2Ffiles%2Flatest%2Fdownload&ts=1358975786&use_mirror=iweb
tar xvf qtlreaper-1.1.1.tar.gz (to unzip)
python setup.py build
python setup.py install

===========================================

Using Yolk

Install Yolk:
pip install yolk

Check packages installed in this virtual environment:
yolk -l

Checks packages that have updates available:
yolk -U

===========================================

Python stuff:

Classes should always inherit "object"
To iterate through dictionary items: for X, Y in MyDictionary.items():

===========================================

Create symbolic link:
ln -s dir_to_link_to linking_dir

===========================================

Reboot server
sudo reboot

===========================================

Using grep:

grep -ir (search string) (directory)

-i ignores case
-r searches recursively through subdirectories of directory you specify