n Input Output 6 T GATTACA A 3

  • Slides: 22
Download presentation

n 題意範例: Input: Output: 6 (T) GATTACA A 3 GAGAGAG 2 GATTACA 2 TGAC

n 題意範例: Input: Output: 6 (T) GATTACA A 3 GAGAGAG 2 GATTACA 2 TGAC No repetitions found! TGTAC T 2 TTGGAACC A 2 2

G A G A G rank: 6 0 6 0 6 G A G

G A G A G rank: 6 0 6 0 6 G A G A G 2 0 2 0 1 G A: 6 0 2 A G: 0 6 0 G 1 : 6 -1 5

G A G A G rank: 2 0 2 0 1 G A G

G A G A G rank: 2 0 2 0 1 G A G A G 3 1 3 0 2 GA G : 2 6 3 AG A : 0 0 1 GA G : 2 6 3 AG : 0 -1 0 G : 1 -1 2 6

G A G A G rank: 3 1 3 0 2 G A G

G A G A G rank: 3 1 3 0 2 G A G A G 4 1 3 0 2 GAG A : 3 0 4 AGA G : 1 6 1 GAG : 3 -1 3 AG : 0 -1 0 G : 2 -1 2 7

後綴陣列(Suffix Array):Prefix doubling algorithms G A G A G rank: 6 0 6 0

後綴陣列(Suffix Array):Prefix doubling algorithms G A G A G rank: 6 0 6 0 6 G 6 A 0 G 6 9

G A G A G rank: 6 0 6 0 6 G A G

G A G A G rank: 6 0 6 0 6 G A G A G 2 0 2 0 1 G A: 6 0 2 A G: 0 6 0 G 1 : 6 -1 10

G A G A G rank: 2 0 2 0 1 G A G

G A G A G rank: 2 0 2 0 1 G A G A G 4 1 3 0 2 GA GA : 2 2 4 AG AG : 0 0 1 GA G : 2 1 3 AG : 0 -1 0 G : 1 -1 2 11

G A G A G rank: 4 1 3 0 2 G A G

G A G A G rank: 4 1 3 0 2 G A G A G 6 2 5 1 4 0 3 GAGA GAG : 4 3 6 AGAG AG : 1 0 2 GAGA G : 4 2 5 AGAG : 1 -1 1 GAG : 3 -1 4 AG : 0 -1 0 G : 2 -1 3 12

G A G A G rank: 6 2 5 1 4 0 3 0

G A G A G rank: 6 2 5 1 4 0 3 0 AG 起始位置 L[0] = 5 1 AGAG L[1] = 3 2 AGAGAG L[2] = 1 3 G L[3] = 6 4 GAG L[4] = 4 5 GAGAG L[5] = 2 6 GAGAGAG L[6] = 0 13

最長共同前綴(Longest Common Prefix): L[0] = 5 AG L[1] = 3 AGAG L[2] = 1

最長共同前綴(Longest Common Prefix): L[0] = 5 AG L[1] = 3 AGAG L[2] = 1 AGAGAG L[3] = 6 G L[4] = 4 GAG L[5] = 2 GAGAG L[6] = 0 GAGAGAG AG AGAG 無 G GAGAG 利用建立Suffix Array的排名來尋找相鄰字串的共同前綴 14

G 0(起始位置) Step 0 (length G 1) 6 Step 1 2 (length GA 2)

G 0(起始位置) Step 0 (length G 1) 6 Step 1 2 (length GA 2) A 1 G 2 A 3 G 4 A 5 G 6 0 6 6 G A G 2 GA 0 AG 1 G AG GA 0 AG 1 AGAG 4 GAGA 1 3 0 AGAG AG 2 G Step 3 6 2 5 1 4 0 (length GAGAGAG GAG AG 8) 3 G Step 2 4 (length GAGA 4) 0 A 15

GAGAGAG Step 0 (length G 1) GAGAG G A G A G 6 0

GAGAGAG Step 0 (length G 1) GAGAG G A G A G 6 0 6 6 G Step 1 2 (length GA 2) A G 2 GA 0 AG 1 G AG GA 0 AG 1 AGAG 4 GAGA 1 3 0 AGAG AG 2 G Step 3 6 2 5 1 4 0 (length GAGAGAG GAG AG 8) 3 G Step 2 4 (length GAGA 4) 0 A 16

GAGAGAG Step 0 (length G 1) GAGAG 紀錄長度為 4 G A G A G

GAGAGAG Step 0 (length G 1) GAGAG 紀錄長度為 4 G A G A G 6 0 6 6 G Step 1 2 (length GA 2) A G 2 GA 0 AG 1 G AG GA 0 AG 1 AGAG 4 GAGA 1 3 0 AGAG AG 2 G Step 3 6 2 5 1 4 0 (length GAGAGAG GAG AG 8) 3 G Step 2 4 (length GAGA 4) 0 A 17

GAGAGAG Step 0 (length G 1) G A G A G 6 0 6

GAGAGAG Step 0 (length G 1) G A G A G 6 0 6 6 G Step 1 2 (length GA 2) A G 2 GA 0 AG 1 G AG GA 0 AG 1 AGAG 4 GAGA 1 3 0 AGAG AG 2 G Step 3 6 2 5 1 4 0 (length GAGAGAG GAG AG 8) 3 G Step 2 4 (length GAGA 4) 0 A 18

GAGAGAG Step 0 (length G 1) G A G A G 6 0 6

GAGAGAG Step 0 (length G 1) G A G A G 6 0 6 6 G Step 1 2 (length GA 2) A G 2 GA 0 AG 1 G AG GA 0 AG 1 AGAG 4 GAGA 1 3 0 AGAG AG 2 G Step 3 6 2 5 1 4 0 (length GAGAGAG GAG AG 8) 3 G Step 2 4 (length GAGA 4) 0 A 19

GAGAGAG Step 0 (length G 1) G A G A G 6 0 6

GAGAGAG Step 0 (length G 1) G A G A G 6 0 6 6 G Step 1 2 (length GA 2) A G 2 GA 0 AG 1 G AG GA 0 AG 1 AGAG 4 GAGA 1 3 0 AGAG AG 2 G Step 3 6 2 5 1 4 0 (length GAGAGAG GAG AG 8) 3 G Step 2 4 (length GAGA 4) 0 A 20

GAGAGAG 紀錄長度為 4+1=5 Step 0 (length G 1) G A G A G 6

GAGAGAG 紀錄長度為 4+1=5 Step 0 (length G 1) G A G A G 6 0 6 6 G Step 1 2 (length GA 2) A G 2 GA 0 AG 1 G AG GA 0 AG 1 AGAG 4 GAGA 1 3 0 AGAG AG 2 G Step 3 6 2 5 1 4 0 (length GAGAGAG GAG AG 8) 3 G Step 2 4 (length GAGA 4) 0 A 21