ASN

Notes by Akhil Saji

Installing and Running ESSNet on Mac OSX

ESSNet is a program that was developed by Dr. Lim et al. at the University of Singapore for studying relationships between entities in biological pathways.

  1. Install Homebrew if you don't have it installed already. The instructions on their website should suffice.

  2. The first package we will install is R. In order to gain access to the R installer under homebrew, you need to add the following repository.

    brew tap homebrew/science

  3. Once the repository is added run the following command. The prompts during the installation will guide you through the necessary steps.

    brew install r

  4. Once you have R installed, type r then enter to initiate the r shell. If the installation went successfully, you should be greeted by the r shell.

  5. Next we need to install the R dependencies that ESSNet relies on and are avaliable on the R distribution network. In the prompt, type the following commands.

    install.packages("rJava")
    install.packages("igraph")
    

    You may be prompted to selected a CRAN mirror. If so, select a mirror that is closest to your geographical location for the fastest download times.

  6. After the packages are installed, type q() to exit the r shell.

  7. Next, install Apache ant

    brew install ant

  8. Finally, make sure that you have JDK 7 installed.

  9. ESSNet relies on another package called PFSnet which we need to install before we install ESSnet. Change directory to a writeable folder such as ~/Downloads and run the following in terminal:

    curl -o pfsnet.tar.gz 'http://compbio.ddns.comp.nus.edu.sg/~intpath/ftp/Storage/pfsnet_1.0.tar.gz'
    tar xvzf pfsnet.tar.gz
    r CMD install pfsnet

    If successful, you will receive output similar to this:

    asaji@asaji:~/Downloads$ r CMD install pfsnet
    installing to library ‘/usr/local/Cellar/r/3.1.0/R.framework/Versions/3.1/Resources/library’
    installing source package ‘pfsnet’ ...
    libs
    ant clean
    Buildfile: /Users/asaji/Downloads/pfsnet/src/build.xml

    clean:

    BUILD SUCCESSFUL Total time: 0 seconds R inst preparing package for lazy loading help installing help indices building package indices testing if installed package can be loaded DONE (pfsnet)

  10. Now we can download and install ESSNet. Once again, make sure you are in a writeable directory and run the following commands in terminal:

    curl -o essnet.tar.gz 'http://compbio.ddns.comp.nus.edu.sg:8080/essnet/downloads/essnet_1.0.tar.gz'
    tar xvzf essnet.tar.gz
    r CMD install essnet

    If successful, you will receive output similar to this:

    asaji@asaji:~/Downloads$ r CMD install essnet
    * installing to library ‘/usr/local/Cellar/r/3.1.0/R.framework/Versions/3.1/Resources/library’
    * installing source package ‘essnet’ ...
    ** libs
    ant clean
    Buildfile: /Users/asaji/Downloads/essnet/src/build.xml

    clean:

    BUILD SUCCESSFUL Total time: 0 seconds R inst preparing package for lazy loading help Warning: /Users/asaji/Downloads/essnet/man/essnet-package.Rd:33: All text must be in a section Warning: /Users/asaji/Downloads/essnet/man/essnet-package.Rd:34: All text must be in a section installing help indices building package indices testing if installed package can be loaded DONE (essnet)

  11. You should now be able to successfully run ESSnet in R.


Instituting Local and Production Django Settings files

If you do any of your dynamic web development in Django, maintaining separate settings files for your production and development environments is essential. Here I will detail my setup for this process.

1. Create two files called settings_local.py and settings_production.py for your development environment and production environment respectively.

2. In both files, put in the respective Django settings you need. For example in development you might be using SQLite3 as your database but in production you would use PostgreSQL and therefore the database settings would be different.

3. Next, in your settings.py put in the following code

try:
        from settings_local import *
except ImportError:
        try:
                from settings_server import *
        except ImportError:
                pass

4. Finally, ensure that your settings_local.py is excluded from your source management system (i.e git), so when you push your app to the server, only settings_server.py will get pushed. This step is absolutely essential because the code above will always load the local settings as default if available.


Success

We are what we repeatedly do. Excellence then, is not an act but a habit. -Aristotle