Tại sao Perl được sử dụng rất nhiều trong Tin sinh học? [đóng cửa]


14

Điều gì về Perl làm cho nó rất hữu ích trong Tin sinh học? Tại sao C ++ hoặc Matlab hoặc Python không phải là ngôn ngữ lớn?

Câu trả lời:


13

Đ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.


1
chào mừng bạn Nếu bạn có thêm bất kỳ câu hỏi nào, hoặc đang suy nghĩ về việc tham gia vào lĩnh vực này, đây là một câu trả lời khác có thể giúp bạn giải quyết.
wespiserA


24

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ó.


2
Đã đồng ý. Tôi nhớ một bài báo, tôi tin vào Tiến sĩ Dobbs hoặc một cái gì đó tương tự vào giữa những năm 90 với tiêu đề "Làm thế nào Perl đã cứu Dự án bộ gen người" hoặc một cái gì đó khá gần với điều đó. Tôi đã làm việc trong không gian tin sinh học khoảng 10 năm nay và vẫn chưa bắt gặp ai đó thực sự sử dụng Perl. Nó chủ yếu là R với số lượng Matlab & Python ít hơn.
geoffjentry

6
Nó không giống như R sẽ thay thế Perl. R được sử dụng để phân tích dữ liệu / trực quan hóa cho dữ liệu khám phá. Nhiệm vụ kịch bản chung vẫn sẽ được thực hiện với perl.
wespiserA

+1: Ngoài ra, có vẻ như người Nhật vẫn sử dụng Perl nhiều hơn Python hoặc Ruby (từ một nhà tuyển dụng người Nhật mà tôi trò chuyện), vì vậy có thể nó có tác động rất lớn đến các công nghệ liên quan đến nghiên cứu của Nhật Bản, như trong nghiên cứu sinh học, trong đó họ là lãnh đạo với Mỹ?
Klaim

@geoffjentry: Tôi đã thấy khá nhiều quá trình xử lý được thực hiện ở Perl, mặc dù tôi không có 10 năm trong lĩnh vực này (2, cho đến nay, cộng với một vài kinh nghiệm ngắn vài năm trước). Tuy nhiên, R là vua khi tính toán toán học được mong đợi (phân tích thống kê trên các bộ dữ liệu lớn xuất hiện) và để tạo ra trực quan hóa tốt (thực tế rất nhiều giải pháp thích đơn giản là tích hợp với R Engine hơn là tự triển khai).
haylem

Trong 8 tháng kể từ khi tôi viết rằng tôi phải đọc lại tuyên bố của mình, giờ tôi đã thấy perl được sử dụng :). Trong những trường hợp đó, mặc dù nó vẫn có vẻ mang tính lịch sử - hoặc là mã cũ hoặc ai đó đã cắt răng bằng cách sử dụng perl và chỉ bị mắc kẹt với nó. Hầu hết các nhà sinh học tính toán trong công việc mới của tôi sử dụng một số hỗn hợp (tùy thuộc vào người) của python & r, với một số MATLAB được ném vào và perl đã nói ở trên.
geoffjentry

10

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 .

Văn bản là vua

Perl làm cho nó dễ dàng:

  • thực hiện các thuật toán NLP và tin học sinh học,
  • trích xuất dữ liệu văn bản,
  • tạo dữ liệu văn bản.

Ngôn ngữ không tệ (một nửa)

Nó cũng có những lợi ích của việc có:

  • một biểu cảm tốt ,
  • một đường cong học tập tương đối thấp (cho đến khi bạn khám phá tất cả các thủ thuật và hack của nó) ,
  • nhưng cũng là một hiệu suất tốt .

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.

Tính di động và khả năng mở rộng được thực hiện dễ dàng

Ngoài ra, nó rõ ràng cũng:

  • di động trên nhiều nền tảng ,
  • đi kèm với một thư viện mở rộng rất lớn .

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 , Charlesgeoffjentry , 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. :)


6

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.

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ả.


5

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 đó?


2

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 đó

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.