以下教程描述了一代的加权co-expression TCGA网络(癌症基因组图谱)RNAseq数据使用WGCNA
R包由Langfelder Horvarth1彼得Langfelder和史蒂夫·霍法。WGCNA: R包加权关联网络分析。9:BMC生物信息学(2008年1月),页559 - 559。。此外,单个基因和模块将与样本特征有关。范例,co-expression网络皮肤皮肤黑色素瘤(SKCM)将生成。然而,下面的加权基因co-expression分析(WGCNA)框架适用于任何TCGA肿瘤实体。
这个描述的代码是一个原始的例子,证明不能作为上市运行没有事先组装RNAseq数据如下列所述。
#组装和TCGA RNAseq数据的预处理
黑色素瘤RNAseq CVE扩展数据下载,每个基因表达式估计(RNAseq2 3级数据)TCGA数据门户。请注意,TCGA TCGA数据门户不再操作和所有数据驻留在基因组数据共享。WGCNA, TCGA个人RNAseq2三级文件连接到一个矩阵RNAseq
与基因符号TCGA行和病人条形码作为列名。
进一步的预处理包括移除控制样品(看到的更多信息TCGA维基与计数)和表达式估计不到20%的病例。
RNAseq = RNAseq[应用(RNAseq 1函数(x)和(x = = 0)) < ncol (RNAseq) * 0.8)
联系co-expression模块疾病表型,临床的元数据是必要的。对于黑色素瘤,TCGA数据,临床
数据发表的策划表格补充最新的出版物(suppl_table_S1D.txt)2癌症基因组图谱网络。皮肤的黑色素瘤的基因分类。在细胞:161.7(2015年6月),页1681 - 1696。。
随着阅读数量负二项分布,具有数学比正态分布理论比较容易解决,RNAseq数据是正常的轰
方法3慈善W法律等人轰:精密权重解锁线性模型分析工具对RNA-seq读计数。:基因组生物15.2(2014年1月),R29-R29。。的轰
方法估计的均值-方差log-counts并生成每个观测精度的体重。这种方式,比较分析可以与所有生物信息学工作流执行最初的微阵列分析开发。
图书馆(limma) RNAseq_voom =轰(RNAseq) $ E
一大部分的基因样本之间的差异表达。这些必须被排除在WGCNA两个基因之间没有显著差异表达的患者将是高度相关的。启发式截止,前5000名中使用的大多数变体基因已经被大多数WGCNA研究。详细的平均绝对强(疯狂)作为一个健壮的可变性。
#转置矩阵相关基因在以下WGCNA_matrix = t (RNAseq_voom[秩序(应用(RNAseq_voom 1疯了),减少= t) [1:5000]])
# co-expression网络建设
连接在一个网络可以完全的描述邻接矩阵\(现代{ij} \),一个\ (N ~ * ~ N \)矩阵的组件\(现代{ij} \)表示节点之间的连接强度我\ \ ()和\ (j \)。定义的连接强度co-expression相似\ (s_ {ij} \)。使用最广泛的方法定义\ (s_ {ij} \)之间的相关系数的绝对值的节点我\ \ ()和\ (j \):\ (s_ {ij} = |软木(x_i x_j) | \)。然而,我们使用biweight midcorrelation定义\ (s_ {ij} \),因为它是更健壮的异常值4Chun-Hou郑微分coexpression et al .基因分析基于biweight相关性和最大小团体。:BMC生物信息学15 5 15 (2014),S3。。这个特性是至关重要的,因为我们不希望发生在所有的病人的基因。
#基因之间的相似性测量资料:biweight midcorrelation图书馆(WGCNA) s = abs (bicor (WGCNA_matrix))
最初,co-expression相似矩阵转化为邻接矩阵使用硬阈值。在这些未加权的co-expression网络,确定了两个基因有关(\(现代{ij} = 1 \)),如果他们的表达谱的绝对相关性高于“硬实力”的阈值\ \(τ\)。然而,这种硬阈值并不能反映底层连续co-expression测量并导致重大损失的信息。因此,Horvath)和他的同事们提出了一个新的框架加权co-expression基因分析(WGCNA)5本章和史蒂夫·霍法。一个通用的框架,加权基因co-expression网络分析。4:统计应用遗传学和分子生物学(2005)第十七条。在其核心,定义了加权邻接通过提高co-expression相似权力(“软”阈值):
\[现代{ij} =βs_ {ij} ^ \ \]
与\(β\ \组1 \)。选择一个合适的β\ (\ \)价值,作者提出一个方法,评估的规模自由拓扑网络。详细的合理的这种方法,请参阅张和Horvath)6本章和史蒂夫·霍法。一个通用的框架,加权基因co-expression网络分析。4:统计应用遗传学和分子生物学(2005)第十七条。
权力= c (c (1:10), seq (= 12 = 20, = 2)) sft = pickSoftThreshold (WGCNA_matrix powerVector =权力,verbose = 5)情节(sft fitIndices美元[1],‘(sft fitIndices美元[3])* fitIndices (sft美元[2],xlab =“软阈值(权力)”,ylab =“自由拓扑模型适合规模,签署了R ^ 2”, type = ' n ',主要=粘贴('规模独立'));文本(sft fitIndices美元[1],‘(sft fitIndices美元[3])* fitIndices (sft美元[2],标签=权力,cex = 1,坳= '红色');abline (h = 0.90,坳= '红色')
对于黑色素瘤网络,3β值是最低的功率的无标度拓扑结构符合指数曲线变得平缓到达高值(\ (R ^ 2 \)0.9在Langfelder及Horvarth)。
#邻接矩阵计算ββ= 3 = s ^
最后,定义的不同措施
\ [w_ {ij} = 1 -现代{ij} \]
#不同测量w = 1 a
请注意,TOM-based(重叠拓扑矩阵)Horvarth和他的同事们提出的不同并没有导致不同的基因分析黑色素瘤网络模块。
# co-expression模块的识别
下集群识别co-expression模块,基因是基于不同措施,在系统树图的分支对应模块。基因系统树图获得的平均链接层次聚类是如图2所示。最终,基因co-expression模块检测到通过应用一个分支切割方法。我们采用动态分支切割方法由Langfelder和同事7史蒂夫·霍法和小君盾。基因Coexpression网络分析的几何解释。:PLoS计算生物学(PLOSCB) 4(8) 4.8(2008年),e1000117-e1000117。,作为常数身高达标表现出复杂的系统树图上表现不佳。WGCNA TCGA的472黑素瘤样本显示41 co-expression模块。模块内的所有基因没有明显中的总结在一个额外的模块0进行进一步分析。
#创建基因树的平均链接层次聚类geneTree = hclust (as.dist (w),方法= '平均')#模块识别使用动态树分割算法模块= cutreeDynamic (dendro = geneTree distM = w, deepSplit = 4, pamRespectsDendro = FALSE, minClusterSize = 30) #分配模块颜色模块。颜色= labels2colors(模块)#图下面的系统树图和相应的颜色酒吧plotDendroAndColors (geneTree、模块。颜色,颜色模块,dendroLabels = FALSE,挂= 0.03,addGuide = TRUE, guideHang = 0.05,主= ")
之间的关系确定co-expression模块可以通过系统树图的可视化eigengenes(图3)。模块eigengene被定义为第一个主成分的表达式矩阵。它可以显示模块=eigengene是高度相关的基因intramodular最高连接8史蒂夫·霍法和小君盾。基因Coexpression网络分析的几何解释。:PLoS计算生物学(PLOSCB) 4(8) 4.8(2008年),e1000117-e1000117。。
库(猿)#计算eigengenes MEs = moduleEigengenes (WGCNA_matrix、颜色=模块。颜色,excludeGrey = FALSE) $ eigengenes #计算不同的模块eigengenes而medis =林前(MEs);#集群模块eigengenes METree = hclust (as.dist (medis公司),方法= '平均');#图结果与phytools包par (mar = c (2, 2, 2, 2) plot.phylo (as.phylo (METree)类型=“粉丝”,show.tip。标签= FALSE,主要= ")tiplabels(帧=‘圆’,坳=“黑人”,文本=代表(”、长度(独特(模块))),bg含量= (as.factor (module.colours)))
# co-expression模块样本特征的关系
co-expression网络分析的一个优势是整合外部信息的可能性。在最低层次层面,基因的意义(GS)的措施可以被定义为统计学意义(即假定值,\ (p_i \))之间的我\ \ ()th节点配置文件(基因)\ (x_i \)和样本特征\ \ (T)
\ [GS_i =日志~ p_i \]
模块的意义进而可以确定基因的平均绝对意义的措施。这个概念框架可以适应任何研究问题。临床中使用元数据从最近获得以下TCGA黑色素瘤出版9癌症基因组图谱网络。皮肤的黑色素瘤的基因分类。在细胞:161.7(2015年6月),页1681 - 1696。(补充表S1D:以病人为中心的表)。
#负载临床的元数据。确保病人条形码在相同的格式#创建第二个表达式矩阵的详细临床数据可用WGCNA_matrix2 = WGCNA_matrix[匹配(临床名称、美元rownames (WGCNA_matrix)),] #洞:1样品的详细临床元数据没有下载数据(TCGA-GN-A269-01”)。可用= (is.na (rownames (WGCNA_matrix2)) = = TRUE) WGCNA_matrix2 = WGCNA_matrix2[不是。可用,]str (WGCNA_matrix2) #因此需要从临床表进一步分析临床=临床(-not.available,)
典型地,co-expression模块将所谓的淋巴细胞相关分数,总结了淋巴细胞的分布和密度的病理检查。
#在高、低分组淋巴细胞分数(lscore) lscore = as.numeric(临床LYMPHOCYTE.SCORE美元)lscore (lscore < 3) = 0 lscore (lscore > 0) = 1 #计算淋巴细胞基因的意义衡量得分(lscore) -韦尔奇t GS_lscore = t(酸式焦磷酸钠(1:ncol (WGCNA_matrix2),函数c (x) (t.test (WGCNA_matrix2 [x] ~ lscore, var.equal = F) $ p。价值,t.test (WGCNA_matrix2 [x] ~ lscore, var.equal = F)估计[1],美元t.test (WGCNA_matrix2 [x] ~ lscore, var.equal = F)估计美元[2]GS_lscore = cbind (GS)))。lscore、abs (GS_lscore [2]——GS_lscore [3])) colnames (GS_lscore) = c (‘p_value’,‘mean_high_lscore’,‘mean_low_lscore’,‘effect_size(得分高低)');rownames (GS_lscore) = colnames (WGCNA_matrix2)
启用高级系统树图的解释模块eigengenes基因本体论(去)富集分析模块使用的基因GOstats
R包10猎鹰和R绅士。使用GOstats测试基因列表项关联。23.2:生物信息学(2007年1月),页257 - 258。。模块命名根据最重要去einrichment截止本体大小。本体尺寸越小,越具体。在这个分析截止100条款/本体被选中。
#参考基因= 5000前疯狂基因ref_genes = colnames (WGCNA_matrix2) #创建数据帧去分析图书馆(org.Hs.eg.db) = toTable (org.Hs.egGO);符号= toTable (org.Hs.egSYMBOL) GO_data_frame = data.frame(去go_id美元,证据,美元符号$符号(匹配(gene_id美元,象征gene_id美元)])#创建GOAllFrame对象库(AnnotationDbi) GO_ALLFrame = GOAllFrame (GOFrame (GO_data_frame有机体=“智人”))#创建基因集图书馆(GSEABase) gsc < GeneSetCollection (GO_ALLFrame setType = GOCollection()) #执行去富集分析和结果保存到列表——这使花几分钟库(GEOstats) GSEAGO =向量(“列表”,长度(独特(模块))),(我在0(长度(独特(模块))1)){GSEAGO [[i + 1]] =总结(hyperGTest (GSEAGOHyperGParams (name =“智人”,GeneSetCollection = gsc geneIds = colnames (RNAseq) = =我][模块,universeGeneIds = ref.genes本体=“英国石油公司”,pvalueCutoff = 0.05,条件= FALSE, testDirection = ' / ')))打印(i)} cutoff_size = 100 GO_module_name =代表(NA、长度(独特(模块))),(我在1:长度(独特(模块))){GO.module.name[我]= GSEAGO[[我]][GSEAGO[[我]]$ < cutoff_size,大小][这GSEAGO[[我]][GSEAGO[[我]]< cutoff_size,大小]美元数= = max (GSEAGO[[我]][GSEAGO[[我]]美元大小< cutoff.size]美元计算))、7]}GO.module.name[1] =“模块0”
#计算模块意义MS.lscore = as.data.frame (cbind (GS.lscore、模块))MS.lscore $ log_p_value = log10 (as.numeric (MS.lscore p_value)美元)MS.lscore = ddp (MS。lscore。(模块),总而言之,意味着(log_p_value), sd (log_p_value)) colnames (MS.lscore) = c(“模块”,“pval”、“sd”) MS.lscore。酒吧= as.numeric (MS.lscore [2]) MS.lscore.bar [MS.lscore.bar < (log10(0.05))) = 0的名字(MS.lscore.bar) = GO.module.name METree。去= METree标签。订单=匹配(METree标签,美元paste0(“我”,labels2colors(0:(长度(独特(模块))1))))METree。去$标签= GO.module.name [label.order] plotTree.wBars (as.phylo (METree.GO) MS.lscore。酒吧,小费。标签= TRUE,规模= 0.2)
#勘探co-expression模块内的单个基因
评估模块意义不同的样本特征促进个人co-expression模块黑色素瘤生物学的理解。作为优先级的变异,我们下一个感兴趣的变种基因的作用在co-expression模块。为此,Langfelder霍瓦特和显示一个“模糊”的措施会员模块定义为
\ [K ^ q = |软木(x_i E ^ q) | \]
在哪里\ (x_i \)的基因吗我\ \ ()和\ (E ^ q \)的eigengene模块\(问\)。基于这个定义,\ (K \)描述了基因密切相关我\ \ ()是模块\(问\)。一个有意义的可视化是因此绘图模块成员各自的GS假定值的测量。第三个维度,圆点大小加权根据大小的影响。
#计算模块成员毫米= abs (bicor (RNAseq MEs)) #情节感兴趣的各个模块(MOI)莫伊= 3 # T细胞分化co-expression模块图(log10 (GS.lscore[模块= =莫伊,1]),MM模块= =莫伊,莫伊,pch = 20, cex = (GS.lscore[模块= =莫伊,4]/ max (GS.lscore [4], na.rm = TRUE)) * 4, xlab = p值(log10)淋巴细胞分数,ylab =会员模块3)abline (v = log10 (0.05), lty = 2, lwd = 2)
#会话信息
sessionInfo ()
# # R版本3.6.0(2019-04-26)# #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 18.04.2 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.10 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.10 - bioc / R / lib / libRlapack。# # # #语言环境:# # [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C # #[3]而= en_US。utf - 8 LC_COLLATE = C # # [5] LC_MONETARY = en_US。utf - 8 LC_MESSAGES = en_US。utf - 8 # # [7] LC_PAPER = en_US。utf - 8 LC_NAME = C # # [9] LC_ADDRESS C = C LC_TELEPHONE = # # [11] LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C附加基本包:# # # # # #[1]统计图形grDevices跑龙套数据集方法基础# # # #其他附加包:# # [1]RTCGAToolbox_2.15.3 BiocStyle_2.13.1 # # # #通过加载一个名称空间(而不是附加):# # [1]Rcpp_1.0.1 compiler_3.6.0 # # [3] BiocManager_1.30.4 GenomeInfoDb_1.21.1 # # [5] XVector_0.25.0 bitops_1.0-6 # # [7] tools_3.6.0 zlibbioc_1.31.0 # # [9] digest_0.6.19 evaluate_0.14 # # [11] lattice_0.20-38 Matrix_1.2-17 # # [13] DelayedArray_0.11.0 yaml_2.2.0 # # [15] parallel_3.6.0 xfun_0.7 # # [17] GenomeInfoDbData_1.2.1 stringr_1.4.0 # # [19] knitr_1.23 RCircos_1.2.1 # # [21] S4Vectors_0.23.10 IRanges_2.19.7 # # [23] stats4_3.6.0 grid_3.6.0 # # [25] data.table_1.12.2 Biobase_2.45.0 # # [27] survival_2.44 - 1.1 xml_3.98 - 1.20 # # [29] BiocParallel_1.19.0 rmarkdown_1.13 # # [31] bookdown_0.11 rjsonio_1.3 - 1.2 # # [33] limma_3.41.3 magrittr_1.5 # # [35] splines_3.6.0 matrixStats_0.54.0 # # [37] htmltools_0.3.6 BiocGenerics_0.31.3 # # [39] GenomicRanges_1.37.9 RaggedExperiment_1.9.0 # # [41] SummarizedExperiment_1.15.1 stringi_1.4.3 # # [43] rcurl_1.95 - 4.12
#引用