Nothing
## ----macro, echo=FALSE--------------------------------------------------------
library(BiocStyle)
## ----setup, include=FALSE-----------------------------------------------------
# I can measure the timing of all the chunks
knitr::knit_hooks$set(timeit = local({
now = NULL
function(before, options) {
if (before) {
now <<- Sys.time()
} else {
res = difftime(Sys.time(), now)
now <<- NULL
# use options$label if you want the chunk label as well
paste('Time for this code chunk:', as.character(res))
}
}})
)
## ----chunk1, echo=TRUE, eval=TRUE , message=FALSE, warning=FALSE , timeit=NULL----
library(PrecisionTrialDrawer)
library(knitr)
data(panelexample)
knitr::kable(panelexample)
## ----chunk2, echo=TRUE , eval=TRUE, message=TRUE, warning=FALSE, timeit=NULL----
mypanel <- newCancerPanel(panelexample)
## ----chunk2_b, echo=FALSE, eval=TRUE, message=TRUE, warning=FALSE, timeit=NULL----
# Keep a copy of this object in this status
mypanel2 <- mypanel
## ----chunk2_h, echo=TRUE, eval=FALSE, message=FALSE, warning=FALSE,timeit=NULL----
# # Connect to US east coast server
# # The default is www.ensembl.org
# mypanel <- newCancerPanel(panelexample , myhost="uswest.ensembl.org")
## ----chunk_rules, timeit=NULL-------------------------------------------------
rules <- data.frame(
drug=c("Erlotinib" , "Erlotinib", "Erlotinib","Erlotinib","Olaparib")
, gene_symbol=c("EGFR" , "KRAS", "" , "", "")
, alteration=c("SNV" , "SNV", "" , "", "")
, exact_alteration=c("amino_acid_variant" , "", "" , "", "")
, mutation_specification=c("T790M" , "" , "" , "", "")
, group=c("Driver" , "Driver", "Driver" , "Driver", "Driver")
, tumor_type=c("luad" , "luad" , "luad" , "coadread","brca")
, in_out=c("exclude" , "exclude" , "include" , "include" , "include")
, stringsAsFactors = FALSE
)
knitr::kable(rules)
## ----chunk2_e, echo=TRUE, eval=FALSE, message=FALSE, warning=FALSE,timeit=NULL----
# mypanel_exclude <- newCancerPanel(panelexample
# , myhost="uswest.ensembl.org"
# , rules = rules)
## ----chunk_rules2, timeit=NULL------------------------------------------------
knitr::kable(rules[1:2 , ])
## ----chunk_rules3, timeit=NULL------------------------------------------------
knitr::kable(rules[3:5 , ])
## ----chunk3, echo=TRUE , eval=FALSE, message=TRUE, warning=FALSE, timeit=NULL----
# # Check available tumor types
# knitr::kable( head(showTumorType()) , row.names=FALSE)
# # Fetch data from breast cancer and lung adenocarcinoma samples
# mypanel <- getAlterations(mypanel , tumor_type=c("brca" , "luad"))
# # See the updated slot dataFull for mutations
# str( cpData(mypanel)$mutations , vec.len = 1)
## ----chunk3_b, echo=FALSE , eval=TRUE, message=TRUE, warning=FALSE,timeit=NULL----
# Check available tumor types
knitr::kable( head(showTumorType()) , row.names=FALSE)
# Fetch data from breast cancer and lung adenocarcinoma samples
data(cpObj)
mypanel <- cpObj
# See the updated slot dataFull for mutations
str( cpData(mypanel)$mutations , vec.len = 1)
rm(cpObj)
## ----sct,echo=TRUE,eval=FALSE,message=FALSE,warning=FALSE,timeit=NULL---------
# # Check available tumor types
# knitr::kable( showCancerStudy(c("brca","luad")) , row.names = FALSE )
# # Fetch data from breast cancer and lung adenocarcinoma samples
# mypanel_alternative <- getAlterations(mypanel
# , tumor_type=c("luad_tcga_pan_can_atlas_2018"
# , "brca_tcga_pan_can_atlas_2018"))
## ----chunk4,echo=TRUE,eval=TRUE,message=FALSE,warning=FALSE,timeit=NULL-------
# Extract the data from the panel as a toy example.
repos <- lapply(cpData(mypanel) , '[' , c('data' , 'Samples'))
# How custom data should look like
str(repos , vec.len=1)
## ----chunk4_bis,echo=TRUE,eval=FALSE,message=FALSE,warning=FALSE,timeit=NULL----
# # Use custom data in a new CancerPanel object
# mypanel_toy <- newCancerPanel(panelexample)
# mypanel_toy <- getAlterations(mypanel_toy , repos=repos)
## ----chunk4_b,echo=FALSE,eval=TRUE,message=FALSE,warning=FALSE,timeit=NULL----
# Use custom data in a new CancerPanel object
mypanel_toy <- mypanel2
mypanel_toy <- getAlterations(mypanel_toy , repos=repos)
## ----append,echo=TRUE,eval=FALSE,message=FALSE,warning=FALSE,timeit=NULL------
# # Add two mutations from two different samples for breast cancer
# newmutations <- data.frame(
# entrez_gene_id=c(7157 , 7157)
# ,gene_symbol=c("TP53" , "TP53")
# ,case_id=c("new_samp1" , "new_samp2")
# ,mutation_type=c("Nonsense_Mutation" , "Nonsense_Mutation")
# ,amino_acid_change=c("R306*" , "Y126*")
# ,genetic_profile_id=c("mynewbreaststudy" , "mynewbreaststudy")
# ,tumor_type=c("brca" , "brca")
# ,amino_position=c(306 , 126)
# ,genomic_position=c("17:7577022:G,A" , "17:7578552:G,C")
# ,stringsAsFactors=FALSE
# )
# newsamples <- c("new_samp1" , "new_samp2")
# # A dataFull slot style list should look like this
# toBeAdded <- list(fusions=list(data=NULL , Samples=NULL)
# , mutations=list(data=newmutations
# , Samples=list(brca=newsamples))
# , copynumber=list(data=NULL , Samples=NULL)
# , expression=list(data=NULL , Samples=NULL)
# )
# new_panel <- appendRepo(mypanel_toy , toBeAdded)
## ----filter,echo=TRUE,eval=FALSE,message=FALSE,warning=FALSE,timeit=NULL------
# # Create a bedfile
# bed <- data.frame(chr = paste0("chr" , c(7 , 17))
# , start = c(140534632 , 41244326)
# , end = c(140534732 , 41244426)
# , stringsAsFactors=FALSE)
# knitr::kable(bed , row.names=FALSE)
# # Apply the filter
# # You can decide to exclude or keep only the mutations in the bed file
# new_panel <- filterMutations(mypanel_toy , bed = bed , mode = "exclude")
# # Filtering can be also tumor-wise
# new_panel <- filterMutations(mypanel_toy , bed = bed
# , mode = "exclude" , tumor_type="brca")
## ----chunk5,echo=FALSE,eval=TRUE,message=FALSE,warning=FALSE,timeit=NULL------
rm(mypanel_toy)
# rm(new_panel)
## ----chunk6,echo=TRUE,eval=FALSE,message=FALSE,warning=FALSE,timeit=NULL------
# # Subset the alterations using panel information
# mypanel <- subsetAlterations(mypanel)
# # See the updated slot dataSubset
# str( cpDataSubset(mypanel) , vec.len = 1)
## ----echo=TRUE,eval=TRUE,message=FALSE,warning=FALSE,timeit=NULL--------------
mypanel_exclude <- mypanel
mypanel_exclude <- subsetAlterations(mypanel_exclude
, rules=rules)
## ----plot1, echo=TRUE, eval=TRUE , timeit=NULL--------------------------------
coveragePlot(mypanel
, alterationType=c("mutations" , "expression" , "copynumber" , "fusions")
, grouping="tumor_type")
## ----chunk7 , echo=TRUE , eval=TRUE , timeit=NULL-----------------------------
# Same command, but we ask for no plot, just the statistics
covStats <- coveragePlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping="tumor_type"
, noPlot=TRUE)
# Proportion of covered samples by at least one alteration
atLeastOne <- covStats$plottedTable[ , 1]/covStats$Samples
## ----plot2 , echo=TRUE , eval=TRUE , timeit=NULL------------------------------
# We add a new grouping variable, 'group'
coveragePlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping=c("tumor_type" , "group")
)
## ----chunk8 , echo=FALSE , eval=TRUE , timeit=NULL----------------------------
# Same command as above, but we ask for no plot, just the statistics
covStats2 <- coveragePlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping=c("tumor_type" , "group")
, noPlot=TRUE)
# Proportion of covered samples by at least one actionable alteration
atLeastOne2 <- covStats2$plottedTable[ , 1]/covStats2$Samples
## ----plotStack,echo=TRUE,eval=TRUE,timeit=NULL--------------------------------
# the stacked coverage plot requires:
# 'var' parameter (that selects the bars)
# 'grouping' parameter (that selects the stratification variable, optional)
# 'tumor_type' parameter (to select one or more tumor type, optional)
par(mfrow=c(2,1))
coverageStackPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, var="drug"
, grouping="gene_symbol"
, tumor_type="brca"
)
coverageStackPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, var="drug"
, grouping="gene_symbol"
, tumor_type="luad"
)
## ----statsStack , echo=FALSE , eval=TRUE, timeit=NULL-------------------------
stackStats <- lapply(c("brca" , "luad") , function(x) {
coverageStackPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, var="drug"
, grouping="gene_symbol"
, tumor_type=x
,noPlot=TRUE)
})
freqGene <- lapply(stackStats , function(x) {
rowSums(x$plottedTable)/x$Samples['all_tumors']})
freqDrug <- lapply(stackStats , function(x) {
x$plottedTable['Total' , ]/x$Samples['all_tumors']})
names(freqGene) <- c("brca" , "luad")
names(freqDrug) <- c("brca" , "luad")
olaparib <- sapply(freqDrug , '[' , 'Total Olaparib')
## ----plotStackHTML1,echo=TRUE,eval=TRUE,timeit=NULL---------------------------
# Add parameter html=TRUE
myHTMLPlot <- coverageStackPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, var="drug"
, grouping="gene_symbol"
, html=TRUE)
## ----plotStackHTML2 , echo=TRUE , eval=FALSE, timeit=NULL---------------------
# # The plot is not displayed immediately to allow the user
# # to embed it in markdown document or web page
# # Now run plot
# plot(myHTMLPlot)
## ----plotStackHTMLshow,echo=FALSE,eval=TRUE,results='asis',timeit=NULL--------
# Print is the actual command that works inside a Rmd
# Plot is the one to use in case you are on a R console
print(myHTMLPlot , tag="chart")
## ----plotStack_exclude,echo=TRUE,eval=TRUE,timeit=NULL------------------------
# First plot with exclude activated, second without
par(mfrow=c(2,1))
coverageStackPlot(mypanel_exclude
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, var="drug"
, grouping=NA
, tumor_type="luad"
)
coverageStackPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, var="drug"
, grouping=NA
, tumor_type="luad"
)
## ----plot3 , echo=TRUE , eval=TRUE, timeit=NULL-------------------------------
# Saturation plot by adding one gene at a time divided by tumor type
saturationPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping="tumor_type"
, adding="gene_symbol"
)
## ----chunk9 , echo=TRUE , eval=TRUE, timeit=NULL------------------------------
# As always, we can ask for the statistics with the option noPlot
satStats <- saturationPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping="tumor_type"
, adding="gene_symbol"
, noPlot=TRUE
)
# Retrieve all the genes of the panel
panelGenes <- unique( cpArguments(mypanel)$panel$gene_symbol )
# Look for the ones that are not present in the plot with a simple setdiff
missingGenes <- sapply( c("brca" , "luad") , function(x) {
setdiff( panelGenes
, satStats[ satStats$grouping==x , "gene_symbol2" ] )
})
# Print out
missingGenes
## ----plot4 , echo=TRUE , eval=TRUE, timeit=NULL-------------------------------
# Saturation plot by adding one drug at a time divided by tumor type
saturationPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping="tumor_type"
, adding="drug"
, y_measure="absolute"
)
## ----plot5 , echo=TRUE , eval=TRUE , timeit=NULL------------------------------
# One tumor at a time, we draw a stack plot of drug without stratification
par(mfrow=c(2,1))
coverageStackPlot(mypanel , var="drug"
, grouping=NA , tumor_type="brca" , collapseByGene=TRUE)
coverageStackPlot(mypanel , var="drug"
, grouping=NA , tumor_type="luad" , collapseByGene=TRUE)
## ----parToNormal, echo=FALSE , eval=TRUE, timeit=NULL-------------------------
par(mfrow=c(1,1))
## ----plot6 , echo=TRUE , eval=TRUE , timeit=NULL------------------------------
# coocMutexPlot of drug divided by tumor type
coocMutexPlot(mypanel
, alterationType=c("mutations" , "expression" , "copynumber" , "fusions")
, grouping="tumor_type"
, var="drug")
## ----plot7 , echo=TRUE , eval=TRUE , timeit=NULL------------------------------
# coocMutexPlot of genes divided by tumor type
# To avoid plotting gene pairs with no significance, we set parameter plotrandom
coocMutexPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping="tumor_type"
, var="gene_symbol"
, plotrandom=FALSE
)
## ----plotDendro,echo=TRUE,eval=TRUE, timeit=NULL------------------------------
# coocMutexPlot of drugs divided by tumor type
# Style set to dendro
coocMutexPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping="tumor_type"
, var="drug"
, style="dendro"
)
## ----chunk10,echo=TRUE,eval=TRUE,timeit=NULL----------------------------------
# coocMutexPlot of genes divided by tumor type
coocMutexStats <- coocMutexPlot(mypanel
, alterationType=c("mutations" , "expression"
, "copynumber" , "fusions")
, grouping="tumor_type"
, var="drug"
, noPlot=TRUE
)
knitr::kable(head(coocMutexStats) , digits = 3)
## ----chunkInvisible , echo=FALSE , eval=TRUE , timeit=NULL--------------------
idx <- coocMutexStats$sp1_name=="Idelalisib" &
coocMutexStats$sp2_name=="Olaparib" & coocMutexStats$grouping=="brca"
idx2 <- coocMutexStats$sp2_name=="Idelalisib" &
coocMutexStats$sp1_name=="Olaparib" & coocMutexStats$grouping=="brca"
olapstats <- coocMutexStats[idx | idx2 , , drop=TRUE]
## ----extract,echo=TRUE,eval=TRUE,timeit=NULL----------------------------------
#Extract mutations from BRCA tumor type
myData <- dataExtractor(mypanel , alterationType = "mutations"
, tumor_type = "brca")
# Check the format
str(myData)
## ----customplot,echo=TRUE,eval=TRUE,timeit=NULL-------------------------------
#Extract drug samples couples
dataDrug <- unique(myData$data[ , c("case_id" , "drug")])
# Retrieve all screened samples
samps <- myData$Samples$all_tumors
# Calculate number of drugs per patient (we consider also non altered samples)
drugsPerPatient <- table( factor(dataDrug$case_id , levels = samps) )
# Now in terms of frequency
drugsPerPatientFreq <- table(drugsPerPatient)/length(samps)
# Ready to plot
barplot(drugsPerPatientFreq , ylim = c(0,1)
, main="Patients with 0, 1, 2... molecular targets"
, col="darkcyan")
## ----panOpt , echo=TRUE , eval=FALSE, timeit=NULL-----------------------------
# panOpt <- panelOptimizer(mypanel)
## ----chunkSurv1 , echo=TRUE , eval=TRUE , timeit=NULL-------------------------
survPowerSampleSize(mypanel
, HR = c(0.625 , 0.5 , 0.4 , 0.3)
, power = seq(0.6 , 0.9 , 0.1)
, alpha = 0.05
, ber = 0.9
, fu = 3
, case.fraction = 0.5
)
## ----chunkSurv2 , echo=TRUE , eval=TRUE , timeit=NULL-------------------------
# Add option noPlot to retrieve results as dataframe
sampSize <- survPowerSampleSize(mypanel
, HR = c(0.625 , 0.5 , 0.4 , 0.3)
, power = seq(0.6 , 0.9 , 0.1)
, alpha = 0.05
, ber = 0.9
, fu = 3
, case.fraction = 0.5
, noPlot=TRUE
)
knitr::kable(sampSize[ sampSize$HazardRatio==0.5 , ] , row.names = FALSE)
## ----chunkSurv3 , echo=TRUE , eval=TRUE , timeit=NULL-------------------------
# Calculate power from sample size at screening
survPowerSampleSize(mypanel
, HR = 0.5
, sample.size = sampSize[ sampSize$HazardRatio==0.5 , "ScreeningSampleSize"]
, alpha = 0.05
, ber = 0.9
, fu = 3
, case.fraction = 0.5
)
## ----chunkSurv3invisible , echo=FALSE , eval=TRUE , timeit=NULL---------------
# Calculate power from sample size at screening
survSampInv <- survPowerSampleSize(mypanel
, HR = 0.5
, sample.size = sampSize[ sampSize$HazardRatio==0.5 , "ScreeningSampleSize"]
, alpha = 0.05
, ber = 0.9
, fu = 3
, case.fraction = 0.5
, noPlot=TRUE
)
## ----chunkSurv4 , echo=TRUE , eval=TRUE , timeit=NULL-------------------------
# Calcualte sample size by tumor type
survPowerSampleSize(mypanel
, var = "tumor_type"
, HR = c(0.625 , 0.5 , 0.4 , 0.3)
, power = seq(0.6 , 0.9 , 0.1)
, alpha = 0.05
, ber = 0.9
, fu = 3
, case.fraction = 0.5
)
## ----chunkSurv5 , echo=TRUE , eval=TRUE , timeit=NULL-------------------------
# Calcualte sample size by drug
# Visualize only "Olaparib" and "Idelalisib"
survPowerSampleSize(mypanel
, var = "drug"
, stratum = c("Olaparib" , "Idelalisib")
, HR = c(0.625 , 0.5 , 0.4 , 0.3)
, power = seq(0.6 , 0.9 , 0.1)
, alpha = 0.05
, ber = 0.9
, fu = 3
, case.fraction = 0.5
)
## ----prior1 , echo=TRUE , eval=TRUE , timeit=NULL-----------------------------
drugs4 <- c("Idelalisib" , "Olaparib" , "Trastuzumab" , "Vandetanib")
prior4drugs <- survPowerSampleSize(mypanel
, var = "drug"
, priority.trial = drugs4
, priority.trial.order="optimal"
, HR = 0.5
, power = 0.8
, noPlot = TRUE
)
prior4drugs
## ----prior2 , echo=TRUE , eval=TRUE , timeit=NULL-----------------------------
# We use stratum to create a design with only four drugs
fullDesign <- survPowerSampleSize(mypanel
, var = "drug"
, stratum = drugs4
, HR = 0.5
, power = 0.8
, noPlot = TRUE)
knitr::kable(fullDesign)
## ----prior3 , echo=TRUE , eval=TRUE , timeit=NULL-----------------------------
sum(fullDesign[fullDesign$Var %in% drugs4 , "ScreeningSampleSize"])
## ----prior4 , echo=TRUE , eval=TRUE , timeit=NULL-----------------------------
# Extract the number of samples calculated with priority.trial
sizePrior4Drugs <- prior4drugs[[1]]$Summary["Screened" , "Total"]
# Calculate post-hoc power, given sample.size
postHocPower <- survPowerSampleSize(mypanel
, var = "drug"
, stratum = drugs4
, HR = 0.5
, sample.size = sizePrior4Drugs
, noPlot = TRUE)
postHocPower[ postHocPower$Var=="Full Design" , "Power"]
## ----basket1 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
coverageStackPlot(mypanel , var="drug"
, grouping=NA , collapseByGene=TRUE)
## ----basket1Hidden , echo=FALSE , eval=TRUE, timeit=NULL----------------------
#we use this to calculate inline stuff
covstackdrug <- coverageStackPlot(mypanel , var="drug" , grouping=NA
, collapseByGene=TRUE , noPlot=TRUE)
## ----basket2 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
coverageStackPlot(mypanel , var="drug"
, grouping=NA , collapseByGene=TRUE
, tumor.freqs=c(brca=0.5 , luad=0.5))
## ----basket2Hidden , echo=FALSE , eval=TRUE, timeit=NULL----------------------
covstackdrug2 <- coverageStackPlot(mypanel , var="drug"
, grouping=NA , collapseByGene=TRUE
, tumor.freqs=c(brca=0.5 , luad=0.5) , noPlot=TRUE)
## ----basket3 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
# Run cpFreq with and withouth tumor.freqs
flatfreq <- cpFreq(mypanel , alterationType = "mutations")
weightedfreq <- cpFreq(mypanel , alterationType = "mutations"
, tumor.freqs=c(brca=0.5 , luad=0.5) )
## ----basket3show1 , echo=TRUE , eval=TRUE , timeit=NULL-----------------------
# Frequency with no weights
knitr::kable(flatfreq[ flatfreq$gene_symbol=="PIK3CA" , ] , row.names=FALSE)
## ----basket3show2 , echo=TRUE , eval=TRUE , timeit=NULL-----------------------
# Frequency with balanced weights
knitr::kable(weightedfreq[ weightedfreq$gene_symbol=="PIK3CA" , ]
, row.names=FALSE)
## ----basket4 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
samplefreqs <- cpFreq(mypanel , alterationType = "mutations"
, tumor.weights=c(brca=50 , luad=40))
knitr::kable(samplefreqs[ samplefreqs$gene_symbol=="PIK3CA" , ]
, row.names=FALSE)
## ----basket5 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
# Run cpFreq 20 times
samplefreqsboot <- replicate( 20
, cpFreq(mypanel , alterationType = "mutations"
, tumor.weights=c(brca=50 , luad=40))
, simplify=FALSE)
# Extract PIK3CA frequency in the 20 runs
pik3caboot <- sapply(samplefreqsboot , function(x) {
x[x$gene_symbol=="PIK3CA" , "freq"]})
## ----basket6 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
# calculate mean and sd of PIK3CA frequency distribution
avgpik3ca <- mean(pik3caboot)
sdpik3ca <- sd(pik3caboot)
# Plot the distribution
title <- paste("PIK3CA frequency distribution with 50 BRCA and 40 LUAD samples"
, paste("Mean:" , round(avgpik3ca , 3))
, paste("SD:" , round(sdpik3ca , 3))
, sep="\n")
# draw a simple histogram. the red line shows the mean value
hist(pik3caboot , col="cadetblue" , breaks=30
, main=title , xlab="Frequencies of resampling")
abline(v = avgpik3ca , col="red" , lwd=3 , xpd=FALSE)
## ----basket7 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
# Write a simple function to calculate confidence interval of a proportion
CI <- function(x){
left <- quantile(x , 0.025)
right <- quantile(x , 0.975)
return(c(left , right))
}
# Create a small data.frame to summarize everything
pik3caSummary <- data.frame(Gene = "PIK3CA"
, AverageMutationRate = round(avgpik3ca , 3)
, SDMutationRate = round(sdpik3ca , 3)
, MaxMutationRate = round(max(pik3caboot)[1] , 3)
, MinMutationRate = round(min(pik3caboot)[1] , 3)
, CI = paste( round( CI(pik3caboot) , 3) , collapse=" - "))
knitr::kable(pik3caSummary , row.names=FALSE)
## ----basket8 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
# We want to know how many samples we will need under
# HR = 2
# power = 0.8
survboot <- replicate( 10
, survPowerSampleSize(mypanel
, var="gene_symbol"
, alterationType = "mutations"
, HR=2
, power=0.8
, tumor.weights=c(brca=50 , luad=40)
, noPlot=TRUE)
, simplify=FALSE)
# Extract PIK3CA results
survbootpik3ca <- sapply(survboot , function(x) {
x[ x$Var=="PIK3CA" , "ScreeningSampleSize"]} )
## ----basket9 , echo=TRUE , eval=TRUE , timeit=NULL----------------------------
# Create a small data.frame to summarize
# everything (we round up to integer values)
survSummary <- data.frame(Gene = "PIK3CA"
, Mean.Screen.Samp.Size = round(mean(survbootpik3ca))
, SD.Screen.Samp.Size = round(sd(survbootpik3ca))
, Max.Screen.Samp.Size = round(max(survbootpik3ca)[1])
, Min.Screen.Samp.Size = round(min(survbootpik3ca)[1])
, CI = paste( round( CI(survbootpik3ca)) , collapse=" - "))
knitr::kable(survSummary , row.names=FALSE)
## ----chunk11 , echo=TRUE , eval=FALSE , message=FALSE, timeit=NULL------------
# # Design our panel in full with no padding
# # length and merge window equal to 100 bp
# mydesign <- panelDesigner(mypanel
# , padding_length=0
# , merge_window=100)
## ----chunk11_bis , echo=FALSE , eval=TRUE , message=FALSE, timeit=NULL--------
# Design our panel in full with no padding
# length and merge window equal to 100 bp
data(cpDesign)
mydesign <- cpDesign
str(mydesign , vec.len=1)
## ----chunk12 , echo=TRUE , eval=TRUE , message=FALSE, timeit=NULL-------------
# Retrieve the panel in bed format
bedPanel <- mydesign$BedStylePanel
head(bedPanel)
## ----chunk12_bis , echo=TRUE , eval=TRUE , message=FALSE, timeit=NULL---------
# Calculate genomic space in kilo bases
sum( bedPanel$end - bedPanel$start )/100
## ----chunk13 , echo=TRUE , eval=FALSE , message=FALSE, timeit=NULL------------
# # Design the panel for mutations
# myMutationDesign <- panelDesigner(mypanel
# , alterationType="mutations"
# , padding_length=0
# , merge_window=100)
## ----info,echo=TRUE,eval=TRUE, timeit=NULL------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.