Câu trả lời:
Điều khiến Perl trở nên hữu ích cho tin sinh học là 1) ngôn ngữ tương đối dễ học, 2) có rất nhiều tập lệnh có sẵn để sử dụng, bao gồm cả bioPerl và 3) có thể là phòng thí nghiệm bạn làm việc có hàng trăm tập lệnh và mô-đun , đã được viết bằng Perl.
Trình độ lập trình viên ít phải làm với sự lựa chọn ngôn ngữ, sau đó là các nhiệm vụ được yêu cầu của anh ta. Bất kỳ công việc nâng cao hoặc tính toán đắt tiền nào thường được viết bằng Java hoặc C và chạy trên một cụm.
Một điều cần hiểu về tin sinh học, đó là một lĩnh vực đa dạng, với những nhiệm vụ đa dạng được yêu cầu đối với những người thực hành nó. Nó không phải là hiếm khi tôi sử dụng Perl, R và Java trong một ngày. Perl cho các công cụ kịch bản, di chuyển tệp, tải xuống mọi thứ, một số phân tích dữ liệu cơ bản, v.v. để hiển thị dữ liệu và Java để tính toán thuật toán / làm việc với và sửa đổi các ứng dụng. Điều đó đang được nói, hầu hết các nhiệm vụ tôi yêu cầu sử dụng Perl, tuy nhiên, tôi muốn chuyển sang Ruby, vì nó có các chức năng nâng cao hơn, lambdas & procs, có thể dẫn đến mã ngắn gọn hơn và hoàn toàn hướng đối tượng.
Bên cạnh những đức tính vốn có của Perl, một phần của điều này chỉ đơn giản là lịch sử. Có một sự mở rộng lớn của tin sinh học vào đầu thế kỷ vì Dự án bộ gen người. Vào thời điểm đó, Perl là ngôn ngữ kịch bản phổ biến nhất được sử dụng phổ biến . Ruby và Python chắc chắn đã có mặt, nhưng gần như không có sự chia sẻ hỗ trợ / tâm trí mà chúng làm ngày hôm nay. Điều này đã cho Perl rất nhiều động lực trong lĩnh vực này.
Tôi nghĩ rằng việc sử dụng Perl trong tin sinh học đang giảm dần và R đang nhanh chóng phổ biến. Nhưng đối với bất kỳ ngôn ngữ nào bạn quan tâm để đặt tên, có lẽ bạn có thể tìm thấy một phòng thí nghiệm tin sinh học bằng cách sử dụng nó.
Tôi sẽ thêm một câu trả lời ở đây vì tôi nghĩ rằng rất nhiều trong số họ đã bỏ lỡ một điểm quan trọng ...
Perl là phổ biến trong tin học sinh học vì ban đầu nó là một ngôn ngữ xử lý văn bản .
Perl làm cho nó dễ dàng:
Nó cũng có những lợi ích của việc có:
Mặc dù nó sẽ không cho phép tạo các chương trình xử lý chạy nhanh tương đương C, nhưng thời gian phát triển kém hơn rất nhiều và nó đi kèm với pin khi xử lý văn bản ( biểu thức chính quy mạnh mẽ , bất cứ ai?), Do đó làm cho nó dễ dàng để chọn và sử dụng trong bối cảnh phòng thí nghiệm để giải quyết các nhiệm vụ này.
Ngoài ra, nó rõ ràng cũng:
Nhưng lý do tại sao có rất nhiều phần mở rộng và mô-đun tin sinh học (và khoa học nói chung) cho Perl ngay từ đầu là vì những lý do nêu trên. Trong rất nhiều trường hợp, thiết kế và khả năng của ngôn ngữ làm cho nó phù hợp gần như hoàn hảo (mặc dù có nhiều mối hận thù có thể chống lại nó) cho công việc.
Tất cả điều này làm cho Perl trở thành một ứng cử viên tốt cho nghiên cứu khoa học, đặc biệt là trong các lĩnh vực mà dữ liệu cần xử lý chủ yếu ở định dạng văn bản.
Tất nhiên, các ngôn ngữ khác đã xuất hiện và chiếm thị phần vì những lý do khác nhau (tăng tính biểu cảm, dễ đọc hơn, tránh rõ ràng các vụ hack và guru-ish one-liners ...), nhưng chúng vẫn cạnh tranh với Perl trên một số khía cạnh nhất định (Ruby là nhanh như học vì nó chậm xử lý dữ liệu chẳng hạn). Vì vậy, trong lĩnh vực tin sinh học (hoặc NLP) nơi bạn xử lý các định dạng văn bản, chu kỳ nghiên cứu nhanh và ngày càng có nhiều dữ liệu lớn tiếp tục lớn hơn (cảm ơn bạn, genomics và NGS), Perl vẫn rất phù hợp.
Trên thực tế, chỉ cần chú ý các bình luận của maple_shaft , Charles và geoffjentry , trong đó đề cập đến tầm quan trọng của các biểu thức chính quy, vì vậy không phải ai cũng bỏ qua điều này. :)
Một trong những lý do lớn đằng sau sự phổ biến của Perl trong tin sinh học là BioPerl , một bộ mô-đun toàn diện để làm việc với dữ liệu liên quan.
Có vẻ như hầu hết các mô-đun thực sự được thiết kế để làm việc với dữ liệu được tạo bởi các chương trình khác. Perl làm cho băng báo cáo tuyệt vời , sau khi tất cả.
Các công cụ được lựa chọn theo mức độ kỹ năng của các nhà khai thác và dễ dàng chấp nhận - phải mất một thời gian để một chương trình được biên dịch hoặc IDE vượt qua một ngôn ngữ được giải thích đơn giản.
Perl có một số chương trình nghiêm túc, tài liệu nghiêm túc, thư viện nghiêm túc và tính sẵn sàng miễn phí rộng rãi. Điều gì không thích về điều đó?
Perl có tất cả các khả năng, cấu trúc dữ liệu và phương pháp của các ngôn ngữ khác, và sau đó dễ học hơn. Điều này tốt cho các nhà nghiên cứu và nhà khoa học không có nhiều kinh nghiệm về lập trình, vì họ có thể dễ dàng nhận Perl và hoàn thành nhiệm vụ mong muốn của họ
Ngoài ra:
Rất nhiều hỗ trợ trực tuyến và các kịch bản miễn phí có sẵn rõ ràng là lợi thế! =)
Tóm lại, hầu hết các nhà khoa học và nhà nghiên cứu chỉ muốn hoàn thành công việc, và thực hiện càng nhanh càng tốt và Perl là sự phù hợp hoàn hảo cho điều đó