1. Introduction

ANACONDA is a tool designed for detecting and annotating somatic copy number alterations (CNVs) by integrating four state-of-the-art CNV-calling methods: ExomeCNV, FREEC, ADTEx and EXCAVATOR. In the framework of ANACONDA, configurations of all methods and CNV-calling procedures are automatically done, which is very convenient for non-professional users. Furthermore, the common CNVs detected by multiple algorithms are extracted and further annotated in several dimensions using currently available resources including xxx. Finally, an html file is generated to provide a detailed display of the information about parameter settings, detected CNVs, annotation results and etc.

2. Requirements

√ Unix-like systems
√ R3.0+: The main analysis of CNVs in ExomeCNV, ADTEx and EXCAVATOR is done using R statistical language.(Note: R3.3 doesn’t support some needed packages, we have run ANACONDA successfully by R3.2.2 and R3.2.4. So we highly recommend R3.2.)
√ Jdk8+: Java language is required by ExomeCNV to derive depth of coverage
√ Other necessary tools: gcc and g++ to compile source code

3. Installation

The installation step prepares the running environments for the adopted CNV-calling methods including: 1) check if programing environments are ready, and 2) install dependent packages required by each method. We provide a script named “install” in the top directory of ANACONDA package to complete these steps, users can type following commands to install the software:
chmod +x install
./install
We suggest that users run above two commands as root user, otherwise it may throw an error of “permission denied”. During installation, any errors occurred are recorded in file “log.err”, users can check this file to find more details. After the installation, the main program of ANACONDA is generated in “bin” directory.
Note: Because R package ‘Hmisc’ has so many dependencies, users should install it manually. You can type following command in R shell to install it:
install.packages('Hmisc',dependencies=T,repos="http://cran.rstudio.com/")

4. Configuration

The configuration step setups all required parameters and provides inputs for each algorithm. Generally, the parameters are divided into five groups:
♦ General. The common parameters requited by multiple methods are specified in this part. These parameters including selected methods for calling CNVs, tumor/normal BAM file, the sequence file of reference genome, target capture file, tumor ploidy and etc.
♦ ExomeCNV. The specific parameters for ExomeCNV: (i) parameters for calling exon-level CNVs, and (ii) parameters for combing exons.
♦ FREEC. Parameter settings for FREEC. These parameters will be used to automatically generate the specific configuration file for FREEC
♦ ADTEx. The only one parameter needs to be specified for ADTEx, namely minimum read depth in control sample.
♦ EXCAVATOR. Parameters uniquely required by EXCAVATOR are listed in this part
We provide a detailed description of all parameters as follows:

GroupParameterDescriptionPossible values
GeneralmethodsMethods for CNV callingDefault: ExomeCNV, FREEC, ADTEx, EXCAVATOR
Ex: ExomeCNV, ADTEx
tumorTumor BAM fileEx: /path/to/tumor.bam
normalNormal BAM fileEx: /path/to/normal.bam
refGenome reference sequence fileEx: /path/to/ref.fa
refVersionVersion of human genomeEx: hg18 or hg19
targetFile with capture regionsEx: /path/to/target.bed
outOutput directory to save resultsEx: /path/to/outputDir
ploidyTumor ploidyDefault: 2
Ex: 2 or 3 or 4
purityTumor purityDefault: 1.0
Ex: value between 0 and 1
cnaCalledMethodsA CNV is considered to be a common CNV if it is called by multiple methodsDefault: 1
Ex: a value belongs to [1,2,…,#methods]
geneMinCoverageMinimum percentage of a gene to be covered by a CNVDefault: 0.7
Ex: value between 0.5 and 1.0
ExomeCNVmin.spec1Minimum specificity for calling exon-level CNVsDefault: 0.9999
Ex: value between 0 and 1
min.sens1Minimum sensitivity for calling exon-level CNVsDefault: 0.9999
Ex: value between 0 and 1
option1Optimization Strategy for calling exon-level CNVsDefault: "spec"
Ex: "spec" or "auc"
min.spec2Minimum sensitivity for combining exonsDefault: 0.99
Ex: value between 0 and 1
min.sens2Minimum sensitivity for combining exonsDefault: 0.99
Ex: value between 0 and 1
Option2Optimization Strategy for combining exonsDefault: "auc"
Ex: "spec" or "auc"
FREECBedGraphOutputSet TRUE if you want an additional output in BedGraph format for the UCSC genome browserDefault: FALSE
breakPointThresholdPositive value of threshold for segmentation of normalized profilesDefault: 0.8
breakPointTypeDesired behavior in the ambiguous regionsDefault: 2
chrFilesPath to the directory with chromosomes fasta filesEx: /path/to/hg18
contaminationAdjustmentSet TRUE to correct for contamination by normal cellsDefault: FALSE
forceGCcontentNormalizationSimply model "sample RC ~ Control RC"Fixed value: 0
interceptIntercept of polynomialFixed value: 0
minCNVlengthMinimal number of consecutive windows to call a CNVDefault: 3
maxThreadsNumber of threadsDefault: 1
degreeDegree of polynomialFixed value: 1
readCountThresholdThreshold on the minimal number of reads per window in the control sampleDefault: 10
sexSample sex"sex=XX" will exclude chr Y from the analysis
"sex=XY" will not annotate one copy of chr X and Y as a loss
mateOrientationFormat of readsFixed value: 0
ADTExminReadDepthThreshold on the minimum read depth in the control sampleDefault: 10
EXCAVATORwigFileMappability fileEx: /path/to/hg18_uniqueome.Wig
mapQMapping quality for BAM file filteringDefault: 0
OmegaOmega parameter for the HSLM algorithmDefault: 0.1
ThetaTheta parameter for the HSLM algorithmDefault: 1e-4
D_normD_norm parameter for the HSLM algorithmDefault: 10e6
Thre_dThreshold d for the truncated gaussian distribution of the FastCall Calling algorithmDefault: 0.5
Thre_uThreshold u for the truncated gaussian distribution of the FastCall Calling algorithmDefault: 0.35
minSeglenSegment with a number of exons smaller than a threshold are filtered outDefault: 4

5. Running ANACONDA

Running the main program of ANACONDA only needs one argument that is the configuration file. Type following command to run ANACONDA:
./bin/ANACONDA /path/to/configfile
For example:
./bin/ANACONDA ./config/config.txt

6. Results summary

♦ Parameters for variant caller
Pulpit rock
♦ Detailed results for CNV caller
Pulpit rock
♦ Shared CNVs
Pulpit rock
♦ Detail of shared CNVs
Pulpit rock
Pulpit rock
♦ Annotation
Pulpit rock