1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu các thuật toán biclustering cho trường hợp dữ liệu biểu hiện gien theo chuỗi thời gian

71 834 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 1,79 MB

Nội dung

Cácthuật toán biclustering sẽ tìm cách phân cụm đồng thời trên các hàng gien vàcột condition của ma trận dữ liệu biểu hiện gien nhằm tìm ra các ma trậncon thoả mãn một số tiêu chí đặt ra

Trang 1

MỞ ĐẦU

1 Lý do chọn đề tài

Việc phân tích dữ liệu biểu hiện gien, mà cụ thể là phân nhóm các gien

có sự biểu hiện giống nhau trong từng thời điểm thành các nhóm (cluster)được thực hiện bởi các thuật toán phân cụm (clustering methods) Các thuậttoán này thường tìm cách nhóm các gien có sự biểu hiện phụ thuộc nhau trêntoàn bộ các điều kiện thí nghiệm Tuy nhiên, trên thực tế các gien thường chỉthể hiện phụ thuộc với nhau trên một số điều kiện nào đó và độc lập với nhautrong điều kiện khác Điều này dẫn đến một hạn chế rất lớn của các thuật toánclustering là không thể tìm ra được các gien chỉ thể hiện giống nhau trên một

số điều kiện thí nghiệm Để khắc phục hạn chế này, người ta đã đề xuất mộtphương pháp phân cụm mới có tên là biclustering (hoặc co-clustering) Cácthuật toán biclustering sẽ tìm cách phân cụm đồng thời trên các hàng (gien) vàcột (condition) của ma trận dữ liệu biểu hiện gien nhằm tìm ra các ma trậncon thoả mãn một số tiêu chí đặt ra, từ đó có thể giúp chúng ta hiểu thêm cáctiến trình sinh học giữa các gien trong các cá thể Nhưng gần như tất cả cácphương pháp tiếp cận đến nay là heuristic và không đảm bảo để tìm giải pháptối ưu

Trong trường hợp dữ liệu biểu hiện gien theo chuỗi thời gian, thì cácmẫu sinh học thường được đo theo một thời điểm nhất định nhằm quan sátcác tiến trình sinh học xảy ra trong các cá thể Vì vậy, việc tìm ra các mẫu cóthể hiện giống nhau trong một khoảng thời gian liên tục nào đó, có thể hìnhdung như chúng vừa hoàn thành 1 tiến trình sinh học, hoặc một giai đoạnchức năng sinh học nào đó Việc phân tích trên dữ liệu thể hiện gien cho phéphiểu được cơ chế điều khiển gien và tương tác giữa chúng, các tri thức này cóthể được sử dụng trong nghiên cứu chế tạo thuốc, phát hiện khối u, và các

Trang 2

nghiên cứu lâm sàng Các mẫu dữ liệu này có thể coi như là một biclustergồm các hàng và các cột liên tục trong ma trận.

Với trường hợp dữ liệu biểu hiện gien theo chuỗi thời gian, người ta đã

đề xuất các thuật toán hiệu quả với thời gian chạy là tuyến tính, hoặc một hàm

đa thức để tìm ra các bicluster tốt Các thuật toán này không khai phá trực tiếp

dữ liệu gốc, mà sẽ chuẩn hóa sang một dạng dữ liệu mới, sau đó xây dựng cáccây hậu tố để tìm kiếm Mỗi cây hậu tố sẽ biểu diễn một ma trận dữ liệu, vàviệc tìm các bicluster được coi như tìm một xâu con chung lớn nhất của mộttập các xâu dựa vào cây hậu tố

Trong luận văn này, chúng tôi đặt mục tiêu nghiên cứu và ứng dụng cácthuật toán này trong việc khai phá các bicluster trong dữ liệu biểu hiện gientheo chuỗi thời gian dựa trên cây hậu tố

3 Đối tượng nghiên cứu

- Các lý thuyết cơ bản về cây hậu tố

- Các lý thuyết cơ bản về phân cụm dữ liệu và dữ liệu biểu hiện gien theo chuỗi thời gian

4 Giả thuyết khoa học

- Việc sử dụng các thuật toán biclustering sẽ cho phép tìm ra được cácgien thể hiện giống nhau trên một khoảng điều kiện, từ đó có thể tìm ra cácgien liên quan đến một số tiến trình sinh học cụ thể

5 Nhiệm vụ nghiên cứu

- Tìm hiểu một số thuật toán biclustering hiệu quả

- Cài đặt một số thuật toán và thử nghiệm với dữ liệu thực tế

Trang 3

- Phân tích các ưu nhược điểm và cải tiến các thuật toán nếu có thể được.

6 Phạm vi nghiên cứu

- Các thuật toán phân cụm dữ liệu và dữ liệu biểu hiện gien theo chuỗi thời gian của một số loài

7 Phương pháp nghiên cứu

- Phương pháp đọc tài liệu, phân tích, tổng hợp lý thuyết

- Phương pháp xây dựng giả thuyết

- Phương pháp quan sát, thực nghiệm và đối chứng

Trang 4

NỘI DUNG

Chương I GIỚI THIỆU

1.1 Dữ liệu biểu hiện gien theo chuỗi thời gian

Dữ liệu biểu hiện gien có thể biểu diễn dưới dạng ma trận trong đó mỗihàng tương ứng với một gien và mỗi cột tương ứng với một thời điểm haymột điều kiện thí nghiệm Mỗi ô của ma trận chứa mức độ thể hiện của gientrong điều kiện tương ứng Tuỳ theo độ phức tạp của bộ gien, ma trận có thể

có từ vài nghìn tới vài chục nghìn dòng và từ vài cột cho tới vài trăm cột

Khi chúng ta phân tích dữ liệu biểu hiện gien theo chuỗi thời gian,chúng ta cần tìm các mẫu (bicluster) dữ liệu gồm các dòng có thể không cầnliên tục, nhưng các cột liên tục (theo thời gian) Điều đó dẫn đến giảm bớt độphức tạp và biến đổi của thuật toán biclustering so với trường hợp tìm cácbicluster thông thường Chúng ta quan tâm đến quá trình sinh học diễn ratrong suốt tiến trình từ khi bắt đầu đến khi kết thúc để biết được sự biến đổicủa một gien hoặc một nhóm gien sau một tiến trình sinh học nào đó Nhưvậy, trong trường hợp này một bicluster là một tập con các dòng (gien) và mộttập con liên tục các cột (điều kiện) Như hình 1.1 minh họa 3 quá trình sinhhọc (P1, P2 và P3) của các tập gien khác nhau được miêu tả bằng 3 biclustersvới các cột liên tục

Mục đích cuối cùng của các thuật toán biclustering trong trường hợp

này là tìm ra một tập con các biclusters B k = (Ik, Jk) với các cột liền kề, mà

mỗi bicluster B k có thể hiện các tính chất đặc trưng riêng trong mỗi quá trìnhsinh học nhất định

Trang 5

Hình 1.1 Quá trình sinh học và biclusters với các cột liền kề

1.2 Các kiểu thuật toán Biclustering

Mặc dù nhiều thuật toán đã được đề xuất để giải quyết các vấn đềchung của biclustering [10], [23] như phân lớp và dự đoán, khai phá chuỗitheo thời gian, phân cụm và đã biết đến tầm quan trọng của việc phát hiệncác mẫu cục bộ, nhưng chỉ có một vài đề xuất gần đây đã giải quyết vấn đềnày trong trường hợp cụ thể của dữ liệu biểu hiện gien theo chuỗi thời gian.Những phương pháp tiếp cận đó thuộc một trong hai nhóm các thuật toán sau:

1 Tìm kiếm tham lam lặp đi lặp lại (Greedy iterative search): nhưthuật toán CC-TSB[30]

2 Liệt kê đầy đủ (Exhaustive enumeration): như các thuật toán Clustering [12], q-Subsequences [27], ts-Clustering [28], CCC-Biclustering[17] và e-CCC-Biclustering [18]

q-Những phương pháp này làm việc với một ma trận biểu hiện gien,nhằm tìm kiếm các biclusters bằng cách xác định tập con các gien và tập concác điều kiện (thời điểm) trong khoảng thời gian liên tục Thuật toán CCC-Biclustering [17] và e-CCC-Biclustering [18] thuộc nhóm thuật toán liệt kêđầy đủ, sẽ được trình bày trong luận văn và mô tả chi tiết ở chương 3, cả haithuật toán giải quyết bài toán theo hướng dựa vào ma trận biểu hiện gien theochuỗi thời gian, để tìm các biclusters với mẫu biểu hiện hoàn hảo và mẫu biểuhiện xấp xỉ

Time

Genes

Trang 6

Dưới đây chúng tôi xin trình bày tóm tắt ý tưởng của các thuật toánbiclustering đã được một số tác giả đề xuất, để giải quyết bài toán tìm cácbiclusters trong dữ liệu biểu hiện gien theo chuỗi thời gian.

1.2.1 Thuật toán CC-TSB

Zhang [30] đề xuất thuật toán CC-TSB (Time-Series Biclustering),trong đó có cải tiến các thuật toán heuristic của Cheng and Church [4], bằngcách thêm hoặc xoá một phần cột tiếp giáp của bicluster đã xây dựng, do đóbicluster kết quả chỉ có các cột liền kề nhau

Thuật toán CC-TSB có hai thủ tục chính là: thủ tục xóa và thủ tục chènlặp đi lặp lại Kết quả thu được của thuật toán là một ma trận con, miêu tả mộtbicluster Đầu tiên thuật toán thực hiện, các ma trận con được xem như là toàn

bộ ma trận biểu hiện gien Sau đó loại bỏ dần các hàng (gien) và các cột (thờiđiểm) từ ma trận con, với mục đích giảm thiểu bình phương trung bình dưlượng (MSR) [4] của ma trận con kết quả Một hàng được lấy ra từ ma trậncon nếu có thể hiện khác với những hàng còn lại trong ma trận, được đo bởi

tỷ lệ MSR Nếu tỷ lệ này lớn hơn một ngưỡng thực nghiệm α, hàng đó sẽ bịloại bỏ Cột (thời điểm) được loại bỏ khỏi ma trận con cũng được thực hiệntương tự như đối với hàng Để đảm bảo các thời điểm trong một bicluster luônluôn liên tục, thì chỉ có cột đầu tiên và cột cuối cùng trong ma trận con có thể

bị xóa Quá trình xóa kết thúc khi MSR của bicluster có kết quả thấp hơn giớihạn δ Thao tác chèn cũng được thực hiện tương tự cho các cột, ngược lại vớithao tác xóa thao tác chèn thêm: nếu MSR của một hàng nào đó trong ma trậncon nhỏ hơn α, gien tương ứng với hàng đó sẽ được chèn vào bicluster Thỏamãn với yêu cầu tiếp giáp trong các cột, chỉ có vùng lân cận của ma trận conmới được xem xét để chèn

Trang 7

1.2.2 Thuật toán q-Clustering

Như trong các thuật toán biclustering đã đề xuất, Ji and Tan [12] quantâm đến việc tìm kiếm biclusters với các cột liên tục, được xác định bằng mộtmẫu biểu hiện là tập các ký hiệu liền kề trong bảng chữ cái cho trước Thuậttoán có ba giai đoạn, được mô tả như sau:

Giai đoạn 1: Chuyển ma trận Ma trận biểu hiện gien gốc được chuyển

thành một ma trận "dốc", bằng cách sử dụng bảng ba ký tự ∑={-1,0, 1}.

Giai đoạn 2: Sinh tập q-clusters sử dụng các hàng trong ma trận “dộc”,

mỗi chuỗi trình tự gồm các giá trị -1, 0 và 1 Mỗi q-cluster chứa một tập các gien cùng mẫu biểu hiện trong q thời điểm liên tục Để tìm kiếm các gien có cùng chuỗi trình tự với chiều dài (q - 1), trong đó q là một tham số Mỗi q-

cluster có một định danh duy nhất, gọi là q-clusterID Các q-cluster được tạo

ra như sau: mỗi hàng (gien) trong ma trận "dốc", sử dụng một khung trượt có

độ dài (q - 1) để kiểm tra Khi kiểm tra một chuỗi con (q - 1) được xác định là

q-clusterID thì cặp (GeneID, st) được đưa vào nhóm q-cluster tương ứng, trong

đó GeneID là tên của gien và st là vị trí điểm bắt đầu của khung trượt (q -1).

Để xác định chất lượng của bicluster, ta sử dụng giá trị MSR, do đó nếu

MSR nhỏ hơn giá trị do người dùng quy định thì những bicluster chất lượng

tốt sẽ được giữ lại, và phần khác có thể được loại bỏ

Giai đoạn 3: Đưa ra các bicluster từ q-clusters và sắp xếp theo vị trí st,

tất cả các cặp (GeneID, st) có cùng vị trí được nhóm lại với nhau và xác định bicluster trong mỗi q-cluster với tất cả các gien cùng vị trí bắt đầu cùng mẫu với q điều kiện Các bicluster có giá trị MSR nhỏ hơn giá trị người dùng định

nghĩa sẽ có chất lượng tốt hơn

1.2.3 Thuật toán q-Subsequences

Zeng and Liu [27] đề xuất cách tiếp cận biclustering cho việc phân tíchkhoảng thời gian trong cụm dữ liệu biểu hiện gien, kết hợp phương pháp của

Trang 8

q-Clustering và một số ý tưởng của thuật toán CCC-Biclustering Thực chất

cách tiếp cận là q-Clustering dựa trên cây hậu tố Tuy nhiên, lại không xét tới

các mối quan hệ tác động bên ngoài và các mẫu xấp xỉ Đầu tiên ma trận dữ

liệu biểu hiện gien được chuyển đổi như trong kỹ thuật q-Clustering Sau đó

xây dựng một cây hậu tố tổng quát cho tập các chuỗi xác định mẫu cho mỗigien trong chuỗi thời gian của ma trận biểu hiện Mục tiêu để tìm các

biclusters với các cột liền kề nhau mà mẫu biểu hiện có chiều dài q và trong

khoảng thời gian hoạt động của gien Để làm được điều này sau khi xây dựng

cây hậu tố ban đầu cho tập các chuỗi, tất cả các nút có độ sâu lớn hơn q bị xóa

bỏ Các thông tin trong mỗi nút lá (chứa số lần xuất hiện của q-subsequence)

được phân tích và sử dụng để xác định các bicluster trong khoảng thời gian và

q thời điểm Nút lá được chia thành ba loại Một loại nút lá, được gọi là nút lá

không hoạt động, đại diện cho một q-subsequence mà không xuất hiện trong

bất kỳ chuỗi phân tích nào Một loại nút lá, được gọi là nút hoạt động, đại

diện cho một q-subsequence xuất hiện chỉ một lần trong chuỗi phân tích, hai loại nút lá và tương ứng với q-subsequences như vậy không đưa ra phân tích Loại nút lá cuối cùng tương ứng với q-subsequences xuất hiện ít nhất hai lần

trong cùng một gien hoặc ít nhất hai gien, những nút này tương ứng với cácbiclusters trong khoảng thời gian phân tích

1.2.4 Thuật toán ts-Clustering

Yin [28] đề xuất tìm cụm liên kết trong biểu hiện gien theo chuỗi thời

gian gọi là ts-Clusters, cho phép những biểu hiện gien trong cụm được gắn

kết trên các tập con khác nhau của các điều kiện, và mức độ biểu hiện tươngđối được ưu tiên thực hiện, có thể hạn chế được tác động gây nhiễu Trongcách thiết lập này, các cặp gien quy định trong nhóm có các mẫu liên kết hoặcthời gian chuyển mẫu liên kết Đây là một thuật toán phân cụm dựa trên cây

cơ sở để phát hiện ra các ts-Clusters.

Trang 9

Mô hình ts-Cluster khai thác thời gian chuyển mẫu như sau: giả sử tập

m gien G = {g 1 , g 1 , , g m }, tập n thời điểm với khoảng thời gian nhất định, T

= {t 1 , t 2 , , t n }, và ma trận D= G x T trong đó d i,j là các giá trị biểu hiện của

gien i tại thời điểm j Những giá trị khuyết thiếu trong ma trận được “lấp đầy” bởi một số ngẫu nhiên Sau đó, xác định Y = < t i1 , t i2 , , t il > theo một trình

tự thời gian nếu và chỉ nếu t i1 < t i2 < < t il và chiều dài của Y là |Y | = l Chuỗi thời gian Y là L-segment nếu chiều dài của |Y | là (L + 1).

Xét hai chuỗi thời gian L-segment là Y P = <t i1 , t i2 , , t il >, và Y q = <t j1 ,

t j2 , , t jl > mà ở đó t il < t jl , mối quan hệ giữa thời gian chuyển Y P và Y q nếu

và chỉ nếu j k = i k + t’, với mọi k [1, l], trong đó t’ là một hằng số là khoảng

thời gian giữa Y q và Y P (Y q cũng giống như Y P khi t’= 0 và đó là khoảng thời gian chuyển bằng 0) Khi Y q và Y p giống nhau ta xét đến các mối quan hệ giữachuỗi thời gian và khoảng thời gian trong các trường hợp sau:

- Nếu dựa vào một gien x và một l-segment <t i , t j > có 3 cách chuyển

đổi là, d xi và d xj giá trị biểu hiện của gien x tại thời điểm t i và t j , và tham số δ

(>0) là một ngưỡng điều chỉnh

(1) Điều chỉnh lên, có nghĩa là O x (t i , t j ) = ↑, nếu d xj - d xi > δ

(2) Không điều chỉnh, có nghĩa là O x (t i , t j ) = , nếu d xj - d xiδ

(3) Điều chỉnh xuống, có nghĩa là O x (t i , t j ) = ↓, nếu d xj - d xi < -δ

- Nếu dựa vào 2 gien x, y và (n-1)-segment Y = <t i1 , t i2 , , t in >, x và y

là giống nhau nếu Ox(t i ,t j )= O y (t (j+t) ,t (k+t) ) trong đó: j,k(i 1 , i 2 , , i n ) và t là

khoảng cách thời gian giữa hai sự kiện

Dựa vào các định nghĩa: chuỗi thời gian; L-segment; tính O và xác định như ở trên, một ts-Cluster được xác định như sau: 1 i i { xy}

ma trận con đặc biệt của D = G x T C là một ts-Cluster nếu và chỉ nếu:

Trang 10

(1) Y i ,Y j ,1 i, j r, |Y i | = |Y j |,

(2) Y i ,Y j ,1 i, j r , quan hệ thời gian chuyển giữa Y i và Y j

(3) g x X i , g y X j , 1 i, j r giả sử t là khoảng thời gian Y i đến

Y j , t i , t j Y i điều kiện O x (t i ,t j )= O y (t (i+t) ,t (j+t) ).

Khi β được xác định là tập tất cả ts-Cluster thỏa mãn các điều kiện giàng buộc, khi C β gọi là ts-Cluster cực đại nếu và chỉ nếu không có cụm C’ β

mà C’ chứa C

Vấn đề được giải quyết bằng thuật toán Clustering là: tìm tất cả

ts-Cluster cực đại, một ngưỡng cực đại được người dùng quy định, tính lượng

thời điểm/lượng gien tối thiểu

Thuật toán ts-Clustering có hai bước chính: Trước tiên xây dựng một cây TS-Tree ban đầu ("Construct Initial TS-Tree"), ở đó các thông tin chuyển đổi từ ts-Clusters ban đầu của tất cả l-segments được xác định Chỉ điều chỉnh

giá trị theo hai nhánh lên hoặc xuống Bước thứ hai phát triển cây ban đầu để

tìm tất cả ts-Cluster cực đại, kết hợp tìm kiếm theo chiều rộng cho đến khi chiều cao đạt min t - l, thì tìm kiếm theo độ sâu.

Mặc dù ts-Clustering không sử dụng hướng tiếp cận trực tiếp ma trận gốc, nhưng thao tác O có thể được xem như là một bước chuyển hoá từ cây TS-

tree đã xây dựng bằng cách sử dụng phân nhánh với hai biểu tượng lên “↑” và

Trang 11

Bảng 1: Minh họa ma trận dữ liệu biểu hiện gien.

Chúng ta sẽ xem xét trường hợp tổng quát của ma trận dữ liệu A với tập các hàng X và tập các cột Y, ở đó mỗi thành phần A ij tương ứng với giá trị đặc

trưng của mối quan hệ giữa hàng i và cột j.

Cho một ma trận A với n hàng và m cột, được xác định bởi các tập con các hàng X = {x 1, ,xn } và tập con các cột Y = {y 1, ,ym }, ký hiệu (X,Y) là thể hiện của ma trận A Nếu I ⊆ X và J ⊆ Y là tập con riêng lẻ của hàng và cột,

thì A IJ = (I, J) là ma trận con của ma trận A mà mỗi thành phần aij thuộc về

ma trận con với tập hàng I và tập cột J.

Một Bicluster là một tập con của các hàng, thể hiện trạng thái tương tự

thông qua tập con của các cột và ngược lại Bicluster A IJ = (I, J) gồm tập con các hàng và tập con các cột, ở đây I = {i 1,…, ik} là tập con các hàng (I ⊆X và

k ≤ n) và J= {j1,…, js} là tập con các cột ( J ⊆ Y và s ≤ m)

Các thuật toán biclustering nhằm xác định tập các bicluster B k = (Ik, Jk),

ở đó mỗi bicluster B k thỏa mãn một vài tính chất đặc trưng riêng biệt Nhữngđặc tính mà một bicluster phải tuân theo thay đổi tùy theo cách tiếp cận.Trong luận văn này chúng tôi xin trình bày thuật toán biclustering không xử

lý trực tiếp trên ma trận gốc A, mà các phần tử của nó được chuẩn hóa sang

ma trận biểu hiện gien A’gồm tập các ký hiệu trong bảng chữ cái ∑ miêu tả hoạt

động của mẫu gien, kỹ thuật tiếp cận này được sử dụng trong thuật toán, có thểphát huy khả năng xử lý của thuật toán khi khai phá các mẫu về sinh học

Trang 12

1.4 Các hướng tiếp cận chính để tìm bicluster trong dữ liệu biểu hiện gien theo chuỗi thời gian

Do chức năng của gien thường liên quan tới mức độ thể hiện của giennên bằng các phương pháp phân tích dữ liệu biểu hiện gien, chúng ta có thể

dự đoán được chức năng của chúng hoặc một tiến trình tiếp theo Các phươngpháp phân cụm đã được sử dụng rộng rãi trong việc phân tích dữ liệu biểuhiện gien theo chuỗi thời gian, có thể tìm ra được nhóm gien có thể hiệntương đối giống nhau Các thuật toán Biclustering tìm cách phân nhóm cácđối tượng theo cả hai chiều để tìm ra một tập các gien có thể hiện giống nhauchỉ trong một số điều kiện hay một số thời điểm liên tục nào đó Tuy nhiên,khó khăn mà các thuật toán biclustering là việc tìm lời giải rất khó khăn vìđây là bài toán NP-khó, rất khó để tìm được nghiệm tối ưu toàn cục Vì vậy,

kỹ thuật tiếp cận để xử lý dữ liệu biểu hiện gien theo chuỗi thời gian, trên cơ

sở các giá trị của sự biến đổi trạng thái giữa các thời điểm Kỹ thuật tiếp cậnnày sử dụng hai hoặc ba ký tự và nó thường được xử lý bằng bước chuẩn hóa

ma trận dữ liệu biểu hiện gien theo chuỗi thời gian gốc ban đầu Từ ma trậnbiểu hiện gien đã được chuẩn hóa, việc tìm kiếm các bicluster sẽ hiệu quả hơn

và thời gian thực hiện cũng ít tốn kém hơn Một thuật toán hiệu quả sử dụng

kỹ thuật xử lý chuỗi dựa trên cây hậu tố tổng quát, là ý tưởng chính của thuậttoán được đề xuất Mà ở đó có mối quan hệ tương đồng giữa các biclustersvới các nút trong của cây hậu tố tổng quát đã xây dựng cho các bộ chuỗi (cáchàng trong ma trận) đại diện cho các mẫu biểu hiện của mỗi gien trong matrận Thuật toán này sẽ được chúng tôi trình bày chi tiết trong chương 3

1.5 Mục đích của luận văn

Mục đích của luận văn này là trình bày các thuật toán biclustering dựatrên cây hậu tố tổng quát để tìm kiếm các bicluster hoàn hảo và các biclusterxấp xỉ trong dữ liệu biểu hiện gien theo thời gian Sau đó thực hiện các thuật

Trang 13

toán này trên một số tập dữ liệu sinh học thực tế để minh họa khả năng hoạtđộng cũng như kết qủa của các thuật toán Phân tích các bicluster thu đượcbằng cách sử dụng các thông tin chú giải gien (Gen Ontology) để thấy được ýnghĩa sinh học của các bicluster đã tìm được

1.6 Cấu trúc của luận văn

Cấu trúc của luận văn được chia thành các phần như sau:

Phần 1: Mở đầu – Trình bày lý do, mục đích nghiên cứu, đối tượng, phạm vi,

nhiệm vụ, và phương pháp nghiên cứu

Phần 2: Nội dung – Phần này trình bày nội dung chính của luận văn, bao gồm

các chương sau:

Chương 1: Giới thiệu các khái niệm cơ bản được đề cập trong luận văn,

cũng như một số ý tưởng của thuật toán biclustering Trong chương nàychúng tôi trình bày định nghĩa và bài toán tìm bicluster trong dữ liệu thể hiệngien theo thời gian

Chương 2: Trong chương này chúng tôi tập trung chủ yếu trình bày các

khái niệm cũng như các ứng dụng của cây hậu tố

Chương 3: Chương này chúng tôi trình bày hai thuật toán biclustering

hiệu quả để tìm các biclusters với mẫu hoàn hảo và bicluster với mẫu xấp xỉ

đó là: thuật toán CCC-Biclustering và e-CCC-Biclustering có độ phức tạp tínhtoán đa thức Cả hai thuật toán đều dựa trên cây hậu tố tổng quát

Chương 4: Ứng dụng của thuật toán biclustering vào các việc phân tích

các tập dữ liệu thực tế Cuối cùng là phần kết luận của luận văn, những việc

đã làm được, chưa làm được và hướng phát triển tiếp theo của luận văn

Trang 14

Chương II CÂY HẬU TỐ

2.1 Giới thiệu chung

Cây hậu tố (suffix trees) là một cấu trúc dữ liệu biểu diễn các hậu tốcủa một chuỗi Nó cho phép thực hiện rất nhiều thuật toán hiệu quả quantrọng về chuỗi và được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau củakhoa học máy tính như: đối sánh mẫu, tìm xâu con chung, thống kê tần suất

“từ”, Đây là những bài toán trong các kỹ thuật xử lý văn bản, tìm kiếm

