Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow 12.0 #112

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

kirilllzaitsev
Copy link

@kirilllzaitsev kirilllzaitsev commented Aug 31, 2022

To this modification of Control-FREEC contributed several people: Siyuan Luo, Fiona Muntwyler, Nathan Neike, Garance Jaques, Valentina Boeva, and myself. In the following wrap-up, I describe some changes that are important when using the new version of the software.

Cloning the repository

Please use the following command:

git clone --branch feature/new_pipeline --recurse-submodules https://github.com/kirilllzaitsev/FREEC.git

This will fetch only the git branch containing the v12.0 code.

Installation

Compared to v11.6, there are some additional C++ libraries that you will need to install to run this version:

  • Eigen, v3.4.0
  • Boost, v1.76.0
  • Tbb, v2020.2
  • NLopt, v2.7.0
  • Limbo. At the moment of writing, this library has a bug with TBB integration. This is why we supply tweaked Limbo library next to our code.

NOTE. The project was tested with GCC versions 10.3.0, 11.2; on a Linux machine.

You can use the following command to get the libraries above at once:

sudo apt-get install libeigen3-dev libboost-serialization-dev libboost-filesystem-dev libboost-test-dev libboost-program-options-dev libboost-thread-dev libtbb-dev libnlopt-dev

If you encounter some problems with the version of the packages you installed, please use the following command and ensure that the versions you installed match the working ones provided above:

apt-cache policy <problematic_package_name>

Added CMakeLists.txt file is meant to help you with the compilation procedure. The command below compiles the new version of Control-FREEC, and the executable file becomes subsequently available by path "build/PPC":

mkdir build && cd build && cmake .. && cmake --build .

Description of new fields in the configuration file:

[bayesopt]

optimObjectiveCalls=int, number of calls to the function that fits a GMM
kernelNoise=float, noise of the kernel in Bayesian optimization (purity search)
dataSubsamplingRateInPuritySearch=int, take 1 sample out of dataSubsamplingRateInPuritySearch 
in purity search
dataSubsamplingRateInPloidyEvaluation=int, take 1 sample out of dataSubsamplingRateInPloidyEvaluation 
in ploidy search
doRescaleRatio=bool, rescale CNR values or not. "false" is a recommended choice for the case of exome data.

[gmm]

maxIter=int, number of GMM iterations, common for purity search and ploidy search

Example of a configuration containing the fields above:

[bayesopt]

optimObjectiveCalls=6
kernelNoise=1e-10
dataSubsamplingRateInPuritySearch=1000
dataSubsamplingRateInPloidyEvaluation=3
doRescaleRatio=true

[gmm]

maxIter=7

These fields are optional and will be substituted by default values if not provided.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant