qcf can be installed by cloning this repo and then compiling the main executable
using the provided Makefile (see code below). qcf is written in C++ for Unix-like
operating systems and makes use of features from the C++11 standard, which
requires a compatible compiler (GNU g++ >= 4.8, Clang clang++ >= 3.3).
Mac users will also need to have the Xcode
Command Line Tools installed.
The software also comes with several Python scripts for processing and analyzing output.
These scripts have been tested on Python versions 3.5-3.7, and require the numpy
package, which can be installed as follows: pip install numpy.
The steps to compile, test, and install qcf and the associated scripts
is given here:
# Code to compile and install qcf
git clone https://github.com/pblischak/QCF.git # 1. Clone the repo from GitHub
cd QCF # 2. cd into the QCF/ folder
make # 3. compile the qcf executable
make test # 4. test that the executable
# and Python scripts are working
sudo make install # 5. copy executable and Python scripts
# to /usr/local/binAfter compiling and installing the software, you can use the program in a terminal
window by typing qcf. Below are the main commands that can be used to estimate
quartet concordance factors using qcf. More details on input data formats, as well
as background on interpreting the output, can be found in the
tutorial on the ReadTheDocs site.
Basic usage:
# Run the data in the example folder
cd example
qcf -i genes.txt -m map.txt --prefix example
# Run with 100 bootstrap reps
qcf -i genes.txt -m mapt.txt -b 100 --prefix bootstrapIn additional to calculating the QCF values for each species quartet, we have also
provided an option to print the gene-level quartet information to file to perform
per-gene bootstrap resampling for the calculation of confidence intervals on the
the species-level QCF values. This can activated by running qcf with the
--printRaw flag added:
# Print out the raw gene-tree quartet information cd example/ qcf -i genes.txt -m map.txt --printRaw --prefix example
This raw output can then be processed using the qcf_boot.py Python script,
which will conduct bootstrap resampling across genes. Options for combining
runs across different sets of genes are available as well
(see tutorial).
If you have questions about running qcf, please feel free to use the gitter chatroom to get help:
If you have a problem while running qcf, and you think it may be a bug, please consider filing an issue: