月亮星座是什么| 腹腔淋巴结是什么意思| eva鞋底是什么材质| 无间是什么意思| 芒果不可以跟什么一起吃| cd是什么牌子| 双亲是什么意思| 什么水果止咳| 傀儡什么意思| 钠对人体有什么作用| 榴莲不能跟什么一起吃| 什么散步填词语| 肛门里面疼是什么原因| 水淀粉是什么| none是什么意思| 火字旁有什么字| 朋友圈提到了我是什么意思| 风什么意思| 腹部超声检查什么| 朝鲜和韩国什么关系| 农历六月十四是什么星座| 风湿性心脏病是什么原因引起的| 6度醋与9度有什么区别| 牙龈肿是什么原因引起的| apl是什么意思| 额窦炎吃什么药| 唾液臭是什么原因| 什么匆匆| 隐翅虫擦什么药膏| 山姆是什么| 荷花象征什么| 什么时候大暑| 情感和感情有什么区别| 世界上最深的湖泊是什么| 什么叫有格局的人| 大佐是什么军衔| 头疼头胀是什么原因| 喝酒脸红是什么原因造成的| 尿酸高是什么原因造成的| 王朔为什么不娶徐静蕾| 床塌了有什么预兆| 肌肉跳动是什么原因| 不锈钢肥皂是什么原理| 音叉是什么| 白色车里放什么摆件好| 榴莲吃了有什么好处| c是什么单位| 疝外科是治什么病的| 扣字是什么意思| 古代四大发明是什么| 迎字五行属什么| 乾是什么生肖| acer是什么牌子| 肺腺瘤是什么| 乳腺是什么科| 63年的兔是什么命| 外阴瘙痒用什么洗液| 孕妇喝什么牛奶| 什么是闭合性跌打损伤| 黄芪入什么经| 凤毛麟角是什么生肖| 为什么减肥不建议喝粥| 重度抑郁症吃什么药| 男人洁身自好什么意思| 黄昏是什么时候| 什么的武松| 胃寒喝什么茶暖胃养胃| 浑身乏力吃什么药| 中产家庭的标准是什么| 卉是什么意思| 玺什么意思| 破釜沉舟是什么意思| 肝血管瘤挂什么科| 脖子为什么有颈纹| 蜂窝网络是什么| ccu病房是什么意思| 闫和阎有什么区别| eligible是什么意思| 每年什么时候征兵| wonderful什么意思| 八月一号是什么星座| 猫条是什么| 脚干脚裂用什么药| 乳头瘤病毒是什么病| 叶公好龙是什么故事| 蹲马步有什么好处| 不可开交是什么意思| 咳嗽吃什么好的快| 21三体高风险是什么意思| 最好的红酒是什么牌子| 兔死狐悲是什么生肖| 什么品牌的冰箱好| 吃山竹有什么好处和坏处| 扁桃体结石长什么样| 膝关节咔咔响是什么原因| 3月17日是什么星座| 痛风可以喝什么饮料| 什么是双高| 缠足是什么时候开始的| 减肥喝什么茶最好最快| 白羊座跟什么星座最配| 来月经喝什么汤好| 情非得已是什么生肖| 大放厥词是什么意思| 病毒性感冒咳嗽吃什么药效果好| 肠胃属于什么科| 让我爱你然后把我抛弃是什么歌| ad是什么| 什么叫排比句| 肠道湿热吃什么药| 为什么说秦始皇还活着| 结肠憩室是什么意思| 子宫肌瘤变性是什么意思| 为什么会尿频尿急| 头晕头重昏昏沉沉是什么原因| 反驳是什么意思| 肿瘤病人不能吃什么| 猪猪侠叫什么| 亡羊补牢的寓意是什么| 什么时候收复台湾| 1974年是什么年| 双肺局限性气肿是什么病| 吃甘草片有什么副作用| 手癣用什么药| eb是什么意思| 芍药花什么时候开花| 4.28什么星座| 形同陌路什么意思| 12月2日什么星座| 喝太多水对身体有什么影响| 尿酸高要注意什么| 什么是湿疹| 茶话会是什么意思| 子宫腺肌症是什么| 诺欣妥是什么药| 炎症是什么病| 静脉曲张有什么表现| 梦见烙饼是什么意思| 壁虎喜欢吃什么| 吃高血压药有什么副作用| 亚临床甲减是什么意思| 剔除是什么意思| 男人不够硬吃什么好| 怀孕3天有什么症状| 画蛇添足是什么生肖| 3岁属什么生肖| 可见原始心管搏动是什么意思| 为什么会眼压高| 8月1日是什么节日| 80岁属什么生肖| 仙鹤代表什么生肖| 梦见一群羊是什么意思| 肺炎吃什么药最有效| 1985年属牛的是什么命| c3c4补体是什么意思| 和亲是什么意思| 唇钉是干什么用的| cvt是什么意思| 梦见棉花是什么意思| 凌晨一点多是什么时辰| 西梅是什么水果| 四个人念什么| 劝君更尽一杯酒的下一句是什么| 长庚是什么意思| 宝宝头发黄是缺什么| 南北杏和什么煲汤止咳化痰| 发改局是做什么的| 眼睛发黑是什么原因引起的| 患难见真情是什么意思| 宫颈多发纳囊什么意思| r级电影是什么意思| 不晨勃是什么原因| 产检建档需要什么资料| 甲状腺吃什么药好| 什么样的| 蒸桑拿是什么意思| 今年24岁属什么生肖| 脂肪瘤看什么科| 植物光合作用产生什么| 梦见剪头发是什么意思| 虢是什么意思| 6月18日是什么节| 敛是什么意思| 恶心反胃吃什么药| 白色裤子配什么上衣好看| 7月一日是什么节| 腿抽筋吃什么药最好| 容易长痣是什么原因| 宫腔镜是检查什么的| 牛津布是什么材质| 签退是什么意思| 农历3月14日是什么星座| 什么什么斜斜| 肚子中间疼是什么原因| 相什么并什么| 吃什么可以补胶原蛋白| 脚板麻木是什么原因| 阴虚火旺吃什么药| 月经过后有褐色分泌物是什么原因| 脑蛋白治疗什么病| 老是口腔溃疡是什么原因| 格列本脲和格列美脲有什么区别| 做梦牙掉了是什么征兆| 血沉高忌口什么| 小孩干呕是什么原因| 鹿皮绒是什么面料| 开黑是什么意思| 心率低有什么危害| 汗水里面有什么成分| 看脊椎挂什么科| 止血芳酸又叫什么| 极端是什么意思| 生理盐水和食用盐水有什么区别| 马路杀手是什么意思| 流星是什么| 位移是什么| 今日是什么日子| 人的祖先是什么| 业火是什么意思| 姓陈取什么名字好听| 1月22日是什么星座| 萤火虫吃什么食物| 黄金微针是什么| 吃饭快的人是什么性格| 鸡为什么喜欢吃泡沫| 七月半是什么节日| 睾丸疼痛挂什么科| 保鲜袋什么材质好| 早泄吃什么补| 意守丹田是什么意思| 偶发室性早搏是什么意思| 钩藤为什么要后下| 什么东西能解酒| 色斑是什么原因引起的| 尿糖一个加号是什么意思| 八字是指什么| 3月25日是什么星座| 2014年五行属什么| 女团ace是什么意思| 苏打水喝了有什么好处| 上颌窦囊肿是什么意思| 注音是什么| 怀孕子宫前位和后位有什么区别| 梦见房子是什么意思| 巴旦木是什么| 日希是什么字| 北京为什么是首都| 补脾吃什么好| 头晕什么原因引起的| 真相是什么意思| 云南白药气雾剂保险液有什么作用| 肛门潮湿用什么药最好| 什么的饭菜| 乌梅有什么功效| 李什么名字好听| 一天从早到晚叫什么日| 化疗后骨髓抑制是什么意思| 验大便能查出什么| 联系是什么意思| 人体7大营养素是什么| 寒碜是什么意思| 321是什么意思| 什么人容易得甲亢| 做梦梦见火是什么征兆| 百度Jump to content

英国女王90年来都穿过什么 她的衣橱要公开啦

From Wikipedia, the free encyclopedia
Figure 1: Needleman-Wunsch pairwise sequence alignment
ClassSequence alignment
Worst-case performance
Worst-case space complexity
百度 来自40多个国家和地区的音乐家、艺术家将在一个多月的时间里带来18场演出。

The Needleman–Wunsch algorithm is an algorithm used in bioinformatics to align protein or nucleotide sequences. It was one of the first applications of dynamic programming to compare biological sequences. The algorithm was developed by Saul B. Needleman and Christian D. Wunsch and published in 1970.[1] The algorithm essentially divides a large problem (e.g. the full sequence) into a series of smaller problems, and it uses the solutions to the smaller problems to find an optimal solution to the larger problem.[2] It is also sometimes referred to as the optimal matching algorithm and the global alignment technique. The Needleman–Wunsch algorithm is still widely used for optimal global alignment, particularly when the quality of the global alignment is of the utmost importance. The algorithm assigns a score to every possible alignment, and the purpose of the algorithm is to find all possible alignments having the highest score.

Introduction

[edit]

This algorithm can be used for any two strings. This guide will use two small DNA sequences as examples as shown in Figure 1:

GCATGCG
GATTACA

Constructing the grid

[edit]