thông tin, tin sinh học (bioinformatics), nén dữ liệu… Cây hậu tố cho mộtchuỗi S là một cây có các cạnh được gắn nhãn với các chuỗi, sao cho mỗi hậu

tố của S tương ứng với đúng một đường đi từ gốc đến hậu tố đó, nó có thể sửdụng như một sơ đồ (diagram) của trạng thái dịch chuyển

Một trong những điểm mạnh của cây hậu tố là cho phép thay đổi và mởrộng cấu trúc mỗi khi có sự cập nhật dữ liệu mới Tính chất này có thể xử lýtrên một tập dữ liệu lớn với nhiều dạng dữ liệu khác nhau, đặc biệt là dữ liệusinh học, sẽ tiết kiệm được thời gian và không gian xử lý dữ liệu

Khái niệm đầu tiên được giới thiệu bởi Weiner vào năm 1973, đến năm

1976 McCreight đã đơn giản hóa thao tác xây dựng cây hậu tố với thời gian

và không gian tuyến tính, và đến 1995 Ukkonen cung cấp giải thuật dựng câyhậu tố trực tuyến với thời gian tuyến tính (On-line construction of suffixtrees) và được gọi là thuật toán Ukkonen [6] Dưới đây chúng tôi xin đượctrình bày các khái niệm và giải thuật dựng cây hậu tố cũng như một số Ứngdụng của cây hậu tố

2.2 Các khái niệm cơ bản.

Định nghĩa 1: (Cây hậu tố) Cây hậu tố T của chuỗi |S| kí tự của S là

cây có hướng, có gốc và có các tính chất sau:

- Các đường đi từ gốc đến lá tương ứng 1 - 1 với các hậu tố của S.

- Mỗi nút trong, trừ nút gốc, có ít nhất là hai con

Trang 15

- Mỗi cạnh được gán nhãn bằng một chuỗi con (không rỗng) của chuỗi S.

- Các cạnh bất kỳ xuất phát từ một nút chung phải bắt đầu bằng các ký tựkhác nhau

- Đối với mỗi nút lá thứ i, có nhãn là đường đi từ nút gốc đến nút đó biểu diễn hậu tố (suffix) thứ i của chuỗi S.[5]

Để đảm bảo luôn dựng được cây hậu tố của chuỗi S người ta thêm một ký

tự đặc biệt ($) vào cuối chuỗi S, gọi là kí tự kết thúc, như vậy sẽ không có hậu

tố nào là tiền tố của một hậu tố khác Ví dụ cây hậu tố T(bbabab).

Hình 2.1 Cây hậu tố của chuỗi bbabab

Trong ví dụ minh họa cây hậu tố T của chuỗi ω = bbabab$ có bẩy hậu

tố là bbabab$, babab$, abab$, bab$, ab$, b$ và $ được đánh số từ 1 đến 7 như hình vẽ, nhãn của nút w là ab, nhãn của nút u là b và xâu baba là nhãn của đường đi từ gốc đến giữa cạnh (u, 2)

Sau đây là một số khái niệm liên quan đến cây hậu tố:

Định nghĩa 2: (Chuỗi, chuỗi con, hậu tố và tiền tố) Một chuỗi S là danh sách

các ký tự trên bảng chữ cái ∑ (có |∑| ký tự) được viết liên tục từ trái sang phải Bất kỳ xâu con S[i j] thu được cũng là một xâu ký tự liên tục trong S,

có vị trí bắt đầu tại i và kết thúc tại j Đặc biệt, S[1 i] là tiền tố của S kết thúc tại vị trí i và S[i |S|] là hậu tố của S bắt đầu tại vị trí i.

Trang 16

Định nghĩa 3: (Cây hậu tố tổng quát) Cây hậu tố tổng quát là một cây hậu tố

được xây dựng cho tập các chuỗi S i Mỗi nút lá lúc này nhận hai giá trị, một là

chuỗi (i); hai là vị trí bắt đầu (hậu tố) của chuỗi đó.

Để giải quyết bài toán xâu con chung của hai hay nhiều chuỗi chúng tacần mở rộng khái niệm cây hậu tố để chứa nhiều chuỗi khác nhau trong mộtcấu trúc dữ liệu chung, ta sử dụng cây hậu tố tổng quát, ví dụ cây hậu tố tổng

quát T cho hai chuỗi S 1=TACTAG và S2=CACT.

Hình 2.2 Cây hậu tố tổng quát cho chuỗi S1=TACTAG; S2 = CACT.

Độ sâu chuỗi của một nút v trong cây T là P(v), là tổng của tất cả độ dài cạnh trên đường đi từ gốc đến nút v, đường đi chính là chuỗi nhãn của nút v.

Định nghĩa 4: (Liên kết hậu tố): Cho xα biểu diễn một chuỗi bất kỳ, trong đó

x biểu diễn ký tự đơn và α biểu diễn một chuỗi con (có thể rỗng) Xét nút

trong v với chuỗi nhãn xα, nếu có một nút khác s(v) có nhãn là α, một con trỏ

từ v đến s(v) được gọi là liên kết hậu tố (suffix link) Trường hợp đặc biệt nếu

α rỗng thì xα có liên kết hậu tố được trỏ đến gốc (root) Nút gốc không được

coi là nút trong và không có liên kết hậu tố nào bắt đầu từ nó Ví dụ như hìnhdưới đây, liên kết hậu tố được thể hiện là đường nét gạch nối

Trang 17

Hình 2.3 Cây hậu tố tổng quát và các liên kết.

2.3 Biểu diễn cây hậu tố tổng quát trong máy tính

Một cách hiệu quả để biểu diễn các cạnh giả sử là S[p q] của cây hậu

tố thay vì biểu diễn tường minh nhãn cạnh của chúng, ta chỉ mô tả là một cặp

số nguyên (p,q) Do đó mỗi cạnh có thể lưu trữ với kích thước là hằng số, vì vậy không gian lưu trữ cây hậu tố là O(m) Cây hậu tố tổng quát có thể chứa

rất nhiều chuỗi khác nhau nên mỗi cạnh khi lưu trữ cần lưu cả chỉ số của xâu

con nó biểu diễn Ví dụ cây hậu tố tổng quát cho hai chuỗi S 1 = TACTAG và S2 = CACT trong bộ nhớ như hình 2.4.

Trang 18

Hình 2.4 Biểu diễn cây hậu tố tổng quát trong máy tính.

Trên đây là một số khái niệm về cây hậu tố liên quan, phần tiếp theo chúng tôi xin trình bày thuật toán dựng cây hậu tố tổng quát của Ukkonen [6]

2.4 Thuật toán dựng cây hậu tố.

2.4.1 Dựng cây hậu tố ngầm định (implicit suffix tree)

Cây hậu tố ngầm định của chuỗi S là cây nhận được từ cây hậu tố của S

sau các bước xử lý:

i) Xóa tất cả các ký tự kết thúc $ trong các nhãn

ii) Xóa các cạnh không có nhãn (cạnh rỗng)

iii) Xóa các nút có ít hơn 2 con

Thuật toán: Gọi cây T i là cây hậu tố ngầm định cho S[1 i] Ý tưởng xây dựng của thuật toán là cập nhất cây T từ cây T 2,…Tm+1 trong m pha Thêm ký tự

S[m+1]=$ thì việc mở rộng cuối cùng ta được cây hậu tố ngầm định chính là

cây hậu tố của S$.

Đầu tiên ta có cây T 1 với một cạnh duy nhất chứa S 1 Pha i+1 được chia nhỏ thành i+1 bước mở rộng trong đó ta thêm ký tự S i+1 vào hậu tố S[j i] của xâu S[1 i] Tại bước mở rộng j, xét đường đi từ gốc có nhãn β = S[j i] và thực

hiện một trong ba luật mở rộng sau đây:

1) Nếu β là nhãn của một nút lá: ký tự S i+1 được thêm vào cạnh nối với

Trang 19

nút lá đó.

2) Nếu không có đường đi từ β bắt đầu bằng Si+1 nhưng có ít nhất mộtđường đi nối tiếp β: trường hợp này ta thêm một cạnh có nhãn là S i+1,nếu β kết thúc ở giữa một cạnh thì tạo một nút mới

3) Nếu có đường đi nối tiếp β bắt đầu bằng S i+1: không làm gì vàchuyển sang bước tiếp theo

Tại bước mở rộng i+1 của pha i+1, β là xâu rỗng, thuật toán đơn giản

thêm ký tự S i+1 bên dưới nút gốc (trừ khi nó đã có)

Xét ví dụ trong hình 2.5 bốn hậu tố đầu tiên kết thúc ở nút lá, hậu tố cuối

cùng chỉ gồm ký tự x kết thúc bên trong mỗi cạnh Khi thêm ký tự thứ sáu b,

bốn hậu tố đầu tiên được mở rộng bằng luật 1, hậu tố thứ năm sử dụng luật 2

và với hậu tố thứ sáu là luật 3

Hình 2.5 Cây hậu tố ngầm định cho xâu axabx trước (a) và sau (b) khi thêm ký tự thứ sáu b.

Dế dàng thấy rằng ta có thể tìm thấy điểm kết thúc của mỗi hậu tố trong

