1. Trang chủ
  2. » Khoa Học Tự Nhiên

Thu thập nguồn gene và tổ chức dữ liệu gene 5.pdf

22 360 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Thu Thập Nguồn Gene Và Tổ Chức Dữ Liệu Gene
Tác giả Nguyễn Kỳ Trung, Lê Thành Trung
Trường học Trường Đại Học Nông Lâm
Chuyên ngành Công Nghệ Sinh Học
Thể loại tiểu luận
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 22
Dung lượng 1,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thu thập nguồn gene và tổ chức dữ liệu gene

Trang 1

PHẦN C: PHƯƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 75

o Phần hình ảnh minh họa tổng thể:

Hình 2.22: Phần ảnh minh họa tổng thể kết quả BLAST

Phần này cho ta thông tin tổng quát về sự bắt cặp của trình tự query với các trình

tự khác trong cơ sở dữ liệu Trình tự query là thanh đỏ có đánh số, các thanh khác là các trình tự trong cơ sở dữ liệu Thanh nào càng gần thanh query thì sự tương đồng với trình tự query càng cao, ngoài ra màu sắc cũng thể hiện độ tương đồng ( màu đỏ có điểm số cao nhất, tới màu hồng,…) Ở đây ta thấy có rất nhiều trình tự khớp với trình

tự query, có trình tự khớp cả hai primer và cũng có trình tự chỉ khớp với một primer

Ta chỉ quan tâm đến các trình tự khớp với cả hai primer Để biết thêm thông tin về các trình tự này, ta có thể nhấp chuột vào thanh quan tâm hay kéo xuống xem tới phần tiếp theo

o Phần tóm tắt một dòng:

Hình 2.23: Phần tóm tắt kết quả BLAST

Trang 2

PHẦN C: PHƯƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 76 Phần này cung cấp thông tin tóm tắt về các trình tự tìm thấy trong cơ sở dữ liệu,

số gi, cơ sở dữ liệu của từng trình tự, số version, số locusID, định nghĩa tóm tắt của trình tự, điểm số theo số bit và giá trị E-value

Lướt sơ qua phần này ta thấy, gene ACCg8 của Brassica napus xuất hiện ngay

phần đầu tiên đúng như mong muốn Ta muốn xem sự bắt cặp của trình tự này với mồi như thế nào chỉ cần click chuột trên scorce (bits) tương ứng Ta được bảng sau:

Hình 2.24: Phần xem chi tiết về sự gióng trình tự trên trang kết quả BLAST

Bảng này đưa ra định nghĩa đầy đủ cho trình tự, chiều dài của trình tự, các thông

số điểm và cuối cùng là sự gióng trình tự Ở đây ta thấy, mồi xuôi bắt cặp với mạch dương (Strand = Plus/Plus), mồi ngược bắt cặp với mạch bổ sung (Strand = Plus/Minus) Vị trí sự bắt cặp cũng được chỉ ra, mồi xuôi bắt cặp tại vị trí 9652-9673 với trình tự gene, mồi ngược bắt cặp tại vị trí 9741-9755 với trình tự gene Kết quả này đúng như vị trí đã được chỉ ra phần trên Ta đánh dấu chọn và nhấn nút Get selected sequences để lấy trình tự Bảng sau sẽ xuất hiện:

Hình 2.25: Lấy trình tự cần từ trang kết quả BLAST

Trang 3

PHẦN C: PHƯƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 77 Bảng này liệt kê các trình tự ta chọn bên trang kết quả BLAST, muốn xem chi tiết thông tin về trình tự nào chỉ cần nhấp chuột trên số Accession number được liệt kê Ta cũng lấy dữ liệu về dưới dạng text

Tới đây có một số điều cần lưu ý Mục đích của ta là tập hợp dữ liệu trình tự liên quan tới nghiên cứu GMO, ta không chỉ quan tâm tới các trình tự được tìm ra bằng primer, mà các trình tự liên quan cũng rất hữu ích trong nghiên cứu GMO Ví dụ như

gene tạo độc tố lấy từ vi khuẩn Bacillus thuringiensis có rất nhiều loại, như CryIA,

CryIA(b), Cry2Ab…việc lấy được các trình tự này cũng quan trọng không kém Làm sao ta có thể lấy ra các trình tự này khi ta chỉ có primer của một loại gene nào đó trong

số này?

Ta biết BLAST có nhiều chương trình khác nhau phục vụ cho việc tìm kiếm trình

tự tương đồng, ta cũng biết rằng các trình tự tương đồng nhau sẽ có các tính chất giống hay gần giống nhau Từ trình tự primer, ta có thể lấy ra được trình tự gene mong muốn như chỉ ra ở phần trên Từ trình tự gene mong muốn ta có thể dùng chương trình BLAST khác tìm ra các trình tự khác có tính chất giống hay gần giống với trình tự gene này Các chương trình MEGABLAST, Discontiguous-megablast, và blastn có thể hoàn thành được việc này, tuy nhiên ta nên dùng chương trình blastn vì đây là chương trình BLAST với các thông số được mặc định để thu được kết quả tốt nhất nếu ta chưa nắm vững về các thông số của chương trình BLAST

Ta sẽ tiến hành tìm kiếm các trình tự liên quan tới trình tự gene CryIA(b)

(Accession number I41419) với điểm khởi đầu là cặp primer sau:

Trang 4

PHẦN C: PHƯƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 78

Ta thực hiện tìm kiếm trong cơ sở dữ liệu nr, các thông số khác cũng được mặc định giống như phần trước Sau khi thực hiện BLAST, kết quả như sau:

Hình 2.27: Kết quả tìm kiếm với Primer gene cryIA(b)

Trong kết quả xuất ra, ta không thấy trình tự Accession number I41419 Tại sao?

Có nhiều khả năng xảy ra ở đây, có thể primer không đặc hiệu khớp với nhiều trình tự khác mà có điểm số cao hơn trình tự ta cần tìm, vì thế trình tự cần tìm không được thể hiện ra trong kết quả Trong trường hợp này ta phải áp dụng thêm một vài chọn lựa khác như mở rộng thêm phần thể hiện kết quả, giới hạn chỉ xuất kết quả trên vi khuẩn

(vì ta biết gene CryIA(b) nó có nguồn gốc từ vi khuẩn)

Ta được kết quả sau:

Hình 2.28: Kết quả tìm kiếm sau khi thay đổi thông số

Trang 5

PHẦN C: PHƯƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 79 Kết quả này cũng không cho ra trình tự mong muốn Vậy lý do là do đâu? Ta biết primer là một trình tự gắn, việc so trình tự primer với các trình tự trong cơ sở dữ liệu khổng lồ sẽ cho kết quả dữ liệu khớp rất lớn nếu trình tự primer đó không đặc hiệu, vì thế đối với các primer không chuyên biệt ta rất khó lấy được dữ liệu mong muốn Khi

đó ta cần phải biết thêm một vài thông tin khác về trình tự cần tìm, như trình tự này có nguồn gốc từ đâu, trình tự này có vai trò gì… Mục đích cần nắm thêm các thông tin này là vì nhờ vào nó ta sẽ giới hạn phạm vi tìm kiếm và trong phạm vi tìm kiếm đó thì trình tự mong muốn của ta có cơ hội xuất hiện cao hơn

Ta biết trình tự gene CryIA(b) có nguồn gốc từ vi khuẩn, được cấu trúc lại và dùng trong chuyển gene tạo tính trạng kháng sâu cho cây trồng Trong các cơ sở dữ liệu còn lại của chương trình BLAST, cơ sở dữ liệu PAT (pattent sequences) có thể chứa trình tự ta cần tìm Ta thực hiện tìm kiếm trên cơ sở dữ liệu này:

Hình 2.29: Lựa chọn lại thông số là Pat thay vì nr

Các thông số khác giống như trên, ta thu được kết quả sau:

Hình 2.30: Kết quả tìm kiếm với Database Pat

Trang 6

PHẦN C: PHƯƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 80

Có rất nhiều trình tự trong cơ sở dữ liệu khớp với primer, các trình tự khớp với điểm số cao được sắp theo thứ tự từ trên xuống dưới Trình tự ta cần tìm (được tô đậm) nằm ở rất xa so với trình tự đầu tiên Điều này chứng tỏ primer này không chuyên biệt lắm Từ đây rút ra kết luận là với mỗi loại query cần xác định đúng cơ sở dữ liệu thì mới tìm đúng trình tự mong muốn

Ta cũng chú ý đến các trình tự được tìm ra bằng primer này, so với trình tự ta cần tìm các trình tự này cũng có tính chất tương tự Các trình tự này cũng rất cần cho tham khảo, ta cũng lấy các trình tự này

Hình 2.31: Trang lấy kết quả từ chương trình BLAST

Tiếp theo, từ trình tự tìm được ta tiến hành tìm các trình tự tương đồng Ta dùng chương trình blastn Dùng chương trình BLAST này cũng giống như chương trình

“search for short nearly exact match” Khi mở chương trình blastn, thì các thông số đã mặc định cho thu được kết quả tốt nhất Bạn cũng có thể thay đổi một số thông số phù hợp cho mục đích tìm kiếm của mình

Ta thực hiện tìm các trình tự tương đồng như sau:

 Nhập trình tự query:

Hình 2.32: Tìm kiếm trình tự bằng số xác định qua trang BLAST

Trang 7

PHẦN C: PHƯƠNG PHÁP TIẾN HÀNH – Tìm kiếm dữ liệu trình tự 81

Vì trình tự này có sẵn trong GenBank, ta không cần nhập trình tự vào mà chỉ cần nhập vào số xác định cho trình tự đó như Accession number, gi Ở đây ta nhập vào Accession number

 Thực hiện và định dạng kết quả xuất ra, lựa chọn Bacteria ở mục select from

Ở đây ta chỉ quan tâm kết quả trên vi khuẩn Kết quả xuất ra như sau:

Hình 2.33: Kết quả BLAST dạng HTML

Nhìn vào kết quả ở dạng hình ảnh và phần tóm tắt, ta thấy chỉ có vài kết quả đầu

là phù hợp với mục đích của ta, là các trình tự có liên quan đến cây trồng biến đổi di truyền Ta chọn và lấy các trình tự này về dưới dạng text file

Hình 2.34: Kết quả BLAST dạng text

Tóm lại dựa vào trình tự các primer tổng hợp được từ các bài báo, ta sẽ dùng các trình tự này tìm kiếm trình tự mong muốn, đồng thời cũng tìm luôn các trình tự liên quan tới trình tự quan tâm hiện đang có trong cơ sở dữ liệu thế giới làm cho dữ liệu của ta sẽ phong phú hơn, đáp ứng được nhiều mục đích khai thác sử dụng

Trang 8

PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 82

D KẾT QUẢ VÀ THẢO LUẬN

I Các kết quả thu được từ quá trình tìm kiếm ấn phẩm khoa học

Sau khi tìm kiếm, chọn lọc bài báo, ấn phẩm khoa học trên các công cụ tìm kiếm

ta thu được các kết quả như sau:

Cây trồng biến đổi di truyền phổ biến hiện nay trên thế giới: tổng số 37 loài cây

(xem bảng danh sách ở phụ lục A)

Tính trạng phổ biến dùng trong cây trồng biến đổi di truyền

a) Tính trạng kháng côn trùng: bắp kháng côn trùng, cà chua kháng côn trùng…

