1. Arjun Raj Laboratory
  2. Papers
  3. nanog


This contains the code to analyze the results of our nanog paper.

Steps to use it:

1. clone this repository on your local drive.

2. get the packed data and unpack it somewhere. It should contain subdirectories:


3. Make symbolic links from within the repository directory (from 1) to each of the
subdirectories of the unpacked data.

Example shell commands would be:

$  cd nanogRepository
$  ln -sf path/To/UnpackedData/inputdata inputdata

... and the same for the other subdirectories. 

4. mark all existing files as up-to date, then delete empty figure placeholder files

$  make -t
$  rm figure*

Upon first installing the nanog code and linking to the dropbox, it may be
that the last-modified-dates will suggest to make that it needs to redo
many of the intermediate computations, even though that is not so.
make -t
tells make to mark all files as up to date. This has two bad side-effects:
1. it creates actual (empty) figure files in the repository even though
the 'figure' make targets are just fake targets. This is fixed by deleting

2. it creates empty intermediate files in the repo instead of marking
the files in intermediate_files/ as up to date. 
I should fix this by having make explicitly known where each file is
instead of using the VPATH convenience.

5. use linux/GNU "make" from the command line within the nanogRepository.

Just typing:

$  make
$  make allFigures

will cause all figures (all the content in the outputdata directory) to be remade.

If you only want to re-make a particular figure, you can choose from the targets that are displayed
if you run this command:

$  make -pn | perl -F: -ane 'print "$F[0]\n" if /^\w+\s*:/' | sort

For example:

$  make figureFISH

To start from a clean slate in terms of the output directory:

$  make cleanOutput

and then you can make the figures again.

To redo all the intermediate calculations, some of which are very lengthy, 
(~ 1 hour a piece for DESeq calculations and certain bioinformatics database queries)
run :

$  make cleanIntermediates

and then run make without arguments.