Chapter1 WHERE IN THE GENOME DOES DNA REPLICATION BEGIN 

 

一、

·聚合酶启动结构域会结合上游序列的一些位点,这些位点有多个,且特异,并且分布在两条链上。通过计算,找到出现频率最高的k-mer可能为为聚合酶结合位点:dnaA BOX。

但是如何定位Ori的大概位置呢?

·DNA链复制的不对称性,其导致突变速率的不对称,使得有(forward链C->T,脱氨基)的趋势。由此,依据skew增的处于forward链,skew减的处于reverse链。(skew = G - C ,逢G+1 逢C-1)图中最低点代表Ori区域。

由此可以大致推测出ori的位置,然后在此位置内(100bp),寻找出现频率大的pattern,作为可能的dnaA box。

·由于k-mer之间,会有碱基的若干差异,故应使用能容错的计数方法。

二、

提出问题The Clump Finding Problem

Find every k-mer that forms a clump in the genome.

ComputingFrequencies(Text, k) #一种遍历一次计算频率的‘桶’方法
for i ← 0 to 4k − 1
FrequencyArray(i) ← 0
for i ← 0 to |Text| − k
Pattern ← Text(i, k)
j ← PatternToNumber(Pattern) #hash
FrequencyArray(j) ← FrequencyArray(j) + 1
return FrequencyArray

ComputingFrequencies(Text, k)这是一种计算kmer频率的方法

FindingFrequentWordsBySorting(Text , k) #排序法
FrequentPatterns ← an empty set
for i ← 0 to |Text| − k
Pattern ← Text(i, k)
Index(i) ← PatternToNumber(Pattern)
Count(i) ← 1
SortedIndex ← Sort(Index)
for i ← 1 to |Text| − k
if SortedIndex(i) = SortedIndex(i − 1)
Count(i) = Count(i − 1) + 1
maxCount ← maximum value in the array Count
for i ← 0 to |Text| − k
if Count(i) = maxCount
Pattern ← NumberToPattern(SortedIndex(i), k)
add Pattern to the set FrequentPatterns
return FrequentPatterns

FindingFrequentWordsBySorting(Text , k)这是另一种计算kmer频率的方法

一种容错的频率计算方法
ClumpFinding(Genome, k, L, t)
FrequentPatterns ← an empty set
for i ← 0 to 4k − 1
Clump(i) ← 0
for i ← 0 to |Genome| − L
Text ← the string of length L starting at position i in Genome
FrequencyArray ← ComputingFrequencies(Text, k)
for index ← 0 to 4k − 1
if FrequencyArray(index) ≥ t
Clump(index) ← 1
for i ← 0 to 4k − 1
if Clump(i) = 1
Pattern ← NumberToPattern(i, k)
add Pattern to the set FrequentPatterns
return FrequentPatterns

我们不用每次挪动一位搜寻窗就重新计算kmer频率,搜寻窗每挪一位,原来的第一个kmer将少一个,结尾后一个kmer将多一个

BetterClumpFinding(Genome, k, t, L)
FrequentPatterns ← an empty set
for i ← 0 to 4k − 1
Clump(i) ← 0
Text ← Genome(0, L)
FrequencyArray ← ComputingFrequencies(Text, k)
for i ← 0 to 4k − 1
if FrequencyArray(i) ≥ t
Clump(i) ← 1
for i ← 1 to |Genome| − L
FirstPattern ← Genome(i − 1, k)
index ← PatternToNumber(FirstPattern)
FrequencyArray(index) ← FrequencyArray(index) − 1
LastPattern ← Genome(i + L − k, k)
index ← PatternToNumber(LastPattern)
FrequencyArray(index) ← FrequencyArray(index) + 1
if FrequencyArray(index) ≥ t
Clump(index) ← 1
for i ← 0 to 4k − 1
if Clump(i) = 1
Pattern ← NumberToPattern(i, k)
add Pattern to the set FrequentPatterns
return FrequentPatterns

笔记 Bioinformatics Algorithms Chapter1的更多相关文章

  1. 读书笔记 Bioinformatics Algorithms Chapter5

    Chapter5  HOW DO WE COMPARE DNA SEQUENCES  Bioinformatics Algorithms-An_Active Learning Approach htt ...

  2. 笔记 Bioinformatics Algorithms Chapter7

    一.Lloyd算法 算法1 Lloyd Algorithm k_mean clustering * Centers to Clusters: After centers have been selec ...

  3. 笔记 Bioinformatics Algorithms Chapter2

    Chapter2 WHICH DNA PATTERNS PLAY THE ROLE OF MOLECULAR CLOCKS 寻找模序 一. 转录因子会结合基因上游的特定序列,调控基因的转录表达,但是在 ...

  4. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  5. Protocol Informatics (PI项目)【基于网络轨迹的协议逆向工程文献学习】

    Protocol Informatics[基于网络轨迹的协议逆向工程文献学习]by tsy 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途.恕作者著作 ...

  6. 《Algorithms算法》笔记:元素排序(4)——凸包问题

    <Algorithms算法>笔记:元素排序(4)——凸包问题 Algorithms算法笔记元素排序4凸包问题 凸包问题 凸包问题的应用 凸包的几何性质 Graham 扫描算法 代码 凸包问 ...

  7. 《Algorithms算法》笔记:元素排序(3)——洗牌算法

    <Algorithms算法>笔记:元素排序(3)——洗牌算法 Algorithms算法笔记元素排序3洗牌算法 洗牌算法 排序洗牌 Knuth洗牌 Knuth洗牌代码 洗牌算法 洗牌的思想很 ...

  8. 《深入PHP与jQuery开发》读书笔记——Chapter1

    由于去实习过后,发现真正的后台也要懂前端啊,感觉javascript不懂,但是之前用过jQuery感觉不错,很方便,省去了一些内部函数的实现. 看了这一本<深入PHP与jQuery开发>, ...

  9. 《Algorithms 4th Edition》读书笔记——3.1 符号表(Elementary Symbol Tables)-Ⅳ

    3.1.4 无序链表中的顺序查找 符号表中使用的数据结构的一个简单选择是链表,每个结点存储一个键值对,如以下代码所示.get()的实现即为遍历链表,用equals()方法比较需被查找的键和每个节点中的 ...

随机推荐

  1. Ado.net简单快捷帮助类

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

  2. const修饰符用法

    1. 将一个对象设置为不可修改 const int a = 100; 2. 指向const对象的指针 const int* p = 3;可以通过指针来修改指针所指向的值,但是不能通过指针*p修改对像的 ...

  3. PAT 1011 A+B和C (15)(C++&JAVA&Python)

    1011 A+B和C (15)(15 分) 给定区间[-2^31^, 2^31^]内的3个整数A.B和C,请判断A+B是否大于C. 输入格式: 输入第1行给出正整数T(<=10),是测试用例的个 ...

  4. spring+mybatis+mina+logback框架搭建

    第一次接触spring,之前从来没有学过spring,所以算是赶鸭子上架,花了差不多一个星期来搭建,中间遇到各种各样的问题,一度觉得这个框架搭建非常麻烦,没有一点技术含量,纯粹就是配置,很低级!但随着 ...

  5. hdu2870 Largest Submatrix 单调栈

    描述 就不需要描述了... 题目传送门 题解 被lyd的书的标签给骗了(居然写了单调队列优化dp??)  看了半天没看出来哪里是单调队列dp,表示强烈谴责QAQ w x y z  可以各自 变成a , ...

  6. tmux 快捷操作

    -- 基本使用 tmux   # 运行 tmux -2 以256终端运行 C-b d  # 返回主 shell , tmux 依旧在后台运行,里面的命令也保持运行状态 tmux ls # 显示已有tm ...

  7. openssl_error_string()

    其实已经成功了,openssl_error_string()一样会输出错误信息,忽略就好

  8. Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归

    一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可 ...

  9. PHP 过滤特殊符号

    function strFilter($str){ $str = str_replace('`', '', $str); $str = str_replace('·', '', $str); $str ...

  10. js--延时消失的菜单--(笔记)

    html:有4个li,li下分别有一个span <script>   window.onload=function(){    var aLi=document.getElementsBy ...