Advertisement: Please take a look another package of mine for workflow.

Note that https://bitbucket.org/feeldead/gfold/ may have updated README file
If you cannot download from bitbucket, please try the following link:

V1.1.4. When '-norm Count' is specified, the code wrongly treats 'Count' as the
specified normalization countants. This bug is corrected. Thanks Crystal Chaw 
for digging out this bug.

V1.1.3. If annotation files contain comments (startiing with #), skip them. Previously
the program would crash.

V1.1.2. Fixed a bug that when condition two contains multiple samples, RPKM for
condition two in .diff file is wrong.

V1.1.1. A new output file for job 'diff' is added. In this output, normalized
read counts are calculated. If a new parameter '-d' for gene description is 
provided, this file will also associate gene to gene description.

V1.1.0. A new column for the gene name is added to the output if the gene name
information is available in the annotation file. Therefore the output format
is different from V1.0.9.

V1.0.9. A bug in calculating RPKM for job 'diff' is corrected. This bug is
caused by integer division of total read count over 1000000 where float
division should be used. It would slightly overestimate the RPKM if the total
number of reads is greater than or equal to 1000000. It would crash the program
if the total number of reads is below 1000000. Quick examples are added to
gfold help message. User specified normalization constants are allowed.

V1.0.8. Correct a bug of failing to load non-standard SAM format file. Specifically,
when the read in the file is unmappable and the corresponding line contains less 
than 11 columns (such as output of bowtie), previous versions of GFOLD would crash. 
The bug is fixed. More detection of the incorrect input is added. A typo in the 
documentation is corrected.

V1.0.7. More explanation about input/output is added in the documentation. A
tiny change is made in the source code such that GFOLD can safely accept
read counts not generated by job 'count'.

V1.0.6. A more comprehensive installation instruction is added. GTF format is
set to default. RPKM is added in the 'count' output.

V1.0.5. GTF format for the gene annotation is supported.

V1.0.4. When no replicate is available, calculate GFOLD accurately instead of
using MCMC. This version also calculates RPKM of each gene and removes some
useless columns in the output of the previous version.

V1.0.2. The first released version, which generates the results of the paper.

1. To compile the program you need to install the latest GNU gsl library
   (gsl-1.15) first. If you cannot install GSL in the standard library, you need to
   execute the following commands:

   export CXXFLAGS="-g -O3 -I/your/installed/path/include -L/your/installed/path/lib" 
   export LD_LIBRARY_PATH="/your/installed/path/lib:"$LD_LIBRARY_PATH 

   in which /your/installed/path/ is the path where you install
   GSL. The first one is for compiling and the second one is for running gfold.
   It is suggested that the second command is added to the .bashrc (for Linux)
   or .bash_profile (for MacOS) file in the home directory. If you added these
   two lines, then execute the following command to reload you config

   source ~/.bash_profile        # If you are using MacOS
   source ~/.bashrc              # If you are using Linux
   To check whether your setting is correct, you can execute the 
   following command in the terminal

   echo $CXXFLAGS

   If the output is empty then some steps above are not correctly followed.
   If the output is not empty, then the output should be a directory. Check
   the existence of this directory and make sure that there is a 'gsl' folder
   in this directory.
2. Compile the program by running command "make". If GSL libraray is not set correctly, 
   errors as the following would occur.
   g++ -O3 -Wall -lgsl -lgslcblas -g main.cc -o gfold
   In file included from GeneInfo.hpp:29,
                    from main.cc:24:
   Utility.hpp:69:36: error: gsl/gsl_statistics_int.h: No such file or directory
   Utility.hpp:70:28: error: gsl/gsl_vector.h: No such file or directory

   If it happens, follow step 1 again. If error remains, try the following command:

   g++ -O3 -Wall -g main.cc -o gfold -lgsl -lgslcblas -I/your/installed/path/include -L/your/installed/path/lib

3. The executable program is "gfold" with documentation in directory "doc"