(Chi tiết xem bảng tổng hợp cây trồng và tính trạng biến đổi di truyền ở phụ lục)

Tổng số primer dùng trong chẩn đoán sản phẩm biến đổi di truyền tổng hợp

được: 114 cặp primer (Xem chi tiết ở phụ lục C)

II Các kết quả thu được từ quá trình tìm kiếm trình tự trên NCBI

Cả hai phương pháp: tìm kiếm trình tự bằng keyword và tìm kiếm trình tự bằng trình tự primer đều đem lại cho ta rất nhiều kết quả Dưới đây là một vài nhận xét rút

ra qua quá trình tìm kiếm

Trang 9

PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 83 Mỗi phương pháp đều có ưu và nhược điểm riêng, dùng phương pháp nào tùy thuộc vào thông tin ta có được Trong phạm vi đề tài này, chúng tôi đề nghị tìm kiếm trình tự bằng primer vì phương pháp này đem lại kết quả mong muốn nhanh chóng, dễ dàng hơn so với keyword

II.1 Kết quả tìm kiếm trình tự bằng keyword

Một thực tế là các keyword tương tự nhau mang về kết quả trùng lắp rất nhiều, điển hình lấy ví dụ về keyword để tìm gene tạo ra Coleopteran, qui định tính kháng với

trùng rễ bắp (Resistance to corn root worn, Diabrotica sp.), keyword được nhập như

sau: “coleopteran AND gene[FKEY]”

Hình 2.1: Kết quả dạng text khi tìm kiếm bằng keyword 1

Mặt khác với keyword: “diabrotica corn AND gene[FKEY] AND gbdiv_bct”:

Hình 2.2: Kết quả dạng text khi tìm kiếm bằng keyword 2

Trang 10

PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 84

Cả hai keyword này đều có mục đích chung là tìm gene qui định tính kháng với trùng rễ bắp Mỗi keyword cho ra thông tin trình tự khác nhau Tuy nhiên, khi so sánh hai kết quả trên, ta thấy có một vài trình tự giống nhau giữa hai kết quả (các số được khoanh tròn) Vấn đề không có gì nếu chỉ với vài kết quả, ta có thể so sánh từng file và tìm ra các số giống nhau để kết quả tổng hợp của ta không bị dư thừa Nhưng ở đây, tìm kiếm với rất nhiều keyword vì thế thông tin lấy về được là rất lớn

II.2 Kết quả tìm kiếm trình tự bằng Primer

Tương tự như tìm bằng keyword, tìm bằng primer cũng đem về kết quả rất nhiều trình tự Mặc dù tìm bằng primer cho kết quả chính xác cao hơn, tuy nhiên các vấn đề

cũng nảy sinh giống như trường hợp tìm bằng keyword Từ Bảng thống kê Primer (xem phụ lục C) ta thấy có rất nhiều trình tự primer dùng để xác định gene CryIA(b)

Vì thế kết quả ta thu được từ các primer này có thể trùng nhau rất nhiều Thêm vào đó, việc trùng lắp thông tin giữa hai phương pháp cũng xảy ra Ví dụ như với cặp mồi

CryIA(b)-V3 5'-CCTGACCAAGAGCACCAACCTGG-3'

CryIA(b)-V4 5'-GCTCATGGTGGCGCTGAAGTTGC-3'

Ta được kết quả sau:

Hình 2.3: Kết quả dạng text khi tìm kiếm bằng primer

Với keyword “Bacillus thuringiensis” [ORGN] AND cry* AND gene[FKEY]”,

ta được kết quả sau:

Trang 11

PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 85

Hình 2.4: Kết quả dạng text khi tìm kiếm bằng keyword

Ta thấy kết quả bị trùng lắp (số được khoanh tròn), vì thế loại bỏ sự trùng lắp trong quá trình tổng hợp kết quả là vấn đề cần thiết

Với lượng thông tin rất lớn từ hai nguồn, ta không thể thống kê bằng tay thông thường được

