專利名稱:Dna測序儀短序列回貼基因組方法
技術領域:
本發明涉及對DNA測序數據的處理方法,特別是測序的結果——短序列回帖基因組的處理方法。
背景技術:
DNA測序技術,即測定DNA序列的技術。在分子生物學研究中,DNA的序列分析是進一步研究和改造目的基因的基礎。用于測序的技術主要有Mnger等(1977)發明的雙脫氧鏈末端終止法和Maxam和Gilbert (1977)發明的化學降解法。這二種方法在原理上差異很大,但都是根據核苷酸在某一固定的點開始,隨機在某一個特定的堿基處終止,產生A,T, C,G四組不同長度的一系列核苷酸,然后在尿素變性的PAGE膠上電泳進行檢測,從而獲得 DNA序列。近年來興起的第二代核酸序列測序技術(next generation sequencing technology),與傳統桑格(Sanger)測序技術相比,具有高通量、高準確性和低運行成本等突出優勢,是測序技術的一次革命性的改變,催生了眾多生物學前沿領域的研究,應用前景十分廣闊。其中Illumina公司的GA測序儀以及Applied Biology公司的SOLiD測序儀是兩種目前在市場上占主流的測序儀。由于這兩種測序儀產生的核酸序列具有序列比較短 (15bp-100bp)的特點,因此從測序儀產生的數據到運用到眾多的生物應用的數據分析流程中一個必不可少的環節就是短序列回貼基因組,即將測序儀產生的高通量的短序列與基因組長序列比較,在基因組序列上找到一個最相似的片段與之相匹配,并輸出匹配的位置。短序列回貼基因組的本質就是一個短序列與長序列比對問題。這是生物信息學中最基本、最常用的算法,幾乎所有的生物信息處理任務都可能需要使用到它。隨著可供比較分析的生物序列數據量呈現爆炸性增長,不斷涌現的序列比較的各種新需求對處理序列比對的方法提出新的挑戰。上世紀70年代到80年代,以Neeleman-Wunsch算法和Smith-Waterman算法為代表的動態規劃比對算法只適用于小數量的生物序列比較。從80年代到90年代,以FASTA 和BLAST為代表的算法,通過對生物序列做索引,快速的過濾掉非常不相似的生物序列,然后再對剩下來為數不多的有可能匹配的候選位置進行更為精確的檢查(采用精確的算法, 如上述的動態規劃算法),就能在保證一定精確度的情況下大大提高速度。因此對生物序列做索引成為在有限的時間內利用有限的資源完成大規模生物序列比較的必不可少的一步。 做索引的方式是影響序列比較的效率和精度的關鍵所在,而FASTA和BLAST的索引方式是以犧牲精度為代價來換取速度的啟發式方法。從上世紀90年代末開始,人們開始針對這種索引方式進行改進,希望能以BLAST的速度,盡量提高比對的精度,甚至逼近動態規劃算法的比對精度。以I^atternHimter為代表的算法開創了以“離散種子”(spaced seed)為核心的索引方法的研究。無論是BLAST還是I^atternHimter,其索引方式,都是對序列的每一個位置建索引,存儲于內存或者外部文件中。而Illumina Genome Analyzer與AB SOLiD這兩種測序儀單位時間內產生出前所未有的巨大的數據量(一次實驗,在兩天內就產生1. 5G
15的數據),使得如果利用現有的序列比較的方法來進行短序列回貼基因組,完成一次實驗產生的數據的回貼就需要幾個月的時間,并且數倍于短序列數量的索引數目使得現有的計算機內存資源無法支撐。因此短序列回貼基因組這個環節成為這兩種核酸序列測序儀數據分析流程中的一個巨大的瓶頸。文獻(H. Lin, Z. Zhang, Μ. Zhang, B. Ma, and Μ. Li. ZOOM ! Zillions of Oligos Mapped. Bioinformatics 24(21) :2431-2437. 2008)中給出了一種利用若干離散種子達到 100%查全率的短序列回帖基因組的方法,但僅給出了需要離散種子數量的證明,沒有給出具體的離散種子組合。
發明內容
為了提高短序列回帖基因組的效率,本發明提供了一種DNA測序儀短序列回帖基因組的方法,通過給出優化的全長離散種子組合,實現本發明的目的。本發明的技術方案如下DNA測序儀短序列回貼基因組方法,包括如下步驟用全長離散種子組合對DNA測序儀產生的短序列和基因組做索引,以篩選出可能回貼的位置集合;全長離散種子為長度與所述短序列長度相同的代碼串,代碼串由若干位匹配碼和通配符組成;匹配碼代表需要將所述短序列和基因組進行比對的位,通配符代表不需要將所述短序列和基因組進行比對的位;所述全長離散種子組合為所述短序列回帖基因組達到 100%查全率需要最低數量全長離散種子的組合;對應多種情況的所述全長離散種子組合如下所示,其中一個s#.w#.r#或者 S#. w#. z#表示一組全長離散種子組合,#代表數字,S后面的數字表示種子長度,W后面的數字表示種子的權重,r后面的數字表示能達到100%查全率所允許的錯配個數,Z后面的數字表示能達到100%查全率所允許的在顏色空間允許的錯配個數;r和ζ分別對應兩種DNA 測序儀輸出短序列;1代表所述匹配碼,*代表通配符;所述全長離散種子組合(以下簡稱為本發明離散種子組合)還包括如下所示任意全長離散種子組合的列置換后的結果(所述列置換是指一個s#. w#. r#或者s#. w#. z#代表的一組全長離散種子組合,以橫向的一個離散種子為行,縱向的每個離散種子對應位構成列形成的一個矩陣,該矩陣中的任意兩列可以置換構成新的矩陣。即在以下所列基礎上,進行上述列置換形成的全長離散種子組合也能實現本發明的目的)sl5. wll.rl*11111111111*******111111111111111****111111111111111****111sl7. wll.rl氺11111111111氺氺氺氺氺氺氺氺氺氺氺11111111111111111氺氺氺氺氺氺11111
sl8. wl3. rl1111111111111**********1111111111111111111111****1111*11111****11111111*s20. wl3. rl1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺111111氺氺氺氺氺氺1111111s26. wl3. rl111111111111ΙΦΦΦΦΦΦΦΦΦΦΦΦΦ氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111sl4.w8.r2Il氺氺mill氺氺氺氺氺氺11氺氺Illlll氺氺氺氺氺氺Il氺氺millmill氺氺氺氺Il氺氺氺氺mill氺氺氺氺IlIlll氺氺氺氺Il氺氺IlIl氺氺氺氺Il氺氺Illlsl6.w8.r2llllllll氺氺氺氺氺氺氺氺氺氺氺氺llllllll氺氺氺氺氺氺氺氺氺氺氺氺11111111Illl氺氺氺氺Illl氺氺氺氺氺氺氺氺Illl氺氺氺氺IlllIlll氺氺氺氺氺氺氺氺Illlsl7.w9.r2ill氺氺Illlll氺氺氺氺氺氺氺氺氺ill氺氺Illlll氺氺氺氺氺氺氺氺氺ill氺氺IlllllIllll氺氺氺氺氺氺1氺氺illIllll氺11氺氺氺氺11氺氺氺ill氺氺氺氺氺氺1氺氺Illll氺氺氺ill氺1氺11氺氺氺illsl8.w9.r2Illlll氺氺氺ill氺氺氺氺氺氺氺氺氺Illlll氺氺氺ill氺氺氺氺氺氺氺氺氺Illlll氺氺氺ill
111氺氺氺氺氺氺111111氺氺氺氺氺氺111氺氺氺氺氺氺111111ill氺氺氺ill氺氺氺氺氺氺illsl9.w9.r2lllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺lllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111Illl氺氺氺氺氺Illll氺氺氺氺氺氺氺氺氺氺Illl氺氺氺氺氺IllllIlll氺氺氺氺氺氺氺氺氺氺Illlls20. wlO. r2Illll氺氺氺氺氺Illll氺氺氺氺氺氺氺氺氺氺llllllllll氺氺氺氺氺Illll氺氺氺氺氺氺氺氺氺氺Illll氺氺氺氺氺Illll氺氺氺氺氺Illllllllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111s22.wl0-12.r2lllllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺lllllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111111氺氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺氺Illlll氺氺氺氺氺IlllllIllll氺氺氺氺氺氺氺氺氺氺氺Illllls23.wll.r2lllllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺lllllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111Illll氺氺氺氺氺氺Illlll氺氺氺氺氺氺氺氺氺氺氺氺Illll氺氺氺氺氺氺IlllllIllll氺氺氺氺氺氺氺氺氺氺氺氺Illllls24.wl2.r2llllllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111Illlll氺氺氺氺氺氺Illlll氺氺氺氺氺氺Illlll氺氺氺氺氺氺氺氺氺氺氺氺Illlll氺氺氺氺氺氺llllllllllll氺氺氺氺氺氺氺氺氺氺氺氺Illlll氺氺氺氺氺氺Illllls26.wl2-13.r2
111111111111Ιφφφφφφφφφφφφφ氺氺氺氺氺氺111111111111ΙΦΦΦΦΦΦΦ氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺111111氺11111ΙΦΦΦΦΦΦΦΦΦΦΦΦΦ1111111s27.wl3.r2111111111111ΙΦΦΦΦΦΦΦΦΦΦΦΦΦΦ氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111ΦΦΦΦΦΦΦ111111111111ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺ιι11111s28.wl3.r2111氺1氺氺111氺1氺氺111氺1氺氺1氺氺氺氺氺氺氺111氺1氺氺111氺1氺氺111氺1氺氺1氺氺氺氺氺氺氺111氺1氺氺111氺1氺氺111氺1氺氺1氺氺氺氺氺氺氺111氺1氺氺111氺1氺氺111氺1氺氺1氺氺氺氺氺氺氺111氺1氺氺111氺1氺氺111氺1氺氺1氺氺氺氺氺氺氺111氺1氺氺111氺1氺氺111氺1氺氺1氺氺氺氺氺氺氺111氺1氺氺111氺1氺氺111氺1氺氺1s30.wl3.r2111111111111ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺111111111氺氺氺氺氺氺氺氺氺111111111氺氺氺氺氺氺氺氺1111氺氺氺氺氺氺氺氺氺1111s32.wl3.r21111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111s33.wl3.r2氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111111111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺s39.wl3.r2
19
1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111s25.wl0.r3llllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺llllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺llllllllll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111Illll氺氺氺氺氺Illll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺Illll氺氺氺氺氺Illll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺Illll氺氺氺氺氺IllllIllll氺氺氺氺氺氺氺氺氺氺Illll氺氺氺氺氺氺氺氺氺氺Illll氺氺氺氺氺氺氺氺氺氺Illll11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111s30.wl2.r3111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111111111氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 111 1氺氺氺氺氺氺11 m 1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 ill 1氺氺氺氺氺氺11HH111111氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺
氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺11Illl111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111s34.wl3.r31111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111111111111氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 nil 1氺氺氺氺氺氺氺11 Illl111111ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺ιι1111氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH111111ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺ιι1111s36.wl3.r3111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺
20
氺氺111氺ι氺氺ι氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺ι氺氺ι氺氺氺11 ]_氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺1氺氺1氺氺氺111氺1氺氺1氺氺氺111氺氺氺氺氺氺氺氺氺氺氺氺111氺ι氺氺ι氺氺氺111氺ι氺氺ι氺氺氺111氺s42.wl2.r3111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111s46.wl3.r31111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111111111111氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺s52. wl3. r31111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111s30. wlO. r41111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111111氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111氺氺氺氺氺1111 ]_氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111ΦΦΦΦΦ1111111111氺氺氺氺氺氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺11 in11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 in11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111s36.wl2.r4111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111111111氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺11 m ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11ill1氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 ill 1氺氺氺氺氺氺11HH
111111氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺氺氺氺氺11HH111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111s41.wl3.r41111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111Φ11111ΙΦΦΦΦΦΦ1111111氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 nil 1氺氺氺氺氺氺氺氺11 m 1氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 mi ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺11 Hll ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH
氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 mi ι氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111s42. wl2. r4111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺11HH111111氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺s45. wl2-13. r41111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺11HH111111氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺s46. wl2-13. r41111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 mi ι氺氺氺氺氺氺111111氺1111111氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺s49. wl3. r
1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 mi ι氺氺氺氺氺氺氺111111氺1111111氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺s65. wl3. r4
23
1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111s78.wl3.r51111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺
111111111s91.wl3.r61111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺
11111111
11111111111s23. wll. z211111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111s24. wl2. ζ 41111氺1111氺111 1氺氺氺氺氺氺氺氺氺氺1111氺1111氺氺氺氺氺氺1111氺氺氺氺氺
Illl氺Illl氺氺氺氺氺氺氺氺氺氺氺IlllIlll氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺Illl氺氺氺氺氺氺Illl氺氺氺氺氺氺IlllIlll氺氺氺氺氺氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺1111氺1111氺1111氺氺氺氺氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺氺Illl氺氺氺氺氺Illl氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺氺氺氺氺氺Illl氺Illl氺Illls25.wl2_13.z4Illll氺Illl氺Illl氺氺氺氺氺氺氺氺氺氺Illll氺Illl氺氺氺氺氺氺Illl氺氺氺氺氺Illll氺Illl氺氺氺氺氺氺氺氺氺氺氺IlllIllll氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺Illll氺氺氺氺氺氺Illl氺氺氺氺氺氺IlllIllll氺氺氺氺氺氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺氺1111氺1111氺1111氺氺氺氺氺氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺氺Illl氺氺氺氺氺氺Illl氺氺氺氺氺氺Illl氺Illl氺氺氺氺氺氺氺氺氺氺氺Illl氺Illl氺Illls34. wl3. z411111氺11111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111*11111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111氺1111氺氺氺氺氺氺氺氺氺11111氺1111氺氺氺氺氺氺氺氺氺氺氺lll111111氺氺氺氺氺氺氺氺氺氺1111氺氺氺氺氺氺氺氺氺氺氺lll1s38. wl2. z4111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111s41.wl3.z41111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111111111s29. wl2. z61111氺1111氺1111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111*1111氺氺氺氺氺氺1111氺氺氺氺氺氺氺氺氺氺1111*1111氺氺氺氺氺氺氺氺氺氺氺1111氺氺氺氺氺1111*1111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111氺氺氺氺氺氺1111*1111氺氺氺氺氺氺氺氺氺氺
1111氺氺氺氺氺氺1111氺氺氺氺氺氺lll1氺氺氺氺氺1111氺氺氺氺氺氺1111氺氺氺氺氺氺氺氺氺氺氺11l1
1111氺氺氺氺氺氺氺氺氺氺氺1111*1111氺氺氺氺氺1111氺氺氺氺氺氺氺氺氺氺氺1111氺氺氺氺氺氺lll11111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111*1111氺氺氺氺氺1111*1111*1111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111*1111氺氺氺氺氺氺lll1氺氺氺氺氺氺氺氺氺氺1111*1111氺氺氺氺氺氺氺氺氺氺氺lll1氺氺氺氺氺1111氺氺氺氺氺氺1111氺1111氺氺氺氺氺氺氺氺氺氺1111氺氺氺氺氺氺111 ]_氺氺氺氺氺氺]_ ]_ 11氺氺氺氺氺111ι氺氺氺氺氺氺氺氺氺氺氺ιιIl^llll氺氺氺氺氺氺氺氺氺氺1111*1111*111ΙΦΦΦΦΦ
氺氺氺氺氺氺氺氺氺氺1111*1111氺氺氺氺氺氺11丄丄氺氺氺氺氺氺氺氺氺氺111ι氺氺氺氺氺氺ιιIl^llll氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111Φ1111Φ1111s34. wl2. z6111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺
氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111s35.wl2_13.z61111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺11ill1氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111s39. wl3. z61111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺
1111111氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺
氺氺氺氺氺氺氺氺1111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 nil 1氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺1111111氺111111氺s47.wll.z611111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11111111111s48.wl2.z6111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111Φ111111s41. wl2. z8111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺11 m ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺
氺氺氺氺氺氺氺氺氺氺氺氺氺氺11ill1氺氺氺氺氺氺氺氺11m1氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺11HH氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111s48. wl2. z8
111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111Φ111111
氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺11HH111111氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺111111Φ111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺11 Hl ι氺氺氺氺氺氺氺氺11 m ι氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺。s#. w#. z#代表的DNA測序儀輸出的短序列回帖基因組過程利用htel芯片中的 SSE指令集進行加速,偽碼如下輸入短序列R = R。... η (L 為序列長度,Ri1 {0,1,2,3}),其 Adaptor 為 Ada (R)1 {A, C,G,T};參考序列 G (Gi1 {A,C,G,T});輸出R與G最佳比對下的錯配個數int min_mismatch (R, G)/*令 F(A) =0,F(C) = 1,F(G) =2,F(T) =3,將字母映射為數字;令X為1 位整數,由四個32位整數組成,&進而由四個8位整數 ^CXi1Xi2Xi3 組成;令T為和X長度一致的1 位整數;令Y
和Z
為和X長度一致的1 位整數數組,定義如下Y
= 0001 0001 0001 0000 ;(共 128 位)Y[l] = 0001 0001 0000 0001 ;Y [2] = 0001 0000 0001 0001 ;Y[3] = 0000 0001 0001 0001 ;Ζ
=0111 1011 1101 1110 ;Z[l] = 1011 0111 1110 1101 ;Z[2] = 1101 1110 0111 1011 ;Z[3] = 1110 1101 1011 0111 ;*/X = Y[F(Ada(R))];for i from 0 to L-IT00 = X00 ;T01 = X10 ; T02 = X20 ; T03 = X30 ;//PACKSSDff, PACKSSffBT1 = T0 ;T2 = T0 ;T3 = T0 ;//PUNPCKLDQX+ = ZtRi] ;//PADDBXi0 = IiiinlXi0, Xi1, Xi2, Xi3I ;//PMINUBX+= Y [Gi] ;//PADDBdone
return min{X0°, X10, X20, X30} ;//PMINUBend。本發明的技術效果本發明使用“全長離散種子”,一個全長的離散種子長度與待索引序列長度相同, 所以對每個序列只會在索引中產生一個記錄。索引個數等于序列個數。本發明通過使用多個全長離散種子(每個種子的匹配碼位不同)的組合,可以保證達到100%的查全率。一個組合中的種子個數越少,其需要的內存和運行時間也就越低。經過驗證,本發明離散種子組合均可滿足100%查全率的要求,具體驗證方法如下假設在短序列回帖的基因組中有這樣一個區段該區段包含的錯配位個數不超過最大錯配數m,而且對于本發明離散種子組合S中的每個離散種子s,s的匹配碼對應的位中至少含有一個所述錯配位,亦即S中所有的種子均不能檢測出這樣的錯配位組合。如果經過窮舉后,這樣的區域不存在,即能驗證本發明離散種子組合對于錯配數m具有100%的
查全率。程序偽碼如下輸入全長離散種子組合S,最大錯配數m ;輸出如果S能夠檢測出具有最大錯配數m的全部區段,那么輸出為空;否則輸出一種不能被檢測出的錯配位組合。position_set verify_seed_set(seed_set S, int m)P = {} ;/*P為錯配位組合*/T = S;/*設置第一個錯配位*/for ρ in oneset (Τ[1])/*oneset (Τ[1])為T中第一個種子的匹配碼對應位集
合*/P+ = ρ ;T= {χ I χ in S and χ [P] = = *} ;/*Τ為P尚未擊中匹配碼對應位的剩余種子集合 */if (Τ == {}) return P ;/*設置第二個錯配位*/for ρ in oneset(T[l])P+ = ρ ;T= {χ I χ in S and χ [P] = = *};if (Τ == {}) return P ;....../*設置第m個錯配位*/for ρ in onset (Τ [1])ρ+ = ρ ;
T= {χ I χ in S and χ [P] = = *};if (Τ == {}) return P ;return NULL ;/*通過所有m個錯配數測試,S具有100%查全率*/end使用上面的方法可以驗證對應AB SOLiD測序儀輸出的短序列的全長離散種子組合的查全率,及對應Illumina測序儀產生的短序列的全長離散種子組合的查全率。經過實驗驗證后,本發明離散種子組合均具有100%查全率。
圖1為本發明方法的流程圖。圖2為Illumina測序儀產生的短序列實例。圖3為AB SOLiD測序儀產生的短序列實例。圖4為長為33的,允許兩個錯配的100%查全率所需要的權重為13的最優離散種子組合,“1”為匹配碼對應的位,“*”為通配符對應的位。圖5為短序列ACGTAT的兩個相同長度的編碼示意圖。
具體實施例方式以下結合附圖對本發明的技術方案進行詳細說明。圖1顯示了本發明DNA測序儀短序列回貼基因組方法的一個實施例。首先,需要導入DNA測序儀產生的短序列文件。在本實施例分別針對兩種DNA測序儀產生的短序列進行,即在本步驟導入Illumina測序儀和AB SOLiD測序儀產生的短序列文件,識別出短序列以供短序列回貼。Illumina GA測序儀產生的數據文件格式有*_seq. txt、*_qual. txt、FASTA 與 FASTQ。AB SOLiD 測序儀產生的數據文件格式有 csfasta, *.qual。文件中包含每條短序列的名字、序列或者測序質量打分。由于測序技術的不同, Illumina測序儀產生的短序列的字母表是四種核酸序列{A,C,T,G},而AB公司測序儀產生的短序列的字母表是顏色空間(color space)的四種顏色{0,1,2,3}。Illumina測序儀產生的短序列示例如圖2所示,是由{A,C,G,T,N}組成的序列。 AB SOLiD測序儀產生的短序列示例如圖3所示,是由四種顏色{0,1,2,3}組成的序列。相鄰兩個堿基會形成一種顏色。第二,利用全長離散種子組合對短序列或基因組做索引,篩選出候選匹配集合。這一步驟要根據短序列的長度從前述本發明離散種子組合中選擇長度相等的一組全長離散種子組合,對短序列或基因組做索引,以達到最少的索引數目。在全長離散種子組合中(該長度下需要的離散種子),一個離散種子包括若干位匹配碼和通配符,當DNA測序儀輸出的短序列與基因組比對時,該離散種子與短序列(在此間稱序列1)長度相等,基因組從第一位開始與該短序列同等長度的序列(在此間稱序列2)。將序列1和序列2比對,以離散種子為基礎,即離散種子分別與序列1和序列2每一位對應,如果離散種子的匹配碼對應的序列1和序列2的位的值全部相同(通配符對應的位不考慮),則序列1和序列2可以初步認為是匹配的。然后,在基因組的第二位開始取與序列1等長的序列(在此簡稱為序列3),再次進行上述對比,以判斷是否在候選匹配集合中記錄信息。依此類推,直到完成整個基因組的比對。具體的實現方法將序列1和序列2對應離散種子匹配位的字符計算哈希值,并放入索引表中,完成整個基因組的對比后,在索引表中找出與基因組中與序列1相同的序列, 形成候選匹配集合。后續更精確的序列對比可以在候選匹配集合中進行,降低了運算量。對短序列或基因組做索引只需要對離散種子的匹配碼位建索引,由于存在通配符位,因此建立索弓I的數量少,提升了效率。圖4是長為33的,允許兩個錯配的100 %查全率所需要的權重為13的最優離散種
子組合。第三,采用并行位運算算法,并利用Intel芯片中的SSE指令集對候選匹配短序列做快速序列比對,是指將短序列與上一個步驟篩選出的回貼的候選位置的基因組片段集合進行序列比對。針對不同的測序儀此步驟有所不同。對于Illumina公司的測序儀產生的核酸序列空間的短序列對短序列和基因組片段進行編碼,兩者的字母表Σ = {Α,C,G,Τ}均編碼為{00,01,10,11}。采用并行位運算方法完成快速比對過程。對于AB公司的測序儀產生的顏色空間的短序列,其步驟如下對短序列和基因組片段進行編碼,將兩者的字母顏色空間{0,1,2,3}編碼為{00,01,10,11}。采用并行位運算方法,篩選掉短序列和基因組片段之間距離超過兩倍閾值的候選位置。這一過程中利用 Intel芯片中的SSE指令集使得比對過程快速完成。并行位運算算法說明如下圖5中顯示對短序列r = ACGTAT進行編碼的過程,將r 編碼為兩個長為m的二進制串rU和rD,分別用兩個64位機器字存放。rU的第i個字母代表r的第i個字母的高位編碼,rD的第i個字母代表r的第i個字母的低位編碼。對基因組片段&也用兩個長為m的二進制串gU和gD編碼。我們采用文獻(Henry,S. W. ,Hacker' s Delight. 2002 =Addison-Wesley Longman Publishing Co. , Inc. 368.)中設計的在二進制串中數“1”的個數的算法來實現并行位操作。偽碼如下輸入候選驗證對(g,r),錯配數閾值k輸出候選驗證對是否通過驗證bool verify (g, r, k)/*令gU/gD和rU/rD分別為g和r的二進制編碼*/vector = (gU'rU) | (gD'rD);vector = (vector & 0x5555555555555555) + (vector >> 1 &0x5555555555555555);vector = (vector & 0x3333333333333333) + (vector >> 2 &0x3333333333333333);vector = (vector+ (vector >> 4)) & OxOFOFOFOFOFOFOFOF ;vector = (vector+ (vector >> 8)) & OxOOFFOOFFOOFFOOFF ;vector = (vector+ (vector >> 16)) & OxOOOOFFFFOOOOFFFF ;mismatch = (vector+ (vector >> 32))& OxOOOOOOOOFFFFFFFF ;return (mismatch < = k);endAB SOLiD短序列的序列比對過程使用了文獻(Li H. and Durbin R. (2009)Fast and accurate short read alignment with Burrows—Wheeler transform. Bioinformatics,25,1754-60.)中的驗證方法,此動態規劃算法耗時過多,本發明利用 Intel芯片中的SSE指令集對此過程進行加速。偽碼如下(所用SSE指令亦一并列出):輸入短序列R = Rn1 (L 為序列長度,Ri1 {0,1,2,3}),其 Adaptor 為 Ada(R)1 {A, C,G,T};參考序列 G (Gi1 {A,C,G,T});輸出R與G最佳比對下的錯配個數int min_mismatch (R, G)/*令 F(A) =0,F(C) = 1,F(G) =2,F(T) =3,將字母映射為數字;令X為1 位整數,由四個32位整數組成,Xi進而由四個8位整數 AaXi1Xi2Xi3 組成;令T為類似X的128位整數;令Y
和Z
為兩個類似X的1 位整數數組,定義如下Y
= 0001 0001 0001 0000 ;(共 128 位)Y[l] = 0001 0001 0000 0001 ;Y [2] = 0001 0000 0001 0001 ;Y [3] = 0000 0001 0001 0001 ;Z
=0111 1011 1101 1110 ;Z[l] = 1011 0111 1110 1101 ;Z [2] = 1101 1110 0111 1011 ;Z [3] = 1110 1101 1011 0111 ;*/X = Y[F(Ada(R))];for i from 0 to L-IT00 = X00 ;T01 = X10 ; T02 = X20 ; T03 = X30 ;//PACKSSDff, PACKSSffBT1 = T0 ;T2 = T0 ;T3 = T0 ;//PUNPCKLDQX+= Z [Ri] ;//PADDBXi0 = min (Xi0, Xi1, Xi2, Xi3I ;//PMINUBX+= Y [Gi] ;//PADDBdonereturn min{X0°, X10, X20, X30I ;//PMINUBend。第四,完成短序列回貼并輸出短序列回貼位置信息文件,是指對每條短序列選擇錯配個數最少的基因組位置作為該短序列回貼的位置并將此位置信息輸出到文件中,以供下游數據分析流程使用。包括短序列的名稱、序列、測序打分、回貼的位置、錯配的個數、錯配的位置。對于AB SOLiD短序列還包括根據匹配位置將顏色空間的序列轉化為核酸序列。
權利要求
1. DNA測序儀短序列回貼基因組方法,其特征在于包括如下步驟 用全長離散種子組合對DNA測序儀產生的短序列和基因組做索引,以篩選出可能回貼的位置集合;全長離散種子為長度與所述短序列長度相同的代碼串,代碼串由若干位匹配碼和通配符組成;匹配碼代表需要將所述短序列和基因組進行比對的位,通配符代表不需要將所述短序列和基因組進行比對的位;所述全長離散種子組合為所述短序列回帖基因組達到 100%查全率需要最低數量全長離散種子的組合;對應多種情況的所述全長離散種子組合如下所示,其中一個s#. w#. r#或者s#. w#. z# 表示一組全長離散種子,#代表數字,s后面的數字表示種子長度,w后面的數字表示種子的權重,r后面的數字表示能達到100%查全率所允許的錯配個數,ζ后面的數字表示能達到 100%查全率所允許的在顏色空間允許的錯配個數;r和ζ分別對應兩種DNA測序儀輸出短序列;1代表所述匹配碼,*代表通配符;所述全長離散種子組合還包括如下所示任意全長離散種子組合的列置換后的結果 sl5. wll. rl水11111111111氺# _*11111111111 1111****1111111 11111111****111 sl7. wll. rl *11111111111**_ ******11111111111 111111******11111 sl8.wl3.rl 1111111111111**_ _**1111111111111 111111111****1111* 11111****11111111* s20.wl3.rl 1111111111111******* *******1111111111111 *111111******1111111 s26. wl3. rl1111111111111氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺ιι11111111111sl4. w8. r211氺氺111111氺氺氺氺氺氺11氺氺111111氺氺氺氺氺氺11氺氺111111 111111氺氺氺氺11氺氺
2.根據權利要求1所述DNA測序儀短序列回貼基因組方法,其特征在于s#. w#. z#代表的DNA測序儀輸出的短序列回帖基因組過程利用Intel芯片中的SSE指令集進行加速,偽碼如下輸入短序列 R = R0... L-! (L 為序列長度,Ri1Ioa, 2,3}),其 Adaptor 為 Ada(R)1^Cj,T};參考序列 G (Gi1^GG, T}); 輸出R與G最佳比對下的錯配個數 int min—mismatch(R,G)令 F(A) =0,F(C) = 1,F(G) =2,F(T) =3,將字母映射為數字;令X為1 位整數,由四個32位整數組成,\進而由四個8位整數WXi2Xi3組成;令T為和X長度一致的1 位整數;令Y
和Ζ
為和X長度一致的1 位整數數組,定義如下Y
= 0001 0001 0001 0000;(共 1 位)Y[l] = 0001 0001 0000 0001 ;Y[2] = 0001 0000 0001 0001 ;Y[3] = 0000 0001 0001 0001 ;Ζ
= 0111 1011 1101 1110 ;Z[l] = 1011 0111 1110 1101 ;Z [2] = 1101 1110 0111 1011 ;Z [3] = 1110 1101 1011 0111 ;X = Y [F (Ada (R))]; for i from 0 to L-IT00 = X00 ; T01 = X10 ;T02 = X20 ; T03 = X30 ;//PACKSSDff, PACKSSffB T1 = T0 ;T2 = T0 ;T3 = T0 ;//PUNPCKLDQ X+ = ZtRi] ;//PADDB Xi0 = HiinlXi0, Xi1, Xi2, Xi3I ;//PMINUB X+ = YtGi] ;//PADDB donereturn min{X0°, X10, X20, X30I ;//PMINUBend。
全文摘要
本發明屬于對DNA測序數據的處理方法。為了提高短序列回帖基因組的效率,本發明提供了一種DNA測序儀短序列回帖基因組的方法,通過給出優化的全長離散種子組合,可以保證達到100%的查全率,同時提高數據處理的效率。
文檔編號C12Q1/68GK102453751SQ20101051978
公開日2012年5月16日 申請日期2010年10月19日 優先權日2010年10月19日
發明者馬斌 申請人:鼎生科技(北京)有限公司