Step 1: Obtaining the source code
poolStat is hosted on bitbucket and can be cloned with the command:
git clone https://bitbucket.org/phaentu/poolStat.git
Step 2: Compiling the code
After unzipping or cloning, the code must be compiled to obtain an executable. It is recommended to use the GNU C++ compiler g++, which is part of the GCC package and is pre-installed on any Linux system. On a Mac, g++ can be installed as part of the developer tools. On windows, it is advised to use the g++ compiler that ships with cygwin.
poolStat requires htslib to run. Make sure to have downloaded and installed / compiled htslib (see here for details).
If you have a system wide installation of htslib, then you can compile poolStat by simply typing 'make' in the base folder:
If you do not have a system wide installation of htslib, you need to specify the correct path to htslib in the make file (a file with name makefile). Specifically, you will need to change the line
$(CC) -O3 -o $(BIN) $(OBJ) -lz -lhts
$(CC) -O3 -o $(BIN) $(OBJ) -lz -lhts -LHTSLIBFOLDER
where HTSLIBFOLDER is the path of the folder where a compiled version of htslib is available.
That's it! poolStat is now ready to use.
Step 3: Launching poolStat
To launch poolStat from within the source base folder, type:
.. code:: bash
If you want to call poolStat from a different folder, you must specify the absolute path to it.
It can thus be convenient to copy the executable somewhere else or to add the source folder to your $PATH variable (
search on Google <https://www.google.ch/search?q=unix+path+variable>_ for more advice).
poolStat is preferentially launched with the name of an arguments file as the only argument. All necessary arguments are then specified in the argument file. Basically, an argument file is a simple collection of pairs of argument names and corresponding values (separated by one or several white space characters, i.e. blanks or tabs), enriched with comments. While each name-value pair has to be at the beginning of a new line, the order is of no importance. Comments may either be added after a name-value pair or given on a line on their own. Note that all comments must be proceeded with a double slash ''//''. Empty lines may be present anywhere within the file and are ignored.
For example, if the argument file is named
example.arguments, the program has to be launched as follows:
Additionally, arguments may be passed on the command line. In that case, arguments that are also given in the input file will be overwritten. The required syntax is as follows:
./poolStat example.arguments name=value
name is the name of an argument and
value is the corresponding value. For instance,
./poolStat example.arguments window=10000
launches poolStat uses a window size of 10Kb instead of the window size that might be specified in
Note that there is no restriction on the number of arguments to be passed that way and arguments can also be specified on the command line only. Note further that the order in which the arguments are given, both in the input file or on the command line, is of no importance.
Progress Report & Log File
By default, poolStat writes only minimal information to the screen. To get a more detailed progress report printed to the screen, simply add the argument
verbose either in the input file or on the command line.
./poolStat example.arguments verbose
To save the progress report into a file (e.g.
out.txt) simply use the argument
logFile, followed by the name of the desired file. Note that this will overwrite any existing file with that name. Note further that verbose and logFile can both be used at the same time.