Skip to content

1. Running FACETS

Philip Jonsson edited this page Oct 24, 2019 · 2 revisions

FACETS 101

FACETS takes a file of read coverage for the reference and alternate alleles at genomic sites across a paired normal and tumor sample. The algorithm then uses the overall read-depth information to determine the overall relative copy-number profile of the tumor to the normal sample. Then, FACETS uses the SNPs determined to be heterozygous in the normal sample to see whether changes in allelic content have occurred in the tumor sample. This information is used to determine the absolute integer copy-number. The FACETS algorithm is controlled by a few runtime parameters, the most important of which is the cval which tunes the coarseness of segmentation. A higher cval results in less sensitive segmentation. Another important term is the diplogr which, simply put, is the log-ratio of the tumor-to-normal copy-number comparison at which the sample is diploid.

Basic usage

General run instructions are provided in the readme for this repository. More details are provided here. FACETS is executed at the command line using the wrapper run-facets-wrapper.R which takes input files and input parameters, some of the latter are passed on to the FACETS algorithm itself. The wrapper provides for the option of running FACETS in a two-pass mode, where the first pass (the purity run) determines the overall copy-number profile and sample purity and finds the sample-specific baseline. The latter is then used to detect more focal events (in the hisensitivity run). This is done by providing two values for the cval argument (namely --purity-cval and --cval).

Targeted sequencing vs. whole-genomes

As described above, the cval parameter determines the copy-number segmentation. The choice of cval is primarily a function of the sequencing platform—the larger the sequencing space, the larger the cval you ought to use. Below are some ballpark recommendations:

Platform Purity cval Hisens cval
MSK-IMPACT 100 50
Exome 1000 500
Genome 2000 1000

Other input parameters

Similarly to the cval, the argument that takes the minimum cutoff for the number of heterozygous SNPs per segment can also be provided separately for the purity and hisensitivity run. Lowering this argument will increase sensitivity for detecting small copy-number altered segments by allowing segmentation of genomic regions containing fewer heterozygous SNPs. The default value of 15 is usually good.

  • --snp-window-size controls the size of the window that scans for heterozygous SNPs across the input pileup file.
  • --normal-depth sets the lower sequencing depth limit for the normal sample for all SNPs.

Re-running a sample

By manually providing a --diplogr value at runtime, the sample-specific baseline can be forced to a value. This is what happens in the two-pass mode, where the hisensitivity run is fed the diplogr value found by the algorithm in the purity run.