Tình hình nghiên cứu về Bioinformatics và Computational Biology

BPThuy

Member
Chào bạn, mình hỏi thêm một chút, hơi mang tính kỹ thuật, nhưng mình tò mò nên muốn hiểu thêm: bạn làm thế nào để thỏa hiệp hai quá trình khác nhau: duplications (nhân đôi) và (point) mutations (đột biến)? Trước hết bạn chọn một gene, cho nhân đôi trước, sau đó cho đột biến với xác suất nào đó (tức là lựa chọn để protein con còn có thể tương tác với "bạn của bố mẹ" không)? Như vậy kết quả sẽ phụ thuộc rất nhiều vào giá trị tương đối xác suất này, hơn nữa chưa tính đến mutations ngay từ đầu.
Cụ thể hơn bạn có thể mô tả giúp mình biết cách thiết lập các links mới của gene mới không? Có lẽ dùng ngôn ngữ mô tả lập trình cho dễ.
Thêm một câu hỏi khác, bạn có tính đến complexes tạo bởi một vài proteins khác nhau không? Hiện thời mình hiểu bạn đang giả định mỗi gene qui định một protein. Giả thiết đó có ảnh hưởng lớn không?
Mô hình được xây dựng theo nguyên tắc:
1, Nhân đôi: Các protein mới được sinh ra tương tác giống hệt protein ban đầu
2, Đột biến: Sau bước 1, xóa các tương tác đến protein mới với xác suất q.

Rồi thêm vào các tương tác đến protein mới (với các protein ban đầu nó chưa có tương tác - Nd) với xác suất p/Nd.

Coi n,p,q là bộ thông số của mô hình và có thể thay đổi được. n chính là số protein của mạng ban đầu. p,q là hằng số.

Kết quả cho thấy, mô hình phụ thuộc rất mạnh vào bộ thông số n,p,q.

Hiện tại có hai bộ thông số phù hợp với thực nghiệm thu được các năm 2000 và 2008.
 

pththao

Member
Mô hình được xây dựng theo nguyên tắc:
1, Nhân đôi: Các protein mới được sinh ra tương tác giống hệt protein ban đầu
2, Đột biến: Sau bước 1, xóa các tương tác đến protein mới với xác suất q.

Rồi thêm vào các tương tác đến protein mới (với các protein ban đầu nó chưa có tương tác - Nd) với xác suất p/Nd.

Coi n,p,q là bộ thông số của mô hình và có thể thay đổi được. n chính là số protein của mạng ban đầu. p,q là hằng số.

Kết quả cho thấy, mô hình phụ thuộc rất mạnh vào bộ thông số n,p,q.

Hiện tại có hai bộ thông số phù hợp với thực nghiệm thu được các năm 2000 và 2008.
Liệu có thể có phase transition khi bạn thay đổi hệ thông số n, p, q. Chẳng hạn một transition từ scale-free sang random, có thể lắm chứ nhỉ? :D
 

BPThuy

Member
Liệu có thể có phase transition khi bạn thay đổi hệ thông số n, p, q. Chẳng hạn một transition từ scale-free sang random, có thể lắm chứ nhỉ? :D
Khi thay đổi bộ thông số n, p, q thì kết quả chạy mô hình không giữ được tính chất scale free nhưng không chuyển sang random được.

1950, Renny cho rằng các mạng phức hợp nếu không có nguyên tắc thiết kế rõ ràng thì có tính chất của mạng random, hàm phân bố là hàm Poisson.

Tuy nhiên, mạng tương tác protein ở đây có quy tắc thiết kế rõ ràng nên không thể random, kết quả cũng cho thấy hàm phân bố lệch xa so với hàm Poisson.

Em bắt đầu chuyển sang làm về bài toán cuốn của protein ngay sau khi được tổng hợp. Hiện tại, vấn đề mRNA chuyển động hay ribosome chuyển động có thể có ảnh hường khá nhiều?! Nếu có bất kì thông tin nào về quá trình sinh tổng hơp protein từ tế bào chất thì chỉ giúp em nhé. Em mới bắt đầu tìm hiểu hôm nay, nên chưa có hiểu biết gì đáng kể, và tiếng anh khá tệ nên nếu có tài liệu tiếng việt thì càng tốt. (y)
 

pththao

Member
Khi thay đổi bộ thông số n, p, q thì kết quả chạy mô hình không giữ được tính chất scale free nhưng không chuyển sang random được.

1950, Renny cho rằng các mạng phức hợp nếu không có nguyên tắc thiết kế rõ ràng thì có tính chất của mạng random, hàm phân bố là hàm Poisson.

Tuy nhiên, mạng tương tác protein ở đây có quy tắc thiết kế rõ ràng nên không thể random, kết quả cũng cho thấy hàm phân bố lệch xa so với hàm Poisson.
"Thiết kế rõ ràng" theo mình là thuật ngữ không rõ ràng. Nếu mạng không giữ tính scale-free thì nó sẽ thành... cái gì đó, sự chuyển đó có liên tục hay không? (physicists are crazy at phase transitions :D) Mình nghĩ với chương trình của bạn trong tay hoàn toàn có thể kiểm tra điều đó mà. Tất nhiên đây là vấn đề cơ bản và chắc người ta cũng làm rồi. Mình nhớ năm 2003 người ta kiểm tra sự hình thành các motifs tương ứng với số nút, links trong hệ random và cho kết quả khá thú vị về chuyển pha: đối với hệ thông số nào đó bạn có một vài dạng motifs không thấy ở hệ tham số khác, etc... Bạn hỏi anh Hoàng xem có nên "thử" cho biết cũng hay mà...
Tất nhiên vấn đề đó nặng về mô hình hóa vật lý và toán học hơn là sinh học, dù sao thì mọi thứ liên kết với nhau nhưng vẫn độc lập tương đối :D
Em bắt đầu chuyển sang làm về bài toán cuốn của protein ngay sau khi được tổng hợp. Hiện tại, vấn đề mRNA chuyển động hay ribosome chuyển động có thể có ảnh hường khá nhiều?! Nếu có bất kì thông tin nào về quá trình sinh tổng hơp protein từ tế bào chất thì chỉ giúp em nhé. Em mới bắt đầu tìm hiểu hôm nay, nên chưa có hiểu biết gì đáng kể, và tiếng anh khá tệ nên nếu có tài liệu tiếng việt thì càng tốt. (y)
Cái này mình chịu. Mình cũng không phải dân chuyên ngành, chỉ tò mò nên xem qua thôi, bạn chờ các anh chị khác ở đây có ai thông thạo sẽ recommend tài liệu cho bạn (nhưng chắc là tiếng Anh thôi.)
 

BPThuy

Member
"Thiết kế rõ ràng" theo mình là thuật ngữ không rõ ràng. Nếu mạng không giữ tính scale-free thì nó sẽ thành... cái gì đó, sự chuyển đó có liên tục hay không? (physicists are crazy at phase transitions :D) Mình nghĩ với chương trình của bạn trong tay hoàn toàn có thể kiểm tra điều đó mà. Tất nhiên đây là vấn đề cơ bản và chắc người ta cũng làm rồi. Mình nhớ năm 2003 người ta kiểm tra sự hình thành các motifs tương ứng với số nút, links trong hệ random và cho kết quả khá thú vị về chuyển pha: đối với hệ thông số nào đó bạn có một vài dạng motifs không thấy ở hệ tham số khác, etc... Bạn hỏi anh Hoàng xem có nên "thử" cho biết cũng hay mà...
Tất nhiên vấn đề đó nặng về mô hình hóa vật lý và toán học hơn là sinh học, dù sao thì mọi thứ liên kết với nhau nhưng vẫn độc lập tương đối :D

