最先,自身推论denovo的signature,可使用SomaticSignatures 包的identifySignatures涵数,这一实例教程我还在生信专业技能树共享过:应用R包SomaticSignatures开展denovo的signature推论,例如:零元,10钟头课堂教学视頻直播间《跟随百度搜索百度李彦宏学习培训恶性肿瘤遗传基因组测序数据信息剖析》 这一参考文献,科学研究者便是应用R包SomaticSignatures开展denovo的signature推论,取得了1一个自定的signature。
【1】cancer/cga/msp 【2】wiki/Mutational_signatures 【3】articles/s46-z并且我还在实例教程:较为不一样的恶性肿瘤somatic突然变化的signature 也共享了怎样较为不一样方式取得的signature,那样他们的微生物学实际意义便可以联络起來了。
最先R包deconstructSigs能够把自身的96突然变化频带相匹配到cosmic数据信息库的30个突然变化特点这一是超过500M的CSV文档,免费下载后改动姓名,随后读入R,挑选取得SNV突然变化结构域,去相匹配的参照遗传基因组里边获得突然变化左右文,便是 mut.to.sigs.input 涵数:
library(data.table) a=fread('../maf.csv',data.table = F) a[1:4,1:3] colnames(a) mut=a table(mut$Variant_Type) mut=mut[mut$Variant_Type=='SNP',] a=mut[,c(10,2,3,8,9)] colnames(a)=c( "Sample","chr", "pos","ref", "alt") # 下边的 mut.to.sigs.input 涵数只是是必须 SNV的5列信息内容就可以 sigs.input - mut.to.sigs.input(mut.ref = a, sample.id = "Sample", chr = "chr", pos = "pos", ref = "ref", alt = "alt", bsg = BSgenome.Hsapiens.UCSC.hg19)
随后对每一个样版,循环系统运作 whichSignatures 涵数,分辨每一个样版的signature构成:
w=lapply(unique(a$Sample) , function(i){ ## signatures.cosmic signatures.nature2013 sample_1 = whichSignatures(tumor.ref = sigs.input[,], signatures.ref = signatures.cosmic, sample.id = i, contexts.needed = TRUE, tri.counts.method = 'default') print(i) return(sample_1$weights) w=do.call(rbind,w) library(pheatmap) pheatmap(t(w),cluster_rows = F,cluster_cols = T) pheatmap(w,cluster_rows = T,cluster_cols = F) mut.wt=w save(mut.wt,file = 'wgs-mut.wt.Rdata')
这一情况下,能够挑选signatures.cosmic 和 signatures.nature2013,这2个内嵌的signature,例如signatures.cosmic,实际上在互联网文档,signatures_probabilities.txt 能够查询。
R包SomaticSignatures开展denovo的signature推论后的1一个signature便是前边对每一个样版,循环系统运作 whichSignatures 涵数,分辨每一个样版的signature构成的情况下,更换掉内嵌的signatures.cosmic 和 signatures.nature2013,编码以下:
signatures.cosmic rowSums(signatures.cosmic) colnames(signatures.cosmic) load(file = 'escc_denovo_results.Rdata') str(sigs_nmf) # sp signatures_probabilities sp= head(sp) colSums(sp) sp=apply(sp,2,function(x){ x/sum(x) head(sp) colSums(sp) sp=t(sp) chr=colnames(sp) colnames(sp)=gsub(' ','', paste(substring(chr,4,4), '[',substring(chr,1,1),' ',substring(chr,2,2),']', substring(chr,6,6) colnames(signatures.cosmic) sp=sp[,colnames(signatures.cosmic)] sc=signatures.cosmic<_denovo_results.Rdata文档,来源于于实例教程:应用R包SomaticSignatures开展denovo的signature推论。
把自身的1一个signature制作变成R包内嵌的signatures.cosmic 和 signatures.nature2013款式,这一编码十分繁杂,必须大伙儿自主用心的了解。
接下去对每一个样版,循环系统运作 whichSignatures 涵数的编码以下:
b=a[a$Sample %in% head(s,20),] w=lapply(unique(b$Sample) , function(i){ ## signatures.cosmic signatures.nature2013 sample_1 = whichSignatures(tumor.ref = sigs.input[,], signatures.ref = as.data.frame(sp), sample.id = i, contexts.needed = TRUE, tri.counts.method = 'default') print(i) return(sample_1$weights) w=do.call(rbind,w) library(pheatmap) pheatmap(t(w),cluster_rows = F,cluster_cols = T) pheatmap(w,cluster_rows = T,cluster_cols = F) sp= sp=sp[rownames(sp) %in% head(s,20),] pheatmap(sp,cluster_rows = F,cluster_cols = F) pheatmap(w,cluster_rows = F,cluster_cols = F)
能看到,自身制作好的 as.data.frame(sp) 就取代了 R包内嵌的signatures.cosmic 和 signatures.nature2013。
这一情况下,便会依据自身的1一个signature开展溶解,而并不是原先的R包内嵌的signatures.cosmic 和 signatures.nature2013二种溶解方式。
可是能够比照2次的1一个signature溶解的差别。
最先看一下实例教程:应用R包deconstructSigs依据己知的signature开展占比推论,的占比状况:
随后看一下实例教程:应用R包SomaticSignatures开展denovo的signature推论,的占比状况;