II.3 Dùng Perl xử lý kết quả thu được

Ta dùng chương trình Perl giải quyết các vấn đề sau:

 Loại bỏ trùng lắp dữ liệu, tổng hợp danh sách tổng hợp các trình tự thu được

 Tải trình tự hoàn chỉnh từ NCBI

 Phân loại trình tự theo nguồn gốc

II.3.1 Loại bỏ trùng lắp dữ liệu, tổng hợp danh sách tổng hợp

a) Phân tích file kết quả thu được

Sau các kết quả tìm kiếm bằng keyword và primer, ta thu về các file kết quả dạng text, mang nội dung tóm tắt thông tin các trình tự

Trang 12

PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 86

Hình 2.5: Minh họa 1 file kết quả thu được sau khi tìm kiếm trình tự trên NCBI

Đây là một nội dung tóm tắt trình tự:

1: DQ020578

Bacillus thuringiensis strain FY-2 Cry2Ac (cry2Ac) gene, complete cds

gi|66734542|gb|DQ020578.1|[66734542]

 DQ020578: Đây là Accession number của trình tự Mỗi trình tự có một số

Accession number riêng Ta có thể dùng số này lấy ra đoạn trình tự trên Genbank

 Bacillus thuringiensis strain FY-2 Cry2Ac (cry2Ac) gene, complete cds: Đây là

phần định nghĩa của trình tự Thông thường phần này bao gồm: tên sinh vật cung cấp trình tự (source), tên gene hay tên protein, hay một số mô tả chức năng của trình tự Nếu trình tự có chứa vùng mã hóa (coding sequence-CDS), được mô tả là complete cds (toàn bộ CDS) hay partial cds (một phần CDS)

 gi|66734542|gb|DQ020578.1|[66734542]: số gi của trình tự, ở đây là

66734542; cơ sở dữ liệu của trình tự, ở đây là gb (GenBank); số version DQ020278.1; cuối cùng là Locus name (nếu có), hoặc số gi 66734542

b) Tạo thiết kế cho chương trình xử lý kết quả

Mục tiêu là loại bỏ các trình tự trùng lắp giữa các file, tổng hợp một file tổng hợp duy nhất Ta biết Accession number là số duy nhất xác định trình tự, vì thế một số

Trang 13

PHẦN D: KẾT QUẢ VÀ THẢO LUẬN 87 Accession number tương ứng với một trình tự trong GenBank Ta sẽ dựa vào số này để

xử lý số liệu trình tự

Chương trình của ta phải xử lý các vấn đề sau:

 Đọc file từ một đường dẫn chứa các file kết quả

 Với mỗi file ta tách các Accession number và cất các số này lại Nếu gặp lại số Accession number đã có thì chồng lên

 Cuối cùng ghi các Accession number cất được vào file

c) Mã xử lý chương trình bằng Perl

Để làm được toàn bộ vấn đề này, chương trình của ta phải làm nhiều nhiệm vụ như đọc file trong một thư mục, tách các Accession number, cất các Accession number, ghi các Accession number tới tới file Ngay một lúc ta viết một chương trình

xử lý hết các vấn đề này thật sự là một công việc khó khăn, chương trình của ta sẽ rất dài khó kiểm tra, sửa chữa

Ta biết Perl cho phép ta tạo ra các chương trình con (subroutines), mỗi chương trình con đảm nhận một nhiệm vụ, và cuối cùng chúng kết hợp tương tác với nhau và với chương trình chính tạo ra một chương trình hoàn chỉnh Ưu điểm của viết chương trình con là mỗi chương trình con chỉ đảm nhận một nhiệm vụ vừa phải, cho nên chúng dễ viết, dễ kiểm tra, sửa chữa Thêm nữa, chương trình con có khả năng tái dụng rất cao Ta có thể dùng chương trình con được viết ở một thời điểm khác, hay do người khác viết …