Cái này mình chịu. Mình cũng không phải dân chuyên ngành, chỉ tò mò nên xem qua thôi, bạn chờ các anh chị khác ở đây có ai thông thạo sẽ recommend tài liệu cho bạn (nhưng chắc là tiếng Anh thôi.)
Em sẽ suy nghĩ thêm về việc chuyển pha. Nhưng chắc chắn ko thể là random, cái này em đã kiểm tra kết quả rồi. Và mạng này khi xây dựng ta đã cho nó một quy tắc nghĩa là nó không random. Còn nó là gì thì em chưa tìm hiểu. Em sẽ hỏi lại anh Hoàng. Thanks!
 

pththao

Member
Em sẽ suy nghĩ thêm về việc chuyển pha. Nhưng chắc chắn ko thể là random, cái này em đã kiểm tra kết quả rồi. Và mạng này khi xây dựng ta đã cho nó một quy tắc nghĩa là nó không random. Còn nó là gì thì em chưa tìm hiểu. Em sẽ hỏi lại anh Hoàng. Thanks!
Có thể cái này làm bạn quan tâm. Có gì là không thể đâu, chỉ là mình có thử hay không thôi:

Aurelien Decelle
LPTMS, Universite Paris-Sud
Inference and learning in Community Structure
Detecting community structure from network topology is a well known problem with many possible applications. A large number of studies was conducted over the last decade, but a principal approach that would for instance output that a random graph does not have any community structure is still missing. Based on a random graph model for a community structure I will first show the existence of a phase transition between possible and impossible community inference. This phase transition is related to some known results from statistical physics of spin glasses, for optimal inference the partition function of a corresponding spin glass model needs to be computed. Then I will turn to real-world networks and inspired by the theoretical results I Introduce a new message passing algorithm which is able to learn parameters of the community structure (number of communities, ...), and to infer the most likely community assignment. As an application I will present some results on real-world net.
 

duydubn

Member
Em là sv CNTT, mới bắt tay vào nghiên cứu tin sinh, có rất nhiều thắc mắc mong mọi người giúp đỡ.
Mọi người cho em hỏi giữa tương tác vật lý và tương tác chức năng của protein có mối liên hệ gì?
 

duydubn

Member
Chị BPThuy, anh pththao , em tham gia diễn đàn hơi muộn, không biết các anh chị còn theo dõi không. Em rất mong được anh chị giúp đỡ
 

pththao

Member
Chị BPThuy, anh pththao , em tham gia diễn đàn hơi muộn, không biết các anh chị còn theo dõi không. Em rất mong được anh chị giúp đỡ
Hic, mình thi thoảng vẫn vào, nhưng không phải là "dân sinh học" nên chỉ vào để đọc thêm, hiểu gì thì hiểu thôi, không dám nhận giúp bạn được. Bạn có học được gì vào đây dạy mình thì dạy :D (Nhưng ở đây thế nào cũng có nhiều người giúp bạn được.)

Em là sv CNTT, mới bắt tay vào nghiên cứu tin sinh, có rất nhiều thắc mắc mong mọi người giúp đỡ.
Mọi người cho em hỏi giữa tương tác vật lý và tương tác chức năng của protein có mối liên hệ gì?
Như đã nói mình không học sinh, nếu bạn có thể định nghĩa (chính xác hoặc gần chính xác, hoặc qua mô tả hoặc qua ví dụ) "tương tác chức năng protein" và "tương tác vật lý của protein" (tốt nhất là bằng tiếng Anh) thì may ra mình hiểu và có thể góp ý một ít..
 

duydubn

Member
Theo em hiểu:
-Tương tác chức năng: là tương tác giữa 2 hay nhiều protein khi chúng cùng thực hiện 1 chức năng sinh học nào đó ( nhân đôi ,bảo vệ). Thông thường 1 chức năng SH phải do vài protein quyết định(VD: 1 cái đánh dấu điểm khởi đầu, 1 cái ức chế quá trình ).

- Tương tác vật lý: giống như những gì anh chị nói bên trên , tức là những cái tương tác hóa lý ( VD: tương tác tĩnh điện, tương tác kị nước,...).

Theo em cái tương tác chức năng nó như là 1 cái hệ quả của tương tác vật lý giữa các protein.