First construct a grid such as one shown in Figure 1 above. Start the first string in the top of the third column and start the other string at the start of the third row. Fill out the rest of the column and row headers as in Figure 1. There should be no numbers in the grid yet.

G C A T G C G
 
G
A
T
T
A
C
A

Choosing a scoring system

[edit]

Next, decide how to score each individual pair of letters. Using the example above, one possible alignment candidate might be:

12345678
GCATG-CG
G-ATTACA

The letters may match, mismatch, or be matched to a gap (a deletion or insertion (indel)):

  • Match: The two letters at the current index are the same.
  • Mismatch: The two letters at the current index are different.
  • Indel (Insertion or Deletion): The best alignment involves one letter aligning to a gap in the other string.

Each of these scenarios is assigned a score and the sum of the scores of all the pairings is the score of the whole alignment candidate. Different systems exist for assigning scores; some have been outlined in the Scoring systems section below. For now, the system used by Needleman and Wunsch[1][failed verification] will be used:

  • Match: +1
  • Mismatch or Indel: ?1

For the Example above, the score of the alignment would be 0:

GCATG-CG
G-ATTACA
+?++??+? ?> 1*4 + (?1)*4 = 0

Filling in the table

[edit]

Start with a zero in the first row, first column (not including the cells containing nucleotides). Move through the cells row by row, calculating the score for each cell. The score is calculated by comparing the scores of the cells neighboring to the left, top or top-left (diagonal) of the cell and adding the appropriate score for match, mismatch or indel. Take the maximum of the candidate scores for each of the three possibilities:

  • The path from the top or left cell represents an indel pairing, so take the scores of the left and the top cell, and add the score for indel to each of them.
  • The diagonal path represents a match/mismatch, so take the score of the top-left diagonal cell and add the score for match if the corresponding bases (letters) in the row and column are matching or the score for mismatch if they do not.

The resulting score for the cell is the highest of the three candidate scores.

Given there is no 'top' or 'top-left' cells for the first row only the existing cell to the left can be used to calculate the score of each cell. Hence ?1 is added for each shift to the right as this represents an indel from the previous score. This results in the first row being 0, ?1, ?2, ?3, ?4, ?5, ?6, ?7. The same applies to the first column as only the existing score above each cell can be used. Thus the resulting table is:

G C A T G C G
0 ?1 ?2 ?3 ?4 ?5 ?6 ?7
G ?1
A ?2
T ?3
T ?4
A ?5
C ?6
A ?7

The first case with existing scores in all 3 directions is the intersection of our first letters (in this case G and G). The surrounding cells are below:

G
0 ?1
G ?1 X

This cell has three possible candidate sums:

  • The diagonal top-left neighbor has score 0. The pairing of G and G is a match, so add the score for match: 0+1 = 1
  • The top neighbor has score ?1 and moving from there represents an indel, so add the score for indel: (?1) + (?1) = (?2)
  • The left neighbor also has score ?1, represents an indel and also produces (?2).

The highest candidate is 1 and is entered into the cell:

G
0 ?1
G ?1 1

The cell which gave the highest candidate score must also be recorded. In the completed diagram in figure 1 above, this is represented as an arrow from the cell in row and column 2 to the cell in row and column 1.

In the next example, the diagonal step for both X and Y represents a mismatch:

G C
0 ?1 ?2
G ?1 1 X
A ?2 Y

X:

  • Top: (?2)+(?1) = (?3)
  • Left: (+1)+(?1) = (0)
  • Top-Left: (?1)+(?1) = (?2)

Y:

  • Top: (1)+(?1) = (0)
  • Left: (?2)+(?1) = (?3)
  • Top-Left: (?1)+(?1) = (?2)

For both X and Y, the highest score is zero:

G C
0 ?1 ?2
G ?1 1 0
A ?2 0

The highest candidate score may be reached by two of the neighboring cells:

T G
T 1 1
A 0 X
  • Top: (1)+(?1) = (0)
  • Top-Left: (1)+(?1) = (0)
  • Left: (0)+(?1) = (?1)

In this case, all directions reaching the highest candidate score must be noted as possible origin cells in the finished diagram in figure 1, e.g. in the cell in row and column 6.

Filling in the table in this manner gives the scores of all possible alignment candidates, the score in the cell on the bottom right represents the alignment score for the best alignment.

Tracing arrows back to origin

[edit]

Mark a path from the cell on the bottom right back to the cell on the top left by following the direction of the arrows. From this path, the sequence is constructed by these rules:

  • A diagonal arrow represents a match or mismatch, so the letter of the column and the letter of the row of the origin cell will align.
  • A horizontal or vertical arrow represents an indel. Vertical arrows will align a gap ("-") to the letter of the row (the "side" sequence), horizontal arrows will align a gap to the letter of the column (the "top" sequence).
  • If there are multiple arrows to choose from, they represent a branching of the alignments. If two or more branches all belong to paths from the bottom right to the top left cell, they are equally viable alignments. In this case, note the paths as separate alignment candidates.

Following these rules, the steps for one possible alignment candidate in figure 1 are:

G → CG → GCG → -GCG → T-GCG → AT-GCG → CAT-GCG → GCAT-GCG
A → CA → ACA → TACA → TTACA → ATTACA → -ATTACA → G-ATTACA
             ↓
    (branch) → TGCG → -TGCG → ...
             → TACA → TTACA → ...

Scoring systems

[edit]

Basic scoring schemes

[edit]

The simplest scoring schemes simply give a value for each match, mismatch and indel. The step-by-step guide above uses match = 1, mismatch = ?1, indel = ?1. Thus the lower the alignment score the larger the edit distance, for this scoring system one wants a high score. Another scoring system might be:

  • Match = 0
  • Indel = -1
  • Mismatch = -1

For this system the alignment score will represent the edit distance between the two strings. Different scoring systems can be devised for different situations, for example if gaps are considered very bad for your alignment you may use a scoring system that penalises gaps heavily, such as:

  • Match = 1
  • Indel = -10
  • Mismatch = -1


Similarity matrix

[edit]

More complicated scoring systems attribute values not only for the type of alteration, but also for the letters that are involved. For example, a match between A and A may be given 1, but a match between T and T may be given 4. Here (assuming the first scoring system) more importance is given to the Ts matching than the As, i.e. the Ts matching is assumed to be more significant to the alignment. This weighting based on letters also applies to mismatches.

In order to represent all the possible combinations of letters and their resulting scores a similarity matrix is used. The similarity matrix for the most basic system is represented as:

A G C T
A 1 ?1 ?1 ?1
G ?1 1 ?1 ?1
C ?1 ?1 1 ?1
T ?1 ?1 ?1 1

Each score represents a switch from one of the letters the cell matches to the other. Hence this represents all possible matches and mismatches (for an alphabet of ACGT). Note all the matches go along the diagonal, also not all the table needs to be filled, only this triangle because the scores are reciprocal.= (Score for A → C = Score for C → A). If implementing the T-T = 4 rule from above the following similarity matrix is produced:

A G C T
A 1 ?1 ?1 ?1
G ?1 1 ?1 ?1
C ?1 ?1 1 ?1
T ?1 ?1 ?1 4

Different scoring matrices have been statistically constructed which give weight to different actions appropriate to a particular scenario. Having weighted scoring matrices is particularly important in protein sequence alignment due to the varying frequency of the different amino acids. There are two broad families of scoring matrices, each with further alterations for specific scenarios:

Gap penalty

[edit]

When aligning sequences there are often gaps (i.e. indels), sometimes large ones. Biologically, a large gap is more likely to occur as one large deletion as opposed to multiple single deletions. Hence two small indels should have a worse score than one large one. The simple and common way to do this is via a large gap-start score for a new indel and a smaller gap-extension score for every letter which extends the indel. For example, new-indel may cost -5 and extend-indel may cost -1. In this way an alignment such as:

GAAAAAAT
G--A-A-T

which has multiple equal alignments, some with multiple small alignments will now align as:

GAAAAAAT
GAA----T

or any alignment with a 4 long gap in preference over multiple small gaps.

Advanced presentation of algorithm

[edit]

Scores for aligned characters are specified by a similarity matrix. Here, S(a, b) is the similarity of characters a and b. It uses a linear gap penalty, here called d.

For example, if the similarity matrix was

A G C T
A 10 ?1 ?3 ?4
G ?1 7 ?5 ?3
C ?3 ?5 9 0
T ?4 ?3 0 8

then the alignment:

AGACTAGTTAC
CGA---GACGT

with a gap penalty of ?5, would have the following score:

S(A,C) + S(G,G) + S(A,A) + (3 × d) + S(G,G) + S(T,A) + S(T,C) + S(A,G) + S(C,T)
= ?3 + 7 + 10 ? (3 × 5) + 7 + (?4) + 0 + (?1) + 0 = 1

To find the alignment with the highest score, a two-dimensional array (or matrix) F is allocated. The entry in row i and column j is denoted here by . There is one row for each character in sequence A, and one column for each character in sequence B. Thus, if aligning sequences of sizes n and m, the amount of memory used is in . Hirschberg's algorithm only holds a subset of the array in memory and uses space, but is otherwise similar to Needleman-Wunsch (and still requires time).

As the algorithm progresses, the will be assigned to be the optimal score for the alignment of the first characters in A and the first characters in B. The principle of optimality is then applied as follows:

  • Basis:
  • Recursion, based on the principle of optimality:

The pseudo-code for the algorithm to compute the F matrix therefore looks like this:

d ← Gap penalty score
for i = 0 to length(A)
    F(i,0) ← d * i
for j = 0 to length(B)
    F(0,j) ← d * j
for i = 1 to length(A)
    for j = 1 to length(B)
    {
        Match ← F(i?1, j?1) + S(Ai, Bj)
        Delete ← F(i?1, j) + d
        Insert ← F(i, j?1) + d
        F(i,j) ← max(Match, Insert, Delete)
    }

Once the F matrix is computed, the entry gives the maximum score among all possible alignments. To compute an alignment that actually gives this score, you start from the bottom right cell, and compare the value with the three possible sources (Match, Insert, and Delete above) to see which it came from. If Match, then and are aligned, if Delete, then is aligned with a gap, and if Insert, then is aligned with a gap. (In general, more than one choice may have the same value, leading to alternative optimal alignments.)