Vậy, ta sẽ giải quyết vấn đề trên bằng cách chia chúng ra thành từng vấn đề nhỏ (nhiệm vụ), viết các chương trình con xử lý từng vấn đề nhỏ này Cuối cùng sẽ sử dụng tổng hợp các chương trình con này để giải quyết vấn đề chính

Vấn đề 1: Viết chương trình con đọc file trong thư mục chứa các file kết quả

Đây là chương trình con thực hiện việc lấy tất cả các file text trong một đường dẫn Kết quả lấy về từ CSDL thế giới nên được tập hợp chung trong cùng một đường

dẫn để tiện cho việc xử lý (Xem đoạn mã của chương trình ở phụ lục D, nhiệm vụ 1)

Chương trình con này giúp ta lấy ra được tất cả các file kết quả (dạng text) trong một thư mục

Ta có thể kiểm tra sự hoạt động của chương trình con này qua một chương trình

nhỏ hoàn chỉnh (Xem đoạn mã phụ lục D, nhiệm vụ 1)

Ngày đăng: 01/11/2012, 11:54

HÌNH ẢNH LIÊN QUAN

Hình 2.22: Phần ảnh minh họa tổng thể kết quả BLAST - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.22 Phần ảnh minh họa tổng thể kết quả BLAST (Trang 1)
Hình 2.23: Phần tóm tắt kết quả BLAST - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.23 Phần tóm tắt kết quả BLAST (Trang 1)
Bảng này đƣa ra định nghĩa đầy đủ cho trình tự, chiều dài của trình tự, các thông - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Bảng n ày đƣa ra định nghĩa đầy đủ cho trình tự, chiều dài của trình tự, các thông (Trang 2)
Hình 2.24: Phần xem chi tiết về sự gióng trình tự trên trang kết quả BLAST - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.24 Phần xem chi tiết về sự gióng trình tự trên trang kết quả BLAST (Trang 2)
Hình 2.27: Kết quả tìm kiếm với Primer gene cryIA(b) - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.27 Kết quả tìm kiếm với Primer gene cryIA(b) (Trang 4)
Hình 2.31: Trang lấy kết quả từ chương trình BLAST - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.31 Trang lấy kết quả từ chương trình BLAST (Trang 6)
Hình 2.33: Kết quả BLAST dạng HTML - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.33 Kết quả BLAST dạng HTML (Trang 7)
Hình 2.7: Nhập đường dẫn đến thư mục chứa file kết quả tìm kiếm - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.7 Nhập đường dẫn đến thư mục chứa file kết quả tìm kiếm (Trang 15)
Hình 2.8: Chương trình Perl đã chạy xong. Có tổng cộng 5628 số Acc.Number sau khi - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.8 Chương trình Perl đã chạy xong. Có tổng cộng 5628 số Acc.Number sau khi (Trang 15)
Hình 2.10: Nội dung file tonghopdulieu.txt - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.10 Nội dung file tonghopdulieu.txt (Trang 16)
Hình 2.11: Chương trình load.pl đang chạy - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.11 Chương trình load.pl đang chạy (Trang 18)
Hình 2.12: Minh họa kết quả các trình tự đƣợc tải về   III. Các kết quả thu đƣợc từ quá trình tải trình tự từ Genbank - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 2.12 Minh họa kết quả các trình tự đƣợc tải về III. Các kết quả thu đƣợc từ quá trình tải trình tự từ Genbank (Trang 18)
Hình 4.1: Vị trí thể hiện Division trong nội dung của 1 record Genbank - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 4.1 Vị trí thể hiện Division trong nội dung của 1 record Genbank (Trang 21)
Hình 4.2: Chương trình phân chia Division bắt đầu chạy - Thu thập nguồn gene và tổ chức dữ liệu gene  5.pdf
Hình 4.2 Chương trình phân chia Division bắt đầu chạy (Trang 22)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w