## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----------------------------------------------------------------------------- library(SelectSim) library(dplyr) if (requireNamespace("tictoc", quietly = TRUE)) library(tictoc) ## Load the data provided with the package data(luad_maf, package = "SelectSim") data(oncokb_genes, package = "SelectSim") data(oncokb_truncating_genes, package = "SelectSim") data(variant_catalogue, package = "SelectSim") ## ----------------------------------------------------------------------------- # Check the MAF dim(luad_maf) ## ----------------------------------------------------------------------------- input_maf <- luad_maf print(paste('##### Number of lines ####',nrow(input_maf),sep="->")) genes_to_consider = oncokb_genes print(paste('##### Number of genes ####',length(genes_to_consider),sep="->")) ## ----------------------------------------------------------------------------- mutation_type = list( 'ignore' = c("Silent","Intron","RNA","3'UTR","5'UTR","5'Flank","3'Flank","IGR"), 'truncating'= c('Frame_Shift_Del','Frame_Shift_Ins','In_Frame_Del','In_Frame_Ins','Nonsense_Mutation','Nonstop_Mutation','Splice_Region','Splice_Site','Translation_Start_Site'), 'missense' = c('Missense_Mutation') ) custom_maf_schema = list( 'name' = 'custom_maf', 'column' = list( 'gene' = 'Hugo_Symbol' , 'gene.name' = 'Hugo_Symbol' , 'sample' = 'sample' , 'sample.name' = 'sample' , 'mutation.type' = 'Variant_Classification' , 'mutation' = 'HGVSp_Short' ), 'mutation.type' = mutation_type ) ## ----------------------------------------------------------------------------- mut_samples = unique(input_maf[, custom_maf_schema$column$sample]) print(paste('##### Number of samples ####',length(mut_samples),sep="->")) ## ----------------------------------------------------------------------------- maf_genes = filter_maf_gene.name(input_maf, genes = genes_to_consider, gene.col = custom_maf_schema$column$gene) print(paste('##### Number of lines ####',nrow(maf_genes),sep="->")) ## ----------------------------------------------------------------------------- # Creating Truncating GAM if (requireNamespace("tictoc", quietly = TRUE)) tictoc::tic('##### Creating Truncating GAM ####') maf_trunc = filter_maf_truncating(maf_genes,genes=oncokb_truncating_genes, custom_maf_schema) input_maf_trunc<-filter_maf_truncating(input_maf, custom_maf_schema) truncating_tmb <- data.frame('sample'=mut_samples,'mutation'=rep(0,length(mut_samples))) rownames(truncating_tmb)<-mut_samples temp <- input_maf_trunc %>% count(sample) rownames(temp)<-temp$sample truncating_tmb[intersect(truncating_tmb$sample,temp$sample),]$mutation <-temp[intersect(truncating_tmb$sample,temp$sample),'n'] tcga_truc_gam = maf2gam(maf_trunc, sample.col = custom_maf_schema$column$sample, gene.col = custom_maf_schema$column$gene, value.var = 'Variant_Classification', samples = mut_samples, genes = genes_to_consider, fun.aggregate = length, binarize=TRUE, fill=0) truncating_data <- list('gam'=tcga_truc_gam, 'tmb'=truncating_tmb) if (requireNamespace("tictoc", quietly = TRUE)) tictoc::toc() ## ----------------------------------------------------------------------------- # Creating Missense GAM if (requireNamespace("tictoc", quietly = TRUE)) tictoc::tic('##### Creating Missense GAM ####') maf_valid = filter_maf_schema(input_maf, schema = custom_maf_schema, column = 'mutation.type', values = custom_maf_schema[['mutation.type']][['ignore']], inclusive = FALSE) missense_maf<-filter_maf_mutation.type(input_maf, variants = 'Missense_Mutation', variant.col = custom_maf_schema$column$mutation.type) missense_tmb <- data.frame('sample'=mut_samples,'mutation'=rep(0,length(mut_samples))) rownames(missense_tmb)<-mut_samples temp <- missense_maf %>% count(sample) rownames(temp)<-temp$sample missense_tmb[intersect(missense_tmb$sample,temp$sample),]$mutation <-temp[intersect(missense_tmb$sample,temp$sample),'n'] t_m = substr(maf_valid[[custom_maf_schema$column$mutation]],3,1000) t_m1 = gsub('[A-Z]*$', '', t_m) maf_valid$HGVSp_Short_fixed = t_m1 maf_hotspot = filter_maf_mutations(maf_valid, variant_catalogue, maf.col = c(custom_maf_schema$column$gene, 'HGVSp_Short_fixed'), values.col = c('gene', 'mut')) missense_tcga_gam = maf2gam(maf_hotspot, sample.col = custom_maf_schema$column$sample, gene.col = custom_maf_schema$column$gene, value.var = 'Variant_Classification', samples = mut_samples, genes = genes_to_consider, fun.aggregate = length, binarize=TRUE, fill=0) missesne_data <- list('gam'=missense_tcga_gam, 'tmb'=missense_tmb) if (requireNamespace("tictoc", quietly = TRUE)) tictoc::toc() ## ----------------------------------------------------------------------------- gene_to_take <- colnames(missesne_data$gam) order <- rownames(missesne_data$gam) data <-list('M'=list('missense'=t(missesne_data$gam[order,gene_to_take]), 'truncating'=t(truncating_data$gam[rownames(missesne_data$gam[order,]),gene_to_take])), 'tmb'=list('missense'=missesne_data$tmb[order,], 'truncating'=truncating_data$tmb[order,])) alteration_covariates <- rep('MUT',ncol(missesne_data$gam[order,gene_to_take])) names(alteration_covariates)<-colnames(missesne_data$gam[order,gene_to_take]) sample_covariates<-rep('LUAD',length(order)) names(sample_covariates)<-order run_data <- list('M'=data,'sample.class' = sample_covariates,'alteration.class' = alteration_covariates) str(run_data) ## ----------------------------------------------------------------------------- # Print the sessionInfo sessionInfo()