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

Một phần của tài liệu 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 (Trang 30 - 34)

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

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

HIỆN GIEN THEO CHUỖI THỜI GIAN 3.1 Thuật toán CCC-Biclustering.

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ổng quát. Đầu tiên chúng ta chuyển các chữ cái trong ma trận A (hình 3.1) bằng cá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 {S1, ..., S|R|} thu được bằng cách áp dụng chuẩn hóa mỗi hàng AiC 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 {S1, ..., 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ây hậ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

B1=({G4,G5}, {C1}) SB1=[U] SB1=[U] B2=({G1,G2,G3,G4},{C4}) SB2=[U] B3=({G1,G3,},{C4-C5}) SB3=[U N] B4=({G1,G2,G4},{C2-C4}) SB4=[U D U] B5=({G4,G5},{C5}) SB5=[U] B6=({G1,G3,},{C1}) SB6=[N] (b)

Hình 3.4 CCC-bicluster và cây hậu tố tổng quát.

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 (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 đơn cuố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ột nú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 định CCC-Biclusters cực đại có ít nhất hai hàng. Những nút trong tương ứng với CCC-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

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à v1 tương ứng với Bicluster B1

v2 tương ứng với Bicluster B2. Nếu có một liên kết hậu tố từ nút v1 đế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 v1. Đ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 ui

nào đó mà L(ui) < L(v) thì B cực đại trái, khi CCC-Biclusters B được xác định bởi ui 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

> 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.

Một phần của tài liệu 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 (Trang 30 - 34)