计算在 MATLAB 中发现的与预期的 DNA 结合基序的显着性

Calculate significance for DNA binding motifs found vs. expected in MATLAB

我有一组基因组特征,比如 100 个,我为此创建了一个 fasta 文件,每个特征周围有 500 bp window。我在这些 windows 中搜索了一个 DNA 序列,发现特征集中每个 500 bp window 平均有 1.5 个序列。偶然地,我希望该序列每 1024 bp 出现一次,或者平均每 500 bp 出现约 0.49 个序列 window。

我的问题是如何确定我发现的每个特征的 1.5 个结合位点是否重要,并获得 p 值?

作为后续,如果我使用同一组 100 windows 并以相同的概率 (1/1024) 搜索不同的序列并确定现在平均有 0.9 个序列每个人 window,我如何确定这是否与我上面搜索的序列的 1.5 有显着差异?

作为第二次跟进,如果我在不同的 500 bp windows 集合中搜索上面相同的两个序列(平均找到 1/1024 个碱基对)以获得不同的特征类型(比如, n=50), 我如何确定这个搜索的结果是否与上面的结果显着不同(特别是如果特征集1和特征集2中的序列A和序列B之间的差异显着)?

提前致谢。

我最终使用模拟来回答上述所有问题。生成所需大小的 windows,在本例中为 500 bp,随机基因组序列。在 X windows 中搜索图案(其中 X = 特征集中的个体数量)并与在感兴趣的特征中搜索图案所获得的结果进行比较。以等于正在分析的第二个特征集的样本大小重复。要相互比较功能,请进行类似的模拟并比较结果。