i+1 hậu tố của xâu S[1 i] bằng cách duyệt cây từ gốc với chi phí thời gian là

O(|β|) Trong thuật toán Ukkonen, mỗi nút trong mới được tạo ra sẽ có mộtliên kết hậu tố khi pha tiếp theo kết thúc Liên kết hậu tố có thể được sử dụng

để giảm độ phức tạp khi thao tác

Đường đi có nhãn S[1 i] chắc chắn phải kết thúc ở lá và nó có đường

đi dài nhất trong cây T i Khi xây dựng cây T i ta lưu lại nút lá tương ứng với

Trang 20

toàn bộ xâu đang xét S[1 i] Bước bổ sung đầu tiên của pha i+1 lấy nút lá này

và áp dụng luật thứ nhất do đó chỉ cần thời gian hằng số [4]

Đặt S[1 i] = xα và (v, 1) là cạnh đến nút lá, nhãn của cạnh là γ, bước

mở rộng tiếp theo thuật toán cần tìm đường đi có nhãn là S[2 i] = α Nếu v là

nút gốc, ta duyệt cây từ gốc theo thuật toán trước Nếu v không phải nút gốc thì có liên kết hậu tố từ v đến nút s(v), ta bắt đầu duyệt cây từ nút s(v) Đường

đi từ vị trí hiện tại có nhãn γ là đường đi từ gốc có nhãn α

Tại bước mở rộng thứ j với j > 2 ta cũng làm tương tự Bắt đầu và kết thúc của S[j-1 i] là nhãn của một nút trong, khi đó ta có liên kết hậu tố của nút này Kể cả khi xâu S[j-1 i] kết thúc ở một nút lá thì nút cha của nó hoặc

là một nút trong (do đó có liên kết hậu tố) hoặc là nút gốc Vậy ta không baogiờ phải đi ngược lên quá một cạnh

Hình 2.6 Bước mở rộng j > 1 trong pha i Đi lên tối đa là cạnh từ cuối đường đi S[j-1 i] đến nút v sau đó theo liên kết hậu tố đến s(v), đi xuống theo đường đi có nhãn γ rồi áp dụng luật bổ sung phù hợp để thêm hậu tố S[j i+1].

Việc tìm đường đi có nhãn γ theo cách thông thường cần thời gian O(|γ|), do đường đi nhãn γ chắc chắn tồn tại và không có hai cạnh nào cùng xuấtphát từ một đỉnh có nhãn bắt đầu cùng một ký tự nên ta có thể dựa vào ký tựđầu nhãn và độ dài của cạnh để tìm ra điểm kết thúc của đường đi trong thờigian tỉ lệ với số nút trên đường đi

Trang 21

Gọi (v, s(v)) là một liên kết hậu tố, thì độ sâu nút của v tối đa lớn hơn

độ sâu nút của s(v) một đơn vị Với mỗi nút v trên đường đi xα, có một nút

s(v) trên đường đi α Tuy nhiên, độ sâu của v có thể lớn hơn, bằng hoặc nhỏ hơn độ sâu của nút s(v) một đơn vị.

Mặc dù đã được cải thiện tại mỗi pha của thuật toán Ukkonen có thểđược thực hiện trong thời gian O(m) Tuy nhiên đến đây chúng ta vẫn thấyrằng độ phức tạp của nó được thực hiện trong thời gian O(m2)

Để thuật toán dựng cây hậu tố ngầm định đạt được trong thời giantuyến tính chúng ta có một số nhận xét sau đây:

Nhận xét 1: Luật mở rộng 3 kết thúc mỗi pha [5].

Nếu luật 3 được áp dụng nghĩa là đường đi có nhãn S[j i] chắc chắn được nối tiếp bằng ký tự S i+1 nên tất cả các đường đi có nhãn S[k i] với k > j Gọi j* là chỉ số của bước mở rộng đầu tiên khi luật 3 được áp dụng Theo đó

ta không cần thực hiện các bước mở rộng k với k > j* trong pha hiện tại.

Nhận xét 2: Khi đã là nút lá thì luôn luôn là nút lá [5].

Rõ ràng trong 3 luật mở rộng không có luật nào cho phép thêm một nút

lá mới bên dưới một nút lá có nhãn α Do đó khi một nút lá đã được tạo ra thì

nó sẽ luôn luôn là nút lá cho đến khi pha cuối cùng của thuật toán kết thúc

Với nhận xét trên gợi ý cách cài đặt hiệu quả thuật toán: thay vì cậpnhật nhãn của các nút lá một cách tường minh, ta gán nhãn cho các nút lá là

cặp (p,ε) Trong đó p là vị trí bắt đầu của xâu con và ε là vị trí kết thúc của xâu con trong S, thay thế cho vị trí cuối xâu đang xét Như vậy trong pha i+1

ta không cần thực hiện j i bước mở rộng tường minh đầu tiên Điểm mà ta thấyphù hợp với hậu duệ đầu tiên được gọi là điểm kết thúc Bằng cách xét cácđiểm kết thúc, ta sẽ biết các điểm hoạt động sẽ được đi qua tiếp theo

Trang 22

Thuật toán Ukkonen dựng cây hậu tố ngầm định:

input: Chuỗi S.

Dựng cây hậu tố ngầm định T 1 // T 1 có một cạnh đơn nhãn là S[1].

for i = 1 to m-1 do

// Cập nhật T i (với tất cả các hậu tố của S[1 i] đến Ti+1 với tất các hậu tố S[1 i+1])

for j = 1 to i+1 do

Trong cây hiện tại, tìm vị trí kết thúc của đường đi từ

gốc có nhãn t[j i] Để có thể, mở rộng đường đi bằng

cách thêm ký tự t[i+1], để có xâu t[j i+1] trong cây.

áp dụng chính là một bước trước khi luật 3 lần đầu tiên được áp dụng nên ta

có j i = j*-1 Như vậy số bước mở rộng được thực hiện có thể tính theo công

thức: ∑m= − − + + = − + ≤

i 2(j i j i 1 1 ) 1 j m j1 m 2m Vậy thời gian thực hiện của thuậttoán là O(m) Như hình minh họa quá trình thực hiện của thuật toán dưới đây,mỗi dòng là một giai đoạn trong thuật toán, mỗi số là một bước mở rộngtường minh được thực hiện

Trang 23

Dưới đây là hình ảnh minh họa quá trình thực hiện của thuật toán:

Hình 2.7 Quá trình thực hiện của thuật toán

Cây hậu tố ngầm định cuối cùng T m được chuyển thành cây hậu tố thực

sự trong thời gian O(m) Ta chỉ việc thêm ký tự $ vào cuối chuỗi S và thựchiện thuật toán, kết quả là một cây hậu tố ngầm định của chuỗi mà không cóhậu tố nào là tiền tố của hậu tố khác

2.4.2 Dựng cây hậu tố tổng quát

Áp dụng thuật toán Ukkonen như đã trình bày ta dễ dàng dựng cây hậu

tố tổng quát trong thời gian O(n) với n là tổng độ dài các chuỗi.

Đầu tiên ta dựng cây hậu tố thông thường cho xâu S 1 Với các xâu S 2,

S3, , SK trước tiên ta tìm tiền tố dài nhất S k[1 i] đã tồn tại trong cây Ta thực

hiện các giai đoạn i+1, i+2, m k của thuật toán để mở rộng cây hậu tố tổngquát cho toàn bộ xâu

Việc tìm tiền tố dài nhất đã có trong cây đồng nghĩa với việc tìm đường

đi dài nhất trong cây có nhãn S k[1 i] bằng cách duyệt từng ký tự trên đường

đi từ gốc Có hai trường hợp xảy ra:

1 Đường đi kết thúc ở nút v (có thể là nút gốc): thêm nút con mới nối với v bằng cạnh có nhãn là S k[i+1].

2 Đường đi kết thúc giữa một cạnh: chia đôi cạnh tại điểm đường đi

kết thúc và tạo ra nút mới v Tạo nút con của v nối với nó bằng cạnh Sk[i+1]

Sau khi thực hiện xong bước mở rộng đầu tiên của giai đoạn i+1 đã hoàn thành, ta có thể đi theo nút cha của v, theo liên kết hậu tố để thực hiện

Trang 24

các bước tiếp theo Lưu ý trong trường hợp 2 ta cũng cần đảm bảo liên kết

hậu tố của v sẽ được thiết lập trong bước mở rộng tiếp theo.

2.5 Ứng dụng cây hậu tố.

Cây hậu tố thường được sử dụng trong nhiều ứng dụng khác nhau, đặcbiệt trong lĩnh vực Tin sinh học như: tìm kiếm các mẫu trình tự DNA; sắp xếpcác chuỗi gien hay Protein (mà có thể được xem như chuỗi dài các ký tự);trong nén dữ liệu Cây hậu tố cũng được sử dụng trong phân tích cụm dữliệu biểu hiện gien [17], để tìm kiếm các bicluster trong dữ liệu biểu hiện gien(chúng tôi sẽ trình bày chi tiết ở phần chương 3)