Rất tiếc là em không có định nghĩa chính xác dẫn ra từ 1 tài liệu cụ thể nào do em chưa tìm được, trên đây là những gì em chắp nhặt, tìm hiểu được từ các tài liệu liên quan. Mong mọi người cho ý kiến
 

pththao

Member
Mình không hiểu phân loại như thế có mục đích gì cho việc thấu hiểu về "tương tác sinh học".

Trước hết tương tác không chỉ giới hạn ở giữa các protein mà có thể giữa các thành phần khác nhau như DNA, RNA với protein. Nói tương tác vật lý giữa các protein (post-translation) thì cũng giống như nói xét một góc của giấy trong khi văn bản ghi trên cả bốn góc của tờ giấy vậy.

Theo đó thì mình thấy có thể nói tương tác vật lý ngụ ý tương tác chức năng. Nếu hai protein tương tác vật lý với nhau (thực ra theo vật lý thì mọi thứ vật chất trên đời đều có thể tương tác với nhau, tương tác vật lý ở đây phải hiểu theo nghĩa xảy ra trong "bối cảnh sinh học của tế bào" - cái này ghi riêng để tránh anh em vật lý bắt bẻ thôi) thì khả năng cao là chúng cùng thực hiện một chức năng sinh học. Chẳng hạn EGF có thể bám vào EFGR là nhờ tính chất vật lý của chúng, qua đó mới truyền tính hiệu phân đôi vào trong tế bào... Nói chung các quá trình hình thành protein complexes, các quá trình phosphorylation đều cần/có-thể mô tả qua tương tác vật lý.

Ngược lại thì tương tác chức năng không nhất thiết phải có tương tác vật lý trực tiếp. Nếu chỉ giới hạn tương tác giữa các protein (post-translation) thì các điều hoà (regulation) ở mức độ RNA (post-transcription) và DNA đều là tương tác chức năng mà không có tương tác vật lý giữa các protein. Ví dụ khác là hai protein cùng họ, bản thân chúng không tương tác với nhau, nhưng có thể thay thế cho nhau trong một số tương tác với các protein khác thì cũng có thể coi là có tương tác chức năng nhưng không có tương tác vật lý (trực tiếp).

Phân biệt đại khái thế, mình thấy quan trọng là hiểu các khái niệm thế nào thôi, chứ so sánh như vậy mình cũng không thấy nói nên điều gì...
 
Tớ xử lý số liệu từ microarray, thống kê, so sánh, lập interaction network... có được gọi là tin sinh không :)
Tớ thấy nhiều báo chỉ xử lí số liệu rồi publish thôi :) cái chính là cần ý tưởng, nếu làm được kiểu này, chỉ cần mấy cái máy tính cấu hình ngon là okie (giống bác gì làm vật lí lí thuyết của VN mình ấy nhỉ)
Khi có publish rùi thì mới xin được funding, có ai theo hướng này không nhỉ, cùng học hỏi nào

quảng cáo: Khi các bạn có nhu cầu về dịch vụ internet và truyền hình hãy liên hệ với chúng tôi, cộng đồng internet việt nam. Chúng tôi chuyên về lắp mạng fpt bình thạnhlắp mạng fpt bình tân và lắp mạng fpt quận 4 với đội ngũ kỹ sư năng động nhiệt tình chắc chắn chúng tôi sẽ giúp ích cho các bạn trong các vấn đề đăng ký internet fpt bình thuận và đến với chúng tôi chăc chắc các bạn sẽ hài lòng.
Website tham khảo: https://internetvietnam.net
 
Last edited:

Juhuvn

Member
Tớ xử lý số liệu từ microarray, thống kê, so sánh, lập interaction network... có được gọi là tin sinh không :)
Có. MicroArray analysis là một trong những lĩnh vực Tin sinh vô cùng hot vào những năm 2000~2004 bởi vì sức mạnh của nó nhưng chi phí thì quá lớn.
Tớ thấy nhiều báo chỉ xử lí số liệu rồi publish thôi :) cái chính là cần ý tưởng, nếu làm được kiểu này, chỉ cần mấy cái máy tính cấu hình ngon là okie (giống bác gì làm vật lí lí thuyết của VN mình ấy nhỉ)
Khi có publish rùi thì mới xin được funding, có ai theo hướng này không nhỉ, cùng học hỏi nào
Hiện nay, nguồn dữ liệu sinh học thì có rất rất rất nhiều, nhưng sử dụng dữ liệu đó thế nào thì đòi hỏi chúng ta phải review/survey thật nhiều thì mới có ý tưởng được. Chúc bạn thành công.

p/s: "bác gì làm vật lí lí thuyết của VN" là bác Trịnh Xuân Hoàng theo đuổi lĩnh vực mô phỏng cấu trúc protein với các điều kiện "sinh, lý, hóa" cụ thể. Bạn có thể contact anh Hoàng hoặc đọc các publication của anh Hoàng để xem anh đã làm thế nào.
 
Em là sinh viên ngành Dược, em có ý định theo đuổi ngành bioinformatics và computational biology hướng về nghiên cứu về genomics và protein, em được tư vấn là nên học thêm về lập trình.
Em mong được các anh chị góp ý, em nên bắt đầu học lập trình như thế nào thì hiệu quả? em chưa từng học hay làm về lập trình.
 

pththao

Member
Em là sinh viên ngành Dược, em có ý định theo đuổi ngành bioinformatics và computational biology hướng về nghiên cứu về genomics và protein, em được tư vấn là nên học thêm về lập trình.
Em mong được các anh chị góp ý, em nên bắt đầu học lập trình như thế nào thì hiệu quả? em chưa từng học hay làm về lập trình.
Cách học lập trình là viết thật nhiều. Nên bắt đầu với những chương trình đơn giản. Tập suy nghĩ theo cách mà máy tính "nghĩ". Để làm được như thế thì cũng cần có khái niệm sơ khai nhất về cấu trúc máy tính: bộ nhớ, cpu...; sâu thì k cần. Mới đầu thấy khó, quen một chút thì thấy khá là dễ, dù sao thì máy tính cũng đơn giản hơn con người.
 
Chị có thể giới thiệu cụ thể giúp em ngôn ngữ nào em nên bắt đầu không?
em có tìm thấy một số bài báo có giới thiệu một số phần mềm, em không định hướng được là nên tìm hiểu cái nào đầu tiên.
 

pththao

Member
Nếu bạn thực sự muốn học từ "gốc" thì nên bắt đầu đọc cấu trúc máy tính, mở máy tính ra xem mặt cái nào là CPU, cái nào là RAM, HDD... Đọc qua một cuốn nào đó của bách khoa về cấu trúc máy tính thật nhanh, phần nào không hiểu bỏ qua (sẽ hiểu ngay sau khi thực hành.)

Ngôn ngữ đơn giản nhất để học có lẽ là pascal. Không nên học sâu, chỉ để hiểu khái niệm thế nào là lập trình, biến, mảng, etc... Chắc viết khoảng 20 chương trình kiểu giải phương trình, tính diện tích tam giác... thì OK rồi. Khi hiểu thế nào là ngôn ngữ lập trình thì học bất kỳ ngôn ngữ nào cũng chỉ là vấn đề rèn thói quen.

Ngôn ngữ mình thấy hay dùng trong tin sinh là C++, R. Nên bắt đầu với C++ (ở mức đơn giản) và tiếp đó với R (bậc cao hơn, đơn giản hơn nhưng có cái bất tiện của nó mà thành thạo bậc thấp thì dễ kiểm soát hơn).

Đường tắt là học C++ ngay từ đầu thay cho pascal. Thật ra cũng được, nếu có một cuốn giới thiệu ở dạng đơn giản nhất.

Tắt hơn nữa là học C++ định hướng đối tượng từ đầu. Một số người ủng hộ quan điểm này, mình thì nghi ngờ. Nếu bạn muốn "liều" thì xem cuốn 27 ngày với C++ của Sam Teach Yourself (rất tốt, nhưng bạn đừng hi vọng học xong trong 27 ngày.)
 
