问:如何导入山峰?
一个:函数toGRanges
是为了导入峰值文件。用户还可以导入的山峰rtracklayer:进口
方法。
问:如何正确标注的山峰ChIP-seq数据?
一个:多个选择中提供的功能annotatePeakInBatch
与输出论点。
如果你有兴趣的峰值特性,将其设置为“nearestLocation”或“shortestDistance”。
如果你有兴趣山峰绑定启动子区域,将其设置为“nearestBiDirectionalPromoters”报告双向启动子是否有启动子在给定的区域(定义为两个方向bindingRegion)。否则,它将报告最近的启动子在一个方向上。
如果你有兴趣山峰绑定到身体的基因,将其设置为“重叠”将与最大输出重叠特性差距指定为maxgap峰值范围和功能范围。
问:如何准备AnnotationData为annotatePeakInBatch
吗?
一个:准备大会的最新发布的注释会帮助用户获得准确的注释。ChIPpeakAnno可以使用多个来源AnnotationData。toGRanges
可以转换TxDb
和EnsDb
来AnnotationData。getAnnotation
将检索从bioMart注释数据。AnnotationData也可以是一个用户定义的列表中吗GenomicRanges:农庄
格式,例如,山峰的另一个列表。
问:如果我们使用annoPeaks
注释开始网站的功能,为什么带注释的山峰的数量有时比我们更小findOverlaps
山峰和特性?
一个:annoPeaks
将确保下游startSite注释范围和上游endSite注释范围内的特性。
问:为什么维恩图的峰值数字之和不等于原始峰列表中的数字之和?
一个:这个问题是一个非常典型的一个用于计算的峰值。如你所知,峰值是一系列连续的点,而不是一个点。如果我们考虑交叉口的设置(1 - 2、4 - 5、7 - 9)和B组(2 - 8),我们应该有多少山峰重叠设置输出,即。1或3 ?它将1如果我们使用B作为参考,和3如果我们使用一套作为参考。
ChIPpeakAnno(发布版本),默认情况下,我们使用最小数量的山峰相交,即。在这种情况下,1。
问:为什么Venn-digram的峰数的长度不等于peaklist的输出findOverlapsOfPeaks
吗?
一个:有一种说法叫做connectedPeaks。在文档中,我们描述了参数connectedPeaks如果多个山峰参与了几组的重叠,将其设置为“合并”将计数为1,而将其设置为“最小值”会将它作为最小峰值参与任何群连接/重叠峰。默认值是“最小值”。默认情况下,程序将选择最小数量从每个peaklist参与一个合并后的峰值。所以数量不会少于peaklist中的数字。如果用户设置connectedPeaks合并,将peaklist数量一模一样。这是一个简单的例子来理解“最小值”和“合并”的区别:
p1 < -农庄(“1”,IRanges (c(1、4、7),宽度= 2))p2 < -农庄(“1”,IRanges (c(2、5),宽度= 3))ol_min <——findOverlapsOfPeaks (p1, p2, connectedPeaks =“最小值”)# #的数量将最小峰值参与群# #山峰相连,所以你得到2。ol_merge < - findOverlapsOfPeaks (p1, p2, connectedPeaks =“合并”)# #计数将1美元每组连接山峰ol_min venn_cnt ol_merge venn_cnt美元
问:有一种原始峰列表显示峰值的数量?
一个:尝试设置connectedPeaks =“keepAll”findOverlapsOfPeaks
和makeVennDiagram
。
问:如何提取原始峰重叠峰的id吗?
一个的输出findOverlapsOfPeaks
,有一个列在peaklist每个元素的元数据中,称为peakNames CharacterList。CharacterList是造成峰值id列表与前缀,如。peaks1__peakname1 peaksi__peaknamej。用户可以访问原始峰名通过分裂这些字符。这是示例代码:
库(ChIPpeakAnno)床< -系统。文件(“extdata”、“MACS_output。床”,包= " ChIPpeakAnno”) gr1一起< - toGRanges(床,格式=“床”,头= FALSE)人造石铺地面< -系统。文件(“extdata”、“GFF_peaks。人造石铺地面”,包= " ChIPpeakAnno”) gr2 < - toGRanges(人造石铺地面,格式=“人造石铺地面”,标题= FALSE,跳过= 3)ol < - findOverlapsOfPeaks (gr1一起,gr2) peakNames < - ol peaklist美元[[' gr1一起/ / / gr2 ']]美元peakNames图书馆(reshape2) peakNames1 <融化(peakNames value.name =“merged.peak.id”) peakNames1 < cbind (peakNames1 [1]。调用(rbind strsplit (。字符(peakNames1 [3]),“__”))) colnames (peakNames1) < - c (“merged.peak。id”、“集团”、“peakName”)负责人(peakNames1) gr1一起。< -子集gr1一起[peakNames1 [peakNames1(,“集团”)% % gr1一起," peakName "]] gr2。子集< - gr2 [peakNames1 [peakNames1(,“集团”)% % " gr2 ", " peakName "]]
这是另一种方法来访问原始峰id。
所有人。山峰< - ol美元。山峰gr1一起。重命名为< -。山峰gr1一起gr2美元。重命名为< -。山峰美元gr2 peakNames < -融化(ol $ peaklist [[' gr1一起/ / / gr2 ']] peakNames美元,value.name =“merged.peak.id”) gr1一起。子< - gr1一起。重命名(peakNames [grepl (^ gr1一起,peakNames [3]), 3]] gr2。子< - gr2。重命名为[peakNames [grepl (“^ gr2”, peakNames [3]), 3]]
问:如何选择合适的数量的totalTest函数makeVennDiagram
吗?
一个:当我们测试两组数据之间的关系基于超几何分布,所有潜在的结合位点的数量是必需的。的参数totalTest在函数makeVennDiagram
表示有多少潜在的山峰总将用于超几何测试。它应该比最多的山峰在峰列表中。它被设置越小,更严格的测试。用来计算假定值不依赖于时间的价值totalTest。如何选择实用的指导totalTest,请参考帖子。