Tôi đã thực hiện một vài công việc nghiên cứu trong Tin học sinh học và tôi đã sử dụng Matlab cho họ. Matlab có rất nhiều công cụ mạnh mẽ và dễ sử dụng. Tôi đã suy nghĩ về trình tự bộ gen và dự đoán các con đường trao đổi chất. Tôi tự hỏi những gì người khác nghĩ là tốt nhất? hoặc có thể không có một ngôn ngữ cụ thể nhưng một số ít cho vay tốt nhất đối với công việc tin học sinh học, đó là toán nặng và giao dịch với một lượng lớn dữ liệu.Bạn nghĩ ngôn ngữ nào tốt nhất cho Bioinformatics?
Trả lời
Bạn rất có thể sẽ quan tâm đến chủ đề này qua tại Biostar:
Đối với hầu hết chúng ta bioinformaticians, điều này bao gồm Python, R, Perl, và các tiện ích dòng lệnh bash (như sed, awk, cut, sort, etc). Cũng có những người viết mã Java, Ruby, C++ và Matlab.
Vì vậy, dòng dưới cùng? Cho dù ngôn ngữ nào cho phép bạn hoàn thành công việc dễ dàng nhất là ngôn ngữ phù hợp với bạn. Trả lời câu hỏi này nên bao gồm một cuộc khảo sát cẩn thận về các thư viện và mã khác mà bạn có thể lấy từ đó, cũng như thông tin về sở thích và kinh nghiệm của riêng bạn. Nếu bạn đang thực hiện phân tích microarray, thật khó để đánh bại các thư viện R/bioconductor, nhưng đó là hoàn toàn sai ngôn ngữ cho một người nào đó tranh cãi hầu hết các loại tập dữ liệu chuỗi thứ tự lớn.
Python + scipy phong nha (và MIỄN PHÍ).
http://www.vetta.org/2008/05/scipy-the-embarrassing-way-to-code/
Bạn thậm chí không cần phải tìm hiểu cú pháp mới thực sự khi khi bỏ Matlab cho scipy.
My trường đại học sử dụng Python cho tất cả các công cụ tin sinh học. –
Tốt nhất là không, SAS là môi trường lập trình de facto trong môi trường sinh học. Nếu bạn đã làm việc cho Pfizers, Mercks và Bayers của thế giới trong tin sinh học, bạn đã có kỹ năng SAS tốt hơn. Các lập trình viên SAS đang có nhu cầu lớn.
Mikos sống ở Cambridge; anh ấy biết anh ta đang nói gì. –
Điều này có thể thay đổi. Các công cụ tốt nhất sẽ giành chiến thắng ở cuối. Nhược điểm của Python là nó được hỗ trợ bởi các tình nguyện viên. –
trên thực tế hay không, điều này phụ thuộc vào trường đại học bạn đến từ. Một số trường mới yêu trăn. –
Không có ngôn ngữ phù hợp cho sinh tin học.
Điều quan trọng cụ BLAST trình tự được viết bằng C++
Công cụ MATT cho việc sắp xếp cấu trúc protein được viết bằng C
Một số đồng nghiệp của tôi trong tính toán sinh học sử dụng Ruby.
Nói chung, tôi thấy rất nhiều C và C++ cho mã quan trọng về hiệu năng và nhiều ngôn ngữ kịch bản khác.
Ngôn ngữ "tốt nhất" là chủ quan và có khả năng khác với nhiệm vụ, nhưng đối với công việc sinh học, cá nhân tôi sử dụng R, Perl, Delphi và C (khá thường xuyên kết hợp một vài trong số này).
Tôi cũng sử dụng delphi. Thật không may, không có thư viện sinh học NO SINGLE cho delphi. Tôi phải viết tất cả các nhà nhập khẩu (scf, abi, vv) từ số không. – Ampere
@Silvester có, chúng tôi cũng đã viết thư viện sinh học Delphi của riêng mình, nhưng đang có kế hoạch để đánh bóng và phát hành nó ... nó chỉ luôn luôn có cách lâu hơn bạn nghĩ rằng phải mất – PhiS
Chỉ cần cho tôi biết (bài liên kết) khi có sẵn. Nếu thư viện được tôi quan tâm thì tôi sẽ đóng góp. – Ampere
Tôi làm việc chủ yếu với HMM và chuỗi protein. Tôi bắt đầu viết trong C, nhưng kể từ đó chuyển sang Python, mà tôi hài lòng với. Tôi tìm thấy nó dễ dàng hơn để thử nghiệm một cái gì đó một cách nhanh chóng và kết quả trong dễ dàng hơn để duy trì mã.
Dưới đây là một báo cáo khoa học tự do có sẵn bằng văn bản về chủ đề mà đánh giá ngôn ngữ khác nhau, và trong những tình huống khác nhau: http://www.biomedcentral.com/1471-2105/9/82
Họ nhóm 6 ngôn ngữ thường được sử dụng thành 3 cấp độ khác nhau.
2 compiled languages: C, C++
2 semi-compiled languages: C#, Java
2 interpreted languages: Perl, Python
Một số kết luận chung:
- ngôn ngữ Biên soạn vượt trội so với giải thích ngôn ngữ trong sự sắp xếp toàn cầu và các chương trình Neighbor-Tham gia
- ngôn ngữ thông dịch thường được sử dụng nhiều bộ nhớ hơn
- Tất cả các ngôn ngữ thực hiện xấp xỉ như nhau đối với BLAST tính toán, ngoại trừ Python
- Ngôn ngữ được biên dịch yêu cầu nhiều dòng mã được viết hơn để thực hiện cùng các tác vụ
- ngôn ngữ biên soạn có xu hướng tốt hơn cho việc thực hiện thuật toán
- ngôn ngữ thông dịch có xu hướng tốt hơn cho tập tin phân tích cú pháp/thao tác
Đây là một bài viết học thuật miễn phí tốt thảo luận cách để xây dựng các kỹ năng tin sinh học: http://dx.plos.org/10.1371/journal.pcbi.1000589
Điểm rất tốt. Nó đôi khi không quá nhiều về ngôn ngữ mà là thư viện. Làm thao tác ma trận trong Perl có vẻ điên rồ, C++/Java - không tệ, Python có SciPy, và nó có nguồn gốc trong Matlab. Nếu các biểu thức chính quy được sử dụng nhiều, thì Perl có thể là một ứng cử viên tốt, Ruby, Python, Java và thậm chí cả C++. Tất cả phụ thuộc vào. Tôi thiên vị đối với Python :) –