Thế giới đã có một ngôn ngữ lập trình mới, lập trình được… Gen của sinh vật!

Với phát minh mới này, những người không “am hiểu” về gen và công nghệ gen vẫn có thể “sờ mó” đến chức năng DNA của vi khuẩn và tế bào.

Các kỹ sư sinh học tại Viện Công nghệ Massachusetts (MIT) vừa chế tạo ra một ngôn ngữ lập trình giúp con người thiết kế những đoạn DNA phức tạp có khả năng thay đổi chức năng cho chủ thể tương lai. Và quan trọng hơn hết, quá trình can thiệp vào hệ gen của tế bào sẽ không mất đến hàng năm trời như trước.

Sử dụng ngôn ngữ này bất cứ ai hiểu biết một ít về lập trình cũng có thế sáng tạo ra những đoạn mã gen kích hoạt những chức năng mong muốn ở vi khuẩn.

Giáo sư kỹ thuật sinh học Chrisopher Voigt tại đại học MIT giải thích: “Bạn hoàn toàn có thể không biết gì về cơ chế sinh học của các đoạn mã gen. Đó là điểm khác biệt lớn nhất ở đây. Bạn có thể là một học sinh cấp ba, truy cập vào trang web và viết ra một chương trình gen, phần mềm trên máy chủ sẽ chuyển đổi đoạn mã của bạn thành đoạn “mã sinh học” DNA. Nó thực sự là một ngôn ngữ lập trình vi khuẩn sinh học. Bạn viết ra một đoạn mã bằng chính những chữ cái quen thuộc như khi bạn viết ra một chương trình máy tính. Khi bạn nhận lại đoạn mã DNA từ phần mềm và cấy đoạn dna vào vi khuẩn, những chức năng do chính bạn thiết kế sẽ được vi khuẩn này thực hiện một cách chính xác”.

Ngôn ngữ lập trình được sử dụng ở đây dựa trên nền Verilog, một ngôn ngữ thường được sử dụng để lập trình chức năng cho chip – vi xử lý. Hệ thống phần mềm dựa vào những phép thử điều kiện và bộ phận cảm biến để thay đổi hành vi của đối tượng vi khuẩn cần điều chỉnh.

Những bộ cảm biến này có thể nhận diện một số phân tử hóa học như oxy, glucose và những thành phần vật lý như ánh sáng, nhiệt độ, tính axit và nhiều yếu tố môi trường khác. Các “kỹ sư lập trình sinh học” thậm chí còn có thể tự thêm được vào những chức năng cảm biến khác.

Khi nói về những phép thử điều kiện được sử dụng để tích hợp vào trong bộ mã DNA của vi khuẩn, giáo sư Voigt đã nhận xét: “Việc thiết kế ra 14 hàm điều kiện để sử dụng trong chương trình lập trình theo một cách khéo léo làm sao cho những phép thử này không mâu thuẫn với nhau là thử thách khó khăn nhất mà nhóm nghiên cứu đã phải vượt qua”.

Để thử nghiệm tính hiệu quả của ngôn ngữ lập trình, các nhà nghiên cứu đã lập trình ra 60 “chương trình gen” với những chức năng riêng biệt và cấy ghép các đoạn mã này vào vi khuẩn. Trong đó một đoạn DNA đặc biệt chứa đến 12.000 cặp DNA và đến 7 phép thử điều kiện, theo các nhà nghiên cứu đây là “chức năng sinh học” dài nhất từng được tạo ra bởi con người.

Kết quả của thử nghiệm này cho thấy 45 chương trình trong tổng số 60 đã hoạt động thành công trong lần thử nghiệm đầu tiên. Điều này là hết sức ấn tượng khi so sánh với thời gian, công sức và nhân lực cần được bỏ ra trước đây.để thực hiện điều tương tự.

Chương trình hiện nay được tinh chỉnh để hoạt động tốt nhất với vi khuẩn E. coli, nhưng trong tương lai, các nhà khoa học sẽ cải tiến hệ thống lập trình của mình lên làm sao cho những đoạn mã viết ra có thể chuyển đổi thành đoạn mã DNA khác nhau tương ứng với chủ thể vi khuẩn được chọn lựa.

Còn về việc áp dụng thực tế, các nhà nghiên cứu có kế hoạch điều chỉnh một loại vi khuẩn trong dạ dày, giúp con người tiêu hóa sữa tốt hơn; một loại vi khuẩn sống trên rễ cây giúp cây tiết ra một loại độc khi bị côn trùng tấn công; và một loại men có khả năng dừng phát triển khi đã hoàn thành chức năng của mình thay vì tiếp tục thải ra độc tố trong quá trình lên men.

Theo GenK

Advertisements

Posted on April 3, 2016, in Công nghệ, Tin học and tagged , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: