k-mers
k-mers是指将序列分为k个碱基的字符串,一般长短为m的序列可以分成m-k+1个k-mers。
ATGCA的所有k-mer如下:
2-mers: AT, TG, GC and CA
3-mers: ATG, TGC and GCA
4-mers: ATGC, TGCA
5-mers: ATGCA
我们将这些k-mers放入计算机进行组装,则可能的组装为
K-mer-example.pngATG
kgTGC
kgkGCA
ATGCA
连续的空格不知道怎么打出来,用kg代替
来源:By Jrotten9 - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=35294590
使用jellyfish工具统计k-mers
因为经常需要剪辑手术视频,所以这周买了一台mac pro,以下命令都是在mac上敲入了,Linux系统未做练习。
brew install jellyfish
jellyfish --help
#获取练习序列
histo.png
efetch -id KU182908 -db nucleotide -format fasta > KU182908.fa
jellyfish count -C -m 10 -s10M KU182908.fa
jellyfish histo mer_counts.jf
jellyfish dump -L 7 mer_counts.jf
dump.png
cat KU182908.fa | dreg -filter -pattern TTAAGAAAAA
pattern.png
Sequence Alignments(序列比对)
这是生物信息学最基础的概念,也是核心概念
基础:相似的序列可能具有相似的结构,从而可能具有相似的功能。相似的序列往往在进化上具有同源性。
知识关键点
打分矩阵
打分矩阵是序列比对的基础,选择不同的打分矩阵将得到不同的比较结果
常用的打分矩阵
NUC.4.4.png
BLAST矩阵
curl -O ftp://ftp.ncbi.nlm.nih.gov/blast/matrices/NUC.4.4
其他矩阵
空位罚分
仿射空位罚分
空位的引入(Gap-open)与延伸(Gap-extend)
空位的引入:是在序列中引入一个空位
空位的延伸:是在序列中在一个空位后连续引入多个空位
K价空位:具有K个连续空位的区域,其空位数目大于1
K个不连续的空位: 指序列中具有K个空位且每个空位是1
空位的引入与延伸的罚分规则:
通常对k阶空位的第一个空位的罚分为 g ,延伸空位的罚分为r,则:k阶空位的罚分为: w=g+r(k-1), 其中:k为空位的长度。 通常第一个空位罚分为10-15分,延伸空位罚分为0.5-1分。
全局比对
利用动态规划法进行比对
将一个大问题分解为若干小问题
为若干小问题找到最优解
通过以上若干小问题的最优解得到大问题的最优解
局部比对
随着序列的增多,发现往往完全不同的序列往往具有相似的功能域,这些片段往往是全局比对无法发现的。
网友评论