em được tư vấn học Python, R, Perl xin được hỏi về độ khó của ngôn ngữ lập trình này? có khả thi cho người mới học ko? em được giới thiệu về các ngôn ngữ lập trình này.
 

pththao

Member
Perl thì mình k biết.

Tuỳ thuộc vào nguyện vọng và mong muốn của bạn. Nếu bạn muốn thực sự chuyên nghiệp hoặc suy nghĩ logic thì nên bắt đầu nhanh với cấu trúc máy tính C++ hoặc Pascal (ngoài ra có thể C, Fortran, nhưng hơi lỗi mốt). Nó sẽ rèn bạn "thinking like a computer".

Nếu bạn muốn "hớt ngọn" thay vì đi từ gốc thì có thể bắt đầu với R, Python. Cũng k có gì khó. Đây là ngôn ngữ bậc tương đối cao, dễ sử dụng nhưng khó hình dung được thực chất nó chạy thế nào. (PS: Nếu làm sâu thì trước sau bạn cũng phải học một ngôn ngữ bậc thấp hơn, và C++ là hợp mốt nhất.)
 

Juhuvn

Member
Em là sinh viên ngành Dược, em có ý định theo đuổi ngành bioinformatics và computational biology hướng về nghiên cứu về genomics và protein, em được tư vấn là nên học thêm về lập trình.
Em mong được các anh chị góp ý, em nên bắt đầu học lập trình như thế nào thì hiệu quả? em chưa từng học hay làm về lập trình.
Tin sinh học là lĩnh vực giao thoa giữa Tin học (computer science/informatics/statistic/..) với Sinh học (cả Y/Dược học nữa). Do đó, tùy theo bài toán cụ thể thì nhu cầu về lập trình sẽ là nhiều hay ít. Theo như tôi hiểu thì bạn sẽ tiếp cận Tin sinh học theo hướng Drug Design, với lĩnh vực này thì thương là bạn phải học cách sử dụng các phần mềm mô phỏng đã có (các phần mềm này được phát triển bởi một nhóm nhà khoa học sừng sỏ) và các mô hình toán học mà các phần mềm đó sử dụng. Do đó, kỹ năng lập trình là không quá quan trọng, mà quan trọng là sử dụng phần mềm và hiểu về mô hình mô phỏng của nó.

Perl thì mình k biết.

Tuỳ thuộc vào nguyện vọng và mong muốn của bạn. Nếu bạn muốn thực sự chuyên nghiệp hoặc suy nghĩ logic thì nên bắt đầu nhanh với cấu trúc máy tính C++ hoặc Pascal (ngoài ra có thể C, Fortran, nhưng hơi lỗi mốt). Nó sẽ rèn bạn "thinking like a computer".

Nếu bạn muốn "hớt ngọn" thay vì đi từ gốc thì có thể bắt đầu với R, Python. Cũng k có gì khó. Đây là ngôn ngữ bậc tương đối cao, dễ sử dụng nhưng khó hình dung được thực chất nó chạy thế nào. (PS: Nếu làm sâu thì trước sau bạn cũng phải học một ngôn ngữ bậc thấp hơn, và C++ là hợp mốt nhất.)
C++ là một ngôn ngữ vô cùng mạnh được sử dụng để viết lên các ứng dụng nền tảng từ hệ điều hành cho đến các ứng dụng tiện ích hàng ngày. C++ có thể được sử dụng trong mọi lĩnh vực, nhưng lĩnh vực Tin sinh học (cụ thể là lĩnh vực OMICS) thì C++ không được khuyến khích vì nó không có các thư viện hỗ trợ cần thiết. Trong khi đó thì PERL/PYTHON thì có hẳn những package hỗ trợ Tin sinh học đó là Bioperl/Biopython.
Do đó, các bạn mới tiếp cận tin sinh học nên bỏ qua C++ mà hãy học thẳng Python hoặc Perl với các pakage Biopython và Bioperl tương ứng. Hơn nữa, Python và Perl dễ học hơn rất nhiều lần so với học C++.
 

Facebook

Top