AlignmentA ← ""
AlignmentB ← ""
i ← length(A)
j ← length(B)
while (i > 0 or j > 0)
{
    if (i > 0 and j > 0 and F(i, j) == F(i?1, j?1) + S(Ai, Bj))
    {
        AlignmentA ← Ai + AlignmentA
        AlignmentB ← Bj + AlignmentB
        i ← i ? 1
        j ← j ? 1
    }
    else if (i > 0 and F(i, j) == F(i?1, j) + d)
    {
        AlignmentA ← Ai + AlignmentA
        AlignmentB ← "?" + AlignmentB
        i ← i ? 1
    }
    else
    {
        AlignmentA ← "?" + AlignmentA
        AlignmentB ← Bj + AlignmentB
        j ← j ? 1
    }
}

Complexity

[edit]

Computing the score for each cell in the table is an operation. Thus the time complexity of the algorithm for two sequences of length and is .[3] It has been shown that it is possible to improve the running time to using the Method of Four Russians.[3][4] Since the algorithm fills an table the space complexity is [3]

Historical notes and algorithm development

[edit]

The original purpose of the algorithm described by Needleman and Wunsch was to find similarities in the amino acid sequences of two proteins.[1]

Needleman and Wunsch describe their algorithm explicitly for the case when the alignment is penalized solely by the matches and mismatches, and gaps have no penalty (d=0). The original publication from 1970 suggests the recursion .

The corresponding dynamic programming algorithm takes cubic time. The paper also points out that the recursion can accommodate arbitrary gap penalization formulas:

A penalty factor, a number subtracted for every gap made, may be assessed as a barrier to allowing the gap. The penalty factor could be a function of the size and/or direction of the gap. [page 444]

A better dynamic programming algorithm with quadratic running time for the same problem (no gap penalty) was introduced later[5] by David Sankoff in 1972. Similar quadratic-time algorithms were discovered independently by T. K. Vintsyuk[6] in 1968 for speech processing ("time warping"), and by Robert A. Wagner and Michael J. Fischer[7] in 1974 for string matching.

Needleman and Wunsch formulated their problem in terms of maximizing similarity. Another possibility is to minimize the edit distance between sequences, introduced by Vladimir Levenshtein. Peter H. Sellers showed[8] in 1974 that the two problems are equivalent.

The Needleman–Wunsch algorithm is still widely used for optimal global alignment, particularly when the quality of the global alignment is of the utmost importance. However, the algorithm is expensive with respect to time and space, proportional to the product of the length of two sequences and hence is not suitable for long sequences.

Recent development has focused on improving the time and space cost of the algorithm while maintaining quality. For example, in 2013, a Fast Optimal Global Sequence Alignment Algorithm (FOGSAA),[9] suggested alignment of nucleotide/protein sequences faster than other optimal global alignment methods, including the Needleman–Wunsch algorithm. The paper claims that when compared to the Needleman–Wunsch algorithm, FOGSAA achieves a time gain of 70–90% for highly similar nucleotide sequences (with > 80% similarity), and 54–70% for sequences having 30–80% similarity.

Applications outside bioinformatics

[edit]

Computer stereo vision

[edit]

Stereo matching is an essential step in the process of 3D reconstruction from a pair of stereo images. When images have been rectified, an analogy can be drawn between aligning nucleotide and protein sequences and matching pixels belonging to scan lines, since both tasks aim at establishing optimal correspondence between two strings of characters.

Although in many applications image rectification can be performed, e.g. by camera resectioning or calibration, it is sometimes impossible or impractical since the computational cost of accurate rectification models prohibit their usage in real-time applications. Moreover, none of these models is suitable when a camera lens displays unexpected distortions, such as those generated by raindrops, weatherproof covers or dust. By extending the Needleman–Wunsch algorithm, a line in the 'left' image can be associated to a curve in the 'right' image by finding the alignment with the highest score in a three-dimensional array (or matrix). Experiments demonstrated that such extension allows dense pixel matching between unrectified or distorted images.[10]

See also

[edit]

References

