├── .github └── ISSUE_TEMPLATE │ └── new issue.md ├── .gitignore ├── ASCAT ├── DESCRIPTION ├── NAMESPACE ├── R │ ├── ascat.asmultipcf.R │ ├── ascat.aspcf.R │ ├── ascat.correctLogR.R │ ├── ascat.loadData.R │ ├── ascat.metrics.R │ ├── ascat.plots.R │ ├── ascat.predictGermlineGenotypes.R │ ├── ascat.prepareHTS.R │ ├── ascat.prepareTargetedSeq.R │ ├── ascat.runAscat.R │ ├── imports.R │ └── misc.R ├── inst │ └── extdata │ │ ├── A17.fast.segments.txt │ │ ├── A32.fast.segments.txt │ │ ├── normal.BAF.txt │ │ ├── normal.logR.txt │ │ ├── singlenormal.BAF.txt │ │ ├── singlenormal.logR.txt │ │ ├── tumour.BAF.txt │ │ └── tumour.logR.txt ├── man │ ├── ascat.GCcorrect.Rd │ ├── ascat.asmultipcf.Rd │ ├── ascat.aspcf.Rd │ ├── ascat.correctLogR.Rd │ ├── ascat.getAlleleCounts.Rd │ ├── ascat.getBAFsAndLogRs.Rd │ ├── ascat.loadData.Rd │ ├── ascat.metrics.Rd │ ├── ascat.plotAdjustedAscatProfile.Rd │ ├── ascat.plotAscatProfile.Rd │ ├── ascat.plotGenotypes.Rd │ ├── ascat.plotNonRounded.Rd │ ├── ascat.plotRawData.Rd │ ├── ascat.plotSegmentedData.Rd │ ├── ascat.plotSunrise.Rd │ ├── ascat.predictGermlineGenotypes.Rd │ ├── ascat.prepareHTS.Rd │ ├── ascat.prepareTargetedSeq.Rd │ ├── ascat.runAscat.Rd │ ├── ascat.synchroniseFiles.Rd │ ├── base.gw.plot.Rd │ ├── make_segments.Rd │ ├── predictGermlineHomozygousStretches.Rd │ └── runASCAT.Rd └── vignettes │ ├── asmultipcf-vignette.Rmd │ └── asmultipcf-vignette.html ├── ExampleData ├── ASCAT_fromCELfiles.R ├── GC_example.txt ├── Germline_BAF.txt ├── Germline_LogR.txt ├── README.md ├── RT_example.txt ├── Tumor_BAF.txt └── Tumor_LogR.txt ├── LogRcorrection ├── README.md ├── createGCcontentFile.R └── createReplicTimingFile.R ├── README.md ├── ReferenceFiles ├── SNParrays │ └── README.md ├── WES │ └── README.md └── WGS │ └── README.md ├── ReleasedData ├── TCGA_SNP6_hg19 │ ├── README.md │ ├── segments.tar.gz │ └── summary.ascatv3TCGA.penalty70.hg19.tsv └── TCGA_SNP6_hg38 │ ├── README.md │ ├── segments.tar.gz │ └── summary.ascatv3TCGA.penalty70.hg38.tsv └── man └── ASCAT-manual.pdf /.github/ISSUE_TEMPLATE/new issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: New issue 3 | about: Please use this template for posting a new issue 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Before you proceed 11 | To ensure we have sufficient information about your issue, please use the following sections as a [Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) template and fill in your information. Please note that general questions may have been answered already so it would be worth investigating closed issues before posting a new one. Thank you in advance for providing as much information as possible for smooth support. 12 | 13 | Please also note that we are not managing: 14 | - the ascatNgs tool, hosted and maintained in another GitHub repo so bugs should be reported here: https://github.com/cancerit/ascatNgs. 15 | - the ASCAT versions part of external sources (e.g. Conda, Sarek, etc.). Such versions may be outdated so please only report issues related to the most recent ASCAT release, installed as recommended. 16 | 17 | ## Description of the issue 18 | Please provide a clear description of your issue. 19 | 20 | ## Environment 21 | Please provide the following: 22 | - All R commands/scripts 23 | - `sessionInfo()` 24 | 25 | ## Output 26 | Please provide the following: 27 | - All ASCAT plots related to the issue 28 | - All log information (both stderr and stdout) 29 | 30 | ## Data 31 | If possible, please provide input data (e.g. counts, log/BAF, etc.) so we have a minimal reproducible example we can use on our side. 32 | 33 | ## Additional information 34 | Please provide any other useful information here. 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | .DS_Store 5 | .Rapp.history 6 | -------------------------------------------------------------------------------- /ASCAT/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: ASCAT 2 | Type: Package 3 | Title: Allele-Specific Copy Number Analysis of Tumors 4 | Version: 3.2.0 5 | Date: 2024-30-10 6 | Authors@R: c(person("Peter", "Van Loo", role=c("aut","cre"), email="PVanLoo@mdanderson.org"), 7 | person("Gro", "Nielsen", role="ctb"), 8 | person("Jiqiu","Cheng", role="ctb"), 9 | person("Stefan","Dentro", role="ctb"), 10 | person("Edith","Ross", role="ctb"), 11 | person("Kerstin","Haase", role="ctb"), 12 | person("Jonas","Demeulemeester", role="ctb"), 13 | person("Maxime","Tarabichi", role="ctb"), 14 | person("Tom","Lesluyes", role="ctb"), 15 | person("Zhihui","Zhang", role="ctb")) 16 | Author: Peter Van Loo [aut, cre], Gro Nielsen [ctb], Jiqiu Cheng [ctb], Stefan Dentro [ctb], 17 | Edith Ross [ctb], Kerstin Haase [ctb], Jonas Demeulemeester [ctb], Maxime Tarabichi [ctb], 18 | Tom Lesluyes [ctb], Zhihui Zhang [ctb] 19 | Description: R package of ASCAT as published in . 20 | Depends: 21 | R (>= 2.13.0) 22 | Imports: 23 | data.table, 24 | doParallel, 25 | foreach, 26 | GenomicRanges, 27 | graphics, 28 | grDevices, 29 | IRanges, 30 | RColorBrewer, 31 | S4Vectors, 32 | splines, 33 | stats, 34 | tools, 35 | utils 36 | Suggests: 37 | ggplot2, 38 | knitr, 39 | plyr, 40 | rmarkdown 41 | License: GPL-3 42 | Encoding: UTF-8 43 | VignetteBuilder: knitr 44 | LazyLoad: yes 45 | RoxygenNote: 7.3.2 46 | -------------------------------------------------------------------------------- /ASCAT/NAMESPACE: -------------------------------------------------------------------------------- 1 | # Generated by roxygen2: do not edit by hand 2 | 3 | export(ascat.GCcorrect) 4 | export(ascat.asmultipcf) 5 | export(ascat.aspcf) 6 | export(ascat.correctLogR) 7 | export(ascat.getAlleleCounts) 8 | export(ascat.getBAFsAndLogRs) 9 | export(ascat.loadData) 10 | export(ascat.metrics) 11 | export(ascat.plotAdjustedAscatProfile) 12 | export(ascat.plotAscatProfile) 13 | export(ascat.plotGenotypes) 14 | export(ascat.plotNonRounded) 15 | export(ascat.plotRawData) 16 | export(ascat.plotSegmentedData) 17 | export(ascat.plotSunrise) 18 | export(ascat.predictGermlineGenotypes) 19 | export(ascat.prepareHTS) 20 | export(ascat.prepareTargetedSeq) 21 | export(ascat.runAscat) 22 | export(ascat.synchroniseFiles) 23 | export(base.gw.plot) 24 | export(make_segments) 25 | export(runASCAT) 26 | import(RColorBrewer) 27 | importFrom(GenomicRanges,GRanges) 28 | importFrom(GenomicRanges,findOverlaps) 29 | importFrom(GenomicRanges,pintersect) 30 | importFrom(IRanges,IRanges) 31 | importFrom(RColorBrewer,brewer.pal) 32 | importFrom(S4Vectors,queryHits) 33 | importFrom(S4Vectors,subjectHits) 34 | importFrom(S4Vectors,width) 35 | importFrom(data.table,fread) 36 | importFrom(doParallel,registerDoParallel) 37 | importFrom(foreach,"%dopar%") 38 | importFrom(foreach,foreach) 39 | importFrom(grDevices,adjustcolor) 40 | importFrom(grDevices,colorRampPalette) 41 | importFrom(grDevices,dev.new) 42 | importFrom(grDevices,dev.off) 43 | importFrom(grDevices,pdf) 44 | importFrom(grDevices,png) 45 | importFrom(graphics,abline) 46 | importFrom(graphics,axis) 47 | importFrom(graphics,barplot) 48 | importFrom(graphics,image) 49 | importFrom(graphics,par) 50 | importFrom(graphics,points) 51 | importFrom(graphics,rect) 52 | importFrom(graphics,text) 53 | importFrom(splines,ns) 54 | importFrom(stats,binom.test) 55 | importFrom(stats,cor) 56 | importFrom(stats,lm) 57 | importFrom(stats,mad) 58 | importFrom(stats,median) 59 | importFrom(stats,na.omit) 60 | importFrom(stats,residuals) 61 | importFrom(stats,runif) 62 | importFrom(stats,runmed) 63 | importFrom(stats,sd) 64 | importFrom(tools,file_ext) 65 | importFrom(utils,head) 66 | importFrom(utils,read.table) 67 | importFrom(utils,write.table) 68 | -------------------------------------------------------------------------------- /ASCAT/R/ascat.correctLogR.R: -------------------------------------------------------------------------------- 1 | #' @title ascat.correctLogR 2 | #' @description Corrects logR of the tumour sample(s) with genomic GC content (replication timing is optional) 3 | #' @param ASCATobj an ASCAT object 4 | #' @param GCcontentfile File containing the GC content around every SNP for increasing window sizes 5 | #' @param replictimingfile File containing replication timing at every SNP for various cell lines (optional) 6 | #' @details Note that probes not present in the GC content file will be lost from the results 7 | #' @return ASCAT object with corrected tumour logR 8 | #' 9 | #' @export 10 | ascat.correctLogR = function(ASCATobj, GCcontentfile = NULL, replictimingfile = NULL) { 11 | if (is.null(GCcontentfile)) { 12 | stop("No GC content file given!") 13 | } else { 14 | GC_newlist=readCorrectionFile(GCcontentfile) 15 | stopifnot(!is.null(GC_newlist)) 16 | is_input_chr_based=all(grepl("^chr", rownames(ASCATobj$Tumor_LogR)[1:10])) 17 | is_gcfile_chr_based=all(grepl("^chr", rownames(GC_newlist)[1:10])) 18 | if (is_input_chr_based!=is_gcfile_chr_based) { 19 | if (is_input_chr_based && !is_gcfile_chr_based) { 20 | rownames(GC_newlist)=paste0("chr", rownames(GC_newlist)) 21 | } else { 22 | rownames(GC_newlist)=gsub("^chr", "", rownames(GC_newlist)) 23 | } 24 | } 25 | ovl=intersect(rownames(ASCATobj$Tumor_LogR), rownames(GC_newlist)) 26 | stopifnot(length(ovl)>nrow(ASCATobj$Tumor_LogR)/10) 27 | GC_newlist=GC_newlist[ovl, ] 28 | if (!is.null(replictimingfile)) { 29 | replic_newlist=readCorrectionFile(replictimingfile) 30 | stopifnot(!is.null(replic_newlist)) 31 | is_rtfile_chr_based=all(grepl("^chr", rownames(replic_newlist)[1:10])) 32 | if (is_input_chr_based!=is_rtfile_chr_based) { 33 | if (is_input_chr_based && !is_rtfile_chr_based) { 34 | rownames(replic_newlist)=paste0("chr", rownames(replic_newlist)) 35 | } else { 36 | rownames(replic_newlist)=gsub("^chr", "", rownames(replic_newlist)) 37 | } 38 | } 39 | stopifnot(all(ovl %in% rownames(replic_newlist))) 40 | replic_newlist=replic_newlist[ovl, ] 41 | } else { 42 | print.noquote("Warning: no replication timing file given, proceeding with GC correction only!") 43 | } 44 | 45 | SNPpos = ASCATobj$SNPpos[ovl, ] 46 | Tumor_LogR = ASCATobj$Tumor_LogR[ovl, , drop=FALSE] 47 | Tumor_BAF = ASCATobj$Tumor_BAF[ovl, , drop=FALSE] 48 | 49 | chrs = intersect(ASCATobj$chrs, unique(SNPpos[, 1])) 50 | 51 | Germline_LogR = NULL 52 | Germline_BAF = NULL 53 | if (!is.null(ASCATobj$Germline_LogR)) { 54 | Germline_LogR = ASCATobj$Germline_LogR[ovl, , drop=FALSE] 55 | Germline_BAF = ASCATobj$Germline_BAF[ovl, , drop=FALSE] 56 | } 57 | 58 | last = 0 59 | ch = list() 60 | for (i in 1:length(ASCATobj$chrs)) { 61 | chrke = SNPpos[SNPpos[, 1]==ASCATobj$chrs[i], ] 62 | chrpos = chrke[, 2] 63 | names(chrpos) = rownames(chrke) 64 | chrpos = sort(chrpos) 65 | ch[[i]] = (last+1):(last+length(chrpos)) 66 | last = last+length(chrpos) 67 | } 68 | 69 | GC_correction_before=c() 70 | GC_correction_after=c() 71 | RT_correction_before=c() 72 | RT_correction_after=c() 73 | AUTOSOMES=!gsub("^chr", "", GC_newlist[, 1]) %in% gsub("^chr", "", ASCATobj$sexchromosomes) 74 | 75 | for (s in 1:length(ASCATobj$samples)) { 76 | print.noquote(paste("Sample ", ASCATobj$samples[s], " (", s, "/", length(ASCATobj$samples), ")", sep="")) 77 | Tumordata = Tumor_LogR[, s] 78 | names(Tumordata) = rownames(Tumor_LogR) 79 | 80 | # Calculate correlation (explicit weighting now automatically done) 81 | corr = abs(cor(GC_newlist[AUTOSOMES, 3:ncol(GC_newlist)], Tumordata[AUTOSOMES], use="complete.obs")[, 1]) 82 | 83 | index_1kb = grep(pattern = "X?1([06]00bp|kb)", x = names(corr)) 84 | maxGCcol_insert = names(which.max(corr[1:index_1kb])) 85 | # if no replication timing data, expand large windows to 500kb 86 | if (!is.null(replictimingfile)) { 87 | index_max = grep(pattern = "X?10((00|24)00bp|0kb)", x = names(corr)) 88 | } else { 89 | index_max = grep(pattern = "X?1M", x = names(corr)) - 1 90 | } 91 | # start large window sizes at 5kb rather than 2kb to avoid overly correlated expl variables 92 | maxGCcol_amplic = names(which.max(corr[(index_1kb+2):index_max])) 93 | 94 | cat("GC correlation: ", paste(names(corr), format(corr, digits=2), ";"), "\n") 95 | cat("Short window size: ", maxGCcol_insert, "\n") 96 | cat("Long window size: ", maxGCcol_amplic, "\n") 97 | 98 | corrdata = data.frame(logr = Tumordata, 99 | GC_insert = GC_newlist[, maxGCcol_insert], 100 | GC_amplic = GC_newlist[, maxGCcol_amplic]) 101 | 102 | if (!is.null(replictimingfile)) { 103 | corr_rep = abs(cor(replic_newlist[AUTOSOMES, 3:ncol(replic_newlist)], Tumordata[AUTOSOMES], use="complete.obs")[, 1]) 104 | maxreplic = names(which.max(corr_rep)) 105 | 106 | cat("Replication timing correlation: ", paste(names(corr_rep), format(corr_rep, digits=2), ";"), "\n") 107 | cat("Replication dataset: ", maxreplic, "\n") 108 | 109 | # Multiple regression 110 | corrdata$replic <- replic_newlist[, maxreplic] 111 | model = lm(logr ~ ns(x = GC_insert, df = 5, intercept = TRUE) + ns(x = GC_amplic, df = 5, intercept = TRUE) + ns(x = replic, df = 5, intercept = TRUE), y=FALSE, model = FALSE, data = corrdata, na.action="na.exclude") 112 | Tumor_LogR[, s] = residuals(model) 113 | 114 | RT_correction_before=c(RT_correction_before, paste0(maxreplic, "=", round(corr_rep[maxreplic], 4))) 115 | corr_rep_after = abs(cor(replic_newlist[, which(colnames(replic_newlist)==maxreplic), drop=FALSE], Tumor_LogR[, s], use="complete.obs")[, 1]) 116 | RT_correction_after=c(RT_correction_after, paste0(maxreplic, "=", round(corr_rep_after[maxreplic], 4))) 117 | } else { 118 | model = lm(logr ~ ns(x = GC_insert, df = 5, intercept = TRUE) + ns(x = GC_amplic, df = 5, intercept = TRUE), y=FALSE, model = FALSE, data = corrdata, na.action="na.exclude") 119 | Tumor_LogR[, s] = residuals(model) 120 | RT_correction_before=c(RT_correction_before, NA) 121 | RT_correction_after=c(RT_correction_after, NA) 122 | } 123 | 124 | if ("isTargetedSeq" %in% names(ASCATobj) && !ASCATobj$isTargetedSeq) { 125 | chr=split_genome(SNPpos) 126 | } else { 127 | chr=ch 128 | } 129 | 130 | GC_correction_before=c(GC_correction_before, paste0(maxGCcol_insert, "=", round(corr[maxGCcol_insert], 4), " / ", maxGCcol_amplic, "=", round(corr[maxGCcol_amplic], 4))) 131 | corr_after=abs(cor(GC_newlist[, which(colnames(GC_newlist) %in% c(maxGCcol_insert, maxGCcol_amplic))], Tumor_LogR[, s], use="complete.obs")[, 1]) 132 | GC_correction_after=c(GC_correction_after, paste0(maxGCcol_insert, "=", round(corr_after[maxGCcol_insert], 4), " / ", maxGCcol_amplic, "=", round(corr_after[maxGCcol_amplic], 4))) 133 | } 134 | 135 | names(GC_correction_before)=colnames(Tumor_LogR) 136 | names(GC_correction_after)=colnames(Tumor_LogR) 137 | names(RT_correction_before)=colnames(Tumor_LogR) 138 | names(RT_correction_after)=colnames(Tumor_LogR) 139 | 140 | ASCATobj$Tumor_LogR=Tumor_LogR 141 | ASCATobj$Tumor_BAF=Tumor_BAF 142 | ASCATobj$Germline_LogR=Germline_LogR 143 | ASCATobj$Germline_BAF=Germline_BAF 144 | ASCATobj$Tumor_LogR_segmented=NULL 145 | ASCATobj$Tumor_BAF_segmented=NULL 146 | ASCATobj$SNPpos=SNPpos 147 | ASCATobj$ch=ch 148 | ASCATobj$chr=chr 149 | ASCATobj$chrs=chrs 150 | ASCATobj$GC_correction_before=GC_correction_before 151 | ASCATobj$GC_correction_after=GC_correction_after 152 | ASCATobj$RT_correction_before=RT_correction_before 153 | ASCATobj$RT_correction_after=RT_correction_after 154 | return(ASCATobj) 155 | } 156 | } 157 | 158 | #' @title ascat.GCcorrect 159 | #' @description Function kept for backward compatibility, please use ascat.correctLogR instead 160 | #' @param ASCATobj an ASCAT object 161 | #' @param GCcontentfile File containing the GC content around every SNP for increasing window sizes 162 | #' @export 163 | ascat.GCcorrect = function(ASCATobj, GCcontentfile = NULL) { 164 | warning("Please consider using ascat.correctLogR instead of ascat.GCcorrect.") 165 | return(ascat.correctLogR(ASCATobj=ASCATobj, GCcontentfile=GCcontentfile, replictimingfile=NULL)) 166 | } 167 | 168 | #' Function to read any type of correction file (should have very similar format: SNP ID, Chr, Position and then data) 169 | #' @noRd 170 | readCorrectionFile=function(correction_file) { 171 | if (file.exists(correction_file) && file.info(correction_file)$size>0) { 172 | return(data.frame(fread(correction_file, sep="\t", showProgress=FALSE, header=TRUE), row.names=1, check.names=FALSE, stringsAsFactors=FALSE)) 173 | } else { 174 | return(NULL) 175 | } 176 | } -------------------------------------------------------------------------------- /ASCAT/R/ascat.loadData.R: -------------------------------------------------------------------------------- 1 | #' @title ascat.loadData 2 | #' @description Function to read in SNP array data 3 | #' @details germline data files can be NULL - in that case these are not read in 4 | #' @param Tumor_LogR_file file containing logR of tumour sample(s) 5 | #' @param Tumor_BAF_file file containing BAF of tumour sample(s) 6 | #' @param Germline_LogR_file file containing logR of germline sample(s), NULL 7 | #' @param Germline_BAF_file file containing BAF of germline sample(s), NULL 8 | #' @param chrs a vector containing the names for the chromosomes (e.g. c(1:22, "X")) 9 | #' @param gender a vector of gender for each cases ("XX" or "XY"). Default = all female ("XX") 10 | #' @param sexchromosomes a vector containing the names for the sex chromosomes. Default = c("X", "Y") 11 | #' @param genomeVersion a string ('hg19', 'hg38' or 'CHM13') so nonPAR coordinates on X can be stored, NULL 12 | #' @param isTargetedSeq a boolean indicating whether data come from a targeted sequencing experiment. Default = F 13 | #' 14 | #' @return ascat data structure containing:\cr 15 | #' 1. Tumor_LogR data matrix\cr 16 | #' 2. Tumor_BAF data matrix\cr 17 | #' 3. Tumor_LogR_segmented: placeholder, NULL\cr 18 | #' 4. Tumor_BAF_segmented: placeholder, NULL\cr 19 | #' 5. Germline_LogR data matrix\cr 20 | #' 6. Germline_BAF data matrix\cr 21 | #' 7. SNPpos: position of all SNPs\cr 22 | #' 8. ch: a list containing vectors with the indices for each chromosome (e.g. Tumor_LogR[ch[[13]], ] will output the Tumor_LogR data of chromosome 13\cr 23 | #' 9. chr: a list containing vectors with the indices for each distinct part that can be segmented separately (e.g. chromosome arm, stretch of DNA between gaps in the array design)\cr 24 | #' 10. chrs: a vector containing chromosome names\cr 25 | #' 11. samples: a vector containing sample name(s)\cr 26 | #' 12. gender: a vector of gender for each cases ("XX" or "XY"). Default = NULL: all female ("XX")\cr 27 | #' 13. sexchromosomes: a vector containingg names of sex chromosomes\cr 28 | #' 14. X_nonPAR: a vector of two values (start and stop) to define where the nonPAR region is on X\cr 29 | #' 15. isTargetedSeq: boolean indicating whether data come from a targeted sequencing experiment\cr 30 | #' 16. failedarrays: placeholder, NULL\cr 31 | #' 32 | #' @export 33 | #' 34 | ascat.loadData = function(Tumor_LogR_file, Tumor_BAF_file, Germline_LogR_file = NULL, Germline_BAF_file = NULL, chrs = c(1:22, "X", "Y"), gender = NULL, sexchromosomes = c("X", "Y"), genomeVersion=NULL, isTargetedSeq=FALSE) { 35 | 36 | stopifnot(length(isTargetedSeq)==1 && isTargetedSeq %in% c(TRUE, FALSE)) 37 | # read in SNP array data files 38 | print.noquote("Reading Tumor LogR data...") 39 | Tumor_LogR <- read.table(Tumor_LogR_file, header=TRUE, row.names=1, comment.char="", sep = "\t", check.names=FALSE) 40 | print.noquote("Reading Tumor BAF data...") 41 | Tumor_BAF <- read.table(Tumor_BAF_file, header=TRUE, row.names=1, comment.char="", sep = "\t", check.names=FALSE) 42 | 43 | #infinite values are a problem - change those 44 | Tumor_LogR[Tumor_LogR==-Inf]=NA 45 | Tumor_LogR[Tumor_LogR==Inf]=NA 46 | 47 | Germline_LogR = NULL 48 | Germline_BAF = NULL 49 | if (!is.null(Germline_LogR_file)) { 50 | print.noquote("Reading Germline LogR data...") 51 | Germline_LogR <- read.table(Germline_LogR_file, header=TRUE, row.names=1, comment.char="", sep = "\t", check.names=FALSE) 52 | print.noquote("Reading Germline BAF data...") 53 | Germline_BAF <- read.table(Germline_BAF_file, header=TRUE, row.names=1, comment.char="", sep = "\t", check.names=FALSE) 54 | 55 | #infinite values are a problem - change those 56 | Germline_LogR[Germline_LogR==-Inf]=NA 57 | Germline_LogR[Germline_LogR==Inf]=NA 58 | } 59 | 60 | # make SNPpos vector that contains genomic position for all SNPs and remove all data not on chromosome 1-22, X, Y (or whatever is given in the input value of chrs) 61 | print.noquote("Registering SNP locations...") 62 | SNPpos <- Tumor_LogR[, 1:2] 63 | SNPpos = SNPpos[SNPpos[, 1] %in% chrs, ] 64 | 65 | # if some chromosomes have no data, just remove them 66 | chrs = intersect(chrs, unique(SNPpos[, 1])) 67 | 68 | Tumor_LogR = Tumor_LogR[rownames(SNPpos), c(-1, -2), drop=FALSE] 69 | Tumor_BAF = Tumor_BAF[rownames(SNPpos), c(-1, -2), drop=FALSE] 70 | # make sure it is all converted to numerical values 71 | for (cc in 1:dim(Tumor_LogR)[2]) { 72 | Tumor_LogR[, cc]=as.numeric(as.vector(Tumor_LogR[, cc])) 73 | Tumor_BAF[, cc]=as.numeric(as.vector(Tumor_BAF[, cc])) 74 | } 75 | 76 | if (!is.null(Germline_LogR_file)) { 77 | Germline_LogR = Germline_LogR[rownames(SNPpos), c(-1, -2), drop=FALSE] 78 | Germline_BAF = Germline_BAF[rownames(SNPpos), c(-1, -2), drop=FALSE] 79 | for (cc in 1:dim(Germline_LogR)[2]) { 80 | Germline_LogR[, cc]=as.numeric(as.vector(Germline_LogR[, cc])) 81 | Germline_BAF[, cc]=as.numeric(as.vector(Germline_BAF[, cc])) 82 | } 83 | } 84 | 85 | # sort all data by genomic position 86 | last = 0 87 | ch = list() 88 | SNPorder = vector(length=dim(SNPpos)[1]) 89 | for (i in 1:length(chrs)) { 90 | chrke = SNPpos[SNPpos[, 1]==chrs[i], ] 91 | chrpos = chrke[, 2] 92 | names(chrpos) = rownames(chrke) 93 | chrpos = sort(chrpos) 94 | ch[[i]] = (last+1):(last+length(chrpos)) 95 | SNPorder[ch[[i]]] = names(chrpos) 96 | last = last+length(chrpos) 97 | } 98 | SNPpos = SNPpos[SNPorder, ] 99 | Tumor_LogR=Tumor_LogR[SNPorder, , drop=FALSE] 100 | Tumor_BAF=Tumor_BAF[SNPorder, , drop=FALSE] 101 | 102 | if (!is.null(Germline_LogR_file)) { 103 | Germline_LogR = Germline_LogR[SNPorder, , drop=FALSE] 104 | Germline_BAF = Germline_BAF[SNPorder, , drop=FALSE] 105 | } 106 | 107 | # split the genome into distinct parts to be used for segmentation (e.g. chromosome arms, parts of genome between gaps in array design) 108 | if (!isTargetedSeq) { 109 | print.noquote("Splitting genome in distinct chunks...") 110 | chr = split_genome(SNPpos) 111 | } else { 112 | chr=ch 113 | } 114 | 115 | if (is.null(gender)) { 116 | gender = rep("XX", dim(Tumor_LogR)[2]) 117 | } 118 | 119 | if (!is.null(genomeVersion)) { 120 | if (genomeVersion=="hg19") { 121 | X_nonPAR=c(2699521, 154931043) 122 | } else if (genomeVersion=="hg38") { 123 | X_nonPAR=c(2781480, 155701382) 124 | } else if (genomeVersion=="CHM13") { 125 | X_nonPAR=c(2394411, 153925834) 126 | } else { 127 | stop("genomeVersion must be \'hg19\', \'hg38\' or \'CHM13\'.") 128 | } 129 | } else { 130 | X_nonPAR=NULL 131 | } 132 | 133 | return(list(Tumor_LogR = Tumor_LogR, Tumor_BAF = Tumor_BAF, 134 | Tumor_LogR_segmented = NULL, Tumor_BAF_segmented = NULL, 135 | Germline_LogR = Germline_LogR, Germline_BAF = Germline_BAF, 136 | SNPpos = SNPpos, ch = ch, chr = chr, chrs = chrs, 137 | samples = colnames(Tumor_LogR), gender = gender, 138 | sexchromosomes = sexchromosomes, X_nonPAR = X_nonPAR, 139 | isTargetedSeq = isTargetedSeq, failedarrays = NULL)) 140 | } 141 | 142 | # helper function to split the genome into parts 143 | split_genome = function(SNPpos) { 144 | 145 | # look for gaps of more than 5Mb (arbitrary treshold to account for big centremeres or other gaps) and chromosome borders 146 | bigHoles = which(diff(SNPpos[, 2])>=5000000)+1 147 | chrBorders = which(SNPpos[1:(dim(SNPpos)[1]-1), 1]!=SNPpos[2:(dim(SNPpos)[1]), 1])+1 148 | 149 | holes = unique(sort(c(bigHoles, chrBorders))) 150 | 151 | # find which segments are too small 152 | #joincandidates=which(diff(c(0, holes, dim(SNPpos)[1]))<200) 153 | 154 | # if it's the first or last segment, just join to the one next to it, irrespective of chromosome and positions 155 | #while (1 %in% joincandidates) { 156 | # holes=holes[-1] 157 | # joincandidates=which(diff(c(0, holes, dim(SNPpos)[1]))<200) 158 | #} 159 | #while ((length(holes)+1) %in% joincandidates) { 160 | # holes=holes[-length(holes)] 161 | # joincandidates=which(diff(c(0, holes, dim(SNPpos)[1]))<200) 162 | #} 163 | 164 | #while(length(joincandidates)!=0) { 165 | # the while loop is because after joining, segments may still be too small.. 166 | 167 | #startseg = c(1, holes) 168 | #endseg = c(holes-1, dim(SNPpos)[1]) 169 | 170 | # for each segment that is too short, see if it has the same chromosome as the segments before and after 171 | # the next always works because neither the first or the last segment is in joincandidates now 172 | #previoussamechr = SNPpos[endseg[joincandidates-1], 1]==SNPpos[startseg[joincandidates], 1] 173 | #nextsamechr = SNPpos[endseg[joincandidates], 1]==SNPpos[startseg[joincandidates+1], 1] 174 | 175 | #distanceprevious = SNPpos[startseg[joincandidates], 2]-SNPpos[endseg[joincandidates-1], 2] 176 | #distancenext = SNPpos[startseg[joincandidates+1], 2]-SNPpos[endseg[joincandidates], 2] 177 | 178 | # if both the same, decide based on distance, otherwise if one the same, take the other, if none, just take one. 179 | #joins = ifelse(previoussamechr&nextsamechr, 180 | # ifelse(distanceprevious>distancenext, joincandidates, joincandidates-1), 181 | # ifelse(nextsamechr, joincandidates, joincandidates-1)) 182 | 183 | #holes=holes[-joins] 184 | 185 | #joincandidates=which(diff(c(0, holes, dim(SNPpos)[1]))<200) 186 | #} 187 | # if two neighboring segments are selected, this may make bigger segments then absolutely necessary, but I'm sure this is no problem. 188 | 189 | startseg = c(1, holes) 190 | endseg = c(holes-1, dim(SNPpos)[1]) 191 | 192 | chr=list() 193 | for (i in 1:length(startseg)) { 194 | chr[[i]]=startseg[i]:endseg[i] 195 | } 196 | 197 | return(chr) 198 | } -------------------------------------------------------------------------------- /ASCAT/R/ascat.metrics.R: -------------------------------------------------------------------------------- 1 | #' Function to extract different metrics from ASCAT profiles. 2 | #' 3 | #' @param ASCAT_input_object R object generated by the ascat.aspcf function and given to the ascat.runAscat function. 4 | #' @param ASCAT_output_object R object generated by the ascat.runAscat function. 5 | #' 6 | #' @return A dataframe (one sample per line) with the following metrics (as columns):\cr 7 | #' sex - Sex information as provided.\cr 8 | #' tumour_mapd - Median Absolute Pairwise Difference (MAPD) in tumour logR track.\cr 9 | #' normal_mapd - Median Absolute Pairwise Difference (MAPD) in normal logR track (should be NA without matched normals and 0 for sequencing data).\cr 10 | #' GC_correction_before - logR/GC correlation before correction.\cr 11 | #' GC_correction_after - logR/GC correlation after correction.\cr 12 | #' RT_correction_before - logR/RT correlation before correction.\cr 13 | #' RT_correction_after - logR/RT correlation after correction.\cr 14 | #' n_het_SNP - Number of heterozygous SNPs.\cr 15 | #' n_segs_logR - Number of segments in the logR track.\cr 16 | #' n_segs_BAF - Number of segments in the BAF track.\cr 17 | #' n_segs_logRBAF_diff - Difference between number of segments in the logR versus BAF track.\cr 18 | #' frac_homo - Fraction of homozygous (<0.1 | >0.9) probes in tumour.\cr 19 | #' purity - Purity estimate.\cr 20 | #' ploidy - Ploidy estimate.\cr 21 | #' goodness_of_fit - Goodness of fit.\cr 22 | #' size_intermediate_segments - Total size of (unrounded) segments in the X.45-X.55 range.\cr 23 | #' size_odd_segments - Total size of segments with an odd (1/3/5/+) CN (either nMajor or nMinor).\cr 24 | #' n_segs - Number of copy-number segments.\cr 25 | #' segs_size - Total size of all segments.\cr 26 | #' n_segs_1kSNP - Number of segments per 1k heterozygous SNPs.\cr 27 | #' homdel_segs - Number of segments with homozygous deletion.\cr 28 | #' homdel_largest - largest segment with homozygous deletion.\cr 29 | #' homdel_size - Total size of segments with homozygous deletion.\cr 30 | #' homdel_fraction - Fraction of the genome with homozygous deletion.\cr 31 | #' LOH - Fraction of the genome with LOH (ignoring sex chromosomes).\cr 32 | #' mode_minA - Mode of the minor allele (ignoring sex chromosomes).\cr 33 | #' mode_majA - Mode of the major allele (ignoring sex chromosomes).\cr 34 | #' WGD - Whole genome doubling event (ignoring sex chromosomes).\cr 35 | #' GI - Genomic instability score (ignoring sex chromosomes).\cr 36 | #' 37 | #' @author tl 38 | #' @export 39 | ascat.metrics = function(ASCAT_input_object, ASCAT_output_object) { 40 | METRICS=do.call(rbind, lapply(1:length(ASCAT_input_object$samples), function(nSAMPLE) { 41 | SAMPLE=ASCAT_input_object$samples[nSAMPLE] 42 | sex=ASCAT_input_object$gender[nSAMPLE] 43 | tumour_mapd=round(median(abs(diff(na.omit(ASCAT_input_object$Tumor_LogR[, SAMPLE])))), 4) 44 | if (!is.null(ASCAT_input_object$Germline_LogR) && any(SAMPLE %in% colnames(ASCAT_input_object$Germline_LogR))) { 45 | normal_mapd=round(median(abs(diff(na.omit(ASCAT_input_object$Germline_LogR[, SAMPLE])))), 4) 46 | } else { 47 | normal_mapd=NA 48 | } 49 | if ("GC_correction_before" %in% names(ASCAT_input_object)) {GC_correction_before=ASCAT_input_object$GC_correction_before[SAMPLE]} else {GC_correction_before=NA} 50 | if ("GC_correction_after" %in% names(ASCAT_input_object)) {GC_correction_after=ASCAT_input_object$GC_correction_after[SAMPLE]} else {GC_correction_after=NA} 51 | if ("RT_correction_before" %in% names(ASCAT_input_object)) {RT_correction_before=ASCAT_input_object$RT_correction_before[SAMPLE]} else {RT_correction_before=NA} 52 | if ("RT_correction_after" %in% names(ASCAT_input_object)) {RT_correction_after=ASCAT_input_object$RT_correction_after[SAMPLE]} else {RT_correction_after=NA} 53 | if (!is.null(ASCAT_input_object$Tumor_LogR_segmented) && !is.null(ASCAT_input_object$Tumor_BAF_segmented[[nSAMPLE]])) { 54 | n_het_SNP=length(ASCAT_input_object$Tumor_BAF_segmented[[nSAMPLE]]) 55 | n_segs_logR=length(rle(paste0(as.character(ASCAT_input_object$SNPpos[names(ASCAT_input_object$Tumor_LogR_segmented[, SAMPLE]), 1]), "_", ASCAT_input_object$Tumor_LogR_segmented[, SAMPLE]))$values) 56 | n_segs_BAF=length(rle(paste0(as.character(ASCAT_input_object$SNPpos[names(ASCAT_input_object$Tumor_BAF_segmented[[nSAMPLE]][, 1]), 1]), "_", ASCAT_input_object$Tumor_BAF_segmented[[nSAMPLE]][, 1]))$values) 57 | n_segs_logRBAF_diff=abs(n_segs_logR-n_segs_BAF) 58 | segm_baf=ASCAT_input_object$Tumor_BAF[rownames(ASCAT_input_object$Tumor_BAF_segmented[[nSAMPLE]]), SAMPLE] 59 | frac_homo=round(length(which(segm_baf<0.1 | segm_baf>0.9))/length(segm_baf), 4) 60 | rm(segm_baf) 61 | } else { 62 | n_het_SNP=NA 63 | n_segs_logR=NA 64 | n_segs_BAF=NA 65 | n_segs_logRBAF_diff=NA 66 | frac_homo=NA 67 | } 68 | if (!is.null(ASCAT_output_object$segments) && SAMPLE %in% ASCAT_output_object$segments$sample) { 69 | purity=round(as.numeric(ASCAT_output_object$purity[SAMPLE]), 4) 70 | ploidy=round(as.numeric(ASCAT_output_object$ploidy[SAMPLE]), 4) 71 | goodness_of_fit=round(ASCAT_output_object$goodnessOfFit[SAMPLE], 4) 72 | unroundedprofile=ASCAT_output_object$segments_raw[ASCAT_output_object$segments_raw$sample==SAMPLE, ] 73 | unroundedprofile$nAraw_adjusted=unroundedprofile$nAraw-floor(unroundedprofile$nAraw) 74 | unroundedprofile$nBraw_adjusted=unroundedprofile$nBraw-floor(unroundedprofile$nBraw) 75 | stopifnot(all(c(unroundedprofile$nAraw_adjusted, unroundedprofile$nBraw_adjusted)>=0 & c(unroundedprofile$nAraw_adjusted, unroundedprofile$nBraw_adjusted)<=1)) 76 | unroundedprofile=unroundedprofile[which((unroundedprofile$nAraw_adjusted>=0.45 & unroundedprofile$nAraw_adjusted<=0.55) | (unroundedprofile$nBraw_adjusted>=0.45 & unroundedprofile$nBraw_adjusted<=0.55)), ] 77 | if (nrow(unroundedprofile)==0) { 78 | size_intermediate_segments=0 79 | } else { 80 | size_intermediate_segments=sum(unroundedprofile$endpos-unroundedprofile$startpos+1) 81 | } 82 | rm(unroundedprofile) 83 | profile=ASCAT_output_object$segments[ASCAT_output_object$segments$sample==SAMPLE, ] 84 | profile$size=profile$endpos-profile$startpos+1 85 | size_odd_segments=sum(profile$size[which(profile$nMajor %in% seq(1, max(c(profile$nMajor, profile$nMinor, 1)), 2) | profile$nMinor %in% seq(1, max(c(profile$nMajor, profile$nMinor, 1)), 2))]) 86 | n_segs=nrow(profile) 87 | segs_size=sum(profile$size) 88 | n_segs_1kSNP=round(n_segs / (length(ASCAT_input_object$Tumor_BAF_segmented[[nSAMPLE]])/1e3), 4) 89 | INDEX_HD=which(profile$nMajor==0 & profile$nMinor==0) 90 | if (length(INDEX_HD)>0) { 91 | homdel_segs=length(INDEX_HD) 92 | homdel_largest=max(profile$size[INDEX_HD]) 93 | homdel_size=sum(profile$size[INDEX_HD]) 94 | homdel_fraction=round(homdel_size/sum(profile$size), 4) 95 | } else { 96 | homdel_segs=homdel_largest=homdel_size=homdel_fraction=0 97 | } 98 | rm(INDEX_HD) 99 | profile=profile[which(profile$chr %in% setdiff(ASCAT_input_object$chrs, ASCAT_input_object$sexchromosomes)), ] # do not consider sex chromosomes for the next metrics 100 | LOH=round(sum(profile$size[which(profile$nMinor==0)])/sum(profile$size), 4) 101 | mode_minA=modeAllele(profile, "nMinor") 102 | mode_majA=modeAllele(profile, "nMajor") 103 | if (mode_majA==0 || !(mode_majA %in% 1:5)) { 104 | WGD=NA 105 | GI=NA 106 | } else { 107 | if (mode_majA==1) { 108 | WGD=0 109 | GI=computeGIscore(WGD, profile) 110 | } else if (mode_majA==2) { 111 | WGD=1 112 | GI=computeGIscore(WGD, profile) 113 | } else if (mode_majA %in% 3:5) { 114 | WGD="1+" 115 | GI=computeGIscore(1, profile) 116 | } 117 | } 118 | rm(profile) 119 | } else { 120 | purity=NA 121 | ploidy=NA 122 | goodness_of_fit=NA 123 | size_intermediate_segments=NA 124 | size_odd_segments=NA 125 | n_segs=NA 126 | segs_size=NA 127 | n_segs_1kSNP=NA 128 | homdel_segs=NA 129 | homdel_largest=NA 130 | homdel_size=NA 131 | homdel_fraction=NA 132 | LOH=NA 133 | mode_minA=NA 134 | mode_majA=NA 135 | WGD=NA 136 | GI=NA 137 | } 138 | OUT=data.frame(sex=sex, 139 | tumour_mapd=tumour_mapd, 140 | normal_mapd=normal_mapd, 141 | GC_correction_before=GC_correction_before, 142 | GC_correction_after=GC_correction_after, 143 | RT_correction_before=RT_correction_before, 144 | RT_correction_after=RT_correction_after, 145 | n_het_SNP=n_het_SNP, 146 | n_segs_logR=n_segs_logR, 147 | n_segs_BAF=n_segs_BAF, 148 | n_segs_logRBAF_diff=n_segs_logRBAF_diff, 149 | frac_homo=frac_homo, 150 | purity=purity, 151 | ploidy=ploidy, 152 | goodness_of_fit=goodness_of_fit, 153 | size_intermediate_segments=size_intermediate_segments, 154 | size_odd_segments=size_odd_segments, 155 | n_segs=n_segs, 156 | segs_size=segs_size, 157 | n_segs_1kSNP=n_segs_1kSNP, 158 | homdel_segs=homdel_segs, 159 | homdel_largest=homdel_largest, 160 | homdel_size=homdel_size, 161 | homdel_fraction=homdel_fraction, 162 | LOH=LOH, 163 | mode_minA=mode_minA, 164 | mode_majA=mode_majA, 165 | WGD=WGD, 166 | GI=GI, 167 | stringsAsFactors=FALSE) 168 | rownames(OUT)=SAMPLE 169 | return(OUT) 170 | })) 171 | return(METRICS) 172 | } 173 | 174 | #' Function to get mode of the allele (either minor or major) 175 | #' @noRd 176 | modeAllele=function(cn, col) { 177 | y=round(cn[, col]) 178 | y[y>5]=5 179 | y=tapply(1:nrow(cn), y, function(z) sum((cn[z, "endpos"]-cn[z, "startpos"])/1e6)) 180 | ord=order(y, decreasing=TRUE) 181 | y=y[ord] 182 | return(as.numeric(names(y)[which.max(y)])) 183 | } 184 | 185 | #' Function to compute GI score based on WGD information 186 | #' @noRd 187 | computeGIscore=function(WGD, profile) { 188 | stopifnot(WGD %in% 0:2) 189 | if (WGD==0) { 190 | baseline=1 191 | } else if (WGD==1) { 192 | baseline=2 193 | } else if (WGD==2) { 194 | baseline=4 195 | } 196 | return(round(1-sum(profile$size[which(profile$nMajor==baseline & profile$nMinor==baseline)])/sum(profile$size), 4)) 197 | } 198 | -------------------------------------------------------------------------------- /ASCAT/R/ascat.predictGermlineGenotypes.R: -------------------------------------------------------------------------------- 1 | #' @title ascat.predictGermlineGenotypes 2 | #' @description predicts the germline genotypes of samples for which no matched germline sample 3 | #' is available 4 | #' @param ASCATobj an ASCAT object 5 | #' @param platform used array platform 6 | #' @param img.dir directory in which figures will be written 7 | #' @param img.prefix prefix for figure names 8 | #' @details Currently possible values for platform:\cr 9 | #' AffySNP6 (default)\cr 10 | #' Custom10k\cr 11 | #' IlluminaASA\cr 12 | #' IlluminaGSAv3\cr 13 | #' Illumina109k\cr 14 | #' IlluminaCytoSNP\cr 15 | #' IlluminaCytoSNP850k\cr 16 | #' Illumina610k\cr 17 | #' Illumina660k\cr 18 | #' Illumina700k\cr 19 | #' Illumina1M\cr 20 | #' Illumina2.5M\cr 21 | #' IlluminaOmni5\cr 22 | #' IlluminaGDACyto-8\cr 23 | #' Affy10k\cr 24 | #' Affy100k\cr 25 | #' Affy250k_sty\cr 26 | #' Affy250k_nsp\cr 27 | #' AffyOncoScan\cr 28 | #' AffyCytoScanHD\cr 29 | #' HumanCNV370quad\cr 30 | #' HumanCore12\cr 31 | #' HumanCoreExome24\cr 32 | #' HumanOmniExpress12\cr 33 | #' IlluminaOmniExpressExome\cr 34 | #' WGS_hg38_50X\cr 35 | #' 36 | #' @return predicted germline genotypes 37 | #' 38 | #' @export 39 | ascat.predictGermlineGenotypes = function(ASCATobj, platform = "AffySNP6", img.dir=".", img.prefix="") { 40 | Homozygous = matrix(nrow = dim(ASCATobj$Tumor_LogR)[1], ncol = dim(ASCATobj$Tumor_LogR)[2]) 41 | colnames(Homozygous) = colnames(ASCATobj$Tumor_LogR) 42 | rownames(Homozygous) = rownames(ASCATobj$Tumor_LogR) 43 | 44 | if (platform=="Custom10k") { 45 | maxHomozygous = 0.05 46 | proportionHetero = 0.59 47 | proportionHomo = 0.38 48 | proportionOpen = 0.02 49 | segmentLength = 20 50 | } else if (platform=="IlluminaASA") { 51 | maxHomozygous = 0.05 52 | proportionHetero = 0.15 53 | proportionHomo = 0.82 54 | proportionOpen = 0.01 55 | segmentLength = 100 56 | } else if (platform=="IlluminaGSAv3") { 57 | maxHomozygous = 0.05 58 | proportionHetero = 0.16 59 | proportionHomo = 0.80 60 | proportionOpen = 0.01 61 | segmentLength = 100 62 | } else if (platform=="Illumina109k") { 63 | maxHomozygous = 0.05 64 | proportionHetero = 0.35 65 | proportionHomo = 0.60 66 | proportionOpen = 0.02 67 | segmentLength = 20 68 | } else if (platform=="IlluminaCytoSNP") { 69 | maxHomozygous = 0.05 70 | proportionHetero = 0.28 71 | proportionHomo = 0.62 72 | proportionOpen = 0.03 73 | segmentLength = 100 74 | } else if (platform=="IlluminaCytoSNP850k") { 75 | maxHomozygous = 0.05 76 | proportionHetero = 0.23 77 | proportionHomo = 0.72 78 | proportionOpen = 0.01 79 | segmentLength = 60 80 | } else if (platform=="Illumina610k") { 81 | maxHomozygous = 0.05 82 | proportionHetero = 0.295 83 | proportionHomo = 0.67 84 | proportionOpen = 0.015 85 | segmentLength = 30 86 | } else if (platform=="Illumina660k") { 87 | maxHomozygous = 0.05 88 | proportionHetero = 0.295 89 | proportionHomo = 0.67 90 | proportionOpen = 0.015 91 | segmentLength = 30 92 | } else if (platform=="Illumina700k") { 93 | maxHomozygous = 0.05 94 | proportionHetero = 0.295 95 | proportionHomo = 0.67 96 | proportionOpen = 0.015 97 | segmentLength = 30 98 | } else if (platform=="Illumina1M") { 99 | maxHomozygous = 0.05 100 | proportionHetero = 0.22 101 | proportionHomo = 0.74 102 | proportionOpen = 0.02 103 | segmentLength = 100 104 | #previousvalues: 105 | #proportionHetero = 0.24 106 | #proportionOpen = 0.01 107 | #segmentLength = 60 108 | } else if (platform=="Illumina2.5M") { 109 | maxHomozygous = 0.05 110 | proportionHetero = 0.21 111 | proportionHomo = 0.745 112 | proportionOpen = 0.03 113 | segmentLength = 100 114 | } else if (platform=="IlluminaOmni5") { 115 | maxHomozygous = 0.05 116 | proportionHetero = 0.13 117 | proportionHomo = 0.855 118 | proportionOpen = 0.01 119 | segmentLength = 100 120 | } else if (platform=="IlluminaGDACyto-8") { 121 | maxHomozygous = 0.06 122 | proportionHetero = 0.12 123 | proportionHomo = 0.85 124 | proportionOpen = 0.02 125 | segmentLength = 150 126 | } else if (platform=="Affy10k") { 127 | maxHomozygous = 0.04 128 | proportionHetero = 0.355 129 | proportionHomo = 0.605 130 | proportionOpen = 0.025 131 | segmentLength = 20 132 | } else if (platform=="Affy100k") { 133 | maxHomozygous = 0.05 134 | proportionHetero = 0.27 135 | proportionHomo = 0.62 136 | proportionOpen = 0.09 137 | segmentLength = 30 138 | } else if (platform=="Affy250k_sty") { 139 | maxHomozygous = 0.05 140 | proportionHetero = 0.26 141 | proportionHomo = 0.66 142 | proportionOpen = 0.05 143 | segmentLength = 50 144 | } else if (platform=="Affy250k_nsp") { 145 | maxHomozygous = 0.05 146 | proportionHetero = 0.26 147 | proportionHomo = 0.66 148 | proportionOpen = 0.05 149 | segmentLength = 50 150 | } else if (platform=="AffySNP6") { 151 | maxHomozygous = 0.05 152 | proportionHetero = 0.25 153 | proportionHomo = 0.67 154 | proportionOpen = 0.04 155 | segmentLength = 100 156 | } else if (platform=="AffyOncoScan") { 157 | maxHomozygous = 0.04 158 | proportionHetero = 0.355 159 | proportionHomo = 0.605 160 | proportionOpen = 0.025 161 | segmentLength = 30 162 | # maxHomozygous = 0.05 163 | # proportionHetero = 0.24 164 | # proportionHomo = 0.69 165 | # proportionOpen = 0.04 166 | # segmentLength = 30 167 | } else if (platform=="AffyCytoScanHD") { 168 | # maxHomozygous = 0.05 169 | # proportionHetero = 0.26 170 | # proportionHomo = 0.69 171 | # proportionOpen = 0.03 172 | # segmentLength = 30 173 | maxHomozygous = 0.04 174 | proportionHetero = 0.32 175 | proportionHomo = 0.60 176 | proportionOpen = 0.03 177 | segmentLength = 100 178 | } else if (platform=="HumanCNV370quad") { 179 | maxHomozygous = 0.05 180 | proportionHetero = 0.295 181 | proportionHomo = 0.67 182 | proportionOpen = 0.015 183 | segmentLength = 20 184 | } else if (platform=="HumanCore12") { 185 | maxHomozygous = 0.05 186 | proportionHetero = 0.295 187 | proportionHomo = 0.67 188 | proportionOpen = 0.015 189 | segmentLength = 20 190 | } else if (platform=="HumanCoreExome24") { 191 | maxHomozygous = 0.05 192 | proportionHetero = 0.175 193 | proportionHomo = 0.79 194 | proportionOpen = 0.02 195 | segmentLength = 100 196 | } else if (platform=="HumanOmniExpress12") { 197 | maxHomozygous = 0.05 198 | proportionHetero = 0.295 199 | proportionHomo = 0.67 200 | proportionOpen = 0.015 201 | segmentLength = 100 202 | } else if (platform=="IlluminaOmniExpressExome") { 203 | maxHomozygous = 0.05 204 | proportionHetero = 0.35 205 | proportionHomo = 0.60 206 | proportionOpen = 0.03 207 | segmentLength = 100 208 | } else if (platform=="WGS_hg38_50X") { 209 | maxHomozygous = 0.01 210 | proportionHetero = 0.38 211 | proportionHomo = 0.54 212 | proportionOpen = 0.04 213 | segmentLength = 100 214 | } else { 215 | print("Error: platform unknown") 216 | } 217 | # else if (platform=="OmniZhonghua8") { 218 | # maxHomozygous = 0.05 219 | # proportionHetero = 0.295 220 | # proportionHomo = 0.67 221 | # proportionOpen = 0.015 222 | # segmentLength = 100 223 | # } 224 | 225 | 226 | failedarrays = NULL 227 | 228 | for (i in 1:dim(ASCATobj$Tumor_LogR)[2]) { 229 | 230 | Tumor_BAF_noNA = ASCATobj$Tumor_BAF[!is.na(ASCATobj$Tumor_BAF[, i]), i] 231 | names(Tumor_BAF_noNA) = rownames(ASCATobj$Tumor_BAF)[!is.na(ASCATobj$Tumor_BAF[, i])] 232 | Tumor_LogR_noNA = ASCATobj$Tumor_LogR[names(Tumor_BAF_noNA), i] 233 | names(Tumor_LogR_noNA) = names(Tumor_BAF_noNA) 234 | 235 | chr_noNA = list() 236 | prev = 0 237 | for (j in 1:length(ASCATobj$chr)) { 238 | chrke = ASCATobj$chr[[j]] 239 | next2 = prev + sum(!is.na(ASCATobj$Tumor_BAF[chrke, i])) 240 | chr_noNA[[j]] = (prev+1):next2 241 | prev = next2 242 | } 243 | 244 | ch_noNA = list() 245 | prev = 0 246 | for (j in 1:length(ASCATobj$ch)) { 247 | chrke = ASCATobj$ch[[j]] 248 | next2 = prev + sum(!is.na(ASCATobj$Tumor_BAF[chrke, i])) 249 | ch_noNA[[j]] = (prev+1):next2 250 | prev = next2 251 | } 252 | 253 | tbsam = Tumor_BAF_noNA 254 | # sample, mirrored 255 | bsm = ifelse(tbsam<0.5, tbsam, 1-tbsam) 256 | 257 | homoLimit = max(sort(bsm)[round(length(bsm)*proportionHomo)], maxHomozygous) 258 | 259 | if (homoLimit>0.25) { 260 | failedarrays = c(failedarrays, ASCATobj$samples[i]) 261 | } 262 | 263 | Hom = ifelse(bsm0) { 273 | 274 | allProbes=1:length(Tumor_BAF_noNA) 275 | nonHomoProbes = allProbes[is.na(Hom)|Hom==FALSE] 276 | 277 | lowestDist = NULL 278 | 279 | # bsm, with homozygous replaced by NA 280 | bsmHNA=bsm 281 | bsmHNA[!is.na(Hom)&Hom]=NA 282 | 283 | for (chrke in chr_noNA) { 284 | 285 | chrNonHomoProbes = intersect(nonHomoProbes, chrke) 286 | 287 | # there must be a minimum number of probes on the chromosome, otherwise these are called homozygous anyway 288 | if (length(chrNonHomoProbes)>5) { 289 | 290 | #make sure we're not going over any borders.. 291 | segmentLength2 = min(length(chrNonHomoProbes)-1, segmentLength) 292 | 293 | chrNonHomoProbesStartWindowLeft = c(rep(NA, segmentLength2), chrNonHomoProbes[1:(length(chrNonHomoProbes)-segmentLength2)]) 294 | chrNonHomoProbesEndWindowLeft = c(NA, chrNonHomoProbes[1:(length(chrNonHomoProbes)-1)]) 295 | chrNonHomoProbesStartWindowRight = c(chrNonHomoProbes[2:length(chrNonHomoProbes)], NA) 296 | chrNonHomoProbesEndWindowRight = c(chrNonHomoProbes[(segmentLength2+1):length(chrNonHomoProbes)], rep(NA, segmentLength2)) 297 | chrNonHomoProbesStartWindowMiddle = c(rep(NA, segmentLength2/2), chrNonHomoProbes[1:(length(chrNonHomoProbes)-segmentLength2/2)]) 298 | chrNonHomoProbesEndWindowMiddle = c(chrNonHomoProbes[(segmentLength2/2+1):length(chrNonHomoProbes)], rep(NA, segmentLength2/2)) 299 | 300 | chrLowestDist = NULL 301 | 302 | for (probeNr in 1:length(chrNonHomoProbes)) { 303 | probe = chrNonHomoProbes[probeNr] 304 | if (!is.na(chrNonHomoProbesStartWindowLeft[probeNr]) && !is.na(chrNonHomoProbesEndWindowLeft[probeNr])) { 305 | medianLeft = median(bsmHNA[chrNonHomoProbesStartWindowLeft[probeNr]:chrNonHomoProbesEndWindowLeft[probeNr]], na.rm=TRUE) 306 | } else { 307 | medianLeft = NA 308 | } 309 | if (!is.na(chrNonHomoProbesStartWindowRight[probeNr]) && !is.na(chrNonHomoProbesEndWindowRight[probeNr])) { 310 | medianRight = median(bsmHNA[chrNonHomoProbesStartWindowRight[probeNr]:chrNonHomoProbesEndWindowRight[probeNr]], na.rm=TRUE) 311 | } else { 312 | medianRight = NA 313 | } 314 | 315 | if (!is.na(chrNonHomoProbesStartWindowMiddle[probeNr]) && !is.na(chrNonHomoProbesEndWindowMiddle[probeNr])) { 316 | medianMiddle = median(c(bsmHNA[chrNonHomoProbesStartWindowMiddle[probeNr]:chrNonHomoProbesEndWindowLeft[probeNr]], 317 | bsmHNA[chrNonHomoProbesStartWindowRight[probeNr]:chrNonHomoProbesEndWindowMiddle[probeNr]]), na.rm=TRUE) 318 | } else { 319 | medianMiddle = NA 320 | } 321 | 322 | chrLowestDist[probeNr] = min(abs(medianLeft-bsm[probe]), abs(medianRight-bsm[probe]), abs(medianMiddle-bsm[probe]), Inf, na.rm=TRUE) 323 | } 324 | } else { # if too few probes on the chromosome 325 | chrLowestDist = NULL 326 | if (length(chrNonHomoProbes)>0) { 327 | # 1 is higher than any practical distance 328 | chrLowestDist[1:length(chrNonHomoProbes)] = 1 329 | } 330 | } 331 | 332 | lowestDist = c(lowestDist, chrLowestDist) 333 | } 334 | 335 | lowestDistUndecided = lowestDist[is.na(Hom[nonHomoProbes])] 336 | names(lowestDistUndecided)=names(Tumor_LogR_noNA)[nonHomoProbes[is.na(Hom[nonHomoProbes])]] 337 | 338 | sorted = sort(lowestDistUndecided) 339 | Hom[names(sorted[1:min(length(sorted), extraHetero)])] = FALSE 340 | 341 | Hetero = sum(Hom==FALSE, na.rm=TRUE) 342 | Homo = sum(Hom==TRUE, na.rm=TRUE) 343 | Undecided = sum(is.na(Hom)) 344 | 345 | } 346 | 347 | png(filename = file.path(img.dir, paste(img.prefix, "tumorSep", colnames(ASCATobj$Tumor_LogR)[i], ".png", sep="")), width = 2000, height = 500, res = 200) 348 | title = paste(paste(colnames(ASCATobj$Tumor_BAF)[i], Hetero), Homo) 349 | ascat.plotGenotypes(ASCATobj, title, Tumor_BAF_noNA, Hom, ch_noNA) 350 | dev.off() 351 | 352 | # set all Undecided to homozygous 353 | Hom[is.na(Hom)] = TRUE 354 | Homozygous[names(Hom), i] = Hom 355 | } 356 | 357 | return(list(germlinegenotypes = Homozygous, failedarrays = failedarrays)) 358 | 359 | } -------------------------------------------------------------------------------- /ASCAT/R/imports.R: -------------------------------------------------------------------------------- 1 | #' @importFrom data.table fread 2 | #' @importFrom doParallel registerDoParallel 3 | #' @importFrom foreach %dopar% foreach 4 | #' @importFrom GenomicRanges findOverlaps GRanges pintersect 5 | #' @importFrom graphics abline axis barplot image par points rect text 6 | #' @importFrom grDevices adjustcolor colorRampPalette dev.new dev.off pdf png 7 | #' @importFrom IRanges IRanges 8 | #' @importFrom RColorBrewer brewer.pal 9 | #' @importFrom S4Vectors queryHits subjectHits width 10 | #' @importFrom splines ns 11 | #' @importFrom stats binom.test cor lm mad median na.omit residuals runif runmed sd 12 | #' @importFrom tools file_ext 13 | #' @importFrom utils head read.table write.table 14 | NULL -------------------------------------------------------------------------------- /ASCAT/R/misc.R: -------------------------------------------------------------------------------- 1 | div <- function(a, b, c) { 2 | 3 | if (nargs() < 3) { 4 | c <- 0 5 | }#endif 6 | 7 | if (b > 0) { 8 | v <- a/b 9 | } else { 10 | v <- c 11 | }#endif 12 | 13 | return(v) 14 | }#endfunction 15 | 16 | 17 | #function v = div(a, b, c) 18 | # if nargin < 3 19 | # c = 0; 20 | # end 21 | # if b > 0 22 | # v = a/b; 23 | # else 24 | # v = c; 25 | # end 26 | #end -------------------------------------------------------------------------------- /ASCAT/inst/extdata/singlenormal.BAF.txt: -------------------------------------------------------------------------------- 1 | Chr Position N 2 | SNP1 1 30 0.661344719826356 3 | SNP2 1 177 0.487392375755201 4 | SNP3 1 890 1 5 | SNP4 1 1029 1 6 | SNP5 1 1087 1 7 | SNP6 1 1119 0.458431960778536 8 | SNP7 1 1141 0.457523874477734 9 | SNP8 1 1297 0.479725946065736 10 | SNP9 1 1755 0.498110238034135 11 | SNP10 1 1833 0.461886919461413 12 | SNP11 1 1970 0.49851008350041 13 | SNP12 1 2070 0.523573618609096 14 | SNP13 1 2810 0.459657817092843 15 | SNP14 1 2848 0.521299351653969 16 | SNP15 1 2975 1 17 | SNP16 1 3214 1 18 | SNP17 1 3610 1 19 | SNP18 1 3815 1 20 | SNP19 1 3817 1 21 | SNP20 1 3932 0.631063402212822 22 | SNP21 1 3940 1 23 | SNP22 1 3981 1 24 | SNP23 1 4199 0.556751285470435 25 | SNP24 1 4281 0.466941312447936 26 | SNP25 1 4290 0.503464908710531 27 | SNP26 1 4526 0.561675021133042 28 | SNP27 1 4821 0.460893748427029 29 | SNP28 1 4901 0.414989387387739 30 | SNP29 1 4936 1 31 | SNP30 1 5067 1 32 | SNP31 1 5168 0.529818974337677 33 | SNP32 1 5229 0.463181469685181 34 | SNP33 1 5280 1 35 | SNP34 1 5396 1 36 | SNP35 1 5582 0.592187763248555 37 | SNP36 1 5600 0.341929360688888 38 | SNP37 1 5953 0.492445054136289 39 | SNP38 1 6062 0.517290316890786 40 | SNP39 1 6185 0.457634036235443 41 | SNP40 1 6345 0.268528428143568 42 | SNP41 1 6567 0.625343152438743 43 | SNP42 1 6662 0.538923289056465 44 | SNP43 1 6720 0.598318701373118 45 | SNP44 1 6821 0.626981128345355 46 | SNP45 1 6827 0.49857235745392 47 | SNP46 1 7260 0.377769023703958 48 | SNP47 1 7765 0.566357100426619 49 | SNP48 1 7812 0.370575826675286 50 | SNP49 1 7867 0.545375540593093 51 | SNP50 1 8538 0.48215358503621 52 | SNP51 1 8779 0.497447371631041 53 | SNP52 1 9109 0.524821986223195 54 | SNP53 1 9116 0.409440756847837 55 | SNP54 1 9187 0.49702169528477 56 | SNP55 1 9307 0.648255662847406 57 | SNP56 1 9332 0.474686762517239 58 | SNP57 1 9368 0.496334488981951 59 | SNP58 1 9380 0.568685534254548 60 | SNP59 1 10198 0.575030185796197 61 | SNP60 1 10303 0.488661367925081 62 | SNP61 1 10720 0.494491561508828 63 | SNP62 1 11061 0.419675595012505 64 | SNP63 1 11114 0.626694435560944 65 | SNP64 1 11458 0.480448704181067 66 | SNP65 1 11877 0.467562167196979 67 | SNP66 1 11931 0.45349195224013 68 | SNP67 1 11988 0.612663584303886 69 | SNP68 1 12001 0.376737836936674 70 | SNP69 1 12053 0.575219078377436 71 | SNP70 1 12143 0.44346745397966 72 | SNP71 1 12159 0.592338081710487 73 | SNP72 1 12486 1 74 | SNP73 1 12709 1 75 | SNP74 1 12851 0.298792770704542 76 | SNP75 1 13281 0.526889757891401 77 | SNP76 1 13362 0.474035109906452 78 | SNP77 1 13700 0.409821535064107 79 | SNP78 1 13905 0.472039341786346 80 | SNP79 1 14187 1 81 | SNP80 1 14202 1 82 | SNP81 1 14396 0.464677272424059 83 | SNP82 1 14589 0.487859214471996 84 | SNP83 1 14798 0.473322880037076 85 | SNP84 1 14828 0.438733415907053 86 | SNP85 1 14910 0.591153399524377 87 | SNP86 1 14914 0.559872320781888 88 | SNP87 1 15019 1 89 | SNP88 1 15037 1 90 | SNP89 1 15142 0.504440914350651 91 | SNP90 1 15465 0.381383676363625 92 | SNP91 1 15718 0.441815239944825 93 | SNP92 1 15952 0.418049229034231 94 | SNP93 1 16072 0.640982195805955 95 | SNP94 1 16180 0.490785529616426 96 | SNP95 1 16353 0.397288291775172 97 | SNP96 1 16427 0.558984341223556 98 | SNP97 1 16429 0.499260183817398 99 | SNP98 1 16580 1 100 | SNP99 1 16761 1 101 | SNP100 1 17056 0.510745406399675 102 | SNP101 1 17134 0.437576463995084 103 | SNP102 1 17175 0.492863743140548 104 | SNP103 1 17284 0.546713786096787 105 | SNP104 1 17396 0.42029162941829 106 | SNP105 1 17944 0.361737898770379 107 | SNP106 1 17968 0.481629821077927 108 | SNP107 1 18665 0.600991712738428 109 | SNP108 1 18802 0.545732092750807 110 | SNP109 1 18898 0.408714848929208 111 | SNP110 1 19081 1 112 | SNP111 1 19171 1 113 | SNP112 1 19190 0.440561630483008 114 | SNP113 1 19515 0.511816010586841 115 | SNP114 1 19925 0.553797925382697 116 | SNP115 1 20079 0.519916896319608 117 | SNP116 1 20388 0.601197944032317 118 | SNP117 1 20732 0.586880124575285 119 | SNP118 1 20976 0.479996846367539 120 | SNP119 1 21373 0.380679765275111 121 | SNP120 1 21609 0.480410718983356 122 | SNP121 1 21699 0.499783147245624 123 | SNP122 1 21941 0.486752248310667 124 | SNP123 1 22069 0.486706158776936 125 | SNP124 1 22105 0.520051826109376 126 | SNP125 1 22184 0.531691521182682 127 | SNP126 1 22510 0.585589812737173 128 | SNP127 1 22906 1 129 | SNP128 1 23096 1 130 | SNP129 1 23256 0.401193382797714 131 | SNP130 1 23656 0.461555623552834 132 | SNP131 1 23793 0.464934147865312 133 | SNP132 1 24314 0.463385101507524 134 | SNP133 1 24528 0.587828230705592 135 | SNP134 1 24835 0.539171039759764 136 | SNP135 1 24856 0.472897819272266 137 | SNP136 1 24965 0.413786174403522 138 | SNP137 1 25334 0.557418415027249 139 | SNP138 1 25469 0.50310511087959 140 | SNP139 1 25591 0.623329725064831 141 | SNP140 1 25863 0.518403734869076 142 | SNP141 1 25874 0.504734422538532 143 | SNP142 1 26009 0.592325703454679 144 | SNP143 1 26148 0.578500632763745 145 | SNP144 1 26165 0.463471480010374 146 | SNP145 1 26181 0.452589787814802 147 | SNP146 1 26219 0.451045019117328 148 | SNP147 1 26560 0.436777241728499 149 | SNP148 1 26653 0.63363297008303 150 | SNP149 1 26656 0.573922242503049 151 | SNP150 1 26822 1 152 | SNP151 1 26886 1 153 | SNP152 1 27002 0.443865702244557 154 | SNP153 1 27458 0.570981813863906 155 | SNP154 1 27576 0.634154470301516 156 | SNP155 1 27607 0.477943860102477 157 | SNP156 1 27934 0.424304319123465 158 | SNP157 1 28641 0.501284193539405 159 | SNP158 1 28867 1 160 | SNP159 1 28877 1 161 | SNP160 1 28997 0.482079412268283 162 | SNP161 1 29151 0.390449309850584 163 | SNP162 1 29358 0.477851578217606 164 | SNP163 1 30009 0.355314661579159 165 | SNP164 1 30011 0.475362738979202 166 | SNP165 1 30149 0.391955513944808 167 | SNP166 1 30151 0.418403265014707 168 | SNP167 1 30193 0.611486530257064 169 | SNP168 1 30205 0.421596602576131 170 | SNP169 1 30289 0.551867944936305 171 | SNP170 1 30329 0.51619810775879 172 | SNP171 1 30650 0.540257615416907 173 | SNP172 1 31403 0.549420770191412 174 | SNP173 1 31735 0.539264541958474 175 | SNP174 1 32094 0.532053913054274 176 | SNP175 1 32123 0.521426441698686 177 | SNP176 1 32136 0.649574794751595 178 | SNP177 1 32248 0.461722327829375 179 | SNP178 1 32886 0.494112661088519 180 | SNP179 1 33425 0.526699379568075 181 | SNP180 1 33496 0.484909418179127 182 | SNP181 1 33587 0.413895850536315 183 | SNP182 1 33786 0.605634947674725 184 | SNP183 1 33922 0.501847525132284 185 | SNP184 1 33968 0.372166687668985 186 | SNP185 1 34240 0.508538420010233 187 | SNP186 1 34725 0.33240004993142 188 | SNP187 1 34728 0.390692367682538 189 | SNP188 1 34791 0.53765522567228 190 | SNP189 1 34832 0.544802412302128 191 | SNP190 1 34929 0.546090252425027 192 | SNP191 1 34991 0.512349004914858 193 | SNP192 1 35045 0.404891163046581 194 | SNP193 1 35402 0.416804533363494 195 | SNP194 1 35465 1 196 | SNP195 1 35471 1 197 | SNP196 1 35581 0.603772134170882 198 | SNP197 1 35753 0.436742616139606 199 | SNP198 1 35906 0.581312851929096 200 | SNP199 1 35944 0.608835549251844 201 | SNP200 1 35961 0.56943300739765 202 | SNP201 1 36101 1 203 | SNP202 1 36113 1 204 | SNP203 1 36642 0.53491334616338 205 | SNP204 1 37082 0.522599548200317 206 | SNP205 1 37173 0.532200328581023 207 | SNP206 1 37186 0.489517252242386 208 | SNP207 1 37326 0.545511980909812 209 | SNP208 1 37405 0.493203026102196 210 | SNP209 1 37459 0.437639007352186 211 | SNP210 1 37578 1 212 | SNP211 1 37997 1 213 | SNP212 1 38019 0.413132113305725 214 | SNP213 1 38298 0.543544297015285 215 | SNP214 1 38426 0.493707318347071 216 | SNP215 1 38460 1 217 | SNP216 1 38490 1 218 | SNP217 1 38579 0.465614484499374 219 | SNP218 1 39487 0.440603737335654 220 | SNP219 1 39637 0.650378669475094 221 | SNP220 1 39809 1 222 | SNP221 1 39834 1 223 | SNP222 1 40092 0.526735371400594 224 | SNP223 1 40532 0.382725769346586 225 | SNP224 1 40780 0.525957830544393 226 | SNP225 1 40928 0.510698153031164 227 | SNP226 1 40948 1 228 | SNP227 1 41201 1 229 | SNP228 1 41616 1 230 | SNP229 1 41854 1 231 | SNP230 1 42112 1 232 | SNP231 1 42283 0.536849892450056 233 | SNP232 1 42322 0.532329502469364 234 | SNP233 1 42592 0.478847596949376 235 | SNP234 1 42676 0.570737387335168 236 | SNP235 1 42782 1 237 | SNP236 1 42823 1 238 | SNP237 1 42901 1 239 | SNP238 1 43486 0.47176137478412 240 | SNP239 1 43672 0.661525968226074 241 | SNP240 1 44040 0.424829667519543 242 | SNP241 1 44233 0.405683980851505 243 | SNP242 1 44283 0.46346823597571 244 | SNP243 1 44393 0.562949021361102 245 | SNP244 1 44494 0.49454291273564 246 | SNP245 1 44681 0.436306039585537 247 | SNP246 1 44750 0.448441384708162 248 | SNP247 1 44842 0.462624455897077 249 | SNP248 1 45133 0.671953059562278 250 | SNP249 1 45185 0.509897096265883 251 | SNP250 1 45195 0.436480516593558 252 | SNP251 1 45259 0.483741145178883 253 | SNP252 1 45581 0.542332352791456 254 | SNP253 1 45702 0.623330648566614 255 | SNP254 1 45813 0.422063111750933 256 | SNP255 1 45872 0.488791248789149 257 | SNP256 1 45987 0.556035049873005 258 | SNP257 1 46233 0.485390248131712 259 | SNP258 1 46240 0.384876692897102 260 | SNP259 1 46316 0.335847479931358 261 | SNP260 1 46357 0.540064305131909 262 | SNP261 1 47229 0.620941344308029 263 | SNP262 1 47398 0.515439371201254 264 | SNP263 1 47544 0.515002883039076 265 | SNP264 1 47646 0.497460575814959 266 | SNP265 1 47675 0.434075562753814 267 | SNP266 1 47831 0.463209350312066 268 | SNP267 1 48054 0.527165258369261 269 | SNP268 1 48120 0.462828187574925 270 | SNP269 1 48161 0.505528177757526 271 | SNP270 1 48217 0.591890731889225 272 | SNP271 1 48266 0.575015601639622 273 | SNP272 1 48428 0.465163613408286 274 | SNP273 1 48540 0.35505277861318 275 | SNP274 1 48549 0.485129750058773 276 | SNP275 1 48749 0.56019985170544 277 | SNP276 1 49241 1 278 | SNP277 1 49259 1 279 | SNP278 1 49368 0.566940589116868 280 | SNP279 1 49385 0.529716172397659 281 | SNP280 1 49445 0.532381105145284 282 | SNP281 1 49684 0.55056320436851 283 | SNP282 1 49830 0.62910672069073 284 | SNP283 1 49854 0.648123899422942 285 | SNP284 1 49975 0.435033038087449 286 | SNP285 1 49981 0.610454648480047 287 | SNP286 1 50034 0.434603878645901 288 | SNP287 1 50382 0.651805957928948 289 | SNP288 1 50529 0.570842066193738 290 | SNP289 1 50628 0.546506644217053 291 | SNP290 1 50633 1 292 | SNP291 1 50886 1 293 | SNP292 1 51104 0.484464468703118 294 | SNP293 1 51122 0.49972586794518 295 | SNP294 1 51124 0.500120417075736 296 | SNP295 1 51201 0.4891233273636 297 | SNP296 1 51347 0.495946609279541 298 | SNP297 1 51519 0.501819287681168 299 | SNP298 1 51589 0.598087167657718 300 | SNP299 1 51611 0.508210673259626 301 | SNP300 1 51771 0.538203168384342 302 | SNP301 1 51778 0.557679616764584 303 | SNP302 1 52481 0.458870214095292 304 | SNP303 1 52522 0.388270517630959 305 | SNP304 1 52606 0.476745577690398 306 | SNP305 1 52647 0.513613979575165 307 | SNP306 1 52742 0.347268689016942 308 | SNP307 1 52784 0.45171932152739 309 | SNP308 1 53176 0.601271442514758 310 | SNP309 1 53855 0.442384029739708 311 | SNP310 1 54066 1 312 | SNP311 1 54334 1 313 | SNP312 1 54423 0.468048402038511 314 | SNP313 1 54567 0.500587325786285 315 | SNP314 1 54639 1 316 | SNP315 1 55029 1 317 | SNP316 1 55387 0.458364129965443 318 | SNP317 1 55762 0.447745106529222 319 | SNP318 1 56087 0.553121561095183 320 | SNP319 1 56134 0.552090330660632 321 | SNP320 1 56223 0.397138568105538 322 | SNP321 1 56295 1 323 | SNP322 1 56311 1 324 | SNP323 1 56519 0.409493387441235 325 | SNP324 1 56773 0.465285220496722 326 | SNP325 1 56847 1 327 | SNP326 1 56923 1 328 | SNP327 1 57280 0.553234147538152 329 | SNP328 1 57472 0.494351198653541 330 | SNP329 1 57480 0.547626195857337 331 | SNP330 1 57500 0.631462979861313 332 | SNP331 1 58465 0.539278422626243 333 | SNP332 1 58552 0.355350755362942 334 | SNP333 1 58667 0.456205736210524 335 | SNP334 1 58716 0.490535813797293 336 | SNP335 1 58756 0.506818104011349 337 | SNP336 1 59106 0.28300663867271 338 | SNP337 1 59259 0.537722858446448 339 | SNP338 1 59347 0.661851739118396 340 | SNP339 1 59365 0.569001700894148 341 | SNP340 1 59637 0.650858859614231 342 | SNP341 1 59672 0.463993839318437 343 | SNP342 1 59891 0.388485710729157 344 | SNP343 1 59970 1 345 | SNP344 1 60273 1 346 | SNP345 1 60465 0.607544215706689 347 | SNP346 1 60763 0.430433972721999 348 | SNP347 1 60967 0.515723825226073 349 | SNP348 1 61208 0.507622095200041 350 | SNP349 1 61519 0.553112780636716 351 | SNP350 1 61660 0.4850042450924 352 | SNP351 1 61751 0.59953420911972 353 | SNP352 1 62226 0.554909065785345 354 | SNP353 1 62551 0.503313769725401 355 | SNP354 1 63132 0.559094293418774 356 | SNP355 1 63362 0.469871828496715 357 | SNP356 1 63414 0.550081516984071 358 | SNP357 1 63475 0.430574922212884 359 | SNP358 1 63863 0.578022935228646 360 | SNP359 1 63932 0.498980986529378 361 | SNP360 1 64061 0.58047864914086 362 | SNP361 1 64228 0.491006013267638 363 | SNP362 1 64308 0.499029469069711 364 | SNP363 1 64499 0.632693737546889 365 | SNP364 1 64856 0.64893863836218 366 | SNP365 1 64900 0.580105788405802 367 | SNP366 1 64905 0.484890947741191 368 | SNP367 1 65231 1 369 | SNP368 1 65313 1 370 | SNP369 1 65541 0.528527036853523 371 | SNP370 1 65830 0.452458164310235 372 | SNP371 1 65912 0.449665761508561 373 | SNP372 1 66252 0.437898132624006 374 | SNP373 1 66444 0.471680893366363 375 | SNP374 1 66476 0.536890421966183 376 | SNP375 1 66478 0.434416416496058 377 | SNP376 1 66524 0.309072242213858 378 | SNP377 1 66529 0.559560786046907 379 | SNP378 1 66566 0.461917897459197 380 | SNP379 1 66997 0.542460919671372 381 | SNP380 1 67193 0.513272384456631 382 | SNP381 1 67286 0.561521081161488 383 | SNP382 1 67306 0.458490369094055 384 | SNP383 1 67381 0.454612006186295 385 | SNP384 1 67427 0.686072934813186 386 | SNP385 1 67679 0.506919575108767 387 | SNP386 1 67890 0.384240545010511 388 | SNP387 1 67919 0.437886938655822 389 | SNP388 1 68158 0.507441264568328 390 | SNP389 1 68174 0.369096350207504 391 | SNP390 1 68228 0.44540263587459 392 | SNP391 1 68235 0.451446023886617 393 | SNP392 1 68318 0.473548601320282 394 | SNP393 1 68399 0.507472932975602 395 | SNP394 1 68705 0.535086799585057 396 | SNP395 1 69120 0.432216554247532 397 | SNP396 1 69169 0.569166503604347 398 | SNP397 1 69451 0.495394698209554 399 | SNP398 1 69549 0.599113003371835 400 | SNP399 1 69979 0.50481928799483 401 | SNP400 1 70151 0.512166540238714 402 | SNP401 1 70499 0.538791509128489 403 | SNP402 1 70678 0.5694060418954 404 | SNP403 1 70801 0.524591514584255 405 | SNP404 1 70891 0.548693115527631 406 | SNP405 1 71405 0.617081796160933 407 | SNP406 1 71457 0.521871295499171 408 | SNP407 1 71740 0.376659055947578 409 | SNP408 1 71780 0.506719172292147 410 | SNP409 1 71818 0.448579893599255 411 | SNP410 1 71880 0.52260507267158 412 | SNP411 1 71990 0.471597071111845 413 | SNP412 1 72181 0.374074762739405 414 | SNP413 1 72269 0.541163423387288 415 | SNP414 1 72358 0.575101331546647 416 | SNP415 1 72635 0.599140578013202 417 | SNP416 1 73324 0.53614537782408 418 | SNP417 1 73348 0.475103767399816 419 | SNP418 1 73431 0.389277134688417 420 | SNP419 1 73449 0.493020513033588 421 | SNP420 1 73571 0.54742946492855 422 | SNP421 1 73585 0.533115823530478 423 | SNP422 1 73678 0.486693072613896 424 | SNP423 1 73872 0.712364002306167 425 | SNP424 1 74515 0.429570626690833 426 | SNP425 1 74574 0.537196725875686 427 | SNP426 1 74583 0.579062040725157 428 | SNP427 1 74655 0.409421690431338 429 | SNP428 1 74744 0.535166068570072 430 | SNP429 1 74748 0.601813826944449 431 | SNP430 1 74910 0.467996332424932 432 | SNP431 1 75056 0.484541876679431 433 | SNP432 1 75061 0.610594689120011 434 | SNP433 1 75067 0.393196640981719 435 | SNP434 1 75133 0.59221367018699 436 | SNP435 1 75147 0.531509794464047 437 | SNP436 1 75325 0.580919906159581 438 | SNP437 1 75538 0.429177907567154 439 | SNP438 1 75554 0.578740229827516 440 | SNP439 1 75849 0.42153986129711 441 | SNP440 1 76268 1 442 | SNP441 1 76330 1 443 | SNP442 1 76469 0.364441287572758 444 | SNP443 1 76607 0.431238485613702 445 | SNP444 1 76684 1 446 | SNP445 1 76763 1 447 | SNP446 1 76992 0.515174445439819 448 | SNP447 1 77009 0.417291987154839 449 | SNP448 1 77063 0.481204732503978 450 | SNP449 1 77298 0.531818534998785 451 | SNP450 1 77319 0.526454751767853 452 | SNP451 1 77333 0.40379706907634 453 | SNP452 1 77343 0.519045428848169 454 | SNP453 1 77485 0.575564567640896 455 | SNP454 1 77751 0.495612092933147 456 | SNP455 1 77800 1 457 | SNP456 1 77918 1 458 | SNP457 1 78112 0.37520334271521 459 | SNP458 1 78147 0.525011323820385 460 | SNP459 1 78203 0.452080157006396 461 | SNP460 1 78251 0.579553345755262 462 | SNP461 1 78332 1 463 | SNP462 1 78458 1 464 | SNP463 1 78495 0.408702511407905 465 | SNP464 1 78510 0.38168359573118 466 | SNP465 1 78578 0.51761030114298 467 | SNP466 1 78858 0.604003014833001 468 | SNP467 1 78898 0.541918117001435 469 | SNP468 1 78902 0.418916940016897 470 | SNP469 1 78943 0.492709584833945 471 | SNP470 1 79486 0.543886425815958 472 | SNP471 1 79518 1 473 | SNP472 1 79600 1 474 | SNP473 1 79601 1 475 | SNP474 1 79841 1 476 | SNP475 1 80045 0.560744084203965 477 | SNP476 1 80133 0.5258540481815 478 | SNP477 1 80519 0.543577286733939 479 | SNP478 1 80557 0.552103133555996 480 | SNP479 1 80688 0.44655420281618 481 | SNP480 1 80950 0.540110166016796 482 | SNP481 1 81206 0.434853017373435 483 | SNP482 1 81228 0.477063483006943 484 | SNP483 1 81273 0.491949964236011 485 | SNP484 1 81388 0.584253198769513 486 | SNP485 1 81734 0.553650014230065 487 | SNP486 1 81791 0.365388069785677 488 | SNP487 1 82794 0.605676735263515 489 | SNP488 1 82855 1 490 | SNP489 1 83090 1 491 | SNP490 1 83179 0.578511461207881 492 | SNP491 1 83344 0.386976246696151 493 | SNP492 1 83379 0.501791907164373 494 | SNP493 1 83396 0.402437686362868 495 | SNP494 1 83565 0.5127934295929 496 | SNP495 1 83607 0.386801028789337 497 | SNP496 1 84086 0.459048242345729 498 | SNP497 1 84448 0.580823296685292 499 | SNP498 1 84595 0.517102709576447 500 | SNP499 1 84643 0.662185838516641 501 | SNP500 1 84796 0.512756343102573 502 | SNP501 1 84898 1 503 | SNP502 1 84948 1 504 | SNP503 1 85315 1 505 | SNP504 1 85363 0.469432754159788 506 | SNP505 1 85603 0.620005121998084 507 | SNP506 1 85630 1 508 | SNP507 1 85753 1 509 | SNP508 1 85939 1 510 | SNP509 1 86224 1 511 | SNP510 1 86623 1 512 | SNP511 1 86754 0.568637504555746 513 | SNP512 1 86925 0.424642699096074 514 | SNP513 1 86979 1 515 | SNP514 1 87072 1 516 | SNP515 1 87103 0.535788583632165 517 | SNP516 1 87446 0.391135438086965 518 | SNP517 1 87468 0.537273141515465 519 | SNP518 1 87520 0.535386560825489 520 | SNP519 1 87631 0.611639487617094 521 | SNP520 1 87874 1 522 | SNP521 1 87876 1 523 | SNP522 1 87945 0.38171620227252 524 | SNP523 1 88023 0.556077759509017 525 | SNP524 1 88172 0.41083093511109 526 | SNP525 1 88206 0.577405546791234 527 | SNP526 1 88300 0.559416437385792 528 | SNP527 1 88332 0.528491305624337 529 | SNP528 1 88585 0.539517122883445 530 | SNP529 1 88714 0.490933969460784 531 | SNP530 1 88735 0.530139280596518 532 | SNP531 1 89084 0.530225057302338 533 | SNP532 1 89263 0.48812762242805 534 | SNP533 1 89345 0.539791638327517 535 | SNP534 1 89950 0.529960764231041 536 | SNP535 1 89996 0.439046245795093 537 | SNP536 1 90026 0.385159740782132 538 | SNP537 1 90190 0.570363888195373 539 | SNP538 1 90270 0.42241746965031 540 | SNP539 1 90284 0.469303724161777 541 | SNP540 1 90297 0.400671589184102 542 | SNP541 1 90384 0.433737456633406 543 | SNP542 1 90458 0.552161222251096 544 | SNP543 1 90642 0.465421411396964 545 | SNP544 1 90996 1 546 | SNP545 1 91050 1 547 | SNP546 1 91335 0.501050448420027 548 | SNP547 1 91346 0.418604835299651 549 | SNP548 1 91405 0.627244637470184 550 | SNP549 1 91762 1 551 | SNP550 1 91890 1 552 | SNP551 1 91941 0.342531931326372 553 | SNP552 1 92111 0.476729978838419 554 | SNP553 1 92381 0.65207823489843 555 | SNP554 1 92599 0.575117172879322 556 | SNP555 1 92887 0.57028347256525 557 | SNP556 1 92995 0.59556248063598 558 | SNP557 1 93025 1 559 | SNP558 1 93157 1 560 | SNP559 1 93334 1 561 | SNP560 1 93454 0.458015844509149 562 | SNP561 1 93656 0.512764539143431 563 | SNP562 1 93866 0.551354672496895 564 | SNP563 1 94269 1 565 | SNP564 1 94397 1 566 | SNP565 1 94573 0.430951387011062 567 | SNP566 1 94593 0.517082391192684 568 | SNP567 1 94763 0.499327048714675 569 | SNP568 1 94820 1 570 | SNP569 1 95049 1 571 | SNP570 1 95056 1 572 | SNP571 1 95376 0.513047446769555 573 | SNP572 1 95406 0.520579632896936 574 | SNP573 1 95422 0.575783590256305 575 | SNP574 1 95867 0.434591184707888 576 | SNP575 1 95960 0.488542913369679 577 | SNP576 1 96203 0.571462040059478 578 | SNP577 1 96605 1 579 | SNP578 1 96747 1 580 | SNP579 1 96774 0.426823358612638 581 | SNP580 1 96977 1 582 | SNP581 1 97272 1 583 | SNP582 1 97290 0.451252891047884 584 | SNP583 1 97558 0.472361034363606 585 | SNP584 1 97566 1 586 | SNP585 1 97600 1 587 | SNP586 1 97733 0.656318956050736 588 | SNP587 1 97734 1 589 | SNP588 1 97742 1 590 | SNP589 1 98080 0.462810682771668 591 | SNP590 1 98400 0.526935183831071 592 | SNP591 1 98785 0.557834434050462 593 | SNP592 1 99074 0.450439319803156 594 | SNP593 1 99255 0.456089407473211 595 | SNP594 1 99327 0.226400456431675 596 | SNP595 1 99332 1 597 | SNP596 1 99860 1 598 | SNP597 1 99863 0.394871663867972 599 | SNP598 1 99900 0.412948766983323 600 | SNP599 1 99931 0.427235931646497 601 | SNP600 1 99950 0.514074506913817 602 | -------------------------------------------------------------------------------- /ASCAT/inst/extdata/tumour.BAF.txt: -------------------------------------------------------------------------------- 1 | Chr Position S1 S2 2 | SNP1 1 30 0.51596 0.99262 3 | SNP2 1 177 0.67903 0.00255 4 | SNP3 1 890 1 1 5 | SNP4 1 1029 0 0 6 | SNP5 1 1087 1 1 7 | SNP6 1 1119 0.45572 0.04925 8 | SNP7 1 1141 0.52377 0.98148 9 | SNP8 1 1297 0.69231 0.02298 10 | SNP9 1 1755 0.40003 0.08823 11 | SNP10 1 1833 0.68724 0.927 12 | SNP11 1 1970 0.49928 0.77696 13 | SNP12 1 2070 0.5134 0.02202 14 | SNP13 1 2810 0.50441 0.0898 15 | SNP14 1 2848 0.42119 0.03174 16 | SNP15 1 2975 0 0 17 | SNP16 1 3214 0 0 18 | SNP17 1 3610 1 1 19 | SNP18 1 3815 1 1 20 | SNP19 1 3817 0 0 21 | SNP20 1 3932 0.51189 0.00956 22 | SNP21 1 3940 0 0 23 | SNP22 1 3981 0 0 24 | SNP23 1 4199 0.47753 0.15906 25 | SNP24 1 4281 0.46471 0.96789 26 | SNP25 1 4290 0.53945 0.05886 27 | SNP26 1 4526 0.42898 0.07553 28 | SNP27 1 4821 0.52529 0.90267 29 | SNP28 1 4901 0.58072 0.0562 30 | SNP29 1 4936 0 0 31 | SNP30 1 5067 0 0 32 | SNP31 1 5168 0.53023 0.0597 33 | SNP32 1 5229 0.48641 0.02192 34 | SNP33 1 5280 1 1 35 | SNP34 1 5396 1 1 36 | SNP35 1 5582 0.63986 0.98171 37 | SNP36 1 5600 0.57392 0.23607 38 | SNP37 1 5953 0.49038 0.94028 39 | SNP38 1 6062 0.51078 0.05727 40 | SNP39 1 6185 0.44831 0.9732 41 | SNP40 1 6345 0.36239 0.02363 42 | SNP41 1 6567 0.66731 0.04198 43 | SNP42 1 6662 0.53145 0.94717 44 | SNP43 1 6720 0.37802 0.93633 45 | SNP44 1 6821 0.51229 0.02902 46 | SNP45 1 6827 0.41785 0.11887 47 | SNP46 1 7260 0.4732 0.13356 48 | SNP47 1 7765 0.29402 0.95203 49 | SNP48 1 7812 0.48028 0.10972 50 | SNP49 1 7867 0.52969 0.99996 51 | SNP50 1 8538 0.47033 0.05436 52 | SNP51 1 8779 0.5444 0.85493 53 | SNP52 1 9109 0.71494 0.13871 54 | SNP53 1 9116 0.51363 0.22126 55 | SNP54 1 9187 0.41896 0.94376 56 | SNP55 1 9307 0.3293 0.92363 57 | SNP56 1 9332 0.49307 0.90999 58 | SNP57 1 9368 0.39891 0.88763 59 | SNP58 1 9380 0.48552 0.98295 60 | SNP59 1 10198 0.43967 0.16722 61 | SNP60 1 10303 0.2966 0.7697 62 | SNP61 1 10720 0.48058 0.94164 63 | SNP62 1 11061 0.57564 0.9934 64 | SNP63 1 11114 0.41439 0.92559 65 | SNP64 1 11458 0.43743 0.90239 66 | SNP65 1 11877 0.65776 0.02559 67 | SNP66 1 11931 0.41417 0.87764 68 | SNP67 1 11988 0.40155 0.86273 69 | SNP68 1 12001 0.49297 0.91291 70 | SNP69 1 12053 0.49222 0.12902 71 | SNP70 1 12143 0.34744 0.89075 72 | SNP71 1 12159 0.43605 0.93073 73 | SNP72 1 12486 0 0 74 | SNP73 1 12709 1 1 75 | SNP74 1 12851 0.40312 0.8743 76 | SNP75 1 13281 0.65735 0.01908 77 | SNP76 1 13362 0.64592 0.06926 78 | SNP77 1 13700 0.62675 0.8823 79 | SNP78 1 13905 0.53385 0.10158 80 | SNP79 1 14187 0 0 81 | SNP80 1 14202 1 1 82 | SNP81 1 14396 0.44475 0.03131 83 | SNP82 1 14589 0.58381 0.85201 84 | SNP83 1 14798 0.34786 0.01956 85 | SNP84 1 14828 0.44197 0.08587 86 | SNP85 1 14910 0.58684 0.00527 87 | SNP86 1 14914 0.43589 0.92068 88 | SNP87 1 15019 0 0 89 | SNP88 1 15037 0 0 90 | SNP89 1 15142 0.51895 0.04614 91 | SNP90 1 15465 0.49912 0.26529 92 | SNP91 1 15718 0.57846 0.00544 93 | SNP92 1 15952 0.53768 0.93021 94 | SNP93 1 16072 0.42828 0.8958 95 | SNP94 1 16180 0.46463 0.98785 96 | SNP95 1 16353 0.3712 0.97486 97 | SNP96 1 16427 0.48392 0.0796 98 | SNP97 1 16429 0.40305 0.98152 99 | SNP98 1 16580 0 0 100 | SNP99 1 16761 0 0 101 | SNP100 1 17056 0.35611 0.1473 102 | SNP101 1 17134 0.40989 0.01869 103 | SNP102 1 17175 0.47322 0.93428 104 | SNP103 1 17284 0.49698 0.01143 105 | SNP104 1 17396 0.63001 0.91688 106 | SNP105 1 17944 0.45196 0.94757 107 | SNP106 1 17968 0.48875 0.98892 108 | SNP107 1 18665 0.50478 0.86565 109 | SNP108 1 18802 0.39521 0.01764 110 | SNP109 1 18898 0.45802 0.85474 111 | SNP110 1 19081 1 1 112 | SNP111 1 19171 1 1 113 | SNP112 1 19190 0.4298 0.95191 114 | SNP113 1 19515 0.4142 0.93333 115 | SNP114 1 19925 0.52932 0.91777 116 | SNP115 1 20079 0.52642 0.99597 117 | SNP116 1 20388 0.62276 0.89136 118 | SNP117 1 20732 0.3197 0.96115 119 | SNP118 1 20976 0.39705 0.85668 120 | SNP119 1 21373 0.29621 0.90743 121 | SNP120 1 21609 0.45131 0.9828 122 | SNP121 1 21699 0.49067 0.17083 123 | SNP122 1 21941 0.35461 0.87921 124 | SNP123 1 22069 0.36866 0.87233 125 | SNP124 1 22105 0.43464 0.12846 126 | SNP125 1 22184 0.43715 0.07419 127 | SNP126 1 22510 0.51271 0.22173 128 | SNP127 1 22906 0 0 129 | SNP128 1 23096 0 0 130 | SNP129 1 23256 0.6393 0.1 131 | SNP130 1 23656 0.38907 0.86516 132 | SNP131 1 23793 0.61269 0.14087 133 | SNP132 1 24314 0.54401 0.9125 134 | SNP133 1 24528 0.46999 0.06594 135 | SNP134 1 24835 0.54347 0.12406 136 | SNP135 1 24856 0.57313 0.10741 137 | SNP136 1 24965 0.40247 0.08425 138 | SNP137 1 25334 0.58472 0.04799 139 | SNP138 1 25469 0.51329 0.15062 140 | SNP139 1 25591 0.67238 0.93416 141 | SNP140 1 25863 0.45372 0.01801 142 | SNP141 1 25874 0.5728 0.99188 143 | SNP142 1 26009 0.55697 0.19406 144 | SNP143 1 26148 0.53393 0.9135 145 | SNP144 1 26165 0.46256 0.01091 146 | SNP145 1 26181 0.35229 0.88346 147 | SNP146 1 26219 0.51868 0.839 148 | SNP147 1 26560 0.65804 0.94351 149 | SNP148 1 26653 0.32406 0.9158 150 | SNP149 1 26656 0.46083 0.06671 151 | SNP150 1 26822 1 1 152 | SNP151 1 26886 1 1 153 | SNP152 1 27002 0.54094 0.90519 154 | SNP153 1 27458 0.63805 0.02321 155 | SNP154 1 27576 0.6083 0.84943 156 | SNP155 1 27607 0.30174 0.10829 157 | SNP156 1 27934 0.35089 0.06719 158 | SNP157 1 28641 0.41847 0.08521 159 | SNP158 1 28867 0 0 160 | SNP159 1 28877 0 0 161 | SNP160 1 28997 0.45985 0.17114 162 | SNP161 1 29151 0.62516 0.09483 163 | SNP162 1 29358 0.57639 0.03536 164 | SNP163 1 30009 0.52708 0.04137 165 | SNP164 1 30011 0.51413 0.08084 166 | SNP165 1 30149 0.46066 0.18252 167 | SNP166 1 30151 0.52152 0.99907 168 | SNP167 1 30193 0.69749 0.06907 169 | SNP168 1 30205 0.45735 0.88045 170 | SNP169 1 30289 0.42974 0.80643 171 | SNP170 1 30329 0.67104 0.11994 172 | SNP171 1 30650 0.55101 0.88635 173 | SNP172 1 31403 0.38958 0.04726 174 | SNP173 1 31735 0.42973 0.17242 175 | SNP174 1 32094 0.47616 0.89569 176 | SNP175 1 32123 0.43602 0.97047 177 | SNP176 1 32136 0.19192 0.07925 178 | SNP177 1 32248 0.50976 0.86032 179 | SNP178 1 32886 0.43023 0.05714 180 | SNP179 1 33425 0.67403 0.10562 181 | SNP180 1 33496 0.46629 0.00443 182 | SNP181 1 33587 0.47218 0.9217 183 | SNP182 1 33786 0.57192 0.85357 184 | SNP183 1 33922 0.36104 0.99778 185 | SNP184 1 33968 0.54191 0.00864 186 | SNP185 1 34240 0.43166 0.2605 187 | SNP186 1 34725 0.41382 0.02641 188 | SNP187 1 34728 0.47787 0.03956 189 | SNP188 1 34791 0.52172 0.06176 190 | SNP189 1 34832 0.56848 0.80475 191 | SNP190 1 34929 0.3634 0.88576 192 | SNP191 1 34991 0.46557 0.03929 193 | SNP192 1 35045 0.38998 0.02935 194 | SNP193 1 35402 0.68484 0.1959 195 | SNP194 1 35465 1 1 196 | SNP195 1 35471 1 1 197 | SNP196 1 35581 0.47272 0.78566 198 | SNP197 1 35753 0.68885 0.08397 199 | SNP198 1 35906 0.45471 0.90283 200 | SNP199 1 35944 0.3315 0.13237 201 | SNP200 1 35961 0.37747 0.08997 202 | SNP201 1 36101 0 0 203 | SNP202 1 36113 1 1 204 | SNP203 1 36642 0.53081 0.61168 205 | SNP204 1 37082 0.48325 0.44759 206 | SNP205 1 37173 0.61492 0.52799 207 | SNP206 1 37186 0.50854 0.51084 208 | SNP207 1 37326 0.36141 0.48205 209 | SNP208 1 37405 0.46583 0.51339 210 | SNP209 1 37459 0.47245 0.57142 211 | SNP210 1 37578 0 0 212 | SNP211 1 37997 1 1 213 | SNP212 1 38019 0.50125 0.4381 214 | SNP213 1 38298 0.43305 0.49128 215 | SNP214 1 38426 0.58892 0.53616 216 | SNP215 1 38460 1 1 217 | SNP216 1 38490 1 1 218 | SNP217 1 38579 0.5825 0.65683 219 | SNP218 1 39487 0.45775 0.42121 220 | SNP219 1 39637 0.51434 0.47755 221 | SNP220 1 39809 1 1 222 | SNP221 1 39834 0 0 223 | SNP222 1 40092 0.59481 0.4334 224 | SNP223 1 40532 0.53797 0.57074 225 | SNP224 1 40780 0.37943 0.69529 226 | SNP225 1 40928 0.47265 0.54895 227 | SNP226 1 40948 1 1 228 | SNP227 1 41201 1 1 229 | SNP228 1 41616 0 0 230 | SNP229 1 41854 1 1 231 | SNP230 1 42112 0 0 232 | SNP231 1 42283 0.39232 0.46365 233 | SNP232 1 42322 0.4419 0.68291 234 | SNP233 1 42592 0.34331 0.56325 235 | SNP234 1 42676 0.5389 0.24924 236 | SNP235 1 42782 0 0 237 | SNP236 1 42823 1 1 238 | SNP237 1 42901 1 1 239 | SNP238 1 43486 0.49534 0.51695 240 | SNP239 1 43672 0.53544 0.45932 241 | SNP240 1 44040 0.3876 0.63184 242 | SNP241 1 44233 0.40525 0.62113 243 | SNP242 1 44283 0.37526 0.44967 244 | SNP243 1 44393 0.69947 0.55666 245 | SNP244 1 44494 0.43871 0.56915 246 | SNP245 1 44681 0.49382 0.64308 247 | SNP246 1 44750 0.43856 0.53667 248 | SNP247 1 44842 0.5097 0.74309 249 | SNP248 1 45133 0.21494 0.56424 250 | SNP249 1 45185 0.64763 0.4534 251 | SNP250 1 45195 0.66516 0.40342 252 | SNP251 1 45259 0.45994 0.5674 253 | SNP252 1 45581 0.64801 0.66241 254 | SNP253 1 45702 0.5726 0.46507 255 | SNP254 1 45813 0.40611 0.64918 256 | SNP255 1 45872 0.40163 0.54476 257 | SNP256 1 45987 0.58552 0.33814 258 | SNP257 1 46233 0.53399 0.51565 259 | SNP258 1 46240 0.45561 0.52419 260 | SNP259 1 46316 0.38673 0.56265 261 | SNP260 1 46357 0.58087 0.28344 262 | SNP261 1 47229 0.50193 0.73365 263 | SNP262 1 47398 0.55629 0.58179 264 | SNP263 1 47544 0.28806 0.55966 265 | SNP264 1 47646 0.37445 0.46031 266 | SNP265 1 47675 0.46498 0.47594 267 | SNP266 1 47831 0.60473 0.45204 268 | SNP267 1 48054 0.53073 0.51188 269 | SNP268 1 48120 0.67064 0.38977 270 | SNP269 1 48161 0.3766 0.50854 271 | SNP270 1 48217 0.35777 0.53502 272 | SNP271 1 48266 0.44273 0.56524 273 | SNP272 1 48428 0.27054 0.51066 274 | SNP273 1 48540 0.64114 0.60422 275 | SNP274 1 48549 0.32786 0.4877 276 | SNP275 1 48749 0.56806 0.65768 277 | SNP276 1 49241 1 1 278 | SNP277 1 49259 0 0 279 | SNP278 1 49368 0.51295 0.59422 280 | SNP279 1 49385 0.47014 0.59697 281 | SNP280 1 49445 0.48822 0.52878 282 | SNP281 1 49684 0.45556 0.57711 283 | SNP282 1 49830 0.59871 0.46174 284 | SNP283 1 49854 0.52285 0.49922 285 | SNP284 1 49975 0.53557 0.46312 286 | SNP285 1 49981 0.51567 0.46153 287 | SNP286 1 50034 0.30037 0.41093 288 | SNP287 1 50382 0.42689 0.39541 289 | SNP288 1 50529 0.60429 0.43012 290 | SNP289 1 50628 0.53245 0.60862 291 | SNP290 1 50633 1 1 292 | SNP291 1 50886 1 1 293 | SNP292 1 51104 0.4886 0.3243 294 | SNP293 1 51122 0.50839 0.53988 295 | SNP294 1 51124 0.41121 0.33429 296 | SNP295 1 51201 0.50573 0.60269 297 | SNP296 1 51347 0.58742 0.44693 298 | SNP297 1 51519 0.39944 0.47117 299 | SNP298 1 51589 0.42594 0.47983 300 | SNP299 1 51611 0.66984 0.69052 301 | SNP300 1 51771 0.4519 0.67135 302 | SNP301 1 51778 0.75284 0.46061 303 | SNP302 1 52481 0.40178 0.48918 304 | SNP303 1 52522 0.63148 0.6941 305 | SNP304 1 52606 0.4651 0.18462 306 | SNP305 1 52647 0.48863 0.40987 307 | SNP306 1 52742 0.35556 0.4918 308 | SNP307 1 52784 0.61811 0.25915 309 | SNP308 1 53176 0.73044 0.48244 310 | SNP309 1 53855 0.46495 0.44778 311 | SNP310 1 54066 0 0 312 | SNP311 1 54334 0 0 313 | SNP312 1 54423 0.49709 0.54936 314 | SNP313 1 54567 0.41934 0.47567 315 | SNP314 1 54639 0 0 316 | SNP315 1 55029 1 1 317 | SNP316 1 55387 0.4803 0.34352 318 | SNP317 1 55762 0.48406 0.5319 319 | SNP318 1 56087 0.6004 0.66487 320 | SNP319 1 56134 0.27759 0.28224 321 | SNP320 1 56223 0.36669 0.23016 322 | SNP321 1 56295 0 0 323 | SNP322 1 56311 1 1 324 | SNP323 1 56519 0.19353 0.39449 325 | SNP324 1 56773 0.69225 0.52682 326 | SNP325 1 56847 1 1 327 | SNP326 1 56923 0 0 328 | SNP327 1 57280 0.62253 0.54006 329 | SNP328 1 57472 0.61691 0.41251 330 | SNP329 1 57480 0.40165 0.51573 331 | SNP330 1 57500 0.57924 0.47763 332 | SNP331 1 58465 0.67817 0.65014 333 | SNP332 1 58552 0.36408 0.5615 334 | SNP333 1 58667 0.17773 0.44274 335 | SNP334 1 58716 0.51987 0.40944 336 | SNP335 1 58756 0.63942 0.69184 337 | SNP336 1 59106 0.57472 0.44444 338 | SNP337 1 59259 0.69386 0.71891 339 | SNP338 1 59347 0.71157 0.41404 340 | SNP339 1 59365 0.29784 0.5104 341 | SNP340 1 59637 0.4139 0.51557 342 | SNP341 1 59672 0.54344 0.68001 343 | SNP342 1 59891 0.49285 0.3542 344 | SNP343 1 59970 0 0 345 | SNP344 1 60273 0 0 346 | SNP345 1 60465 0.44389 0.42305 347 | SNP346 1 60763 0.47566 0.50298 348 | SNP347 1 60967 0.49061 0.34813 349 | SNP348 1 61208 0.71144 0.40966 350 | SNP349 1 61519 0.49614 0.43197 351 | SNP350 1 61660 0.55471 0.55661 352 | SNP351 1 61751 0.56141 0.46222 353 | SNP352 1 62226 0.61302 0.48252 354 | SNP353 1 62551 0.4875 0.39171 355 | SNP354 1 63132 0.49443 0.56005 356 | SNP355 1 63362 0.27328 0.38006 357 | SNP356 1 63414 0.77929 0.73449 358 | SNP357 1 63475 0.45562 0.49605 359 | SNP358 1 63863 0.51717 0.44922 360 | SNP359 1 63932 0.66057 0.68492 361 | SNP360 1 64061 0.30407 0.36299 362 | SNP361 1 64228 0.44492 0.27397 363 | SNP362 1 64308 0.66071 0.64118 364 | SNP363 1 64499 0.67707 0.57473 365 | SNP364 1 64856 0.44922 0.44907 366 | SNP365 1 64900 0.53001 0.63687 367 | SNP366 1 64905 0.59258 0.70509 368 | SNP367 1 65231 1 1 369 | SNP368 1 65313 0 0 370 | SNP369 1 65541 0.52976 0.35256 371 | SNP370 1 65830 0.47717 0.626 372 | SNP371 1 65912 0.34495 0.51513 373 | SNP372 1 66252 0.69307 0.61109 374 | SNP373 1 66444 0.33083 0.65738 375 | SNP374 1 66476 0.42438 0.48982 376 | SNP375 1 66478 0.68799 0.45899 377 | SNP376 1 66524 0.48021 0.44498 378 | SNP377 1 66529 0.46162 0.39604 379 | SNP378 1 66566 0.39697 0.50217 380 | SNP379 1 66997 0.47357 0.47914 381 | SNP380 1 67193 0.44211 0.45588 382 | SNP381 1 67286 0.2296 0.16284 383 | SNP382 1 67306 0.4207 0.4248 384 | SNP383 1 67381 0.62361 0.45918 385 | SNP384 1 67427 0.24277 0.18663 386 | SNP385 1 67679 0.52053 0.44905 387 | SNP386 1 67890 0.5004 0.30224 388 | SNP387 1 67919 0.3925 0.51645 389 | SNP388 1 68158 0.53013 0.56462 390 | SNP389 1 68174 0.64657 0.61513 391 | SNP390 1 68228 0.39205 0.47806 392 | SNP391 1 68235 0.44 0.3498 393 | SNP392 1 68318 0.23378 0.4224 394 | SNP393 1 68399 0.50681 0.19037 395 | SNP394 1 68705 0.46424 0.48568 396 | SNP395 1 69120 0.57167 0.52047 397 | SNP396 1 69169 0.67578 0.71036 398 | SNP397 1 69451 0.34582 0.49835 399 | SNP398 1 69549 0.41665 0.48105 400 | SNP399 1 69979 0.30545 0.48437 401 | SNP400 1 70151 0.51429 0.46443 402 | SNP401 1 70499 0.33359 0.45445 403 | SNP402 1 70678 0.50053 0.44553 404 | SNP403 1 70801 0.53744 0.59373 405 | SNP404 1 70891 0.61862 0.4675 406 | SNP405 1 71405 0.36751 0.52968 407 | SNP406 1 71457 0.57338 0.54836 408 | SNP407 1 71740 0.38001 0.58842 409 | SNP408 1 71780 0.52442 0.55467 410 | SNP409 1 71818 0.33378 0.61008 411 | SNP410 1 71880 0.36143 0.398 412 | SNP411 1 71990 0.3848 0.63948 413 | SNP412 1 72181 0.48724 0.65954 414 | SNP413 1 72269 0.64085 0.49761 415 | SNP414 1 72358 0.4262 0.46637 416 | SNP415 1 72635 0.50372 0.62495 417 | SNP416 1 73324 0.45352 0.41236 418 | SNP417 1 73348 0.60343 0.55223 419 | SNP418 1 73431 0.38631 0.38203 420 | SNP419 1 73449 0.53501 0.60054 421 | SNP420 1 73571 0.39174 0.55151 422 | SNP421 1 73585 0.51431 0.46211 423 | SNP422 1 73678 0.60385 0.56503 424 | SNP423 1 73872 0.39382 0.378 425 | SNP424 1 74515 0.4933 0.6178 426 | SNP425 1 74574 0.34187 0.40419 427 | SNP426 1 74583 0.39621 0.49291 428 | SNP427 1 74655 0.58718 0.63725 429 | SNP428 1 74744 0.39486 0.54183 430 | SNP429 1 74748 0.58867 0.57024 431 | SNP430 1 74910 0.49953 0.49987 432 | SNP431 1 75056 0.63135 0.75508 433 | SNP432 1 75061 0.78981 0.64798 434 | SNP433 1 75067 0.73868 0.71353 435 | SNP434 1 75133 0.48043 0.10159 436 | SNP435 1 75147 0.61673 0.62163 437 | SNP436 1 75325 0.37897 0.31044 438 | SNP437 1 75538 0.64749 0.57907 439 | SNP438 1 75554 0.24494 0.38742 440 | SNP439 1 75849 0.68128 0.66215 441 | SNP440 1 76268 0 0 442 | SNP441 1 76330 1 1 443 | SNP442 1 76469 0.68079 0.47956 444 | SNP443 1 76607 0.34287 0.34036 445 | SNP444 1 76684 0 0 446 | SNP445 1 76763 0 0 447 | SNP446 1 76992 0.4499 0.24767 448 | SNP447 1 77009 0.72832 0.84746 449 | SNP448 1 77063 0.69469 0.78299 450 | SNP449 1 77298 0.70113 0.83712 451 | SNP450 1 77319 0.83415 0.85763 452 | SNP451 1 77333 0.74432 0.5667 453 | SNP452 1 77343 0.38232 0.42695 454 | SNP453 1 77485 0.51693 0.3018 455 | SNP454 1 77751 0.34536 0.22998 456 | SNP455 1 77800 0 0 457 | SNP456 1 77918 0 0 458 | SNP457 1 78112 0.39353 0.50803 459 | SNP458 1 78147 0.36472 0.3601 460 | SNP459 1 78203 0.39326 0.35683 461 | SNP460 1 78251 0.73139 0.73704 462 | SNP461 1 78332 1 1 463 | SNP462 1 78458 0 0 464 | SNP463 1 78495 0.79288 0.7173 465 | SNP464 1 78510 0.83158 0.62632 466 | SNP465 1 78578 0.34726 0.26139 467 | SNP466 1 78858 0.81738 0.48258 468 | SNP467 1 78898 0.38207 0.28484 469 | SNP468 1 78902 0.26344 0.48785 470 | SNP469 1 78943 0.3297 0.22437 471 | SNP470 1 79486 0.4593 0.34297 472 | SNP471 1 79518 0 0 473 | SNP472 1 79600 1 1 474 | SNP473 1 79601 1 1 475 | SNP474 1 79841 1 1 476 | SNP475 1 80045 0.36683 0.31264 477 | SNP476 1 80133 0.6909 0.64945 478 | SNP477 1 80519 0.49101 0.27078 479 | SNP478 1 80557 0.3293 0.28228 480 | SNP479 1 80688 0.30569 0.29681 481 | SNP480 1 80950 0.32487 0.51998 482 | SNP481 1 81206 0.55486 0.48833 483 | SNP482 1 81228 0.49562 0.71281 484 | SNP483 1 81273 0.46741 0.59123 485 | SNP484 1 81388 0.57682 0.48484 486 | SNP485 1 81734 0.32077 0.62534 487 | SNP486 1 81791 0.33467 0.60596 488 | SNP487 1 82794 0.48262 0.53209 489 | SNP488 1 82855 1 1 490 | SNP489 1 83090 0 0 491 | SNP490 1 83179 0.54223 0.5158 492 | SNP491 1 83344 0.40408 0.46912 493 | SNP492 1 83379 0.4205 0.28937 494 | SNP493 1 83396 0.683 0.41512 495 | SNP494 1 83565 0.4141 0.41874 496 | SNP495 1 83607 0.64979 0.61376 497 | SNP496 1 84086 0.35115 0.41817 498 | SNP497 1 84448 0.64037 0.48837 499 | SNP498 1 84595 0.62874 0.45317 500 | SNP499 1 84643 0.5659 0.62699 501 | SNP500 1 84796 0.42607 0.4554 502 | SNP501 1 84898 1 1 503 | SNP502 1 84948 1 1 504 | SNP503 1 85315 1 1 505 | SNP504 1 85363 0.48118 0.50626 506 | SNP505 1 85603 0.45413 0.5136 507 | SNP506 1 85630 1 1 508 | SNP507 1 85753 1 1 509 | SNP508 1 85939 1 1 510 | SNP509 1 86224 1 1 511 | SNP510 1 86623 0 0 512 | SNP511 1 86754 0.58201 0.2569 513 | SNP512 1 86925 0.46118 0.44644 514 | SNP513 1 86979 1 1 515 | SNP514 1 87072 0 0 516 | SNP515 1 87103 0.51929 0.57232 517 | SNP516 1 87446 0.38273 0.68604 518 | SNP517 1 87468 0.51387 0.47958 519 | SNP518 1 87520 0.59607 0.5226 520 | SNP519 1 87631 0.60579 0.52763 521 | SNP520 1 87874 1 1 522 | SNP521 1 87876 0 0 523 | SNP522 1 87945 0.55353 0.57725 524 | SNP523 1 88023 0.5679 0.6514 525 | SNP524 1 88172 0.51557 0.49116 526 | SNP525 1 88206 0.66846 0.54107 527 | SNP526 1 88300 0.54381 0.59704 528 | SNP527 1 88332 0.57149 0.36324 529 | SNP528 1 88585 0.69128 0.41414 530 | SNP529 1 88714 0.47745 0.59367 531 | SNP530 1 88735 0.46035 0.34977 532 | SNP531 1 89084 0.49062 0.52403 533 | SNP532 1 89263 0.72077 0.61353 534 | SNP533 1 89345 0.43353 0.43395 535 | SNP534 1 89950 0.46066 0.4157 536 | SNP535 1 89996 0.37761 0.71549 537 | SNP536 1 90026 0.56059 0.46429 538 | SNP537 1 90190 0.3185 0.45288 539 | SNP538 1 90270 0.4655 0.4179 540 | SNP539 1 90284 0.42704 0.47 541 | SNP540 1 90297 0.42683 0.43465 542 | SNP541 1 90384 0.61457 0.58678 543 | SNP542 1 90458 0.58981 0.41794 544 | SNP543 1 90642 0.48391 0.44688 545 | SNP544 1 90996 1 1 546 | SNP545 1 91050 1 1 547 | SNP546 1 91335 0.44375 0.78874 548 | SNP547 1 91346 0.59235 0.59333 549 | SNP548 1 91405 0.54413 0.51693 550 | SNP549 1 91762 1 1 551 | SNP550 1 91890 1 1 552 | SNP551 1 91941 0.44564 0.44088 553 | SNP552 1 92111 0.66819 0.25469 554 | SNP553 1 92381 0.49247 0.47057 555 | SNP554 1 92599 0.67337 0.68059 556 | SNP555 1 92887 0.47469 0.24322 557 | SNP556 1 92995 0.54277 0.54366 558 | SNP557 1 93025 0 0 559 | SNP558 1 93157 1 1 560 | SNP559 1 93334 1 1 561 | SNP560 1 93454 0.37769 0.47029 562 | SNP561 1 93656 0.37187 0.41546 563 | SNP562 1 93866 0.37828 0.61321 564 | SNP563 1 94269 1 1 565 | SNP564 1 94397 0 0 566 | SNP565 1 94573 0.60966 0.51176 567 | SNP566 1 94593 0.5524 0.4457 568 | SNP567 1 94763 0.50679 0.51807 569 | SNP568 1 94820 0 0 570 | SNP569 1 95049 1 1 571 | SNP570 1 95056 1 1 572 | SNP571 1 95376 0.65528 0.3331 573 | SNP572 1 95406 0.55613 0.38434 574 | SNP573 1 95422 0.5352 0.36426 575 | SNP574 1 95867 0.50211 0.54515 576 | SNP575 1 95960 0.60238 0.53472 577 | SNP576 1 96203 0.38109 0.62514 578 | SNP577 1 96605 1 1 579 | SNP578 1 96747 0 0 580 | SNP579 1 96774 0.40328 0.61652 581 | SNP580 1 96977 1 1 582 | SNP581 1 97272 1 1 583 | SNP582 1 97290 0.3512 0.53617 584 | SNP583 1 97558 0.35161 0.47737 585 | SNP584 1 97566 1 1 586 | SNP585 1 97600 1 1 587 | SNP586 1 97733 0.5826 0.38436 588 | SNP587 1 97734 1 1 589 | SNP588 1 97742 0 0 590 | SNP589 1 98080 0.51564 0.52449 591 | SNP590 1 98400 0.40349 0.58643 592 | SNP591 1 98785 0.54959 0.64602 593 | SNP592 1 99074 0.65141 0.48057 594 | SNP593 1 99255 0.32134 0.63152 595 | SNP594 1 99327 0.37469 0.40894 596 | SNP595 1 99332 1 1 597 | SNP596 1 99860 1 1 598 | SNP597 1 99863 0.62622 0.37321 599 | SNP598 1 99900 0.40423 0.39485 600 | SNP599 1 99931 0.44888 0.58758 601 | SNP600 1 99950 0.67575 0.35255 602 | -------------------------------------------------------------------------------- /ASCAT/inst/extdata/tumour.logR.txt: -------------------------------------------------------------------------------- 1 | Chr Position S1 S2 2 | SNP1 1 30 0.03615 -1.0395 3 | SNP2 1 177 0.14998 -0.79433 4 | SNP3 1 890 -0.00891 -0.76137 5 | SNP4 1 1029 0.40188 -0.67521 6 | SNP5 1 1087 0.14902 -0.7298 7 | SNP6 1 1119 0.24118 -1.11302 8 | SNP7 1 1141 -0.01159 -1.23452 9 | SNP8 1 1297 -0.049 -1.2192 10 | SNP9 1 1755 0.1804 -0.93238 11 | SNP10 1 1833 0.06788 -1.1573 12 | SNP11 1 1970 -0.53398 -0.7949 13 | SNP12 1 2070 -0.47161 -0.51406 14 | SNP13 1 2810 -0.10735 -0.64844 15 | SNP14 1 2848 -0.03607 -1.12788 16 | SNP15 1 2975 -0.35617 -0.90718 17 | SNP16 1 3214 -0.03752 -0.56657 18 | SNP17 1 3610 -0.27618 -1.76726 19 | SNP18 1 3815 0.04328 -0.92242 20 | SNP19 1 3817 -0.47675 -0.76401 21 | SNP20 1 3932 0.55869 -0.72004 22 | SNP21 1 3940 -0.06715 -0.6712 23 | SNP22 1 3981 -0.55576 -0.87605 24 | SNP23 1 4199 -0.33014 -0.8814 25 | SNP24 1 4281 0.00917 -0.63413 26 | SNP25 1 4290 -0.48111 -1.43605 27 | SNP26 1 4526 0.20188 -0.7534 28 | SNP27 1 4821 -0.45221 -1.07312 29 | SNP28 1 4901 -0.28781 -0.91101 30 | SNP29 1 4936 -0.45224 -0.94364 31 | SNP30 1 5067 -0.132 -1.23918 32 | SNP31 1 5168 -0.09638 -0.19951 33 | SNP32 1 5229 0.16822 -1.00377 34 | SNP33 1 5280 -0.20171 -0.54645 35 | SNP34 1 5396 0.10228 -0.94606 36 | SNP35 1 5582 0.25983 -1.14934 37 | SNP36 1 5600 0.28177 -0.71123 38 | SNP37 1 5953 0.21102 -1.1195 39 | SNP38 1 6062 -0.46208 -0.74245 40 | SNP39 1 6185 -0.10138 -1.44386 41 | SNP40 1 6345 0.35246 -0.80644 42 | SNP41 1 6567 -0.43877 -0.87518 43 | SNP42 1 6662 -0.36913 -1.42339 44 | SNP43 1 6720 -0.10269 -0.70725 45 | SNP44 1 6821 -0.21336 -1.28872 46 | SNP45 1 6827 -0.17954 -1.29009 47 | SNP46 1 7260 -0.09792 -0.95187 48 | SNP47 1 7765 -0.38315 -1.10085 49 | SNP48 1 7812 -0.05623 -0.70473 50 | SNP49 1 7867 -0.15218 -1.31278 51 | SNP50 1 8538 -0.10519 -1.12465 52 | SNP51 1 8779 -0.16559 -1.22071 53 | SNP52 1 9109 -0.6254 -1.24336 54 | SNP53 1 9116 -0.01857 -0.85784 55 | SNP54 1 9187 -0.76651 -0.68559 56 | SNP55 1 9307 -0.29055 -0.96571 57 | SNP56 1 9332 -0.37383 -1.16611 58 | SNP57 1 9368 -0.3253 -0.6263 59 | SNP58 1 9380 -0.30458 -0.87348 60 | SNP59 1 10198 0.13067 -0.6813 61 | SNP60 1 10303 -0.79577 -0.71963 62 | SNP61 1 10720 -0.00508 -0.66094 63 | SNP62 1 11061 0.03042 -1.29336 64 | SNP63 1 11114 -0.29366 -1.1929 65 | SNP64 1 11458 -0.16753 -0.39598 66 | SNP65 1 11877 -0.21794 -1.19189 67 | SNP66 1 11931 0.02955 -0.95055 68 | SNP67 1 11988 -0.06907 -0.7987 69 | SNP68 1 12001 -0.31171 -0.6883 70 | SNP69 1 12053 -0.11098 -0.71143 71 | SNP70 1 12143 0.06928 -0.98564 72 | SNP71 1 12159 -0.35026 -1.1125 73 | SNP72 1 12486 -0.18127 -1.41498 74 | SNP73 1 12709 -0.21889 -0.88166 75 | SNP74 1 12851 -0.15507 -1.25231 76 | SNP75 1 13281 -0.38241 -0.93741 77 | SNP76 1 13362 0.17608 -0.91834 78 | SNP77 1 13700 0.06999 -0.98281 79 | SNP78 1 13905 -0.18994 -1.12511 80 | SNP79 1 14187 -0.48988 -1.1894 81 | SNP80 1 14202 0.27232 -0.88412 82 | SNP81 1 14396 -0.20925 -0.63403 83 | SNP82 1 14589 -0.09946 -0.85847 84 | SNP83 1 14798 0.38341 -0.99649 85 | SNP84 1 14828 0.55269 -1.13631 86 | SNP85 1 14910 -0.31234 -0.96757 87 | SNP86 1 14914 -0.18712 -0.67923 88 | SNP87 1 15019 -0.05326 -0.73305 89 | SNP88 1 15037 -0.31472 -0.98033 90 | SNP89 1 15142 0.04114 -1.33689 91 | SNP90 1 15465 0.41018 -1.35802 92 | SNP91 1 15718 0.18388 -1.02138 93 | SNP92 1 15952 -0.65442 -1.01208 94 | SNP93 1 16072 -0.15762 -0.7325 95 | SNP94 1 16180 -0.14735 -1.17258 96 | SNP95 1 16353 -0.28024 -1.05441 97 | SNP96 1 16427 -0.33609 -0.71628 98 | SNP97 1 16429 0.01762 -0.95739 99 | SNP98 1 16580 0.23894 -1.24036 100 | SNP99 1 16761 -0.15439 -1.0611 101 | SNP100 1 17056 0.21839 -0.52466 102 | SNP101 1 17134 -0.25708 -0.83087 103 | SNP102 1 17175 0.13047 -0.758 104 | SNP103 1 17284 -0.08819 -0.99826 105 | SNP104 1 17396 -0.68569 -0.61818 106 | SNP105 1 17944 -0.02458 -0.88601 107 | SNP106 1 17968 -0.08388 -0.85976 108 | SNP107 1 18665 -0.13027 -0.82563 109 | SNP108 1 18802 -0.20409 -1.08121 110 | SNP109 1 18898 0.07686 -0.69181 111 | SNP110 1 19081 0.10884 -0.56068 112 | SNP111 1 19171 -0.13709 -1.52078 113 | SNP112 1 19190 -0.29644 -0.81733 114 | SNP113 1 19515 -0.58216 -0.81541 115 | SNP114 1 19925 -0.79453 -0.97202 116 | SNP115 1 20079 -0.45059 -0.52207 117 | SNP116 1 20388 -0.79473 -0.76202 118 | SNP117 1 20732 0.24316 -1.21853 119 | SNP118 1 20976 -0.46804 -0.90171 120 | SNP119 1 21373 0.08625 -0.88506 121 | SNP120 1 21609 0.52773 -0.56486 122 | SNP121 1 21699 0.23436 -0.89806 123 | SNP122 1 21941 -0.49619 -0.58332 124 | SNP123 1 22069 -0.24318 -0.89773 125 | SNP124 1 22105 0.21748 -0.65317 126 | SNP125 1 22184 -0.06369 -1.00666 127 | SNP126 1 22510 -0.24514 -1.09972 128 | SNP127 1 22906 -0.09417 -0.93043 129 | SNP128 1 23096 0.18868 -1.03642 130 | SNP129 1 23256 -0.4028 -0.47656 131 | SNP130 1 23656 -0.04132 -0.863 132 | SNP131 1 23793 0.23964 -0.9238 133 | SNP132 1 24314 0.18783 -0.99757 134 | SNP133 1 24528 -0.29136 -0.8847 135 | SNP134 1 24835 -0.2283 -1.05959 136 | SNP135 1 24856 0.26893 -0.94257 137 | SNP136 1 24965 -0.21154 -1.03461 138 | SNP137 1 25334 -0.3645 -0.93155 139 | SNP138 1 25469 -0.5383 -1.10961 140 | SNP139 1 25591 -0.13749 -1.2826 141 | SNP140 1 25863 -0.64563 -0.99887 142 | SNP141 1 25874 0.20214 -1.14147 143 | SNP142 1 26009 -0.39249 -0.85542 144 | SNP143 1 26148 -0.24699 -1.18126 145 | SNP144 1 26165 -0.27696 -1.02133 146 | SNP145 1 26181 -0.45251 -0.53611 147 | SNP146 1 26219 -0.4621 -1.03971 148 | SNP147 1 26560 0.32322 -0.62001 149 | SNP148 1 26653 0.1411 -1.29943 150 | SNP149 1 26656 -0.46645 -0.58006 151 | SNP150 1 26822 0.17736 -1.09321 152 | SNP151 1 26886 -0.12484 -1.74883 153 | SNP152 1 27002 -0.08745 -0.52523 154 | SNP153 1 27458 -0.4179 -0.68369 155 | SNP154 1 27576 0.08017 -0.91453 156 | SNP155 1 27607 -0.61021 -0.58416 157 | SNP156 1 27934 -0.13689 -1.09594 158 | SNP157 1 28641 -0.13133 -0.56546 159 | SNP158 1 28867 0.34172 -0.61598 160 | SNP159 1 28877 -0.12701 -1.00681 161 | SNP160 1 28997 -0.79735 -1.26147 162 | SNP161 1 29151 0.24847 -0.83865 163 | SNP162 1 29358 -0.19596 -0.64771 164 | SNP163 1 30009 -0.31263 -0.85981 165 | SNP164 1 30011 0.00951 -0.8693 166 | SNP165 1 30149 0.07135 -0.58753 167 | SNP166 1 30151 -0.11711 -0.77623 168 | SNP167 1 30193 0.10474 -0.75167 169 | SNP168 1 30205 0.33634 -1.15503 170 | SNP169 1 30289 -0.34051 -1.2293 171 | SNP170 1 30329 -0.22543 -0.51704 172 | SNP171 1 30650 0.16398 -0.20378 173 | SNP172 1 31403 -0.34188 -1.21058 174 | SNP173 1 31735 0.03571 -0.55981 175 | SNP174 1 32094 0.10981 -0.57829 176 | SNP175 1 32123 -0.30062 -0.82608 177 | SNP176 1 32136 0.00881 -0.82777 178 | SNP177 1 32248 0.06859 -1.56141 179 | SNP178 1 32886 -0.5766 -0.51206 180 | SNP179 1 33425 -0.25032 -1.11813 181 | SNP180 1 33496 -0.05218 -1.16581 182 | SNP181 1 33587 -0.04514 -0.74638 183 | SNP182 1 33786 -0.37894 -0.76951 184 | SNP183 1 33922 -0.16914 -0.81142 185 | SNP184 1 33968 -0.58505 -0.77635 186 | SNP185 1 34240 -0.12792 -0.69102 187 | SNP186 1 34725 0.36094 -0.8456 188 | SNP187 1 34728 -0.69228 -0.82632 189 | SNP188 1 34791 0.6198 -0.57175 190 | SNP189 1 34832 0.34716 -0.83821 191 | SNP190 1 34929 -0.33389 -1.57827 192 | SNP191 1 34991 -0.32474 -0.56833 193 | SNP192 1 35045 -0.12915 -0.9605 194 | SNP193 1 35402 -0.21347 -1.30097 195 | SNP194 1 35465 -0.05811 -1.68642 196 | SNP195 1 35471 0.08687 -0.83846 197 | SNP196 1 35581 0.16044 -0.98241 198 | SNP197 1 35753 0.07196 -0.98959 199 | SNP198 1 35906 -0.381 -1.01462 200 | SNP199 1 35944 -0.19131 -0.82756 201 | SNP200 1 35961 -0.55333 -0.81896 202 | SNP201 1 36101 -0.42275 0.03378 203 | SNP202 1 36113 -0.17084 -0.62954 204 | SNP203 1 36642 0.17287 0.0446 205 | SNP204 1 37082 0.39578 2e-05 206 | SNP205 1 37173 -0.08064 0.09882 207 | SNP206 1 37186 -0.16125 -0.0428 208 | SNP207 1 37326 0.06985 -0.08646 209 | SNP208 1 37405 -0.38765 0.12049 210 | SNP209 1 37459 -0.14716 0.01081 211 | SNP210 1 37578 -0.01006 -0.00925 212 | SNP211 1 37997 -0.22531 0.34419 213 | SNP212 1 38019 -0.00296 0.14307 214 | SNP213 1 38298 -0.06202 0.03352 215 | SNP214 1 38426 -0.25499 0.11427 216 | SNP215 1 38460 -0.71062 -0.16135 217 | SNP216 1 38490 -0.07252 0.10454 218 | SNP217 1 38579 0.04205 -0.51254 219 | SNP218 1 39487 0.36336 0.25562 220 | SNP219 1 39637 -0.2964 0.28669 221 | SNP220 1 39809 -0.13216 0.42317 222 | SNP221 1 39834 0.03117 0.01078 223 | SNP222 1 40092 -0.12817 0.20999 224 | SNP223 1 40532 -0.3202 -0.29335 225 | SNP224 1 40780 -0.15801 -0.03355 226 | SNP225 1 40928 -0.22511 0.1149 227 | SNP226 1 40948 -0.30183 -0.03093 228 | SNP227 1 41201 -0.42829 -0.09537 229 | SNP228 1 41616 -0.12854 -0.23426 230 | SNP229 1 41854 -0.23653 -0.05404 231 | SNP230 1 42112 -0.27513 0.12721 232 | SNP231 1 42283 0.2072 0.10082 233 | SNP232 1 42322 -0.46366 -0.67453 234 | SNP233 1 42592 -0.28874 -0.04156 235 | SNP234 1 42676 0.01698 0.0657 236 | SNP235 1 42782 -0.19993 0.12434 237 | SNP236 1 42823 -0.37213 0.0598 238 | SNP237 1 42901 -0.24353 0.12031 239 | SNP238 1 43486 -0.49545 -0.2883 240 | SNP239 1 43672 0.15612 -0.10731 241 | SNP240 1 44040 -0.57865 0.21289 242 | SNP241 1 44233 -0.33316 0.36796 243 | SNP242 1 44283 0.06142 -0.0813 244 | SNP243 1 44393 -0.17928 0.33138 245 | SNP244 1 44494 -0.25332 -0.09539 246 | SNP245 1 44681 -0.4249 0.03431 247 | SNP246 1 44750 -0.18451 -0.27865 248 | SNP247 1 44842 0.38998 -0.25375 249 | SNP248 1 45133 -0.15694 -0.06252 250 | SNP249 1 45185 0.42205 -0.29785 251 | SNP250 1 45195 0.15208 -0.48957 252 | SNP251 1 45259 -0.24719 0.48717 253 | SNP252 1 45581 -0.2127 0.4432 254 | SNP253 1 45702 -0.71642 0.05312 255 | SNP254 1 45813 -0.6875 0.55318 256 | SNP255 1 45872 -0.50581 0.48758 257 | SNP256 1 45987 -0.19101 -0.16697 258 | SNP257 1 46233 -0.15586 0.10008 259 | SNP258 1 46240 0.0013 0.59816 260 | SNP259 1 46316 -0.33073 -0.14698 261 | SNP260 1 46357 -0.13273 0.45587 262 | SNP261 1 47229 -0.32376 0.2887 263 | SNP262 1 47398 -0.17721 -0.05112 264 | SNP263 1 47544 -0.01585 -0.08361 265 | SNP264 1 47646 0.03989 -0.17967 266 | SNP265 1 47675 -0.47443 0.23746 267 | SNP266 1 47831 0.21447 0.35848 268 | SNP267 1 48054 0.08489 0.04647 269 | SNP268 1 48120 0.32956 0.12343 270 | SNP269 1 48161 -0.36555 -0.20801 271 | SNP270 1 48217 0.45394 0.15411 272 | SNP271 1 48266 -0.25938 0.32857 273 | SNP272 1 48428 -0.46162 0.84507 274 | SNP273 1 48540 0.08986 -0.20288 275 | SNP274 1 48549 0.05518 0.57021 276 | SNP275 1 48749 0.22202 -0.35267 277 | SNP276 1 49241 0.12655 -0.37986 278 | SNP277 1 49259 -0.787 0.26927 279 | SNP278 1 49368 -0.56984 -0.29553 280 | SNP279 1 49385 -0.20547 -0.12391 281 | SNP280 1 49445 -0.31612 -0.15405 282 | SNP281 1 49684 -0.10114 0.06407 283 | SNP282 1 49830 -0.14629 0.10142 284 | SNP283 1 49854 -0.25616 0.2081 285 | SNP284 1 49975 0.02443 0.02167 286 | SNP285 1 49981 0.13163 -0.0857 287 | SNP286 1 50034 0.35218 0.06035 288 | SNP287 1 50382 -0.49569 -0.06073 289 | SNP288 1 50529 -0.46027 0.24468 290 | SNP289 1 50628 -0.10527 -0.19203 291 | SNP290 1 50633 0.06806 0.60715 292 | SNP291 1 50886 -0.14695 0.08384 293 | SNP292 1 51104 -0.29025 0.19288 294 | SNP293 1 51122 -0.17142 0.45343 295 | SNP294 1 51124 -0.55975 -0.20954 296 | SNP295 1 51201 -0.34973 0.15532 297 | SNP296 1 51347 0.31773 -0.37298 298 | SNP297 1 51519 -0.05132 0.37231 299 | SNP298 1 51589 -0.67826 -0.04822 300 | SNP299 1 51611 0.44784 0.00364 301 | SNP300 1 51771 -0.17706 0.40638 302 | SNP301 1 51778 0.15669 0.77881 303 | SNP302 1 52481 0.44792 0.60129 304 | SNP303 1 52522 -0.40368 0.03159 305 | SNP304 1 52606 0.15302 0.5153 306 | SNP305 1 52647 0.08046 0.24546 307 | SNP306 1 52742 1.05984 0.94156 308 | SNP307 1 52784 0.27718 0.30628 309 | SNP308 1 53176 0.23933 0.22417 310 | SNP309 1 53855 0.32808 1.04148 311 | SNP310 1 54066 0.7338 0.6137 312 | SNP311 1 54334 1.26982 0.63618 313 | SNP312 1 54423 0.59015 0.53629 314 | SNP313 1 54567 0.13664 0.73554 315 | SNP314 1 54639 0.51457 0.78974 316 | SNP315 1 55029 0.45087 0.82977 317 | SNP316 1 55387 0.06562 0.79886 318 | SNP317 1 55762 0.42736 0.57171 319 | SNP318 1 56087 0.21435 0.95652 320 | SNP319 1 56134 0.7976 0.77249 321 | SNP320 1 56223 0.51817 0.55653 322 | SNP321 1 56295 0.51708 0.19414 323 | SNP322 1 56311 0.27772 0.66118 324 | SNP323 1 56519 0.04079 0.12541 325 | SNP324 1 56773 0.22649 0.71321 326 | SNP325 1 56847 0.12581 0.36023 327 | SNP326 1 56923 0.36605 0.40039 328 | SNP327 1 57280 0.03666 0.96616 329 | SNP328 1 57472 0.48481 0.93715 330 | SNP329 1 57480 0.24038 1.21001 331 | SNP330 1 57500 0.21835 1.14485 332 | SNP331 1 58465 0.44183 0.91377 333 | SNP332 1 58552 0.45995 0.8735 334 | SNP333 1 58667 0.54416 0.30389 335 | SNP334 1 58716 0.37144 0.3999 336 | SNP335 1 58756 0.70239 1.05151 337 | SNP336 1 59106 0.49727 0.70179 338 | SNP337 1 59259 0.69239 0.78075 339 | SNP338 1 59347 0.51667 0.71661 340 | SNP339 1 59365 0.53263 0.78902 341 | SNP340 1 59637 -0.08882 0.86879 342 | SNP341 1 59672 0.77226 0.5659 343 | SNP342 1 59891 0.63629 0.38373 344 | SNP343 1 59970 0.803 0.82543 345 | SNP344 1 60273 0.65834 0.6203 346 | SNP345 1 60465 -0.28023 1.4352 347 | SNP346 1 60763 0.05866 0.3145 348 | SNP347 1 60967 0.88721 0.81808 349 | SNP348 1 61208 0.6421 0.79318 350 | SNP349 1 61519 0.97768 0.67486 351 | SNP350 1 61660 0.6385 0.33343 352 | SNP351 1 61751 -0.00068 0.74507 353 | SNP352 1 62226 0.31081 0.86128 354 | SNP353 1 62551 0.31477 0.29065 355 | SNP354 1 63132 0.60813 0.52839 356 | SNP355 1 63362 -0.02007 0.61566 357 | SNP356 1 63414 0.82188 0.38476 358 | SNP357 1 63475 0.6293 0.74659 359 | SNP358 1 63863 0.0236 0.4416 360 | SNP359 1 63932 0.06458 0.12195 361 | SNP360 1 64061 0.71763 0.48198 362 | SNP361 1 64228 0.07704 0.34727 363 | SNP362 1 64308 0.89879 0.44559 364 | SNP363 1 64499 -0.08379 0.61855 365 | SNP364 1 64856 0.7668 0.96642 366 | SNP365 1 64900 -0.20822 1.09089 367 | SNP366 1 64905 0.25333 0.39685 368 | SNP367 1 65231 0.42873 0.69588 369 | SNP368 1 65313 0.76207 0.40343 370 | SNP369 1 65541 0.38171 0.97608 371 | SNP370 1 65830 -0.04895 1.06948 372 | SNP371 1 65912 0.8869 0.8123 373 | SNP372 1 66252 0.34548 0.92807 374 | SNP373 1 66444 0.54832 0.44344 375 | SNP374 1 66476 0.20518 0.47095 376 | SNP375 1 66478 0.43302 0.87249 377 | SNP376 1 66524 0.37785 1.00418 378 | SNP377 1 66529 0.84586 0.42902 379 | SNP378 1 66566 0.73901 0.32516 380 | SNP379 1 66997 0.17275 0.81528 381 | SNP380 1 67193 1.06333 0.81989 382 | SNP381 1 67286 0.08847 1.03572 383 | SNP382 1 67306 0.08778 0.46817 384 | SNP383 1 67381 0.32658 0.6088 385 | SNP384 1 67427 -0.03532 0.66051 386 | SNP385 1 67679 0.66081 0.75919 387 | SNP386 1 67890 0.75102 1.17372 388 | SNP387 1 67919 0.03581 0.20011 389 | SNP388 1 68158 0.69404 0.79596 390 | SNP389 1 68174 0.3987 0.62815 391 | SNP390 1 68228 0.64792 0.7959 392 | SNP391 1 68235 0.12718 0.08705 393 | SNP392 1 68318 0.17178 0.66141 394 | SNP393 1 68399 0.41913 0.78079 395 | SNP394 1 68705 0.72155 0.53245 396 | SNP395 1 69120 0.53213 0.05687 397 | SNP396 1 69169 0.29396 0.39446 398 | SNP397 1 69451 0.68603 0.53118 399 | SNP398 1 69549 0.51159 1.03817 400 | SNP399 1 69979 0.55046 0.9604 401 | SNP400 1 70151 0.724 1.06322 402 | SNP401 1 70499 -0.06736 0.49935 403 | SNP402 1 70678 -0.04333 -0.49527 404 | SNP403 1 70801 0.19435 0.23709 405 | SNP404 1 70891 -0.27318 0.57991 406 | SNP405 1 71405 0.03968 -0.08467 407 | SNP406 1 71457 -0.39361 -0.27105 408 | SNP407 1 71740 -0.43274 0.16023 409 | SNP408 1 71780 0.35131 0.40073 410 | SNP409 1 71818 -0.34901 0.17735 411 | SNP410 1 71880 0.35221 0.35389 412 | SNP411 1 71990 0.22431 -0.20299 413 | SNP412 1 72181 -0.63873 0.26977 414 | SNP413 1 72269 -0.18223 -0.41235 415 | SNP414 1 72358 0.02413 0.32762 416 | SNP415 1 72635 -0.55803 0.08508 417 | SNP416 1 73324 -0.85401 0.19528 418 | SNP417 1 73348 -0.32377 -0.48724 419 | SNP418 1 73431 0.0798 0.21773 420 | SNP419 1 73449 0.14273 0.1815 421 | SNP420 1 73571 0.02611 -0.04475 422 | SNP421 1 73585 -0.30596 0.22118 423 | SNP422 1 73678 -0.41173 0.25672 424 | SNP423 1 73872 -0.2405 0.2033 425 | SNP424 1 74515 -0.55633 0.32906 426 | SNP425 1 74574 -0.34086 0.19292 427 | SNP426 1 74583 -0.55898 0.23009 428 | SNP427 1 74655 0.13831 -0.32318 429 | SNP428 1 74744 0.09328 1.01352 430 | SNP429 1 74748 0.01661 0.71041 431 | SNP430 1 74910 0.14238 -0.66888 432 | SNP431 1 75056 -0.08647 0.45844 433 | SNP432 1 75061 0.62754 0.96481 434 | SNP433 1 75067 0.08904 0.1456 435 | SNP434 1 75133 0.85246 1.08358 436 | SNP435 1 75147 0.39625 0.86212 437 | SNP436 1 75325 0.58933 0.55297 438 | SNP437 1 75538 0.79457 1.13782 439 | SNP438 1 75554 0.39329 0.29205 440 | SNP439 1 75849 0.42226 0.59959 441 | SNP440 1 76268 0.34193 1.06189 442 | SNP441 1 76330 0.22829 0.08373 443 | SNP442 1 76469 0.59121 0.94215 444 | SNP443 1 76607 0.79838 0.53084 445 | SNP444 1 76684 0.11377 0.77814 446 | SNP445 1 76763 0.61322 0.3372 447 | SNP446 1 76992 -0.19418 0.64693 448 | SNP447 1 77009 0.1134 0.59821 449 | SNP448 1 77063 0.08336 0.53106 450 | SNP449 1 77298 0.35119 0.83303 451 | SNP450 1 77319 0.66298 0.22621 452 | SNP451 1 77333 0.24707 0.15854 453 | SNP452 1 77343 0.76883 0.595 454 | SNP453 1 77485 0.8564 0.43834 455 | SNP454 1 77751 0.15543 0.70328 456 | SNP455 1 77800 0.5659 0.68173 457 | SNP456 1 77918 0.30797 0.96039 458 | SNP457 1 78112 0.33511 0.66515 459 | SNP458 1 78147 0.66265 0.73026 460 | SNP459 1 78203 0.52654 0.71154 461 | SNP460 1 78251 0.8509 0.52373 462 | SNP461 1 78332 0.63833 0.29595 463 | SNP462 1 78458 0.64559 1.0883 464 | SNP463 1 78495 0.27135 0.74923 465 | SNP464 1 78510 0.57565 0.42783 466 | SNP465 1 78578 0.40153 0.4386 467 | SNP466 1 78858 0.65295 0.78858 468 | SNP467 1 78898 0.40964 0.6956 469 | SNP468 1 78902 -0.02756 1.37906 470 | SNP469 1 78943 0.29179 0.57137 471 | SNP470 1 79486 0.35949 0.50156 472 | SNP471 1 79518 0.57804 0.73935 473 | SNP472 1 79600 0.82065 1.11255 474 | SNP473 1 79601 0.75673 0.28727 475 | SNP474 1 79841 0.4456 1.09888 476 | SNP475 1 80045 0.30205 0.43926 477 | SNP476 1 80133 0.3298 0.936 478 | SNP477 1 80519 0.44603 1.03562 479 | SNP478 1 80557 0.49053 0.50603 480 | SNP479 1 80688 0.2317 0.04724 481 | SNP480 1 80950 0.13073 0.32182 482 | SNP481 1 81206 0.20827 0.34223 483 | SNP482 1 81228 0.23342 0.52765 484 | SNP483 1 81273 0.05362 -0.0112 485 | SNP484 1 81388 -0.13262 0.35535 486 | SNP485 1 81734 -0.01253 -0.30911 487 | SNP486 1 81791 -0.0809 0.071 488 | SNP487 1 82794 -0.23201 -0.07984 489 | SNP488 1 82855 0.06516 0.23802 490 | SNP489 1 83090 -0.44777 0.12204 491 | SNP490 1 83179 0.18438 -0.49001 492 | SNP491 1 83344 0.10432 0.06601 493 | SNP492 1 83379 -0.36575 0.49956 494 | SNP493 1 83396 -0.40943 0.23069 495 | SNP494 1 83565 0.53613 -0.22399 496 | SNP495 1 83607 -0.34407 0.32992 497 | SNP496 1 84086 -0.39768 -0.29983 498 | SNP497 1 84448 -0.28342 0.04655 499 | SNP498 1 84595 -0.06403 0.02707 500 | SNP499 1 84643 -0.03508 0.03952 501 | SNP500 1 84796 -0.00729 -0.14855 502 | SNP501 1 84898 0.1492 0.22048 503 | SNP502 1 84948 0.09354 -0.15592 504 | SNP503 1 85315 -0.34878 -0.32633 505 | SNP504 1 85363 0.19277 0.09262 506 | SNP505 1 85603 -0.44198 0.37638 507 | SNP506 1 85630 -0.2385 -0.1084 508 | SNP507 1 85753 -0.01098 0.00171 509 | SNP508 1 85939 -0.03183 -0.78615 510 | SNP509 1 86224 -0.26678 0.41777 511 | SNP510 1 86623 0.11312 0.06967 512 | SNP511 1 86754 -0.26956 -0.14207 513 | SNP512 1 86925 -0.04884 0.02411 514 | SNP513 1 86979 0.06238 0.05808 515 | SNP514 1 87072 -0.16631 0.1945 516 | SNP515 1 87103 -0.04953 0.48067 517 | SNP516 1 87446 -0.13911 0.04543 518 | SNP517 1 87468 0.14613 -0.10149 519 | SNP518 1 87520 -0.21396 -0.36467 520 | SNP519 1 87631 0.34678 0.29132 521 | SNP520 1 87874 -0.38381 0.21031 522 | SNP521 1 87876 -0.38953 -0.36773 523 | SNP522 1 87945 0.05641 0.2923 524 | SNP523 1 88023 -0.34325 0.23105 525 | SNP524 1 88172 0.39747 -0.16324 526 | SNP525 1 88206 0.02609 0.49803 527 | SNP526 1 88300 -0.37072 -0.04558 528 | SNP527 1 88332 0.00213 0.87438 529 | SNP528 1 88585 0.30134 -0.43121 530 | SNP529 1 88714 0.24685 0.09628 531 | SNP530 1 88735 -0.06394 0.43013 532 | SNP531 1 89084 0.3719 0.5932 533 | SNP532 1 89263 0.18499 0.22806 534 | SNP533 1 89345 0.2814 -0.29181 535 | SNP534 1 89950 -0.2036 0.26582 536 | SNP535 1 89996 -0.00911 -0.68631 537 | SNP536 1 90026 -0.16376 0.25296 538 | SNP537 1 90190 -0.18635 -0.01847 539 | SNP538 1 90270 -0.05257 -0.21158 540 | SNP539 1 90284 -0.11153 0.2168 541 | SNP540 1 90297 -0.02746 0.03512 542 | SNP541 1 90384 -0.19574 0.11353 543 | SNP542 1 90458 -0.18094 0.04324 544 | SNP543 1 90642 -0.17808 -0.12341 545 | SNP544 1 90996 -0.20564 0.43219 546 | SNP545 1 91050 -0.01777 -0.05774 547 | SNP546 1 91335 0.10088 -0.00165 548 | SNP547 1 91346 0.07576 0.19082 549 | SNP548 1 91405 0.22872 -0.30545 550 | SNP549 1 91762 0.19258 0.3173 551 | SNP550 1 91890 -0.11727 -0.5164 552 | SNP551 1 91941 -0.41608 -0.3298 553 | SNP552 1 92111 0.36025 0.07884 554 | SNP553 1 92381 -0.63048 -0.04412 555 | SNP554 1 92599 -0.44255 0.02827 556 | SNP555 1 92887 -0.4195 -0.2098 557 | SNP556 1 92995 -0.75465 0.11236 558 | SNP557 1 93025 -0.37405 -0.06412 559 | SNP558 1 93157 0.45562 0.24222 560 | SNP559 1 93334 0.09363 0.23404 561 | SNP560 1 93454 -0.2444 -0.51451 562 | SNP561 1 93656 0.05284 -0.47204 563 | SNP562 1 93866 0.40132 -0.3749 564 | SNP563 1 94269 -0.06784 -0.1084 565 | SNP564 1 94397 -0.00855 0.34672 566 | SNP565 1 94573 0.35784 0.25724 567 | SNP566 1 94593 0.15422 -0.11566 568 | SNP567 1 94763 -0.34426 -0.21592 569 | SNP568 1 94820 -0.40949 -0.02582 570 | SNP569 1 95049 -0.12646 -0.12506 571 | SNP570 1 95056 0.07707 0.16694 572 | SNP571 1 95376 -0.46331 0.1877 573 | SNP572 1 95406 -0.26753 -0.02683 574 | SNP573 1 95422 -0.33349 0.11952 575 | SNP574 1 95867 -0.81719 -0.49644 576 | SNP575 1 95960 -0.2214 0.15875 577 | SNP576 1 96203 -0.40144 0.26301 578 | SNP577 1 96605 -0.35866 0.3565 579 | SNP578 1 96747 -0.21121 0.16034 580 | SNP579 1 96774 -0.19513 -0.61502 581 | SNP580 1 96977 -0.18675 -0.15614 582 | SNP581 1 97272 0.01137 -0.27555 583 | SNP582 1 97290 -0.67875 0.073 584 | SNP583 1 97558 0.17173 0.01253 585 | SNP584 1 97566 -0.13175 -0.02502 586 | SNP585 1 97600 -0.55892 0.3113 587 | SNP586 1 97733 0.10956 0.28358 588 | SNP587 1 97734 -0.79112 -0.57565 589 | SNP588 1 97742 -0.75984 0.10908 590 | SNP589 1 98080 -0.18499 -0.32303 591 | SNP590 1 98400 0.08145 0.17188 592 | SNP591 1 98785 0.36858 -0.2432 593 | SNP592 1 99074 -0.42091 0.04168 594 | SNP593 1 99255 -0.3015 0.37863 595 | SNP594 1 99327 -0.48377 0.15279 596 | SNP595 1 99332 -0.07629 0.48137 597 | SNP596 1 99860 -0.2769 0.00997 598 | SNP597 1 99863 -0.39718 0.03016 599 | SNP598 1 99900 -0.17084 0.05793 600 | SNP599 1 99931 -0.09903 0.02657 601 | SNP600 1 99950 -0.43807 0.38128 602 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.GCcorrect.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.correctLogR.R 3 | \name{ascat.GCcorrect} 4 | \alias{ascat.GCcorrect} 5 | \title{ascat.GCcorrect} 6 | \usage{ 7 | ascat.GCcorrect(ASCATobj, GCcontentfile = NULL) 8 | } 9 | \arguments{ 10 | \item{ASCATobj}{an ASCAT object} 11 | 12 | \item{GCcontentfile}{File containing the GC content around every SNP for increasing window sizes} 13 | } 14 | \description{ 15 | Function kept for backward compatibility, please use ascat.correctLogR instead 16 | } 17 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.asmultipcf.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.asmultipcf.R 3 | \name{ascat.asmultipcf} 4 | \alias{ascat.asmultipcf} 5 | \title{Allele-specific segmentation of multiple samples} 6 | \usage{ 7 | ascat.asmultipcf( 8 | ASCATobj, 9 | ascat.gg = NULL, 10 | penalty = 70, 11 | out.dir = ".", 12 | wsample = NULL, 13 | selectAlg = "exact", 14 | refine = TRUE, 15 | seed = as.integer(Sys.time()) 16 | ) 17 | } 18 | \arguments{ 19 | \item{ASCATobj}{an ASCAT object} 20 | 21 | \item{ascat.gg}{germline genotypes (NULL if germline data is available)} 22 | 23 | \item{penalty}{penalty of introducing an additional ASPCF breakpoint (expert parameter, don't adapt unless you know what you are doing)} 24 | 25 | \item{out.dir}{directory in which output files will be written. Can be set to NA to not write PCFed files.} 26 | 27 | \item{wsample}{Vector of length length(ASCATobj$samples). Can be used to assign different weights to samples, for example to account for differences in sequencing quality. (Default = NULL)} 28 | 29 | \item{selectAlg}{Set to "exact" to run the exact algorithm, or "fast" to run the heuristic algorithm. (Default = "exact")} 30 | 31 | \item{refine}{Logical. Should breakpoints be refined on a per sample base? Otherwise each breakpoint is assumed to be present in each sample. (Default = TRUE)} 32 | 33 | \item{seed}{A seed to be set when subsampling SNPs for X in males (optional, default=as.integer(Sys.time())).} 34 | } 35 | \value{ 36 | output: ascat data structure containing:\cr 37 | 1. Tumor_LogR data matrix\cr 38 | 2. Tumor_BAF data matrix\cr 39 | 3. Tumor_LogR_segmented: matrix of LogR segmented values\cr 40 | 4. Tumor_BAF_segmented: list of BAF segmented values; each element in the list is a matrix containing the segmented values for one sample (only for probes that are germline homozygous)\cr 41 | 5. Germline_LogR data matrix\cr 42 | 6. Germline_BAF data matrix\cr 43 | 7. SNPpos: position of all SNPs\cr 44 | 8. ch: a list containing vectors with the indices for each chromosome (e.g. Tumor_LogR[ch[[13]], ] will output the Tumor_LogR data of chromosome 13\cr 45 | 9. chr: a list containing vectors with the indices for each distinct part that can be segmented separately (e.g. chromosome arm, stretch of DNA between gaps in the array design)\cr 46 | } 47 | \description{ 48 | This segmentation function should only be used if part of the breakpoints are expected to be shared 49 | between samples, e.g. due to a common ancestry. 50 | } 51 | \details{ 52 | This function saves the results in in [sample].LogR.PCFed.txt and [sample].BAF.PCFed.txt 53 | } 54 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.aspcf.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.aspcf.R 3 | \name{ascat.aspcf} 4 | \alias{ascat.aspcf} 5 | \title{ascat.aspcf} 6 | \usage{ 7 | ascat.aspcf( 8 | ASCATobj, 9 | selectsamples = 1:length(ASCATobj$samples), 10 | ascat.gg = NULL, 11 | penalty = 70, 12 | out.dir = ".", 13 | out.prefix = "", 14 | seed = as.integer(Sys.time()) 15 | ) 16 | } 17 | \arguments{ 18 | \item{ASCATobj}{an ASCAT object} 19 | 20 | \item{selectsamples}{a vector containing the sample number(s) to PCF. Default = all} 21 | 22 | \item{ascat.gg}{germline genotypes (NULL if germline data is available)} 23 | 24 | \item{penalty}{penalty of introducing an additional ASPCF breakpoint (expert parameter, don't adapt unless you know what you're doing)} 25 | 26 | \item{out.dir}{directory in which output files will be written. Can be set to NA to not write PCFed files.} 27 | 28 | \item{out.prefix}{prefix for output file names} 29 | 30 | \item{seed}{A seed to be set when subsampling SNPs for X in males (optional, default=as.integer(Sys.time())).} 31 | } 32 | \value{ 33 | output: ascat data structure containing:\cr 34 | 1. Tumor_LogR data matrix\cr 35 | 2. Tumor_BAF data matrix\cr 36 | 3. Tumor_LogR_segmented: matrix of LogR segmented values\cr 37 | 4. Tumor_BAF_segmented: list of BAF segmented values; each element in the list is a matrix containing the segmented values for one sample (only for probes that are not germline homozygous)\cr 38 | 5. Germline_LogR data matrix\cr 39 | 6. Germline_BAF data matrix\cr 40 | 7. SNPpos: position of all SNPs\cr 41 | 8. ch: a list containing vectors with the indices for each chromosome (e.g. Tumor_LogR[ch[[13]], ] will output the Tumor_LogR data of chromosome 13\cr 42 | 9. chr: a list containing vectors with the indices for each distinct part that can be segmented separately (e.g. chromosome arm, stretch of DNA between gaps in the array design)\cr 43 | } 44 | \description{ 45 | run ASPCF segmentation 46 | } 47 | \details{ 48 | This function can be easily parallelised by controlling the selectsamples parameter\cr 49 | it saves the results in LogR_PCFed[sample]_[segment].txt and BAF_PCFed[sample]_[segment].txt 50 | } 51 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.correctLogR.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.correctLogR.R 3 | \name{ascat.correctLogR} 4 | \alias{ascat.correctLogR} 5 | \title{ascat.correctLogR} 6 | \usage{ 7 | ascat.correctLogR(ASCATobj, GCcontentfile = NULL, replictimingfile = NULL) 8 | } 9 | \arguments{ 10 | \item{ASCATobj}{an ASCAT object} 11 | 12 | \item{GCcontentfile}{File containing the GC content around every SNP for increasing window sizes} 13 | 14 | \item{replictimingfile}{File containing replication timing at every SNP for various cell lines (optional)} 15 | } 16 | \value{ 17 | ASCAT object with corrected tumour logR 18 | } 19 | \description{ 20 | Corrects logR of the tumour sample(s) with genomic GC content (replication timing is optional) 21 | } 22 | \details{ 23 | Note that probes not present in the GC content file will be lost from the results 24 | } 25 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.getAlleleCounts.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.prepareHTS.R 3 | \name{ascat.getAlleleCounts} 4 | \alias{ascat.getAlleleCounts} 5 | \title{Obtain allele counts for a given set of loci through external program alleleCounter.} 6 | \usage{ 7 | ascat.getAlleleCounts( 8 | seq.file, 9 | output.file, 10 | loci.file, 11 | min.base.qual = 20, 12 | min.map.qual = 35, 13 | allelecounter.exe = "alleleCounter", 14 | additional_allelecounter_flags = NA 15 | ) 16 | } 17 | \arguments{ 18 | \item{seq.file}{A BAM/CRAM alignment file on which the counter should be run.} 19 | 20 | \item{output.file}{The file where output should go.} 21 | 22 | \item{loci.file}{A file with SNP loci.} 23 | 24 | \item{min.base.qual}{The minimum base quality required for it to be counted (optional, default=20).} 25 | 26 | \item{min.map.qual}{The minimum mapping quality required for it to be counted (optional, default=35).} 27 | 28 | \item{allelecounter.exe}{A pointer to where the alleleCounter executable can be found (optional, default points to $PATH).} 29 | 30 | \item{additional_allelecounter_flags}{Additional flags passed on to alleleCounter, e.g., -r for parsing CRAMs (optional, default=NA).} 31 | } 32 | \description{ 33 | Obtain allele counts for a given set of loci through external program alleleCounter. 34 | } 35 | \author{ 36 | sd11, tl, jd 37 | } 38 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.getBAFsAndLogRs.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.prepareHTS.R 3 | \name{ascat.getBAFsAndLogRs} 4 | \alias{ascat.getBAFsAndLogRs} 5 | \title{Obtain BAF and LogR from the allele counts.} 6 | \usage{ 7 | ascat.getBAFsAndLogRs( 8 | samplename, 9 | tumourAlleleCountsFile.prefix, 10 | normalAlleleCountsFile.prefix, 11 | tumourLogR_file, 12 | tumourBAF_file, 13 | normalLogR_file, 14 | normalBAF_file, 15 | alleles.prefix, 16 | gender, 17 | genomeVersion, 18 | chrom_names = c(1:22, "X"), 19 | minCounts = 20, 20 | BED_file = NA, 21 | probloci_file = NA, 22 | tumour_only_mode = FALSE, 23 | loci_binsize = 1, 24 | seed = as.integer(Sys.time()) 25 | ) 26 | } 27 | \arguments{ 28 | \item{samplename}{String, name of the sample.} 29 | 30 | \item{tumourAlleleCountsFile.prefix}{Prefix of the allele counts files for the tumour (e.g. "Tumour_alleleFrequencies_chr").} 31 | 32 | \item{normalAlleleCountsFile.prefix}{Prefix of the allele counts files for the normal (e.g. "Normal_alleleFrequencies_chr").} 33 | 34 | \item{tumourLogR_file}{File where LogR from the tumour will be written.} 35 | 36 | \item{tumourBAF_file}{File where BAF from the tumour will be written.} 37 | 38 | \item{normalLogR_file}{File where LogR from the normal will be written.} 39 | 40 | \item{normalBAF_file}{File where BAF from the normal will be written.} 41 | 42 | \item{alleles.prefix}{Prefix path to the allele data (e.g. "G1000_alleles_chr")} 43 | 44 | \item{gender}{Gender information, either "XX" (=female) or "XY" (=male).} 45 | 46 | \item{genomeVersion}{Genome version, available options are "hg19", "hg38" or "CHM13".} 47 | 48 | \item{chrom_names}{A vector with allowed chromosome names (optional, default=c(1:22, "X")). Do not set it to paste0("chr", c(1:22, "X")) if data is "chr"-based.} 49 | 50 | \item{minCounts}{Minimum depth, in normal samples, required for a SNP to be considered (optional, default=20).} 51 | 52 | \item{BED_file}{A BED file for only looking at SNPs within specific intervals (optional, default=NA).} 53 | 54 | \item{probloci_file}{A file (chromosome position; no header) containing specific loci to ignore (optional, default=NA).} 55 | 56 | \item{tumour_only_mode}{Should the BAF and LogR be computed from tumour-only (optional, default = FALSE)} 57 | 58 | \item{loci_binsize}{Size of the bins for long-read sequencing data (optional, default = 1)} 59 | 60 | \item{seed}{A seed to be set when randomising the alleles (optional, default=as.integer(Sys.time())).} 61 | } 62 | \description{ 63 | Obtain BAF and LogR from the allele counts. 64 | } 65 | \author{ 66 | dw9, sd11, tl, jd, rc 67 | } 68 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.loadData.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.loadData.R 3 | \name{ascat.loadData} 4 | \alias{ascat.loadData} 5 | \title{ascat.loadData} 6 | \usage{ 7 | ascat.loadData( 8 | Tumor_LogR_file, 9 | Tumor_BAF_file, 10 | Germline_LogR_file = NULL, 11 | Germline_BAF_file = NULL, 12 | chrs = c(1:22, "X", "Y"), 13 | gender = NULL, 14 | sexchromosomes = c("X", "Y"), 15 | genomeVersion = NULL, 16 | isTargetedSeq = FALSE 17 | ) 18 | } 19 | \arguments{ 20 | \item{Tumor_LogR_file}{file containing logR of tumour sample(s)} 21 | 22 | \item{Tumor_BAF_file}{file containing BAF of tumour sample(s)} 23 | 24 | \item{Germline_LogR_file}{file containing logR of germline sample(s), NULL} 25 | 26 | \item{Germline_BAF_file}{file containing BAF of germline sample(s), NULL} 27 | 28 | \item{chrs}{a vector containing the names for the chromosomes (e.g. c(1:22, "X"))} 29 | 30 | \item{gender}{a vector of gender for each cases ("XX" or "XY"). Default = all female ("XX")} 31 | 32 | \item{sexchromosomes}{a vector containing the names for the sex chromosomes. Default = c("X", "Y")} 33 | 34 | \item{genomeVersion}{a string ('hg19', 'hg38' or 'CHM13') so nonPAR coordinates on X can be stored, NULL} 35 | 36 | \item{isTargetedSeq}{a boolean indicating whether data come from a targeted sequencing experiment. Default = F} 37 | } 38 | \value{ 39 | ascat data structure containing:\cr 40 | 1. Tumor_LogR data matrix\cr 41 | 2. Tumor_BAF data matrix\cr 42 | 3. Tumor_LogR_segmented: placeholder, NULL\cr 43 | 4. Tumor_BAF_segmented: placeholder, NULL\cr 44 | 5. Germline_LogR data matrix\cr 45 | 6. Germline_BAF data matrix\cr 46 | 7. SNPpos: position of all SNPs\cr 47 | 8. ch: a list containing vectors with the indices for each chromosome (e.g. Tumor_LogR[ch[[13]], ] will output the Tumor_LogR data of chromosome 13\cr 48 | 9. chr: a list containing vectors with the indices for each distinct part that can be segmented separately (e.g. chromosome arm, stretch of DNA between gaps in the array design)\cr 49 | 10. chrs: a vector containing chromosome names\cr 50 | 11. samples: a vector containing sample name(s)\cr 51 | 12. gender: a vector of gender for each cases ("XX" or "XY"). Default = NULL: all female ("XX")\cr 52 | 13. sexchromosomes: a vector containingg names of sex chromosomes\cr 53 | 14. X_nonPAR: a vector of two values (start and stop) to define where the nonPAR region is on X\cr 54 | 15. isTargetedSeq: boolean indicating whether data come from a targeted sequencing experiment\cr 55 | 16. failedarrays: placeholder, NULL\cr 56 | } 57 | \description{ 58 | Function to read in SNP array data 59 | } 60 | \details{ 61 | germline data files can be NULL - in that case these are not read in 62 | } 63 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.metrics.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.metrics.R 3 | \name{ascat.metrics} 4 | \alias{ascat.metrics} 5 | \title{Function to extract different metrics from ASCAT profiles.} 6 | \usage{ 7 | ascat.metrics(ASCAT_input_object, ASCAT_output_object) 8 | } 9 | \arguments{ 10 | \item{ASCAT_input_object}{R object generated by the ascat.aspcf function and given to the ascat.runAscat function.} 11 | 12 | \item{ASCAT_output_object}{R object generated by the ascat.runAscat function.} 13 | } 14 | \value{ 15 | A dataframe (one sample per line) with the following metrics (as columns):\cr 16 | sex - Sex information as provided.\cr 17 | tumour_mapd - Median Absolute Pairwise Difference (MAPD) in tumour logR track.\cr 18 | normal_mapd - Median Absolute Pairwise Difference (MAPD) in normal logR track (should be NA without matched normals and 0 for sequencing data).\cr 19 | GC_correction_before - logR/GC correlation before correction.\cr 20 | GC_correction_after - logR/GC correlation after correction.\cr 21 | RT_correction_before - logR/RT correlation before correction.\cr 22 | RT_correction_after - logR/RT correlation after correction.\cr 23 | n_het_SNP - Number of heterozygous SNPs.\cr 24 | n_segs_logR - Number of segments in the logR track.\cr 25 | n_segs_BAF - Number of segments in the BAF track.\cr 26 | n_segs_logRBAF_diff - Difference between number of segments in the logR versus BAF track.\cr 27 | frac_homo - Fraction of homozygous (<0.1 | >0.9) probes in tumour.\cr 28 | purity - Purity estimate.\cr 29 | ploidy - Ploidy estimate.\cr 30 | goodness_of_fit - Goodness of fit.\cr 31 | size_intermediate_segments - Total size of (unrounded) segments in the X.45-X.55 range.\cr 32 | size_odd_segments - Total size of segments with an odd (1/3/5/+) CN (either nMajor or nMinor).\cr 33 | n_segs - Number of copy-number segments.\cr 34 | segs_size - Total size of all segments.\cr 35 | n_segs_1kSNP - Number of segments per 1k heterozygous SNPs.\cr 36 | homdel_segs - Number of segments with homozygous deletion.\cr 37 | homdel_largest - largest segment with homozygous deletion.\cr 38 | homdel_size - Total size of segments with homozygous deletion.\cr 39 | homdel_fraction - Fraction of the genome with homozygous deletion.\cr 40 | LOH - Fraction of the genome with LOH (ignoring sex chromosomes).\cr 41 | mode_minA - Mode of the minor allele (ignoring sex chromosomes).\cr 42 | mode_majA - Mode of the major allele (ignoring sex chromosomes).\cr 43 | WGD - Whole genome doubling event (ignoring sex chromosomes).\cr 44 | GI - Genomic instability score (ignoring sex chromosomes).\cr 45 | } 46 | \description{ 47 | Function to extract different metrics from ASCAT profiles. 48 | } 49 | \author{ 50 | tl 51 | } 52 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.plotAdjustedAscatProfile.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{ascat.plotAdjustedAscatProfile} 4 | \alias{ascat.plotAdjustedAscatProfile} 5 | \title{ascat.plotAdjustedAscatProfile} 6 | \usage{ 7 | ascat.plotAdjustedAscatProfile( 8 | ASCAT_output_object, 9 | REF, 10 | y_limit = 5, 11 | plot_unrounded = FALSE, 12 | png_prefix = "" 13 | ) 14 | } 15 | \arguments{ 16 | \item{ASCAT_output_object}{R object generated by the ascat.runAscat function.} 17 | 18 | \item{REF}{Can be "hg19", "hg38" or "CHM13" for standard human genome or a data.frame with three columns: chrom, start and end.} 19 | 20 | \item{y_limit}{Optional parameter determining the size of the y axis in the profile (default=5).} 21 | 22 | \item{plot_unrounded}{Optional parameter to define whether rounded (default) or unrounded profile (set to TRUE) should be plotted.} 23 | 24 | \item{png_prefix}{Optional parameter to add a prefix to png name (can be also used to set a path).} 25 | } 26 | \value{ 27 | Plot showing the adjusted (rounded/unrounded) ASCAT profile of the sample 28 | } 29 | \description{ 30 | Function plotting the "adjusted" (with realistic chromosome sizes) rounded/unrounded ASCAT profiles over all chromosomes. 31 | } 32 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.plotAscatProfile.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{ascat.plotAscatProfile} 4 | \alias{ascat.plotAscatProfile} 5 | \title{ascat.plotAscatProfile} 6 | \usage{ 7 | ascat.plotAscatProfile( 8 | n1all, 9 | n2all, 10 | heteroprobes, 11 | ploidy, 12 | rho, 13 | goodnessOfFit, 14 | nonaberrant, 15 | y_limit = 5, 16 | ch, 17 | lrr, 18 | bafsegmented, 19 | chrs 20 | ) 21 | } 22 | \arguments{ 23 | \item{n1all}{copy number major allele} 24 | 25 | \item{n2all}{copy number minor allele} 26 | 27 | \item{heteroprobes}{probes with heterozygous germline} 28 | 29 | \item{ploidy}{ploidy of the sample} 30 | 31 | \item{rho}{purity of the sample} 32 | 33 | \item{goodnessOfFit}{estimated goodness of fit} 34 | 35 | \item{nonaberrant}{boolean flag denoting non-aberrated samples} 36 | 37 | \item{y_limit}{Optional parameter determining the size of the y axis in the nonrounded plot and ASCAT profile. Default=5} 38 | 39 | \item{ch}{a list containing c vectors, where c is the number of chromosomes and every vector contains all probe numbers per chromosome} 40 | 41 | \item{lrr}{(unsegmented) log R, in genomic sequence (all probes), with probe IDs} 42 | 43 | \item{bafsegmented}{B Allele Frequency, segmented, in genomic sequence (only probes heterozygous in germline), with probe IDs} 44 | 45 | \item{chrs}{a vector containing the names for the chromosomes (e.g. c(1:22, "X"))} 46 | } 47 | \value{ 48 | plot showing the ASCAT profile of the sample 49 | } 50 | \description{ 51 | Function plotting the rounded ASCAT profiles over all chromosomes 52 | } 53 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.plotGenotypes.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{ascat.plotGenotypes} 4 | \alias{ascat.plotGenotypes} 5 | \title{ascat.plotGenotypes} 6 | \usage{ 7 | ascat.plotGenotypes(ASCATobj, title, Tumor_BAF_noNA, Hom, ch_noNA) 8 | } 9 | \arguments{ 10 | \item{ASCATobj}{an ASCAT object} 11 | 12 | \item{title}{main title of the plot} 13 | 14 | \item{Tumor_BAF_noNA}{B-allele frequencies of the tumour sample with removed NA values} 15 | 16 | \item{Hom}{Boolean vector denoting homozygous SNPs} 17 | 18 | \item{ch_noNA}{vector of probes per chromosome (NA values excluded)} 19 | } 20 | \value{ 21 | plot showing classified BAF per sample, with unused SNPs in green, germline homozygous SNPs in blue and all others in red 22 | } 23 | \description{ 24 | ascat.plotGenotypes 25 | } 26 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.plotNonRounded.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{ascat.plotNonRounded} 4 | \alias{ascat.plotNonRounded} 5 | \title{ascat.plotNonRounded} 6 | \usage{ 7 | ascat.plotNonRounded( 8 | ploidy, 9 | rho, 10 | goodnessOfFit, 11 | nonaberrant, 12 | nAfull, 13 | nBfull, 14 | y_limit = 5, 15 | bafsegmented, 16 | ch, 17 | lrr, 18 | chrs 19 | ) 20 | } 21 | \arguments{ 22 | \item{ploidy}{ploidy of the sample} 23 | 24 | \item{rho}{purity of the sample} 25 | 26 | \item{goodnessOfFit}{estimated goodness of fit} 27 | 28 | \item{nonaberrant}{boolean flag denoting non-aberrated samples} 29 | 30 | \item{nAfull}{copy number major allele} 31 | 32 | \item{nBfull}{copy number minor allele} 33 | 34 | \item{y_limit}{Optional parameter determining the size of the y axis in the nonrounded plot and ASCAT profile. Default=5} 35 | 36 | \item{bafsegmented}{B Allele Frequency, segmented, in genomic sequence (only probes heterozygous in germline), with probe IDs} 37 | 38 | \item{ch}{a list containing c vectors, where c is the number of chromosomes and every vector contains all probe numbers per chromosome} 39 | 40 | \item{lrr}{(unsegmented) log R, in genomic sequence (all probes), with probe IDs} 41 | 42 | \item{chrs}{a vector containing the names for the chromosomes (e.g. c(1:22, "X"))} 43 | } 44 | \value{ 45 | plot showing the nonrounded copy number profile, using base plotting function 46 | } 47 | \description{ 48 | Function plotting the unrounded ASCAT copy number over all chromosomes 49 | } 50 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.plotRawData.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{ascat.plotRawData} 4 | \alias{ascat.plotRawData} 5 | \title{ascat.plotRawData} 6 | \usage{ 7 | ascat.plotRawData( 8 | ASCATobj, 9 | img.dir = ".", 10 | img.prefix = "", 11 | logr.y_values = c(-2, 2) 12 | ) 13 | } 14 | \arguments{ 15 | \item{ASCATobj}{an ASCAT object (e.g. data structure from ascat.loadData)} 16 | 17 | \item{img.dir}{directory in which figures will be written} 18 | 19 | \item{img.prefix}{prefix for figure names} 20 | 21 | \item{logr.y_values}{define Y min and max values for logR track (optional; default: c(-2, 2))} 22 | } 23 | \value{ 24 | Produces png files showing the logR and BAF values for tumour and germline samples 25 | } 26 | \description{ 27 | Plots SNP array data 28 | } 29 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.plotSegmentedData.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{ascat.plotSegmentedData} 4 | \alias{ascat.plotSegmentedData} 5 | \title{ascat.plotSegmentedData} 6 | \usage{ 7 | ascat.plotSegmentedData( 8 | ASCATobj, 9 | img.dir = ".", 10 | img.prefix = "", 11 | logr.y_values = c(-2, 2) 12 | ) 13 | } 14 | \arguments{ 15 | \item{ASCATobj}{an ASCAT object (e.g. from ascat.aspcf)} 16 | 17 | \item{img.dir}{directory in which figures will be written} 18 | 19 | \item{img.prefix}{prefix for figure names} 20 | 21 | \item{logr.y_values}{define Y min and max values for logR track (optional; default: c(-2, 2))} 22 | } 23 | \value{ 24 | png files showing raw and segmented tumour logR and BAF 25 | } 26 | \description{ 27 | plots the SNP array data before and after segmentation 28 | } 29 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.plotSunrise.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{ascat.plotSunrise} 4 | \alias{ascat.plotSunrise} 5 | \title{ascat.plotSunrise} 6 | \usage{ 7 | ascat.plotSunrise(d, psi_opt1, rho_opt1, minim = TRUE) 8 | } 9 | \arguments{ 10 | \item{d}{distance matrix for a range of ploidy and tumour percentage values} 11 | 12 | \item{psi_opt1}{optimal ploidy} 13 | 14 | \item{rho_opt1}{optimal purity} 15 | 16 | \item{minim}{when set to true, optimal regions in the sunrise plot are depicted in blue; if set to false, colours are inverted and red corresponds to optimal values (default: TRUE)} 17 | } 18 | \value{ 19 | plot visualising range of ploidy and tumour percentage values 20 | } 21 | \description{ 22 | ascat.plotSunrise 23 | } 24 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.predictGermlineGenotypes.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.predictGermlineGenotypes.R 3 | \name{ascat.predictGermlineGenotypes} 4 | \alias{ascat.predictGermlineGenotypes} 5 | \title{ascat.predictGermlineGenotypes} 6 | \usage{ 7 | ascat.predictGermlineGenotypes( 8 | ASCATobj, 9 | platform = "AffySNP6", 10 | img.dir = ".", 11 | img.prefix = "" 12 | ) 13 | } 14 | \arguments{ 15 | \item{ASCATobj}{an ASCAT object} 16 | 17 | \item{platform}{used array platform} 18 | 19 | \item{img.dir}{directory in which figures will be written} 20 | 21 | \item{img.prefix}{prefix for figure names} 22 | } 23 | \value{ 24 | predicted germline genotypes 25 | } 26 | \description{ 27 | predicts the germline genotypes of samples for which no matched germline sample 28 | is available 29 | } 30 | \details{ 31 | Currently possible values for platform:\cr 32 | AffySNP6 (default)\cr 33 | Custom10k\cr 34 | IlluminaASA\cr 35 | IlluminaGSAv3\cr 36 | Illumina109k\cr 37 | IlluminaCytoSNP\cr 38 | IlluminaCytoSNP850k\cr 39 | Illumina610k\cr 40 | Illumina660k\cr 41 | Illumina700k\cr 42 | Illumina1M\cr 43 | Illumina2.5M\cr 44 | IlluminaOmni5\cr 45 | IlluminaGDACyto-8\cr 46 | Affy10k\cr 47 | Affy100k\cr 48 | Affy250k_sty\cr 49 | Affy250k_nsp\cr 50 | AffyOncoScan\cr 51 | AffyCytoScanHD\cr 52 | HumanCNV370quad\cr 53 | HumanCore12\cr 54 | HumanCoreExome24\cr 55 | HumanOmniExpress12\cr 56 | IlluminaOmniExpressExome\cr 57 | WGS_hg38_50X\cr 58 | } 59 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.prepareHTS.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.prepareHTS.R 3 | \name{ascat.prepareHTS} 4 | \alias{ascat.prepareHTS} 5 | \title{Extract both logR and BAF values from sequencing data} 6 | \usage{ 7 | ascat.prepareHTS( 8 | tumourseqfile, 9 | normalseqfile = NA, 10 | tumourname, 11 | normalname = NA, 12 | allelecounter_exe, 13 | alleles.prefix, 14 | loci.prefix, 15 | gender, 16 | genomeVersion, 17 | nthreads = 1, 18 | tumourLogR_file = NA, 19 | tumourBAF_file = NA, 20 | normalLogR_file = NA, 21 | normalBAF_file = NA, 22 | minCounts = 10, 23 | BED_file = NA, 24 | probloci_file = NA, 25 | chrom_names = c(1:22, "X"), 26 | min_base_qual = 20, 27 | min_map_qual = 35, 28 | additional_allelecounter_flags = NA, 29 | skip_allele_counting_tumour = FALSE, 30 | skip_allele_counting_normal = FALSE, 31 | loci_binsize = 1, 32 | seed = as.integer(Sys.time()) 33 | ) 34 | } 35 | \arguments{ 36 | \item{tumourseqfile}{Full path to the tumour BAM/CRAM file.} 37 | 38 | \item{normalseqfile}{Full path to the normal BAM/CRAM file.} 39 | 40 | \item{tumourname}{Identifier to be used for tumour output files.} 41 | 42 | \item{normalname}{Identifier to be used for normal output files.} 43 | 44 | \item{allelecounter_exe}{Path to the allele counter executable.} 45 | 46 | \item{alleles.prefix}{Prefix path to the allele data (e.g. "G1000_alleles_chr").} 47 | 48 | \item{loci.prefix}{Prefix path to the loci data (e.g. "G1000_loci_chr").} 49 | 50 | \item{gender}{Gender information, either "XX" (=female) or "XY" (=male).} 51 | 52 | \item{genomeVersion}{Genome version, available options are "hg19", "hg38" or "CHM13".} 53 | 54 | \item{nthreads}{The number of parallel processes for getting allele counts (optional, default=1).} 55 | 56 | \item{tumourLogR_file}{Path to the tumour logR output (optional, paste0(tumourname, "_tumourLogR.txt")).} 57 | 58 | \item{tumourBAF_file}{Path to the tumour BAF output (optional, paste0(tumourname, "_tumourBAF.txt")).} 59 | 60 | \item{normalLogR_file}{Path to the normal logR output (optional, paste0(tumourname, "_normalLogR.txt")).} 61 | 62 | \item{normalBAF_file}{Path to the normal BAF output (optional, paste0(tumourname, "_normalBAF.txt")).} 63 | 64 | \item{minCounts}{Minimum depth required in the normal for a SNP to be considered (optional, default=10).} 65 | 66 | \item{BED_file}{A BED file for only looking at SNPs within specific intervals (optional, default=NA).} 67 | 68 | \item{probloci_file}{A file (chromosome position; no header) containing specific loci to ignore (optional, default=NA).} 69 | 70 | \item{chrom_names}{A vector containing the names of chromosomes to be considered (optional, default=c(1:22, "X")).} 71 | 72 | \item{min_base_qual}{Minimum base quality required for a read to be counted (optional, default=20).} 73 | 74 | \item{min_map_qual}{Minimum mapping quality required for a read to be counted (optional, default=35).} 75 | 76 | \item{additional_allelecounter_flags}{Additional flags passed on to alleleCounter, e.g., -r for parsing CRAMs (optional, default=NA).} 77 | 78 | \item{skip_allele_counting_tumour}{Flag, set to TRUE if tumour allele counting is already complete (files are expected in the working directory on disk; optional, default=FALSE).} 79 | 80 | \item{skip_allele_counting_normal}{Flag, set to TRUE if normal allele counting is already complete (files are expected in the working directory on disk; optional, default=FALSE).} 81 | 82 | \item{loci_binsize}{Size of the bins for long-read sequencing data (optional, default=1).} 83 | 84 | \item{seed}{A seed to be set when randomising the alleles (optional, default=as.integer(Sys.time())).} 85 | } 86 | \description{ 87 | Method derived from the Battenberg package (https://github.com/Wedge-lab/battenberg). 88 | } 89 | \author{ 90 | sd11, tl 91 | } 92 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.prepareTargetedSeq.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.prepareTargetedSeq.R 3 | \name{ascat.prepareTargetedSeq} 4 | \alias{ascat.prepareTargetedSeq} 5 | \title{Method to extract a curated list of SNPs covered by a targeted sequencing experiment.} 6 | \usage{ 7 | ascat.prepareTargetedSeq( 8 | Worksheet, 9 | Workdir, 10 | alleles.prefix, 11 | BED_file, 12 | allelecounter_exe, 13 | genomeVersion, 14 | nthreads = 1, 15 | minCounts = 10, 16 | is_chr_based = FALSE, 17 | chrom_names = c(1:22, "X"), 18 | min_base_qual = 20, 19 | min_map_qual = 35, 20 | additional_allelecounter_flags = NA, 21 | plotQC = TRUE 22 | ) 23 | } 24 | \arguments{ 25 | \item{Worksheet}{A tab-separated file with the following columns: Patient_ID, Normal_ID, Normal_file and Gender (additional columns can be provided but will not be used). Must contain one single normal per patient. Normal_file can either be paths to BAMs/CRAMs or paths to pre-computed (zipped) alleleCounts (e.g. "sample_alleleCounts_chr"). Gender must either be XX (females) or XY (males).} 26 | 27 | \item{Workdir}{The folder where output should go (will be created if it doesn't exist).} 28 | 29 | \item{alleles.prefix}{Prefix path to the allele data (e.g. "G1000_alleles_chr").} 30 | 31 | \item{BED_file}{A BED file for only looking at SNPs within specific intervals. Must fit with the design used for targeted sequencing.} 32 | 33 | \item{allelecounter_exe}{Path to the allele counter executable.} 34 | 35 | \item{genomeVersion}{Genome version, available options are 'hg19', 'hg38' or 'CHM13'.} 36 | 37 | \item{nthreads}{The number of parallel processes to speed up the process (optional, default=1).} 38 | 39 | \item{minCounts}{Minimum depth required in the normal for a SNP to be considered (optional, default=10).} 40 | 41 | \item{is_chr_based}{A boolean indicating whether data is "chr"-based (e.g. 'chr1' instead of '1'; optional, default=FALSE).} 42 | 43 | \item{chrom_names}{A vector containing the names of chromosomes to be considered (optional, default=c(1:22, "X")). Do not set it to paste0("chr", c(1:22, "X")) if data is "chr"-based.} 44 | 45 | \item{min_base_qual}{Minimum base quality required for a read to be counted (optional, default=20).} 46 | 47 | \item{min_map_qual}{Minimum mapping quality required for a read to be counted (optional, default=35).} 48 | 49 | \item{additional_allelecounter_flags}{Additional flags passed on to alleleCounter, e.g., -r for parsing CRAMs (optional, default=NA).} 50 | 51 | \item{plotQC}{A boolean to generate QC reports as PNGs (optional, default=TRUE).} 52 | } 53 | \description{ 54 | From a complete set of loci (alleles.prefix), this method will keep SNPs falling into the targeted design (based on BED_file) and check allele counts in normal samples (listed in Worksheet). The cleaned list of loci/allele files will be located under Workdir/alleleData/Cleaned/. 55 | } 56 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.runAscat.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.runAscat.R 3 | \name{ascat.runAscat} 4 | \alias{ascat.runAscat} 5 | \title{ascat.runAscat} 6 | \usage{ 7 | ascat.runAscat( 8 | ASCATobj, 9 | gamma = 0.55, 10 | pdfPlot = FALSE, 11 | y_limit = 5, 12 | circos = NA, 13 | min_ploidy = 1.5, 14 | max_ploidy = 5.5, 15 | min_purity = 0.1, 16 | max_purity = 1.05, 17 | rho_manual = NA, 18 | psi_manual = NA, 19 | img.dir = ".", 20 | img.prefix = "", 21 | write_segments = FALSE 22 | ) 23 | } 24 | \arguments{ 25 | \item{ASCATobj}{an ASCAT object from ascat.aspcf} 26 | 27 | \item{gamma}{technology parameter, compaction of Log R profiles (expected decrease in case of deletion in diploid sample, 100\% aberrant cells; 1 in ideal case, 0.55 of Illumina 109K arrays)} 28 | 29 | \item{pdfPlot}{Optional flag if nonrounded plots and ASCAT profile in pdf format are desired. Default=F} 30 | 31 | \item{y_limit}{Optional parameter determining the size of the y axis in the nonrounded plot and ASCAT profile. Default=5} 32 | 33 | \item{circos}{Optional file to output the non-rounded values in Circos track format. Default=NA} 34 | 35 | \item{min_ploidy}{optional numerical parameter determining the minimum boundary of the ploidy solution search space (expert parameter, don't adapt unless you know what you're doing). Default=1.5} 36 | 37 | \item{max_ploidy}{optional numerical parameter determining the maximum boundary of the ploidy solution search space (expert parameter, don't adapt unless you know what you're doing). Default=5.5} 38 | 39 | \item{min_purity}{optional numerical parameter determining the minimum boundary of the purity solution search space (expert parameter, don't adapt unless you know what you're doing). Default=0.1} 40 | 41 | \item{max_purity}{optional numerical parameter determining the maximum boundary of the purity solution search space (expert parameter, don't adapt unless you know what you're doing). Default=1.05} 42 | 43 | \item{rho_manual}{optional argument to override ASCAT optimization and supply rho parameter (expert parameter, don't adapt unless you know what you're doing).} 44 | 45 | \item{psi_manual}{optional argument to override ASCAT optimization and supply psi parameter (expert parameter, don't adapt unless you know what you're doing).} 46 | 47 | \item{img.dir}{directory in which figures will be written} 48 | 49 | \item{img.prefix}{prefix for figure names} 50 | 51 | \item{write_segments}{Optional flag to output segments in text files (.segments_raw.txt and .segments.txt under img.dir). Default=F} 52 | } 53 | \value{ 54 | an ASCAT output object, containing:\cr 55 | 1. nA: copy number of the A allele\cr 56 | 2. nB: copy number of the B allele\cr 57 | 3. purity: the tumour purity of all arrays\cr 58 | 4. aberrantcellfraction: the aberrant cell fraction (=tumour purity) of all arrays\cr 59 | 5. ploidy: the ploidy of all arrays\cr 60 | 6. failedarrays: arrays on which ASCAT analysis failed\cr 61 | 7. nonaberrantarrays: arrays on which ASCAT analysis indicates that they show virtually no aberrations\cr 62 | 8. segments: an array containing the copy number segments of each sample (not including failed arrays)\cr 63 | 9. segments_raw: an array containing the copy number segments of each sample without any rounding applied\cr 64 | 10. distance_matrix: distances for a range of ploidy and tumor percentage values 65 | } 66 | \description{ 67 | ASCAT main function, calculating the allele-specific copy numbers 68 | } 69 | \details{ 70 | Note: for copy number only probes, nA contains the copy number value and nB = 0. 71 | } 72 | -------------------------------------------------------------------------------- /ASCAT/man/ascat.synchroniseFiles.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.prepareHTS.R 3 | \name{ascat.synchroniseFiles} 4 | \alias{ascat.synchroniseFiles} 5 | \title{Synchronise SNPs across files} 6 | \usage{ 7 | ascat.synchroniseFiles( 8 | samplename, 9 | tumourLogR_file, 10 | tumourBAF_file, 11 | normalLogR_file, 12 | normalBAF_file 13 | ) 14 | } 15 | \arguments{ 16 | \item{samplename}{String, name of the sample.} 17 | 18 | \item{tumourLogR_file}{File where LogR from the tumour will be read and overwritten.} 19 | 20 | \item{tumourBAF_file}{File where BAF from the tumour will be read and overwritten.} 21 | 22 | \item{normalLogR_file}{File where LogR from the normal will be read and overwritten.} 23 | 24 | \item{normalBAF_file}{File where BAF from the normal will be read and overwritten.} 25 | } 26 | \description{ 27 | Synchronise SNPs across files 28 | } 29 | \author{ 30 | tl 31 | } 32 | -------------------------------------------------------------------------------- /ASCAT/man/base.gw.plot.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.plots.R 3 | \name{base.gw.plot} 4 | \alias{base.gw.plot} 5 | \title{base.gw.plot} 6 | \usage{ 7 | base.gw.plot( 8 | bafsegmented, 9 | nAfullPlot, 10 | nBfullPlot, 11 | colourTotal, 12 | colourMinor, 13 | maintitle, 14 | chr.segs, 15 | lrr, 16 | chr.names, 17 | y_limit, 18 | twoColours = FALSE 19 | ) 20 | } 21 | \arguments{ 22 | \item{bafsegmented}{B Allele Frequency, segmented, in genomic sequence (only probes heterozygous in germline), with probe IDs} 23 | 24 | \item{nAfullPlot}{Total segment copy number} 25 | 26 | \item{nBfullPlot}{Segment copy number minor allele} 27 | 28 | \item{colourTotal}{Colour to plot total copy number} 29 | 30 | \item{colourMinor}{Colour to plot minor allele} 31 | 32 | \item{maintitle}{Title comprising ploidy, rho, goodness of fit} 33 | 34 | \item{chr.segs}{Vector comprising chromosome segments} 35 | 36 | \item{lrr}{(unsegmented) log R, in genomic sequence (all probes), with probe IDs} 37 | 38 | \item{chr.names}{Vector giving the names of the chromosomes as displayed on the figure} 39 | 40 | \item{y_limit}{Optional parameter determining the size of the y axis in the nonrounded plot and ASCAT profile. Default=5} 41 | 42 | \item{twoColours}{Optional flag to specify colours, if TRUE colour is paler for CN values > y_limit} 43 | } 44 | \value{ 45 | basic plot containing chromosome positions and names, plots copy number for either ASCAT non rounded or BB average 46 | } 47 | \description{ 48 | Basis for the genome-wide plots 49 | } 50 | \keyword{internal} 51 | -------------------------------------------------------------------------------- /ASCAT/man/make_segments.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.runAscat.R 3 | \name{make_segments} 4 | \alias{make_segments} 5 | \title{make_segments} 6 | \usage{ 7 | make_segments(r, b) 8 | } 9 | \arguments{ 10 | \item{r}{segmented logR} 11 | 12 | \item{b}{segmented BAF} 13 | } 14 | \value{ 15 | segments of constant logR and BAF including their lengths 16 | } 17 | \description{ 18 | Function to make segments of constant LRR and BAF.\cr 19 | This function is more general and does not depend on specific ASPCF output, it can also handle segmention performed on LRR and BAF separately 20 | } 21 | \keyword{internal} 22 | -------------------------------------------------------------------------------- /ASCAT/man/predictGermlineHomozygousStretches.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.aspcf.R 3 | \name{predictGermlineHomozygousStretches} 4 | \alias{predictGermlineHomozygousStretches} 5 | \title{predictGermlineHomozygousStretches} 6 | \usage{ 7 | predictGermlineHomozygousStretches(chr, hom) 8 | } 9 | \arguments{ 10 | \item{chr}{a list containing vectors with the indices for each distinct part that can be segmented separately} 11 | 12 | \item{hom}{germline genotypes} 13 | } 14 | \value{ 15 | germline homozyguous segments 16 | } 17 | \description{ 18 | helper function to predict germline homozyguous segments for later re-segmentation 19 | } 20 | \keyword{internal} 21 | -------------------------------------------------------------------------------- /ASCAT/man/runASCAT.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/ascat.runAscat.R 3 | \name{runASCAT} 4 | \alias{runASCAT} 5 | \title{runASCAT} 6 | \usage{ 7 | runASCAT( 8 | lrr, 9 | baf, 10 | lrrsegmented, 11 | bafsegmented, 12 | gender, 13 | SNPpos, 14 | chromosomes, 15 | chrnames, 16 | sexchromosomes, 17 | failedqualitycheck = FALSE, 18 | distancepng = NA, 19 | copynumberprofilespng = NA, 20 | nonroundedprofilepng = NA, 21 | aberrationreliabilitypng = NA, 22 | gamma = 0.55, 23 | rho_manual = NA, 24 | psi_manual = NA, 25 | pdfPlot = FALSE, 26 | y_limit = 5, 27 | circos = NA, 28 | min_ploidy = 1.5, 29 | max_ploidy = 5.5, 30 | min_purity = 0.1, 31 | max_purity = 1.05, 32 | X_nonPAR = NULL 33 | ) 34 | } 35 | \arguments{ 36 | \item{lrr}{(unsegmented) log R, in genomic sequence (all probes), with probe IDs} 37 | 38 | \item{baf}{(unsegmented) B Allele Frequency, in genomic sequence (all probes), with probe IDs} 39 | 40 | \item{lrrsegmented}{log R, segmented, in genomic sequence (all probes), with probe IDs} 41 | 42 | \item{bafsegmented}{B Allele Frequency, segmented, in genomic sequence (only probes heterozygous in germline), with probe IDs} 43 | 44 | \item{gender}{a vector of gender for each cases ("XX" or "XY"). Default = NULL: all female ("XX")} 45 | 46 | \item{SNPpos}{position of all SNPs} 47 | 48 | \item{chromosomes}{a list containing c vectors, where c is the number of chromosomes and every vector contains all probe numbers per chromosome} 49 | 50 | \item{chrnames}{a vector containing the names for the chromosomes (e.g. c(1:22, "X"))} 51 | 52 | \item{sexchromosomes}{a vector containing the names for the sex chromosomes} 53 | 54 | \item{failedqualitycheck}{did the sample fail any previous quality check or not?} 55 | 56 | \item{distancepng}{if NA: distance is plotted, if filename is given, the plot is written to a .png file} 57 | 58 | \item{copynumberprofilespng}{if NA: possible copy number profiles are plotted, if filename is given, the plot is written to a .png file} 59 | 60 | \item{nonroundedprofilepng}{if NA: copy number profile before rounding is plotted (total copy number as well as the copy number of the minor allele), if filename is given, the plot is written to a .png file} 61 | 62 | \item{aberrationreliabilitypng}{aberration reliability score is plotted if filename is given} 63 | 64 | \item{gamma}{technology parameter, compaction of Log R profiles (expected decrease in case of deletion in diploid sample, 100\% aberrant cells; 1 in ideal case, 0.55 of Illumina 109K arrays)} 65 | 66 | \item{rho_manual}{optional argument to override ASCAT optimization and supply rho parameter (not recommended)} 67 | 68 | \item{psi_manual}{optional argument to override ASCAT optimization and supply psi parameter (not recommended)} 69 | 70 | \item{pdfPlot}{Optional flag if nonrounded plots and ASCAT profile in pdf format are desired. Default=FALSE} 71 | 72 | \item{y_limit}{Optional parameter determining the size of the y axis in the nonrounded plot and ASCAT profile. Default=5} 73 | 74 | \item{circos}{Optional file to output the non-rounded values in Circos track format. Default=NA} 75 | 76 | \item{min_ploidy}{a numerical parameter determining the minimum boundary of the ploidy solution search space. Default=1.5} 77 | 78 | \item{max_ploidy}{a numerical parameter determining the maximum boundary of the ploidy solution search space. Default=5.5} 79 | 80 | \item{min_purity}{a numerical parameter determining the minimum boundary of the purity solution search space. Default=0.1} 81 | 82 | \item{max_purity}{a numerical parameter determining the maximum boundary of the purity solution search space. Default=1.05} 83 | 84 | \item{X_nonPAR}{Optional vector containing genomic coordinates (start & stop) of nonPAR region on X. Default=NULL} 85 | } 86 | \value{ 87 | list containing optimal purity and ploidy 88 | } 89 | \description{ 90 | the ASCAT main function 91 | } 92 | \keyword{internal} 93 | -------------------------------------------------------------------------------- /ASCAT/vignettes/asmultipcf-vignette.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Multi-sample analysis with ASCAT" 3 | author: "Edith Ross, Kerstin Haase" 4 | date: "`r Sys.Date()`" 5 | output: rmarkdown::html_vignette 6 | vignette: > 7 | %\VignetteIndexEntry{Multi-sample analysis with ASCAT} 8 | %\VignetteEngine{knitr::rmarkdown} 9 | %\VignetteEncoding{UTF-8} 10 | --- 11 | 12 | ## Vignette Info 13 | 14 | This vignette demonstrates how to use ASCAT to analyse multiple phylogenetically related samples. For the general usage of ASCAT including parameters that are not specific to multi-sample analysis please refer to the [ASCAT webpage](https://www.crick.ac.uk/research/labs/peter-van-loo/software) and the [example pipeline](https://github.com/VanLoo-lab/ascat/blob/c96ed37c127ce2533960323c55bc8e0787c77a3e/ExampleData/ASCAT_examplePipeline.R). 15 | 16 | ## Using ASCAT for multi-sample analyses 17 | 18 | We start by loading the ASCAT package. 19 | ```{r,message=FALSE} 20 | library(ASCAT) 21 | ``` 22 | Next we load the data. 23 | ```{r} 24 | ascat.bcMulti <- ascat.loadData( 25 | Tumor_LogR_file = system.file("extdata", "tumour.logR.txt", package="ASCAT"), 26 | Tumor_BAF_file = system.file("extdata", "tumour.BAF.txt", package="ASCAT"), 27 | Germline_LogR_file = system.file("extdata", "singlenormal.logR.txt", package="ASCAT"), 28 | Germline_BAF_file = system.file("extdata", "singlenormal.BAF.txt", package="ASCAT")) 29 | ``` 30 | Both Tumor_LogR_file and Tumor_BAF_file are expected to contain a column for each of the samples to analyse. 31 | ```{r} 32 | head(ascat.bcMulti$Tumor_LogR) 33 | head(ascat.bcMulti$Tumor_BAF) 34 | ``` 35 | 36 | The next step is to run the segmentation. When analysing phylogenetically related samples, it is expected that some of the copy number segment boundaries are shared between samples. In this case a joint segmentation of all samples is recommended. The synthetic data set used in this example was also simulated with partly shared segment boundaries. The ground truth copy number plots of the two samples we are going to analyse are shown in the following plots. 37 | 38 | ```{r,echo=FALSE,fig.show='hold', fig.width=7, fig.height= 3, fig.align='center'} 39 | groundTruth1 <- rep(c(2,2,3,2,3,2),times=c(200,100,100,30,50,120)) 40 | groundTruth2 <- rep(c(1,2,3,2,3,2),times=c(200,100,100,30,50,120)) 41 | 42 | par(mar=c(4,4,3,1),yaxp=c(0,3,3)) 43 | plot(x=1:length(groundTruth1),y=groundTruth1,type='l',ylim=c(0,3),xlab='Position',ylab='Copy number',main='Sample 1',yaxt='n') 44 | axis(side = 2, at = 0:3, labels = 0:3) 45 | plot(x=1:length(groundTruth2),y=groundTruth2,type='l',ylim=c(0,3),xlab='Position',ylab='Copy number',main='Sample 2',yaxt='n') 46 | axis(side = 2, at = 0:3, labels = 0:3) 47 | ``` 48 | 49 | The multi-sample segmentation algorithm can be run using the function ascat.asmultipcf. 50 | ```{r,message=FALSE} 51 | ascat.bcMulti <- ascat.asmultipcf(ascat.bcMulti,penalty = 5,out.dir=NA) 52 | ``` 53 | 54 | Finally ASCAT can be run on the segmented data set. 55 | ```{r,eval=FALSE} 56 | ascat.outputMulti = ascat.runAscat(ascat.bcMulti) 57 | ``` 58 | 59 | ## Comparison with single sample segmentation 60 | Finally, we compare our result to that of standard single sample segmentation using ascat.aspcf. 61 | ```{r,message=FALSE} 62 | ascat.bc = ascat.loadData(system.file("extdata", "tumour.logR.txt", package="ASCAT"), 63 | system.file("extdata", "tumour.BAF.txt", package="ASCAT"), 64 | system.file("extdata", "normal.logR.txt", package="ASCAT"), 65 | system.file("extdata", "normal.BAF.txt", package="ASCAT")) 66 | ascat.bc = ascat.aspcf(ascat.bc,penalty = 25,out.dir=NA) 67 | ``` 68 | Note that in the single-sample case the same segmentation sensitivity is achieved with a higher penalty parameter compared to the multi-sample case. This means, when switching from single- to multi-sample segmentation, the penalty parameter needs to be lowered to maintain a similar sensitivity. 69 | 70 | ```{r,echo=FALSE} 71 | plot.segments <- function(v1,v2,main) { 72 | par(mfrow=c(2,1)) 73 | par(mar=c(0,1,4,7)) 74 | plot(x=1,y=1,xlim=c(200,700),ylim=c(1,2),axes=FALSE,ylab="",xlab="",main=main) 75 | abline(v=v1,col="red") 76 | par(xpd=TRUE) 77 | legend(x='right',legend = c('Sample 1'), lty=1, col=c('red'),bty='n',inset=c(-0.24,-1)) 78 | par(xpd=FALSE) 79 | par(mar=c(4,1,0,7)) 80 | plot(x=1,y=1,xlim=c(200,700),ylim=c(1,2),axes=FALSE,ylab="",xlab="Chromosome position") 81 | abline(v=v2,col="blue") 82 | par(xpd=TRUE) 83 | legend(x='right',legend = c('Sample 2'), lty=1, col=c('blue'),bty='n',inset=c(-0.24,-1)) 84 | par(xpd=FALSE) 85 | axis(side = 1) 86 | } 87 | ``` 88 | 89 | We plot the segment boundaries inferred for each of the two samples by multi- and single-sample segmentation. 90 | ```{r, fig.show='hold', fig.width=7, fig.height= 2, fig.align='center'} 91 | plot.segments(v1=cumsum(rle(ascat.bc$Tumor_LogR_segmented[,1])$lengths), 92 | v2=cumsum(rle(ascat.bc$Tumor_LogR_segmented[,2])$lengths), 93 | main="Single-sample segmentation") 94 | 95 | plot.segments(v1=cumsum(rle(ascat.bcMulti$Tumor_LogR_segmented[,1])$lengths), 96 | v2=cumsum(rle(ascat.bcMulti$Tumor_LogR_segmented[,2])$lengths), 97 | main="Multi-sample segmentation") 98 | ``` 99 | In case of single-sample segmentation the inferred positions of most of the shared segment boundaries vary slightly between the two samples, whereas the multi-sample segmentation infers a common breakpoint when there is no significant evidence that the boundaries differ between samples. 100 | 101 | 102 | ##Comparison with another multi-sample copy number method 103 | 104 | In order to compare asmultipcf segmentation to other copy number inference methods, we ran ASCAT on two samples from two patients from a metastatic prostate cancer study ([Gundem et al](https://pubmed.ncbi.nlm.nih.gov/25830880)). For the same study, copy number profiles are available from HATCHet ([github repository](https://github.com/raphael-group/hatchet); [publication](https://www.biorxiv.org/content/10.1101/496174v1)). 105 | 106 | 107 | Loading all neccessary packages. 108 | ```{r,message=FALSE} 109 | library(ggplot2) 110 | library(plyr) 111 | ``` 112 | 113 | Because HATCHet can model a mixture of copy number states but ASCAT only detects the major clone, we need to define 114 | the major clone in the HATCHet data. 115 | ```{r} 116 | getMajorClone<-function(row){ 117 | maj<-names(which.max(row[c(8,10,12)])) 118 | maj.cn<-row[(match(maj,names(row))-1)] 119 | return(maj.cn) 120 | } 121 | ``` 122 | 123 | Next we define a function to load HATCHet data, define the major clone for each segment, i.e. row, and split copy number annotation from "a|b" format into two columns. 124 | ```{r} 125 | readHatchetFile<-function(path){ 126 | hatchet.raw<-read.table(path, header=F, sep="\t", stringsAsFactors = F) 127 | 128 | ##find major clone 129 | major.cn<-apply(hatchet.raw, 1, function(z) getMajorClone(z)) 130 | hatchet.raw$major.cn<-major.cn 131 | 132 | hatchet.short<-hatchet.raw[c(1:4,13)] 133 | names(hatchet.short)<-c("chr","start","end","sample","hatchet.cn") 134 | 135 | major.cn<-unlist(lapply(strsplit(hatchet.short$hatchet.cn, "\\|"), function(z) z[1])) 136 | minor.cn<-unlist(lapply(strsplit(hatchet.short$hatchet.cn, "\\|"), function(z) z[2])) 137 | 138 | hatchet.short$major.cn<-major.cn 139 | hatchet.short$minor.cn<-minor.cn 140 | 141 | return(hatchet.short[-5]) 142 | } 143 | ``` 144 | In order to provide a quantitative measure of how much ASCAT using asmultipcf and HATCHet agree with regard to the sample segmentation, we analysed what fraction of asmultipcf breakpoints has a corresponding HATCHet breakpoint. 145 | First, we centred the ASCAT breakpoints in the middle of two segments. 146 | 147 | ```{r} 148 | returnBreakpoints<-function(df.chr){ 149 | bp.df<-NULL 150 | df.sorted<-df.chr[order(df.chr$start),] 151 | for(i in 1:(nrow(df.sorted)-1)){ 152 | first<-df.sorted[i,] 153 | second<-df.sorted[(i+1),] 154 | ##verify real cn bp 155 | if(first$major.cn==second$major.cn & first$minor.cn==second$minor.cn){ 156 | print("Consecutive rows have identical CN!") 157 | } 158 | else{ 159 | bp.df<-rbind(bp.df, data.frame(bp.location=(first$end+((second$start-first$end)/2)))) 160 | } 161 | } 162 | return(bp.df) 163 | } 164 | ``` 165 | 166 | HATCHet output is provided for 50kb bins and not specifically segmented. Hence, in order to compare consecutive segments 167 | with the same major clonal copy number, we are merging neighbouring segments with matching allele specific copy number values. Then we calculate the distance of the closest HATCHet breakpoint for every asmultipcf breakpoint. 168 | 169 | ```{r} 170 | findMatchingBPs<-function(ascat.bps, hatchet.segs){ 171 | ##limit hatchet df to true CN segs 172 | hatchet.true<-NULL 173 | hatchet.sorted<-hatchet.segs[order(hatchet.segs$start),] 174 | 175 | rles<-rle(paste0(hatchet.sorted$major.cn,"_",hatchet.sorted$minor.cn))$lengths 176 | idx<-1 177 | for(k in rles){ 178 | hatchet.true<-rbind(hatchet.true, data.frame(start=hatchet.sorted[idx, "start"], end=hatchet.sorted[(idx+k-1), "end"])) 179 | idx<-(idx+k) 180 | } 181 | 182 | ascat.flag<-NULL 183 | for(i in 1:nrow(ascat.bps)){ 184 | ascat.bp<-ascat.bps[i,"bp.location"] 185 | min.dist<-min(c(abs(ascat.bp-hatchet.true$end),abs(ascat.bp-hatchet.true$start))) 186 | 187 | ascat.flag<-rbind(ascat.flag, data.frame(bkp=ascat.bp, min.dist=min.dist)) 188 | } 189 | return(ascat.flag) 190 | } 191 | ``` 192 | 193 | This is the main function visualising the copy number of asmultipcf and HATCHet for all four analysed samples and 194 | calculates the fraction of ASCAT breakpoints with a HATCHet breakpoint fewer than 50kb bases away (size of HATCHet bins). 195 | 196 | ```{r} 197 | compareCN<-function(cn.ascat, cn.hatchet){ 198 | ##split into samples 199 | shared.samples<-intersect(cn.ascat$sample, cn.hatchet$sample) 200 | 201 | for(s in shared.samples){ 202 | ascat.sub<-cn.ascat[cn.ascat$sample==s,] 203 | hatchet.sub<-cn.hatchet[cn.hatchet$sample==s,] 204 | ##move values slightly for plotting 205 | ascat.plot<- ascat.sub 206 | hatchet.plot<- hatchet.sub 207 | ascat.plot$major.cn<-(as.numeric(ascat.plot$major.cn)+0.1) 208 | hatchet.plot$major.cn<-(as.numeric(hatchet.plot$major.cn)-0.1) 209 | 210 | ##visualise 211 | joint.df<-rbind(ascat.plot,hatchet.plot) 212 | joint.df$chr<-factor(joint.df$chr, levels=c(1:22,"X","Y")) 213 | p1<-ggplot(joint.df, aes(x=start, y=(as.numeric(major.cn)+as.numeric(minor.cn)), xend=end, yend=(as.numeric(major.cn)+as.numeric(minor.cn)), col=as.factor(method)))+ 214 | geom_segment()+ 215 | theme(axis.text.x=element_text(angle=45,hjust=1), panel.background = element_blank(), panel.grid.major = element_line(color="grey80"))+ 216 | ggtitle(paste0("Sample ",s))+ 217 | scale_color_manual(values=c("cyan4","coral3"), name="")+ 218 | scale_x_continuous(name="")+ 219 | scale_y_continuous(name="Copy number", limits=(c(0,15)))+ 220 | facet_wrap(.~chr, scales = "free_x", nrow = 3) 221 | print(p1) 222 | 223 | 224 | ##give quality in measure: what fraction of ASCAT bp has hatchet bp in < threshold vincinity? 225 | bps<-ddply(ascat.sub, .(chr), function(z) returnBreakpoints(z)) 226 | bp.list<-split(bps, bps$chr) 227 | 228 | bkp.list<-NULL 229 | for(c in names(bp.list)){ 230 | if(c!="X"){ 231 | bkp.list<-rbind(bkp.list,findMatchingBPs(bp.list[[c]], hatchet.sub[hatchet.sub$chr==c,])) 232 | } 233 | } 234 | ##use bin size of HATCHet as threshold 235 | threshold=50000 236 | bkp.list$match<-ifelse(bkp.list$min.dist99.99% of reference sequence 4 | stopifnot(letterFrequency(CHRSEQ,c('ACGTN'))/CHRSIZE>0.9999) 5 | if (WINDOW%%2==0) WINDOW=WINDOW+1 6 | # Add Ns at chromosome extremities so nearby SNPs can be processed. 7 | CHRSEQ=xscat(paste0(rep('N',floor(WINDOW/2)),collapse=''),CHRSEQ,paste0(rep('N',floor(WINDOW/2)),collapse='')) 8 | # Get G+C and A+T counts for all positions 9 | LFISV=as.data.frame(letterFrequencyInSlidingView(CHRSEQ,WINDOW,c('GC','AT'),OR='_')) 10 | # Make sure that we have one value for each position 11 | stopifnot(CHRSIZE==nrow(LFISV)) 12 | # Keep SNP information 13 | LFISV=LFISV[SNP_POS$Position,] 14 | # Effective window size (A/C/G/T only) 15 | LFISV$NREALS=LFISV$G_C+LFISV$A_T 16 | # Compute GC% 17 | LFISV$GC=LFISV$G_C/LFISV$NREALS 18 | # If effective size is smaller than threshold, set NA 19 | LFISV$GC[LFISV$NREALS50x coverage. Although this preset might be used in some other conditions, please note that is has not been extensively benchmarked under other conditions so we do not provide any guarantee outside of the scope. Such a preset is called *WGS_hg38_50X*. 61 | 62 | ## Misc 63 | For more information about ASCAT and other projects of our group, please visit our [website](https://www.crick.ac.uk/research/a-z-researchers/researchers-v-y/peter-van-loo/software/). 64 | 65 | # Changes to let ASCAT run on long-read data: 66 | - When running `ascat.prepareHTS()`, the following two parameters must be set (options for alleleCounter): `min_base_qual=10` and `additional_allelecounter_flags="-f 0"`. 67 | - Also, `loci_binsize` must be set to a higher value (default=1, no binning). This activates the binning process and a value of 500 (maybe higher, depending on the average length of your reads) works well in our experience. This reduces autocorrelation in BAF/LogR for long-read sequencing. 68 | - If there was no PCR step in the library preparation, GC correction is not needed. 69 | - Increasing the penalty value in `ascat.aspcf` can help in reducing the noise. 70 | - Example of the new `ascat.prepareHTS` function for long-reads sequencing: 71 | 72 | ``` 73 | ascat.prepareHTS( 74 | tumourseqfile = tumour_BAM, 75 | normalseqfile = normal_BAM, 76 | tumourname = name_tumour, 77 | normalname = name_normal, 78 | allelecounter_exe = allelecounter, 79 | skip_allele_counting_normal = FALSE, 80 | skip_allele_counting_tumour = FALSE, 81 | alleles.prefix = G1000_alleles_hg38_chr, 82 | loci.prefix = G1000_loci_hg38_chr, 83 | gender = gender, 84 | genomeVersion = "hg38", 85 | nthreads = 12, 86 | tumourLogR_file = "Tumor_LogR.txt", 87 | tumourBAF_file = "Tumor_BAF.txt", 88 | loci_binsize = 500, 89 | min_base_qual= 10, 90 | additional_allelecounter_flags="-f 0") 91 | ``` 92 | -------------------------------------------------------------------------------- /ReferenceFiles/SNParrays/README.md: -------------------------------------------------------------------------------- 1 | # Reference files for SNP arrays 2 | 3 | - Affymetrix SNP 6.0 4 | - [GC% correction file](https://zenodo.org/records/14008443/files/GC_AffySNP6_102015.txt.zip?download=1) 5 | - [Replication timing correction file](https://zenodo.org/records/14008443/files/RT_AffySNP6_102015.txt.zip?download=1) 6 | - Affymetrix 250k STY 7 | - [GC% correction file](https://zenodo.org/records/14008443/files/GC_Affy250k.txt.zip?download=1) 8 | - [Replication timing correction file](https://zenodo.org/records/14008443/files/RT_Affy250k.txt.zip?download=1) 9 | - Illumina 660k 10 | - [GC% correction file](https://zenodo.org/records/14008443/files/GC_Illumina660k.txt.zip?download=1) 11 | - [Replication timing correction file](https://zenodo.org/records/14008443/files/RT_Illumina660k.txt.zip?download=1) 12 | - Illumina OmniExpress 13 | - [GC% correction file](https://zenodo.org/records/14008443/files/GC_IlluminaOmniexpress.txt.zip?download=1) 14 | - [Replication timing correction file](https://zenodo.org/records/14008443/files/RT_IlluminaOmniexpress.txt.zip?download=1) 15 | 16 | For other platforms, please use [our scripts](../../LogRcorrection/) to generate adequate correction files. -------------------------------------------------------------------------------- /ReferenceFiles/WES/README.md: -------------------------------------------------------------------------------- 1 | # Processing WES data with ASCAT 2 | 3 | The following files have been derived from the reference files in the [Battenberg package](https://github.com/Wedge-lab/battenberg). No filter related to the genomic location was applied so they contain both exonic, intronic and intergenic SNPs. When using such files, one **must** either 1) provide a BED file which defines regions of interest (`BED_file` in `ascat.prepareHTS`) or 2) downsample the files so they are tailored to your sequencing design (option 2 will speed-up ASCAT but only recommended for advanced users). This is because a WES experiment would only cover a small fraction of the genome so we have to provide an exhaustive list of SNPs to start with, considering that only a subset would be covered. As such, reference files for WGS have a lower resolution (there are not meant to be downsampled) and must not be used for processing WES data. Also, because reference files for WES contain an exhaustive list of SNPs, they must not be used for processing WGS. 4 | 5 | Please note that such files can also be used for processing targeted sequencing data (with an appropriate BED file). Since they contain exonic/intronic/intergenic SNPs, they should be applicable to a broad range of designs. 6 | 7 | Data availability: 8 | 9 | - Loci files: [hg19](https://zenodo.org/records/14008443/files/G1000_loci_WES_hg19.zip?download=1) & [hg38](https://zenodo.org/records/14008443/files/G1000_loci_WES_hg38.zip?download=1) (unzip and set `loci.prefix="G1000_loci_hg19_chr"` in `ascat.prepareHTS`) 10 | - Allele files: [hg19](https://zenodo.org/records/14008443/files/G1000_alleles_WES_hg19.zip?download=1) & [hg38](https://zenodo.org/records/14008443/files/G1000_alleles_WES_hg38.zip?download=1) (unzip and set `alleles.prefix="G1000_alleles_hg19_chr"` in `ascat.prepareHTS`) 11 | - GC correction file: [hg19](https://zenodo.org/records/14008443/files/GC_G1000_WES_hg19.zip?download=1) & [hg38](https://zenodo.org/records/14008443/files/GC_G1000_WES_hg38.zip?download=1) (unzip and set `GCcontentfile="GC_G1000_hg19.txt"` in `ascat.correctLogR`) 12 | - Replication timing correction file: [hg19](https://zenodo.org/records/14008443/files/RT_G1000_WES_hg19.zip?download=1) & [hg38](https://zenodo.org/records/14008443/files/RT_G1000_WES_hg38.zip?download=1) (unzip and set `replictimingfile="RT_G1000_hg19.txt"` in `ascat.correctLogR`) 13 | 14 | ### File format 15 | 16 | #### Loci file 17 | One file per chromosome, no header, the first column is the chromosome name and the second column is the position. 18 | 19 | | | | 20 | | --- | --- | 21 | | 1 | 10642 | 22 | | 1 | 11008 | 23 | | 1 | 11012 | 24 | 25 | #### Allele file 26 | One file per chromosome, one header, the first column is the position and the second and third columns are reference and alternate nucleotides with the following conversion: A=1, C=2, G=3 and T=4. 27 | 28 | | position | a0 | a1 | 29 | | --- | --- | --- | 30 | | 10642 | 3 | 1 | 31 | | 11008 | 2 | 3 | 32 | | 11012 | 2 | 3 | 33 | 34 | In the example above, SNP at position 10642 is G>A and SNPs at 11008 and 11012 are both C>G. 35 | 36 | #### GC correction file 37 | One single file, one header, the first column is the SNP ID, the second/third columns are chromosome/position and the other columns are GC% around SNPs with different window sizes. 38 | 39 | | | Chr | Position | 25bp | 50bp | 100bp | 200bp | 500bp | 1kb | 2kb | 5kb | 10kb | 20kb | 50kb | 100kb | 200kb | 500kb | 1Mb | 40 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 41 | | 1_10642 | 1 | 10642 | 0.92 | 0.823529 | 0.762376 | 0.761194 | 0.722555 | 0.677323 | 0.625457 | 0.595799 | 0.590039 | 0.5845710.533734 | 0.458927 | 0.421891 | 0.425195 | 0.423964 | 42 | | 1_11008 | 1 | 11008 | 0.72 | 0.745098 | 0.722772 | 0.741294 | 0.730539 | 0.705295 | 0.594703 | 0.593501 | 0.594541 | 0.5832120.534297 | 0.457987 | 0.42164 | 0.425088 | 0.423964 | 43 | | 1_11012 | 1 | 11012 | 0.76 | 0.705882 | 0.742574 | 0.741294 | 0.726547 | 0.706294 | 0.595202 | 0.593964 | 0.594478 | 0.5831820.53433 | 0.457971 | 0.421633 | 0.425084 | 0.423964 | 44 | 45 | #### Replication timing file 46 | One single file, one header, the first column is the SNP ID, the second/third columns are chromosome/position and the other columns are replication timing data in different cell lines. 47 | 48 | | | Chr | Position | Bg02es | Bj | Gm06990 | Gm12801 | Gm12812 | Gm12813 | Gm12878 | Helas3 | Hepg2 | Huvec | Imr90 | K562 | Mcf7 | Nhek | Sknsh | 49 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 50 | | 1_10642 | 1 | 10642 | 49.509453 | 62.858498 | 52.757858 | 61.294971 | 51.757736 | 43.72905 | 48.088467 | 54.11837 | 58.062084 | 47.565636 | 68.790581 | 68.970825 | 57.467934 | 56.897934 | 60.012413 | 51 | | 1_11008 | 1 | 11008 | 49.509453 | 62.858498 | 52.757858 | 61.294971 | 51.757736 | 43.72905 | 48.088467 | 54.11837 | 58.062084 | 47.565636 | 68.790581 | 68.970825 | 57.467934 | 56.897934 | 60.012413 | 52 | | 1_11012 | 1 | 11012 | 49.509453 | 62.858498 | 52.757858 | 61.294971 | 51.757736 | 43.72905 | 48.088467 | 54.11837 | 58.062084 | 47.565636 | 68.790581 | 68.970825 | 57.467934 | 56.897934 | 60.012413 | 53 | 54 | ### 'chr'-based versus non 'chr'-based reference 55 | 56 | Please note that loci files provided above are not 'chr'-based (chromosome names are '1', '2', '3', etc. and not 'chr1', 'chr2', 'chr3', etc.). If your BAMs are 'chr'-based, you will need to add 'chr' (Bash: `for i in {1..22} X; do sed -i 's/^/chr/' G1000_loci_hg19_chr${i}.txt; done`). ASCAT will internally remove 'chr' so the other files (allele, GC correction and RT correction) should not be modified and `chrom_names` (`ascat.prepareHTS`) should be `c(1:22,'X')`. -------------------------------------------------------------------------------- /ReferenceFiles/WGS/README.md: -------------------------------------------------------------------------------- 1 | # Processing WGS data with ASCAT 2 | Although we recommend running [Battenberg](https://github.com/Wedge-lab/battenberg) on WGS data to get accurate clonal and subclonal allele-specific copy-number alteration calls, ASCAT can still be used to get a fast ploidy/purity estimate. To this end, we pre-generated a set of loci, alongside with GC content and replication timing correction files. 3 | 4 | Briefly, such a list was derived from 1000 Genomes Project SNPs ([hg19](http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/), [hg38](http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/data_collections/1000_genomes_project/release/20190312_biallelic_SNV_and_INDEL/) and [T2T-CHM13](https://s3-us-west-2.amazonaws.com/human-pangenomics/index.html?prefix=T2T/CHM13/assemblies/variants/1000_Genomes_Project/chm13v2.0/unrelated_samples_2504/)): 5 | 6 | - Biallelic SNPs with allele frequency higher than 0.35 and lower than 0.65 in any population were selected using *BCFtools*. 7 | - Duplicated entries were removed using *R*. 8 | - For hg19 and hg38, SNPs located in the [ENCODE blacklisted regions](https://github.com/Boyle-Lab/Blacklist/) were discarded. For T2T-CHM13, SNPs located in the excluderanges BED file from the [Dozmorovlab](https://github.com/dozmorovlab/excluderanges?tab=readme-ov-file/) were discarded. 9 | - SNPs with noisy BAF (distant from 0/0.5/1) in normal samples (a.k.a probloci) as part of the [Battenberg](https://github.com/Wedge-lab/battenberg) package were discarded (*probloci_270415.txt.gz* for hg19 and *probloci.zip* for hg38). For T2T-CHM13, a lifted over version (form GRCh38 to T2T) of the problematic loci from the Battenberg package were discarded. 10 | 11 | Since hg38 data for the non-PAR region of chrX is not available (as of September 2021), hg38 data for the whole chrX comes from a lift-over from hg19. 12 | 13 | GC content and replication timing correction files were then generated using scripts provided in the *[LogRcorrection](../../LogRcorrection)* folder. 14 | 15 | Data availability: 16 | 17 | - Loci files: [hg19](https://zenodo.org/records/14008443/files/G1000_loci_WGS_hg19.zip?download=1), [hg38](https://zenodo.org/records/14008443/files/G1000_loci_WGS_hg38.zip?download=1) and [CHM13](https://zenodo.org/records/14008443/files/G1000_loci_WGS_CHM13.zip?download=1) (unzip and set `loci.prefix="G1000_loci_hg19_chr"` in `ascat.prepareHTS`) 18 | - Allele files: [hg19](https://zenodo.org/records/14008443/files/G1000_alleles_WGS_hg19.zip?download=1), [hg38](https://zenodo.org/records/14008443/files/G1000_alleles_WGS_hg38.zip?download=1) and [CHM13](https://zenodo.org/records/14008443/files/G1000_alleles_WGS_CHM13.zip?download=1) (unzip and set `alleles.prefix="G1000_alleles_hg19_chr"` in `ascat.prepareHTS`) 19 | - GC correction file: [hg19](https://zenodo.org/records/14008443/files/GC_G1000_WGS_hg19.zip?download=1), [hg38](https://zenodo.org/records/14008443/files/GC_G1000_WGS_hg38.zip?download=1) and [CHM13](https://zenodo.org/records/14008443/files/GC_G1000_WGS_CHM13.zip?download=1) (unzip and set `GCcontentfile="GC_G1000_hg19.txt"` in `ascat.correctLogR`) 20 | - Replication timing correction file: [hg19](https://zenodo.org/records/14008443/files/RT_G1000_WGS_hg19.zip?download=1) & [hg38](https://zenodo.org/records/14008443/files/RT_G1000_WGS_hg38.zip?download=1) (unzip and set `replictimingfile="RT_G1000_hg19.txt"` in `ascat.correctLogR`) 21 | 22 | ### File format 23 | 24 | #### Loci file 25 | One file per chromosome, no header, the first column is the chromosome name and the second column is the position. 26 | 27 | | | | 28 | | --- | --- | 29 | | 1 | 10642 | 30 | | 1 | 11008 | 31 | | 1 | 11012 | 32 | 33 | #### Allele file 34 | One file per chromosome, one header, the first column is the position and the second and third columns are reference and alternate nucleotides with the following conversion: A=1, C=2, G=3 and T=4. 35 | 36 | | position | a0 | a1 | 37 | | --- | --- | --- | 38 | | 10642 | 3 | 1 | 39 | | 11008 | 2 | 3 | 40 | | 11012 | 2 | 3 | 41 | 42 | In the example above, SNP at position 10642 is G>A and SNPs at 11008 and 11012 are both C>G. 43 | 44 | #### GC correction file 45 | One single file, one header, the first column is the SNP ID, the second/third columns are chromosome/position and the other columns are GC% around SNPs with different window sizes. 46 | 47 | | | Chr | Position | 25bp | 50bp | 100bp | 200bp | 500bp | 1kb | 2kb | 5kb | 10kb | 20kb | 50kb | 100kb | 200kb | 500kb | 1Mb | 48 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 49 | | 1_10642 | 1 | 10642 | 0.92 | 0.823529 | 0.762376 | 0.761194 | 0.722555 | 0.677323 | 0.625457 | 0.595799 | 0.590039 | 0.5845710.533734 | 0.458927 | 0.421891 | 0.425195 | 0.423964 | 50 | | 1_11008 | 1 | 11008 | 0.72 | 0.745098 | 0.722772 | 0.741294 | 0.730539 | 0.705295 | 0.594703 | 0.593501 | 0.594541 | 0.5832120.534297 | 0.457987 | 0.42164 | 0.425088 | 0.423964 | 51 | | 1_11012 | 1 | 11012 | 0.76 | 0.705882 | 0.742574 | 0.741294 | 0.726547 | 0.706294 | 0.595202 | 0.593964 | 0.594478 | 0.5831820.53433 | 0.457971 | 0.421633 | 0.425084 | 0.423964 | 52 | 53 | #### Replication timing file 54 | One single file, one header, the first column is the SNP ID, the second/third columns are chromosome/position and the other columns are replication timing data in different cell lines. 55 | 56 | | | Chr | Position | Bg02es | Bj | Gm06990 | Gm12801 | Gm12812 | Gm12813 | Gm12878 | Helas3 | Hepg2 | Huvec | Imr90 | K562 | Mcf7 | Nhek | Sknsh | 57 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 58 | | 1_10642 | 1 | 10642 | 49.509453 | 62.858498 | 52.757858 | 61.294971 | 51.757736 | 43.72905 | 48.088467 | 54.11837 | 58.062084 | 47.565636 | 68.790581 | 68.970825 | 57.467934 | 56.897934 | 60.012413 | 59 | | 1_11008 | 1 | 11008 | 49.509453 | 62.858498 | 52.757858 | 61.294971 | 51.757736 | 43.72905 | 48.088467 | 54.11837 | 58.062084 | 47.565636 | 68.790581 | 68.970825 | 57.467934 | 56.897934 | 60.012413 | 60 | | 1_11012 | 1 | 11012 | 49.509453 | 62.858498 | 52.757858 | 61.294971 | 51.757736 | 43.72905 | 48.088467 | 54.11837 | 58.062084 | 47.565636 | 68.790581 | 68.970825 | 57.467934 | 56.897934 | 60.012413 | 61 | 62 | ### 'chr'-based versus non 'chr'-based reference 63 | 64 | Please note that loci files provided above are not 'chr'-based (chromosome names are '1', '2', '3', etc. and not 'chr1', 'chr2', 'chr3', etc.). If your BAMs are 'chr'-based, you will need to add 'chr' (Bash: `for i in {1..22} X; do sed -i 's/^/chr/' G1000_loci_hg19_chr${i}.txt; done`). ASCAT will internally remove 'chr' so the other files (allele, GC correction and RT correction) should not be modified and `chrom_names` (`ascat.prepareHTS`) should be `c(1:22,'X')`. -------------------------------------------------------------------------------- /ReleasedData/TCGA_SNP6_hg19/README.md: -------------------------------------------------------------------------------- 1 | # CNA profiles of TCGA cases (SNP6) obtained with ASCAT v3 2 | 3 | `summary.ascatv3.TCGA.SNP6.penalty70.hg19.tsv` compiles both sample (from TCGA) and genomic (from `ascat.metrics`) information for all high-quality and representative cases. 4 | 5 | QC was determined as follows: 6 | - **No ASCAT fit**: ASCAT could not find an optimal ploidy and purity value. 7 | - **Likely normal**: CNA profile matches with a normal sample. Filter: LOH<0.1 & GI<0.1 & purity=1 & ((sex='XX' & ploidy>=1.99 & ploidy<=2.01) | (sex='XY' & ploidy>=1.945 & ploidy<=1.965)). 8 | - **Noisy logR**: logR track (either tumour or normal) is noisy. Filter: tumour_mapd>=0.75 | normal_mapd>=0.75. 9 | - **Likely wrong germline**: matched normal is likely to come from another patient. Filter: tumour_mapd>0.4 & normal_mapd>0.4 & frac_homo>0.1. 10 | - **Oversegmented**: difference in segmentation between logR and BAF tracks. Filter: n_segs_logRBAF_diff>250. 11 | - **Wrong fit**: CNA profile is incorrect, with extreme losses. Filter: mode_majA=0. 12 | - **HD size**: CNA profile contains large segments with homozygous deletion. Filter: homdel_largest>=20e6 | homdel_size>=40e6. 13 | - **Contamination or swap** and **Large CNV**: germline data contains copy-number changes. Filter: we ran aspcf on all germline samples and manually reviewed cases where events were spotted. Cases with large stretches of homozygosity were considered as valid and were not discarded. 14 | - **Pass**: sample has correct metrics. 15 | 16 | Only samples defined as **Likely normal** and **Pass** have been included in this data release as the other categories should be discarded from further analyses. Profiles being flagged as **Likely normal** should carefully be interpreted as those do not show evidence of copy-number changes and have a high purity. They could therefore either be true CNA profiles from pure tumours (*e.g.* flat profile for AML) or tumour purity is so low (*e.g.* <20%) that ASCAT fitted the CNA profile on the germline. 17 | 18 | After QC, we applied the following strategy to pick one representative sample per case: 19 | - **Pass** were prioritised over **Likely normal** samples. 20 | - Primary tumours were prioritised over recurrences/metastases. 21 | - Blood-derived normals were prioritised over adjacent normal tissues. 22 | - If at least 3 samples were available, we computed Manhattan distances between profiles and selected the two having the minimum distance amongst all samples. 23 | - A consensus quality score was derived based on three features: tumour purity (the higher the better), tumour MAPD (the lower the better) and goodness of fit (the higher the better; GoF). Each feature grants one point and sample with highest score was selected. 24 | - In case of a tie between the two samples, we defined an agreement in MAPD when absolute difference between the two samples was below 0.1 and an agreement in GoF when absolute difference between the two samples was below 5%. 25 | - If there was an agreement in MAPD but not in GoF, sample with highest GoF was selected. 26 | - If there was an agreement in GoF but not in MAPD, sample with lowest MAPD was selected. 27 | - Otherwise, a random sample was selected. -------------------------------------------------------------------------------- /ReleasedData/TCGA_SNP6_hg19/segments.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VanLoo-lab/ascat/03bd92ba27b20cf70edcd590d58cc8a29963546e/ReleasedData/TCGA_SNP6_hg19/segments.tar.gz -------------------------------------------------------------------------------- /ReleasedData/TCGA_SNP6_hg38/README.md: -------------------------------------------------------------------------------- 1 | # CNA profiles of TCGA cases (SNP6) obtained with ASCAT v3 2 | 3 | `summary.ascatv3.TCGA.SNP6.penalty70.hg38.tsv` compiles both sample (from TCGA) and genomic (from `ascat.metrics`) information for all high-quality and representative cases. 4 | 5 | **Please note that hg38 coordinates were obtained after a lift-over from hg19.** 6 | 7 | QC was determined as follows: 8 | - **No ASCAT fit**: ASCAT could not find an optimal ploidy and purity value. 9 | - **Likely normal**: CNA profile matches with a normal sample. Filter: LOH<0.1 & GI<0.1 & purity=1 & ((sex='XX' & ploidy>=1.99 & ploidy<=2.01) | (sex='XY' & ploidy>=1.945 & ploidy<=1.965)). 10 | - **Noisy logR**: logR track (either tumour or normal) is noisy. Filter: tumour_mapd>=0.75 | normal_mapd>=0.75. 11 | - **Likely wrong germline**: matched normal is likely to come from another patient. Filter: tumour_mapd>0.4 & normal_mapd>0.4 & frac_homo>0.1. 12 | - **Oversegmented**: difference in segmentation between logR and BAF tracks. Filter: n_segs_logRBAF_diff>250. 13 | - **Wrong fit**: CNA profile is incorrect, with extreme losses. Filter: mode_majA=0. 14 | - **HD size**: CNA profile contains large segments with homozygous deletion. Filter: homdel_largest>=20e6 | homdel_size>=40e6. 15 | - **Contamination or swap** and **Large CNV**: germline data contains copy-number changes. Filter: we ran aspcf on all germline samples and manually reviewed cases where events were spotted. Cases with large stretches of homozygosity were considered as valid and were not discarded. 16 | - **Pass**: sample has correct metrics. 17 | 18 | Only samples defined as **Likely normal** and **Pass** have been included in this data release as the other categories should be discarded from further analyses. Profiles being flagged as **Likely normal** should carefully be interpreted as those do not show evidence of copy-number changes and have a high purity. They could therefore either be true CNA profiles from pure tumours (*e.g.* flat profile for AML) or tumour purity is so low (*e.g.* <20%) that ASCAT fitted the CNA profile on the germline. 19 | 20 | After QC, we applied the following strategy to pick one representative sample per case: 21 | - **Pass** were prioritised over **Likely normal** samples. 22 | - Primary tumours were prioritised over recurrences/metastases. 23 | - Blood-derived normals were prioritised over adjacent normal tissues. 24 | - If at least 3 samples were available, we computed Manhattan distances between profiles and selected the two having the minimum distance amongst all samples. 25 | - A consensus quality score was derived based on three features: tumour purity (the higher the better), tumour MAPD (the lower the better) and goodness of fit (the higher the better; GoF). Each feature grants one point and sample with highest score was selected. 26 | - In case of a tie between the two samples, we defined an agreement in MAPD when absolute difference between the two samples was below 0.1 and an agreement in GoF when absolute difference between the two samples was below 5%. 27 | - If there was an agreement in MAPD but not in GoF, sample with highest GoF was selected. 28 | - If there was an agreement in GoF but not in MAPD, sample with lowest MAPD was selected. 29 | - Otherwise, a random sample was selected. -------------------------------------------------------------------------------- /ReleasedData/TCGA_SNP6_hg38/segments.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VanLoo-lab/ascat/03bd92ba27b20cf70edcd590d58cc8a29963546e/ReleasedData/TCGA_SNP6_hg38/segments.tar.gz -------------------------------------------------------------------------------- /man/ASCAT-manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VanLoo-lab/ascat/03bd92ba27b20cf70edcd590d58cc8a29963546e/man/ASCAT-manual.pdf --------------------------------------------------------------------------------