Với nhiều ứng dụng và thường cung cấp giải pháp trong thời gian tuyếntính, dưới đây là một số ứng dụng của cây hậu tố:

Chuỗi con chung dài nhất (Longest Common Substring):

Chuỗi con của một chuỗi S là chuỗi thu được bằng cách chọn ra một số ký

tự liên tục trong S Nói cách khác Giả sử S=S 1S2 Sm, một chuỗi

Z=Si+1Si+2 Si+t với i 0 và i+t m là chuỗi con của S Ví dụ: chuỗi Z=bcd là

chuỗi con của chuỗi S=aabcbcdabdab

Cho hai chuỗi S và T, ta nói Z là chuỗi con chung của S và T nếu Z đồng thời là chuỗi con của cả hai Ví dụ: S=abcdefg và T=bccdegf có:

Z = bc là chuỗi con chung.

Chuỗi efg không phải chuỗi con chung.

Z = bc có độ dài 2 không phải là chuỗi con chung dài nhất.

Chuỗi cde là chuỗi con dài nhất có độ dài 3.

Trong cây hậu tố tổng quát của chuỗi S và T, đánh dấu các nút trong

bằng 1 (hoặc 2) nếu cây con tại nút đó chứa nút lá có nhãn 1 (hoặc 2) Nhãncủa đường đi từ gốc đến nút được đánh dấu cả hai là một chuỗi con chung củahai chuỗi Nút có nhãn dài nhất hay độ sâu đường đi lớn nhất cho ta lời giảicủa bài toán

Trang 25

Chuỗi con chung có chiều dài k (Common substrings of length k):

Cho m chuỗi S 1, S2, , Sm , với mỗi giá trị k từ 2 đến m, gọi là l(k), là độ dài của chuỗi con chung dài nhất của ít nhất k chuỗi trong tập đã cho

Ví dụ Xác định chuỗi con chung dài nhất của ít nhất hai chuỗi: Cho tập

gồm m chuỗi, l(k) (2 k m) là chiều dài của chuỗi con chung dài nhất tối

thiểu là k của m chuỗi Ví dụ cho các chuỗi sau: {sanddollar, sandlot, handler,

- Input: Các chuỗi S1, …, Sm (tổng chiều dài n)

- Output: l(k) (2 ≤ k m) - các chuỗi con và độ dài của nó.

Xây dựng cây hậu tố tổng quát cho m chuỗi, mỗi chuỗi duy nhất có một

ký tự kết thúc

Kết luận

Trong chương này, chúng tôi đã trình bày tổng quan về các chức năngcủa cây hậu tố, một số kiến thức liên quan đến việc tìm kiếm chuỗi Nhữngkiến thức quan trọng này sẽ làm nền tảng cho các kết quả sẽ trình bày trongcác chương tiếp theo của luận văn

Trang 26

Chương III THUẬT TOÁN DỰA TRÊN CÂY HẬU TỐ TỔNG QUÁT ĐỂ TÌM KIẾM CÁC BICLUSTER TRONG DỮ LIỆU BIỂU

HIỆN GIEN THEO CHUỖI THỜI GIAN

3.1 Thuật toán CCC-Biclustering.

Trong phần này chúng tôi xin trình bày thuật toán CCC-Biclustering,một kỹ thuật phân tích dữ liệu biểu hiện gien theo chuỗi thời gian Thuật toántìm và đưa ra tất cả các biclusters cực đại, các cột gắn kết liên tục với các mẫubiểu hiện hoàn hảo trong thời gian tuyến tính với kích thước của ma trận biểu

hiện gien Một bicluster có mẫu biểu hiện hoàn hảo nếu tất cả các gien trong

bicluster đều có cùng mẫu thể hiện trong một khoảng thời gian liên tục Mộtbicluster là cực đại nếu nó không thể mở rộng các gien có cùng một mẫu vàthời điểm tiếp giáp

Sử dụng kỹ thuật xử lý chuỗi dựa trên cây hậu tố, là ý tưởng chính của

thuật toán được đề xuất, trong đó mối quan hệ tương đồng giữa các biclusters cực đại với các nút trong của cây hậu tố tổng quát được xây dựng cho các bộ

chuỗi (các hàng) là đại diện của các mẫu thể hiện của mỗi gien trong ma trận.Việc chuẩn hóa ma trận biểu hiện gien theo chuỗi thời gian ban đầu, làm giảm

độ phức tạp khi phân tích dữ liệu, dẫn đến hiệu quả của thuật toán Biclustering là tuyến tính

CCC-3.1.1 Chuẩn hóa dữ liệu biểu hiện gien

Cho A’ là ma trận biểu hiện gien được xác định bởi |R| hàng và |C| cột, trong đó, tập các hàng (gien) R, và tập các cột (thời điểm) C Chúng ta xét mức độ thể hiện gien trong ma trận A’, mà mỗi phần tử là tập các ký tự trong

bảng chữ cái ∑ Sau quá trình chuẩn hóa dữ liệu từ ma trận A’ sang ma trận A,

Trang 27

mỗi phần tử A ij∈∑ đại diện cho các giá trị tùy thuộc vào mức độ thể hiện của

gien i tại thời điểm j Ví dụ:

Ma trận A ở trên được xác định làm ví dụ cơ sở cho các khái niệm

bicluster và mục tiêu của thuật toán biclustering sau này, dưới đây là một sốkhái niệm được sử dụng trong thuật toán

Định nghĩa 3.1 (Bicluster) Một bicluster là một ma trận con A IJ được xác định bởi I R là tập con các hàng và J C là tập con các cột Một bicluster chỉ có một hàng hoặc một cột thì gọi là bicluster tầm thường.

Mục tiêu của thuật toán biclustering là xác định một tập con các

bicluster B k= (Ik,Jk) sao cho mỗi bicluster đáp ứng các đặc tính riêng biệt.

Những đặc tính đồng nhất chính xác mà một bicluster thể hiện thay đổi tùytheo cách tiếp cận [22]

Định nghĩa 3.2 (CC-Bicluster) Một bicluster gắn kết cột A IJ là bicluster mà Aij = Alj với tất cả hàng i, l I và cột j J.

Việc tìm kiếm tất cả bicluster cực đại thỏa mãn các thuộc tính gắn kết trongđịnh nghĩa 3.2 được biết đến nay vẫn là một vấn đề của bài toán NP-khó [16]

Trang 28

3.1.2 CC-Bicluster trong dữ liệu biểu hiện gien theo chuỗi thời gian

Trong dữ liệu biểu hiện gien theo chuỗi thời gian, khả năng chồng chéocác biclusters với các hàng tùy ý và các cột phải liền kề nhau Chúng ta cómột số khái niệm như sau:

Định nghĩa 3.3 (CCC-Bicluster) Một bicluster gắn kết cột láng giềng

(contiguous column coherent bicluster: ccc-bicluster) AIJ = (I,J) là tập con của các hàng I={i1, , ik} và tập con các cột láng giềng J = {r, r+1, , s-1, s}

mà Aij = Alj, với mỗi i, l I và các cột j J Mỗi CCC-Bicluster xác định một chuỗi S phổ biến với mọi hàng I và cột J.

Định nghĩa 3.4 (Row-Maximal CCC-Bicluster) Một CCC-Bicluster A IJ là cực đại hàng nếu không thể thêm được bất kỳ hàng I nào vào nó và được xác nhận thuộc tính gắn kết như định nghĩa 3.3.

Định nghĩa 3.5 (Left-Maximal and Right-maximal CCC-Bicluster) Một

CCC-Bicluster AIJ là cực đại trái/phải nếu chúng ta không thể mở rộng nó bởi mẫu biểu thức S vào trái/phải bằng cách thêm một ký tự (cột láng giềng) vào đầu/cuối của bicluster mà không làm thay đổi tập hàng I.

Định nghĩa 3.6 (Maximal CCC-Bicluster) Một CCC-Bicluster A IJ là cực đại, khi nó không có CCC-Bicluster nào khác bao hàm được những thuộc tính của AIJ, có nghĩa là, nếu cho tất cả các CCC-Biclusters A LM, I L J

M I = L J = M.

Với định nghĩa như vậy chúng ta có thể hiểu rằng “CCC-Bicluster cực

đại là một CCC-Bicluster cực đại trái/ phải và cực đại hàng”.

Vấn đề đặt ra là, cho ma trận biểu hiện gien A, xác định tất cả các

CCC-Bicluster cực đại B K=AIkJk Để giải quyết vấn đề của bài toán đó chúngtôi xin trình bày đề xuất của thuật toán sử dụng kỹ thuật xử lý chuỗi dựa trêncây hậu tố để xác định các CCC-Bicluster cực đại với thời gian tuyến tính

Ví dụ một số bicluster cực đại có mẫu biểu hiện hoàn hảo dưới đây:

Trang 29

B1=({G4,G5}, {C1})

SB6=[N]

Hình 3.2 Minh họa các CCC-Bicluster cực đại có mẫu biểu hiện hoàn hảo.

Thuật toán biclustering xác định tập con các hàng và tập con các cột làmột tập chuỗi (là các hàng của ma trận đã chuẩn hóa) Chúng ta gọi bicluster

có mẫu biểu hiện hoàn hảo nếu tất cả các gien trong bicluster có mẫu biểuhiện giống nhau trong khoảng thời gian như đã định nghĩa bicluster ở trên.Hình 3.2 thể hiện các CCC-biclusters cực đại với mẫu biểu hiện hoàn hảo, có

ít nhất hai hàng trong ma trận A (hình 3.1) là tập con của các hàng và các cột

Chuỗi S B1 = [U], SB2 = [U], SB3 = [U N], SB4 = [U D N], SB5 = [U], SB6 = [N]

phù hợp với mẫu biểu hiện CCC-Biclusters cực đại khác nhau lần lượt là B1,B2, B3, B4, B5 và B6

3.1.3 Tìm tất cả các bicluster cực đại với mẫu biểu hiện hoàn hảo

Trong phần này chúng tôi tập trung mô tả mối quan hệ tương đồng giữacác CCC-Biclusters với các nút trong của cây hậu tố tổng quát được xây dựngcho tập các chuỗi (các hàng) đại diện cho các mẫu biểu hiện của mỗi gientrong ma trận Chúng tôi sẽ trình bày và chứng minh một số định lý có khả

Trang 30

(a) (b)

năng xác định các nút trên cây hậu tố tương ứng với các CCC-Bicluster cực

đại Thuật toán Ukkonen [6] đã xác định các liên kết hậu tố (suffix links) là rất

cần thiết để có thời gian tuyến tính khi xây dựng và thao tác trên cây

3.1.3.1 CCC-Bicluster và cây hậu tố tổng quát

Ý tưởng trọng tâm của thuật toán CCC-Biclustering là mối quan hệtương đồng giữa các CCC-Bicluster với các nút trong của cây hậu tố tổngquát Đầu tiên chúng ta chuyển các chữ cái trong ma trận A (hình 3.1) bằngcách thêm số cột cho mỗi phần tử trong ma trận (thực hiện như một bước tiền

xử lý trong thuật toán) Khi đó ta có một bảng chữ cái mới ∑’ = x {1, , | C|} ở đó mỗi phần tử ’ được ghép với một ký tự trong ∑ với một số trong

khoảng {1, , |C|} Khi đó ta có tập các chuỗi {S 1, , S|R|} thu được bằng cách

áp dụng chuẩn hóa mỗi hàng A iC của ma trận A như sau:

Hình 3.3 Minh họa quá trình chuẩn hóa dữ liệu Hình (a) là ma trận A trong hình 3.1, hình (b) là ma trận thể hiện sau khi chuẩn hóa các chữ cái và ghép thêm thứ tự cột.

Chúng ta thấy rằng các CCC-Biclusters cực đại trong ma trận gốc Ađược mô tả chính xác tương ứng với các nút trên cây hậu tố tổng quát T được

xây dựng từ tập các chuỗi {S 1, , S|R|} Sự gia tăng kích thước bảng chữ cái

sau khi chuẩn hóa không ảnh hưởng đến việc xây dựng và thao tác của câyhậu tố tổng quát [17]

Xét một nút v trong T theo chiều sâu (string-depth) ta có P(v) là chỉ số cột Cho L(v) biểu thị số lượng lá trong cây con có gốc là v, trong trường hợp

v là một nút trong.

Trang 31

Bằng cách phân tích như ví dụ minh họa, dễ dàng xác định tất cả các

nút trong của cây T tương ứng với một CCC-Bicluster cực đại hàng

Trang 32

(row-nút trong v của cây T tương ứng với một chuỗi con (substring) phổ biến cho mọi hàng có một lá gốc tại v Vì vậy, mỗi nút trong v xác định một CCC- Bicluster có P(v) cột, và số hàng bằng L(v).

Nó đúng với tất cả các nút cho phép, trừ những nút có nhãn cạnh đơncuối cùng cũng xác định CCC-Biclusters Tuy nhiên trong số những CCC-Biclusters không cực đại (như nút trong có chuỗi nhãn [D3 U4] và [N5]) Mộtnút trong tương ứng với một CCC-Bicluster cực đại nếu và chỉ nếu nó không

có liên kết hậu tố đến từ một nút có cùng giá trị L(v) Như vậy chỉ có các nút

trong với chuỗi nhãn [U1], [U4], [U4 N5], [U2 D3 U4], và [N1] là xác địnhCCC-Biclusters cực đại có ít nhất hai hàng Những nút trong tương ứng vớiCCC-Biclusters cực đại từ nút B1 đến B6 trong hình 3.4(b)

Lưu ý rằng các hàng trong mỗi CCC-Bicluster thu được bởi nút v từ chuỗi ký tự kết thúc của nó trong cây con (subtree) Giá trị P(v) và ký tự đầu tiên trong chuỗi nhãn của nút v cung cấp thông tin cần thiết để xác định tập

các cột láng giềng (contiguous columns)

Sử dụng ví dụ minh họa trong hình 3.4 chúng ta thấy rằng tất cả các nút

trong của cây hậu tố tổng quát T tương ứng với các CCC-Biclusters trong ma

trận A và một vài CCC-Biclusters có thể không cực đại, dưới đây là một sốkhái niệm để hỗ trợ và xác định CCC-Biclusters cực đại có ít nhất hai hàng

Bổ đề 3.1 Mọi CCC-Bicluster cực đại phải, cực đại hàng có ít nhất hai hàng

tương ứng với một nút trong của cây T và mọi nút trong của T tương ứng với một CCC-Bicluster cực đại phải, cực đại hàng có ít nhất hai hàng.

Chứng minh: Giả sử B là một CCC-Bicluster cực đại phải, cực đại hàng

và có ít nhất hai hàng, mỗi hàng trong B là một chuỗi con xác định B Từ B là cực đại bên phải nên có ít nhất một hàng trong B phải có một ký tự (có thể là

ký tự kết thúc) khác với ký tự trong hàng nào đó trên cột j, nó có thể là cột kế bên sát liền ngay cột cuối cùng trong B, (hay nói cách khác là cột j+1 nếu

Trang 33

chưa phải cột cuối cùng của ma trận) Vì vậy có một nút trong của T phù hợp với B và chuỗi nhãn của nút đó là một chuỗi xác định B Mặt khác, mỗi nút trong của T xác định một chuỗi, được thể hiện trong hai hoặc nhiều hơn số hàng trong A và ít nhất một trong các hàng này có ký tự khác trong cột j, mà lặp lại ở cột bên cạnh cột cuối cùng của B Nếu không xảy ra trường hợp này thì không thể tồn tại một nút trong của T Để phân biệt các nút tương ứng với

CCC-Biclusters cực đại trái, chúng ta tìm hiểu định nghĩa sau:

Định nghĩa 3.7 (MaxNode) Một nút trong v của T gọi là MaxNode nếu và

chỉ nếu nó thỏa mãn một trong các điều kiện sau:

i) Không có liên kết hậu tố đến.

ii) Có liên kết hậu tố đến từ các nút ui nào đó, với mọi nút ui, L(ui) < L(v).

