This repository provides the ASCAT R package (v3.1.3) that can be used to infer tumour purity, ploidy and allele-specific copy number profiles.
ASCAT is described in detail in: Allele-specific copy number analysis of tumors. Van Loo P et al. PNAS (2010).
This repository also contains the code underlying additional publication: Allele-specific multi-sample copy number segmentation. Ross EM, Haase K, Van Loo P & Markowetz F. Bioinformatics (2020).
Bioconductor package dependencies: GenomicRanges & IRanges (BiocManager::install(c('GenomicRanges','IRanges'))
with a recent R/BiocManager version).
Processing high-throughput sequencing data: alleleCounter (C version)
Installing ASCAT using R: devtools::install_github('VanLoo-lab/ascat/ASCAT')
ascat.aspcf
) and ASmultiPCF (ascat.asmultipcf
) is now 70 (was 25). It is suitable for SNP arrays, as well as WES and WGS data.ascat.correctLogR
should be used from now on (ascat.GCcorrect
is still there for backward compatibility but is just a wrapper to ascat.correctLogR
).ascat.loadData
has a new argument, genomeVersion
(either 'hg19'
or 'hg38'
), that enables locating the nonPAR region on chrX. If provided, such information will be considered in the different ASCAT functions. We recommend always providing this information so CNA calling on chrX for males will be more accurate. Since PAR1 and PAR2 are present in both chrX and chrY, a 1+1 status in males refers to 1 copy in X and 1 copy in Y, but 1+0 could either be 1 copy in X (and no copy in Y) or 1 copy of Y (and no copy in X). Also, please note that most platforms have a limited resolution for PAR1 and PAR2 so results should carefully be interpreted in respect to available resolution.ascat.output$ploidy
).ascat.plotRawData
and ascat.plotSegmentedData
have an extra argument, logr.y_values
, to change Y scale for the logR track. Default is: c(-2,2)
, whereas previous plots were: c(-1,1)
.ascat.output$aberrantcellfraction
still exists but we encourage using ascat.output$purity
instead.ascat.prepareHTS
function, to derive logR and BAF from high-throughput sequencing (HTS) data. Briefly, alleleCounter is used to get allele counts at specific loci on a pair of tumour/normal (either BAM or CRAM files). This information is then converted into logR and (mirrored) BAF values, based on a similar method than in the Battenberg package. Please note that ascat.prepareHTS
does require tumour/normal pairs and is unable to process unmatched tumours for now. Although this method allows running ASCAT on different HTS data:
ascat.prepareTargetedSeq
has been implemented. Such a function must be run on a batch of normals (no tumours) and will identify high-quality SNPs to investigate. Then, ascat.prepareHTS
can be used on selected SNPs to process tumour/normal pairs. Because of sparse datapoints, we recommend using penalty=25
when running ascat.aspcf
. ascat.prepareTargetedSeq
was further fine-tuned in the v3.1.1 release and now uses a probabilistic method to infer genotypes (hom/het/noisy) based on counts (instead of fixed VAF in v3.1.0).ascat.runASCAT
.ascat.metrics
.ascat.runAscat
(arguments: min_purity
/max_purity
and min_ploidy
/max_ploidy
).ascat.plotAdjustedAscatProfile
, that plots an ASCAT profile with respect to chromosome length (instead of the number of heterozygous SNPs).ascat.prepareHTS
, ASCAT now reports raw (=unmirrored) BAF so true BAF values can be used in downstream analyses (e.g. rephase). Please note that such information is available in a couple of new files called *_rawBAF.txt
(based on tumourBAF_file
and normalBAF_file
).We provide some scripts and input data in the ExampleData folder.
All reference files are hosted on Zenodo.
ascat.correctLogR
) for standard platforms (Affymetrix SNP 6.0, Affymetrix 250k STY, Illumina 660k and Illumina OmniExpress) can be found in the ReferenceFiles/SNParrays folder. For other platforms, please use our scripts (in LogRcorrection) to generate such correction files.Custom10k, IlluminaASA, IlluminaGSAv3, Illumina109k, IlluminaCytoSNP, IlluminaCytoSNP850k, Illumina610k, Illumina660k, Illumina700k, Illumina1M, Illumina2.5M, IlluminaOmni5, IlluminaOmniExpressExome, IlluminaGDACyto-8, Affy10k, Affy100k, Affy250k_sty, Affy250k_nsp, AffyOncoScan, AffyCytoScanHD, AffySNP6, HumanCNV370quad, HumanCore12, HumanCoreExome24 and HumanOmniExpress12.
Because arrays have a defined set of SNP probes, with a fairly constant rate of heterozygous probes across individuals, useful metrics in ascat.predictGermlineGenotypes
can be inferred from some cases (with no or very few CN changes). However, sequencing data is subjected to massive variations because of design, coverage and/or artefacts. Therefore, we are not able to provide pre-defined metrics for unmatched sequencing data.
For more information about ASCAT and other projects of our group, please visit our website.