# NOT RUN {
# }
# NOT RUN {
data.file <- system.file("extdata", "example.seqz.txt.gz", package = "sequenza")
# read all the chromosomes:
seqz.data <- read.seqz(data.file)
# Gather genome wide GC-stats from raw file:
gc.stats <- gc.sample.stats(data.file)
gc.vect <- setNames(gc.stats$raw.mean, gc.stats$gc.values)
# Read only one chromosome:
seqz.data <- read.seqz(data.file, chr.name = 1)
# Correct the coverage of the loaded chromosome:
seqz.data$adjusted.ratio <- seqz.data$depth.ratio /
gc.vect[as.character(seqz.data$GC.percent)]
# Select the heterozygous positions
seqz.hom <- seqz.data$zygosity.normal == 'hom'
seqz.het <- seqz.data[!seqz.hom, ]
# Detect breakpoints
breaks <- find.breaks(seqz.het, gamma = 80, kmin = 10, baf.thres = c(0, 0.5))
# use heterozygous and homozygous position to measure segment values
seg.s1 <- segment.breaks(seqz.data, breaks = breaks)
# filter out small ambiguous segments, and conveniently weight the segments by size:
seg.filtered <- seg.s1[(seg.s1$end.pos - seg.s1$start.pos) > 10e6, ]
weights.seg <- 150 + round((seg.filtered$end.pos -
seg.filtered$start.pos) / 1e6, 0)
# get the genome wide mean of the normalized depth ratio:
avg.depth.ratio <- mean(gc.stats$adj[,2])
# run the BAF model fit
CP <- baf.model.fit(Bf = seg.filtered$Bf, depth.ratio = seg.filtered$depth.ratio,
weight.ratio = weights.seg,
weight.Bf = weights.seg,
avg.depth.ratio = avg.depth.ratio,
cellularity = seq(0.1,1,0.01),
ploidy = seq(0.5,3,0.05))
confint <- get.ci(CP)
ploidy <- confint$max.ploidy
cellularity <- confint$max.cellularity
#detect copy number alteration on the segments:
cn.alleles <- baf.bayes(Bf = seg.s1$Bf, depth.ratio = seg.s1$depth.ratio,
cellularity = cellularity, ploidy = ploidy,
avg.depth.ratio = 1)
head(cbind(seg.s1, cn.alleles))
# create mutation table:
mut.tab <- mutation.table(seqz.data, mufreq.treshold = 0.15,
min.reads = 40, max.mut.types = 1,
min.type.freq = 0.9, segments = seg.s1)
mut.tab.clean <- na.exclude(mut.tab)
# Detect mutated alleles:
mut.alleles <- mufreq.bayes(mufreq = mut.tab.clean$F,
depth.ratio = mut.tab.clean$adjusted.ratio,
cellularity = cellularity, ploidy = ploidy,
avg.depth.ratio = avg.depth.ratio)
head(cbind(mut.tab.clean[,c("chromosome","position","F",
"adjusted.ratio", "mutation")],
mut.alleles))
# }
Run the code above in your browser using DataLab