[edit]
  1. ^ a b c Needleman, Saul B. & Wunsch, Christian D. (1970). "A general method applicable to the search for similarities in the amino acid sequence of two proteins". Journal of Molecular Biology. 48 (3): 443–53. doi:10.1016/0022-2836(70)90057-4. PMID 5420325.
  2. ^ "bioinformatics". Retrieved 10 September 2014.
  3. ^ a b c Wing-Kin., Sung (2010). Algorithms in bioinformatics : a practical introduction. Boca Raton: Chapman & Hall/CRC Press. pp. 34–35. ISBN 9781420070330. OCLC 429634761.
  4. ^ Masek, William; Paterson, Michael (February 1980). "A faster algorithm computing string edit distances". Journal of Computer and System Sciences. 20: 18–31. doi:10.1016/0022-0000(80)90002-1. hdl:1721.1/148933.
  5. ^ Sankoff D (1972). "Matching sequences under deletion/insertion constraints". Proceedings of the National Academy of Sciences of the USA. 69 (1): 4–6. Bibcode:1972PNAS...69....4S. doi:10.1073/pnas.69.1.4. PMC 427531. PMID 4500555.
  6. ^ Vintsyuk TK (1968). "Speech discrimination by dynamic programming". Kibernetika. 4: 81–88. doi:10.1007/BF01074755. S2CID 123081024.
  7. ^ Wagner RA, Fischer MJ (1974). "The string-to-string correction problem". Journal of the ACM. 21 (1): 168–173. doi:10.1145/321796.321811. S2CID 13381535.
  8. ^ Sellers PH (1974). "On the theory and computation of evolutionary distances". SIAM Journal on Applied Mathematics. 26 (4): 787–793. doi:10.1137/0126070.
  9. ^ Chakraborty, Angana; Bandyopadhyay, Sanghamitra (29 April 2013). "FOGSAA: Fast Optimal Global Sequence Alignment Algorithm". Scientific Reports. 3: 1746. Bibcode:2013NatSR...3.1746C. doi:10.1038/srep01746. PMC 3638164. PMID 23624407.
  10. ^ Thevenon, J; Martinez-del-Rincon, J; Dieny, R; Nebel, J-C (2012). Dense pixel matching between unrectified and distorted images using dynamic programming. International Conference on Computer Vision Theory and Applications. Rome.
[edit]


2020是什么年 婚检能检查出什么 胆囊壁不光滑是什么意思 泡脚去湿气用什么泡最好 风湿病吃什么药
农历九月是什么月 冲喜什么意思 楚怀王和芈月什么关系 滞纳金是什么 日字旁和什么有关
卡司是什么意思 十八罗汉是什么意思 蕾丝是什么意思 降血脂有什么好办法 吃茄子对身体有什么好处
早搏吃什么药最管用 接亲是什么意思 孟子姓什么 yeezy是什么牌子 大学没毕业算什么学历
右肺上叶肺大泡是什么意思jiuxinfghf.com 暗渡陈仓是什么生肖hcv9jop6ns3r.cn 睾丸炎有什么症状hcv8jop4ns1r.cn 广东有什么特色美食youbangsi.com 征兵初检检查什么hcv8jop0ns1r.cn
什么破壁机好用imcecn.com 骨质增生挂什么科hcv9jop1ns9r.cn 铁观音适合什么季节喝hcv8jop9ns2r.cn 手腕关节疼痛什么原因引起的yanzhenzixun.com 服软是什么意思hcv9jop0ns0r.cn
头发掉的严重是什么原因hcv9jop5ns5r.cn 晚上睡觉阴部外面为什么会痒cl108k.com 金匮肾气丸有什么功效wzqsfys.com 苍蝇馆子什么意思hcv8jop9ns1r.cn 腺瘤是什么意思hcv7jop5ns1r.cn
龟头感染用什么药qingzhougame.com 为什么会尿血hcv7jop6ns6r.cn 菠菜不能与什么一起吃hcv8jop8ns9r.cn 欲情故纵什么意思hcv8jop8ns5r.cn 咖啡伴侣是什么hcv8jop0ns1r.cn
百度