Giả sử khi ta xét hai nút trên cây hậu tố là v 1 tương ứng với Bicluster B1

và v 2 tương ứng với Bicluster B2 Nếu có một liên kết hậu tố từ nút v 1 đến nút v2, CCC-Biclusters được xác định bởi v2 có chứa ít nhất một cột của CCC-

Biclusters được xác định bởi v 1 Điều này dẫn đến bổ đề

Bổ đề 3.2 Một nút trong của T tương ứng với CCC-Biclusters cực đại trái

nếu và chỉ nếu nó thỏa mãn định nghĩa 3.7

Chứng minh: Cho chuỗi nhãn s=P(v) của nút v thỏa mãn các điều kiện

của bổ đề xác định CCC-Bicluster B trong trong ma trận A có ít nhất hai hàng Nếu nút v không có liên kết hậu tố đến thì nó tương ứng với một CCC-

Bicluster bắt đầu từ cột thứ nhất trong A hoặc được xác định bằng một chuỗi

s, xs hiện là một hàng đơn trong A và được thể hiện là chuỗi nhãn của một nút

lá trong T Vì vậy B cực đại trái, khi cả hai trường hợp không thể mở rộng

sang trái và cũng không bị mất hàng Nếu nút v có liên kết hậu tố đến từ nút u i

nào đó mà L(u i) < L(v) thì B cực đại trái, khi CCC-Biclusters B được xác định

bởi u i sẽ có ít hàng hơn Nhưng đối với các hướng khác, nếu một nút trong v

có liên kết hậu tố từ một nút u thì L(u) = L(v) (không thể có trường hợp L(u)

Trang 34

> L(v)), thì CCC-Bicluster B được xác định bởi v có thể mở rộng sang trái tồn

tại với một tập hàng Do đó v không xác định CCC-Bicluster cực đại trái.

Định lý 3.1 Mọi CCC-Bicluster cực đại có ít nhất hai hàng tương ứng với

một nút trong của cây hậu tố tổng quát T thỏa mãn định nghĩa 3.7, và mỗi nút trong xác định một CCC-Bicluster cực đại có ít nhất hai hàng.

3.1.3.2 Tìm và đưa ra tất cả CCC-Bicluster trong thời gian tuyến tính

Thuật toán tìm và đưa ra tất cả các CCC-Bicluster cực đại, trong dữliệu chuẩn hóa từ ma trận biểu hiện gien A trong thời gian tuyến tính theokích thước của ma trận, được xây dựng dựa trên cây hậu tố với tập các chuỗi

{S 1, , S|R|} thu được như đã mô tả ở trên Thêm vào đó là kiểm tra mỗi núttrong có thỏa mãn với định lý 3.1 hay không Các nút không thỏa mãn các

điều kiện thì được đánh dấu không hợp lệ “Invalid” Trường hợp ngược lại

tương ứng với các nút trong của cây hậu tố sẽ là các CCC-Bicluster cực đại

Thuật toán: CCC-Biclustering

input: Ma trận biểu hiện gien.

1 Chuẩn hóa ma trận và thu được tập các chuỗi {S 1, , S|R|}.

2 Xây dựng cây hậu tố tổng quát T cho {S 1, , S|R|}.

3 for each internal node v ∈ T do

6 for each internal node v ∈ T do

8 for each internal node v T do

9 Nếu có liên kết từ nút v đến u và L(u) = L(v) thì

11 for each internal node v T do

Trang 35

Trong thuật toán trên chúng ta cần quan tâm đến ba vấn đề chi tiết dẫnđến hiệu quả của thuật toán như sau:

Thứ nhất: Cấu trúc dữ liệu được dùng trong cây hậu tố tổng quát.

Chúng ta sử dụng ba kiểu nút để xây dựng cây hậu tố tổng quát T là: nút gốc

(root), nút trong và nút lá

+) Nút gốc (root) lưu trữ một mảng gọi là children với |C||∑|+|R| vị trí,

ở đó mỗi vị trí là một con trỏ Mảng được sắp xếp theo thứ tự đảo ngược từ ký

tự đầu tiên của nhãn cạnh trong các nút Đầu tiên với |C||∑| vị trí lưu trữ cácnút trong có nhãn cạnh bắt đầu với ∑’[|C||∑|] .∑’[1] Cuối cùng |R| vị trí lưu

trữ |R| chuỗi kết thúc Trong thiết lập này, children[j], j ∈ {1, ., |C||∑|}, là

null nếu không có hậu tố bất kỳ nào của chuỗi S i bắt đầu với ký tự trong ∑’[j],

khi đó nếu các nút gọi là khả năng có nhãn cạnh bắt đầu với ký tự ∑’[j] Sử

dụng thứ tự đảo ngược vì, trong thực tế bước chuẩn hóa bảng chữ cái là mộttập các số nguyên dương và giá trị kết thúc được đại diện bởi số nguyên âm

+) Nút trong (internal node): Mỗi nút trong v lưu trữ một con trỏ, chiều dài của nó P(v), số lượng lá trong cây con là L(v), và được đánh dấu nếu nó

tương ứng với một CCC-Bicluster cực đại hoặc không Nút con thứ nhất củanút trong là phần tử đầu tiên của danh sách, các nút con tương ứng được sắpxếp đảo ngược ký tự đầu tiên của nhãn cạnh Chèn các nút được sắp xếp theothứ tự đảo ngược ký tự của nhãn cạnh gồm O(|∑|) phần tử vào danh sáchtương ứng với ký tự trong ∑’ và sau đó là chèn O(|R|) ký tự kết thúc Việc tìm

kiếm ký tự ∑’ trong nút con của một nút trong v luôn luôn có thời gian O(|∑|)

Các nút anh em của mỗi nút trong v cũng là phần tử đầu của danh sách liên

kết cũng được lưu trữ

+) Nút lá (leaf) cũng được lưu trữ các thông tin tương tự như nút trong.

Thứ hai: Chuyển đổi bảng chữ cái và cây hậu tố tổng quát Một cây

Ngày đăng: 17/12/2015, 18:40

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. A.P. Gasch, P. T. Spell man, C. M. Kao, O. Carmel-Harel, M. B. Eisen, G. Storz, D.Botstein, and P. O. Brown. Genomic expression programs in the response of yeast cells to environmental changes. Molecular Biology of the Cell, 11: 4241–4257, 2000 Sách, tạp chí
Tiêu đề: Molecular Biology of the Cell, 11: 4241–4257
[3]. CCC- Biclustering. http://kdbio.inesc-id.pt/software/ccc-biclutering [October 6, 2008] Sách, tạp chí
Tiêu đề: [October 6
[4]. Cheng &amp; Church. Biclustering of Expression Data. In proc, of the 8 th International Conference on Intelligent Systems for Molecular Biology, pages 93–103, 2000 Sách, tạp chí
Tiêu đề: In proc, of the 8"th" International
[6]. E. Ukkonen. On-line construction of suffix trees. Algorithmica, 14:249-260, 1995 [7]. e-CCC- Biclustering. http://kdbio.inesc-id.pt/software/e-ccc-biclutering [October 6,2008] Sách, tạp chí
Tiêu đề: Algorithmica, 14:249-260, 1995"[7]. e-CCC- Biclustering. http://kdbio.inesc-id.pt/software/e-ccc-biclutering "[October 6
[9]. I. P. Androulakis, E. Yang, and R .R .Almon. Analysis of time-series gene expression data: methods, challenges, and opportunities. Annual Review of Biomedical Engineering, 9: 205–228, 2007 Sách, tạp chí
Tiêu đề: Annual Review of
[10]. I. Van Mechelen, H. H. Bock, and P. De Boeck. Two mode clustering methods: a structured overview. Statistical Methods in Medical Research, 13(5):979–981, 2004 Sách, tạp chí
Tiêu đề: Statistical Methods in Medical Research, 13(5):979–981
[17]. S. C. Madeira and A. L. Oliveira. A linear time biclustering algorithm for time series gene expression data. In Proc. of 5 th Workshop on Algorithms in Bioinformatics, pages 39–52. Springer Verlag, LNCS/LNBI 3692, 2005 Sách, tạp chí
Tiêu đề: In Proc. of 5"th" Workshop on Algorithms in
[21]. S. C. Madeira and A. L. Oliveira. Biclustering algorithms for biological data analysis: a survey. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 1(1): 24–45, January–March 2004 Sách, tạp chí
Tiêu đề: IEEE/ACM Transactions on Computational Biology and
[23]. S. C. Madeira and A. L. Oliveira. Identification of regulatory modules in time series gene expression data using a linear time biclustering algorithm. EEE/ACM Transactions on Computational Biology and Bioinformatics, 21 Mar 2008. IEEE Computer Society Digital Library . IEEE Computer Society, 24 March 2008 Sách, tạp chí
Tiêu đề: EEE/ACM"Transactions on Computational Biology and Bioinformatics, 21 Mar 2008. IEEE
[26]. S. Tavazoie, J. D. Hughes, M. J. Campbell, R . J. Cho, and G. M. Church.Systematic determination of genetic network architecture. Nature Genetics, 22:281–285, 1999 Sách, tạp chí
Tiêu đề: Nature Genetics, 22
[27]. T. Zeng and J. Liu. Analysis on time-lagged gene clusters in time series expression data. In Proc. of the 2007 International Conference on Computational Intelligence and Security, pages 181–185. IEEE Computer Society, 2007 Sách, tạp chí
Tiêu đề: In Proc. of the 2007 International Conference on Computational Intelligence
[30]. Y. Zhang, H. Zha, and C. H. Chu. A time-series biclustering algorithm for revealing co-regulated genes. In Proc. of the 5 th IEEE International Conference on Information Technology: Coding and Computing, pages 32–37, 2005 Sách, tạp chí
Tiêu đề: In Proc. of the 5"th" IEEE International Conference on
[5]. D. Gusfield. Algorithms on strings, trees, and sequences. Computer Science and Computational Biology Series. Cambridge University Press, 1997 Khác
[8]. G. J. McLachlan, K. Do, and C. Ambroise. Analysing microarray gene expression data. Wiley Series in Probability and Statistics, 2004 Khác
[12]. L. Ji and K. Tan. Identifying time-lagged gene clusters using gene expression data.Bioinformatics, 21(4): 509-516, 2005 Khác
[13]. L. Ji and K. Tan. Mining gene expression data for positive and negative co- regulated gene clusters. Bioinformatics, 20(16): 2711–2718, 2004 Khác
[14]. M.-F. Sagot. Spelling approximate repeated or common motifs using a suffix tree.In Proc. of Latin’98, pages 111–127. Springer Verlag, LNCS 1380, 1998 Khác
[18]. S. C. Madeira and A. L. Oliveira. A polynomial time biclustering algorithm for finding approximate expression patterns in gene expression time series. BMC Khác
[20]. S. C. Madeira and A. L. Oliveira. An evaluation of discretization methods for non- supervised analysis of time series gene expression data Khác
[22]. S. C. Madeira and A. L. Oliveira. Efficient Biclustering Algorithms for Time Series Gene Expression Data Analysis Khác

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w