inst/doc/VariantTools.R

### R code from vignette source 'VariantTools.Rnw'

###################################################
### code chunk number 1: <options
###################################################
options(width=72)


###################################################
### code chunk number 2: callVariants
###################################################
library(VariantTools)
bams <- LungCancerLines::LungCancerBamFiles()
bam <- bams$H1993
if (requireNamespace("gmapR", quietly=TRUE)) {
    p53 <- gmapR:::exonsOnTP53Genome("TP53")
    tally.param <- TallyVariantsParam(gmapR::TP53Genome(), 
                                      high_base_quality = 23L,
                                      which = range(p53) + 5e4,
                                      indels = TRUE, read_length = 75L)
    called.variants <- callVariants(bam, tally.param)
} else {
    data(vignette)
    called.variants <- callVariants(tallies_H1993)
}


###################################################
### code chunk number 3: callVariants-postFilter
###################################################
pf.variants <- postFilterVariants(called.variants)


###################################################
### code chunk number 4: callVariants-exonic
###################################################
subsetByOverlaps(called.variants, p53, ignore.strand = TRUE)


###################################################
### code chunk number 5: tallyVariants
###################################################
if (requireNamespace("gmapR", quietly=TRUE)) {
    tallies_H1993 <- tallyVariants(bam, tally.param)
}


###################################################
### code chunk number 6: qaVariants
###################################################
qa.variants <- qaVariants(tallies_H1993)
summary(softFilterMatrix(qa.variants))


###################################################
### code chunk number 7: callVariants
###################################################
called.variants <- callVariants(qa.variants)


###################################################
### code chunk number 8: VariantQAFilters
###################################################
qa.filters <- VariantQAFilters()


###################################################
### code chunk number 9: VariantQAFilters-summary
###################################################
summary(qa.filters, tallies_H1993)


###################################################
### code chunk number 10: VariantQAFilters-subset
###################################################
qa.variants <- subsetByFilter(tallies_H1993, qa.filters)


###################################################
### code chunk number 11: VariantQAFilters-fisherStrandP
###################################################
qa.filters.custom <- VariantQAFilters(fisher.strand.p.value = 1e-4)
summary(qa.filters.custom, tallies_H1993)


###################################################
### code chunk number 12: VariantQAFilters-compare
###################################################
fs.original <- eval(qa.filters["fisherStrand"], tallies_H1993) 
fs.custom <- eval(qa.filters.custom["fisherStrand"], tallies_H1993)
tallies_H1993[fs.original != fs.custom]


###################################################
### code chunk number 13: VariantQAFilters-mask
###################################################
if (requireNamespace("gmapR", quietly=TRUE)) {
    tally.param@mask <- GRanges("TP53", IRanges(1010000, width=10000))
    tallies_masked <- tallyVariants(bam, tally.param)
}


###################################################
### code chunk number 14: VariantCallingFilters
###################################################
calling.filters <- VariantCallingFilters()
summary(calling.filters, qa.variants)


###################################################
### code chunk number 15: post-filter
###################################################
post.filters <- VariantPostFilters()
summary(post.filters, qa.variants)


###################################################
### code chunk number 16: post-filter-whitelist
###################################################
post.filters <- VariantPostFilters(whitelist = called.variants)
summary(post.filters, qa.variants)


###################################################
### code chunk number 17: callSomaticMutations
###################################################
if (requireNamespace("gmapR", quietly=TRUE)) {
    tally.param@bamTallyParam@indels <- FALSE
    somatic <- callSampleSpecificVariants(bams$H1993, bams$H2073,
                                          tally.param)
} else {
    somatic <- callSampleSpecificVariants(called.variants, tallies_H2073,
                                          coverage_H2073)
}


###################################################
### code chunk number 18: callSomaticMutations-readCount
###################################################
calling.filters <- VariantCallingFilters(read.count = 3L)
if (requireNamespace("gmapR", quietly=TRUE)) {
    somatic <- callSampleSpecificVariants(bams$H1993, bams$H2073, tally.param,
                                          calling.filters = calling.filters,
                                          power = 0.9, p.value = 0.001)
} else {
    called.variants <- callVariants(tallies_H1993, calling.filters)
    somatic <- callSampleSpecificVariants(called.variants, tallies_H2073,
                                          coverage_H2073,
                                          power = 0.9, p.value = 0.001)
}


###################################################
### code chunk number 19: variantGR2VCF
###################################################
sampleNames(called.variants) <- "H1993"
mcols(called.variants) <- NULL
vcf <- asVCF(called.variants)


###################################################
### code chunk number 20: writeVcf (eval = FALSE)
###################################################
## writeVcf(vcf, "H1993.vcf", index = TRUE)


###################################################
### code chunk number 21: callWildtype
###################################################
called.variants <- called.variants[!isIndel(called.variants)]
pos <- c(called.variants, shift(called.variants, 3))
wildtype <- callWildtype(bam, called.variants, VariantCallingFilters(), 
                         pos = pos, power = 0.85)


###################################################
### code chunk number 22: percentageCalled
###################################################
mean(!is.na(wildtype))

Try the VariantTools package in your browser

Any scripts or data that you put into this service are public.

VariantTools documentation built on Nov. 8, 2020, 8:03 p.m.