เหตุใด Perl จึงถูกใช้อย่างมากในชีวสารสนเทศศาสตร์? [ปิด]


14

มันเกี่ยวกับ Perl อะไรที่ทำให้มีประโยชน์ในด้านชีวสารสนเทศศาสตร์? ทำไม C ++ หรือ Matlab หรือ Python ไม่ใช่ภาษาใหญ่

คำตอบ:


13

สิ่งที่ทำให้ Perl มีประโยชน์สำหรับชีวสารสนเทศศาสตร์คือ 1) เป็นภาษาที่ค่อนข้างง่ายต่อการเรียนรู้ 2) มีสคริปต์ที่มีอยู่แล้วจำนวนมากที่ใช้รวมถึง BioPerl และ 3) โอกาสที่ห้องปฏิบัติการที่คุณทำงานมีสคริปต์และโมดูลหลายร้อยรายการ เขียนแล้วใน Perl

ระดับของโปรแกรมเมอร์น้อยลงจะทำอย่างไรกับการเลือกภาษาแล้วงานที่ถูกถามจากเขา งานขั้นสูงหรือมีค่าใช้จ่ายใด ๆ มักจะเขียนใน Java หรือ C และทำงานบนคลัสเตอร์

สิ่งหนึ่งที่ต้องเข้าใจเกี่ยวกับชีวสารสนเทศศาสตร์ก็คือมันเป็นสาขาที่หลากหลายโดยมีงานที่หลากหลายที่ถูกถามจากผู้ที่ฝึกฝนมัน ไม่ใช่เรื่องแปลกสำหรับฉันที่จะใช้ Perl, R และ Java ในหนึ่งวัน Perl สำหรับการเขียนสคริปต์ไฟล์การย้ายสิ่งต่าง ๆ การวิเคราะห์ข้อมูลพื้นฐาน ฯลฯ R สำหรับการสร้างภาพข้อมูลและ Java สำหรับการคำนวณอัลกอริทึม / การทำงานกับและการปรับเปลี่ยนแอปพลิเคชัน ที่ถูกกล่าวว่างานส่วนใหญ่ที่ฉันต้องการใช้ Perl แต่ฉันต้องการเปลี่ยนเป็น Ruby เนื่องจากมีฟังก์ชันขั้นสูงมากกว่า lambdas & procs ที่สามารถนำไปสู่รหัสรวบรัดมากขึ้นและเป็นเชิงวัตถุอย่างเต็มที่


1
ยินดีต้อนรับ. หากคุณมีคำถามเพิ่มเติมหรือกำลังคิดที่จะลงสนามนี่เป็นคำตอบที่อาจช่วยคุณได้
wespiserA


24

นอกเหนือจากคุณธรรมโดยธรรมชาติของ Perl ส่วนหนึ่งของเรื่องนี้เป็นเพียงประวัติศาสตร์ มีการขยายตัวที่สำคัญของชีวสารสนเทศศาสตร์ในช่วงเปลี่ยนศตวรรษเนื่องจากโครงการจีโนมมนุษย์ ในขณะที่ Perl คือโดยไกลภาษาสคริปต์ที่นิยมมากที่สุดในการใช้งานทั่วไป Ruby และ Python มีอยู่รอบตัว แต่ไม่ได้มีส่วนแบ่งในการสนับสนุน / ความคิดในวันนี้ สิ่งนี้ทำให้ Perl มีแรงกระตุ้นมากมายในภาคสนาม

ฉันคิดว่าการใช้ Perl ในชีวสารสนเทศศาสตร์ลดลงและ R กำลังได้รับความนิยมเพิ่มขึ้นอย่างรวดเร็ว แต่สำหรับภาษาใด ๆ ที่คุณต้องการตั้งชื่อคุณอาจพบว่าห้องปฏิบัติการชีวสารสนเทศนั้นใช้มัน


2
ตกลง ฉันจำบทความได้ฉันเชื่อในดร. ดอบส์หรืออะไรทำนองนั้นย้อนกลับไปในช่วงกลางยุค 90 ด้วยชื่อ "วิธีที่ Perl ช่วยโครงการจีโนมมนุษย์" หรืออะไรที่ใกล้เคียง ฉันเคยทำงานในพื้นที่ชีวสารสนเทศศาสตร์มาประมาณ 10 ปีแล้วและยังไม่เคยเจอใครใช้ Perl จริงๆ ส่วนใหญ่เป็น R ที่มี Matlab & Python ในปริมาณน้อย
geoffjentry

6
มันไม่เหมือน R จะแทนที่ Perl R ใช้สำหรับวิเคราะห์ข้อมูล / สร้างภาพข้อมูลเชิงสำรวจ งานการเขียนสคริปต์ทั่วไปจะยังคงทำได้ด้วย perl
wespiserA

+1: ดูเหมือนว่าญี่ปุ่นยังคงใช้ Perl มากกว่า Python หรือ Ruby (จากผู้สรรหาชาวญี่ปุ่นที่ฉันแชทด้วย) ดังนั้นอาจมีผลกระทบอย่างมากต่อเทคโนโลยีที่เกี่ยวข้องกับการวิจัยของญี่ปุ่นเช่นในด้านชีวสารสนเทศที่ พวกเขาเป็นผู้นำกับสหรัฐฯ
Klaim

@geoffjentry: ฉันเคยเห็นการประมวลผลค่อนข้างมากใน Perl แม้ว่าฉันจะไม่ได้มี 10 ปีในสนาม (2 จนถึงตอนนี้บวกกับประสบการณ์สั้น ๆ ไม่กี่ปีที่ผ่านมา) อย่างไรก็ตามการคาดการณ์การคำนวณทางคณิตศาสตร์เป็นสิ่งสำคัญ (การวิเคราะห์ทางสถิติบนชุดข้อมูลขนาดใหญ่เข้ามาในใจ) และเพื่อสร้างภาพข้อมูลที่ดี
เฮย์เล็ม

ในช่วง 8 เดือนที่ผ่านมาตั้งแต่ฉันเขียนว่าฉันต้องฟังคำแถลงของฉันอีกครั้งตอนนี้ฉันเห็น Perl ใช้แล้ว :) ในกรณีเหล่านั้นแม้ว่ามันจะยังคงมีลักษณะทางประวัติศาสตร์ - ไม่ว่าจะเป็นรหัสเก่าหรือคนที่ตัดฟันโดยใช้ Perl และติดอยู่กับมัน นักชีววิทยาการคำนวณส่วนใหญ่ที่งานใหม่ของฉันใช้มิกซ์ (ขึ้นอยู่กับบุคคล) ของ python & r โดยมี MATLAB บางตัวโยนเข้ามาและ perl ที่กล่าวมาแล้ว
geoffjentry

10

ฉันจะเพิ่มคำตอบที่นี่เนื่องจากฉันคิดว่าพวกเขาจำนวนมากพลาดจุดสำคัญ ...

Perl เป็นที่นิยมในชีวสารสนเทศเพราะมันเป็นครั้งแรกเป็นภาษาการประมวลผลข้อความ

ข้อความคือราชา

Perl ทำให้ง่ายต่อการ:

  • ใช้ NLP และอัลกอริธึมสารสนเทศชีวภาพ
  • ดึงข้อมูลที่เป็นข้อความ
  • สร้างข้อมูลที่เป็นข้อความ

ภาษาไม่ดี (ครึ่งหนึ่ง) ไม่ดี

นอกจากนี้ยังมีประโยชน์ของการมี:

  • ลึกซึ้งดี ,
  • ค่อนข้างโค้งการเรียนรู้ต่ำ (จนกระทั่งคุณค้นพบเทคนิคและ hacks ทั้งหมด) ,
  • แต่ยังมีประสิทธิภาพที่ดี

ในขณะที่มันจะไม่อนุญาตให้มีการสร้างการประมวลผลโปรแกรมที่กำลังทำงานให้เร็วที่สุดเท่าเทียบเท่า C, เวลาในการพัฒนาเป็นจำนวนมากที่ด้อยกว่าและมาพร้อมกับแบตเตอรี่รวมเมื่อมันมาถึงการประมวลผลข้อความ ( การแสดงออกปกติที่มีประสิทธิภาพ , ใคร?) จึงทำให้มันง่าย เพื่อหยิบและใช้งานในบริบทของแล็บเพื่อแก้ปัญหาเหล่านี้

การพกพาและความสามารถในการขยายทำได้ง่าย

นอกจากนี้ยังเห็นได้ชัดว่า:

  • เป็นแบบพกพาข้ามแพลตฟอร์มหลาย ,
  • มาพร้อมกับห้องสมุดขนาดใหญ่มากของนามสกุล

แต่เหตุผลที่ทำให้มีส่วนขยายและโมดูลทางชีวสารสนเทศ (และวิทยาศาสตร์โดยทั่วไป) มากมายสำหรับ Perl ในตอนแรกนั้นเป็นเพราะเหตุผลที่กล่าวมาข้างต้น ในหลายกรณีการออกแบบและความสามารถของภาษาทำให้มันเกือบจะสมบูรณ์แบบ (แม้จะมีความขุ่นเคืองที่เป็นไปได้หลายอย่างที่เราสามารถป้องกันได้) สำหรับงาน


ทั้งหมดนี้ทำให้ Perl เป็นคู่แข่งที่ดีสำหรับการวิจัยทางวิทยาศาสตร์โดยเฉพาะอย่างยิ่งในสาขาที่ข้อมูลในการประมวลผลส่วนใหญ่อยู่ในรูปแบบข้อความ

แน่นอนว่าภาษาอื่น ๆ เกิดขึ้นและเรียกร้องส่วนแบ่งการตลาดด้วยเหตุผลที่แตกต่างกัน (เพิ่มความหมาย, อ่านง่าย, หลีกเลี่ยงการแฮ็กที่คลุมเครือและ guru-ish one-liners ... ) แต่พวกเขายังคงแข่งขันกับ Perl ในบางแง่มุม รวดเร็วในการเรียนรู้เนื่องจากช้าในการประมวลผลข้อมูลเป็นต้น) ดังนั้นในโดเมนของชีวสารสนเทศศาสตร์ (หรือ NLP) ที่คุณจัดการกับรูปแบบข้อความวัฏจักรการวิจัยที่รวดเร็วและข้อมูลขนาดใหญ่ที่เพิ่มมากขึ้นเรื่อย ๆ เรื่อย ๆ (ขอบคุณจีโนมและ NGS) Perl ยังมีความเกี่ยวข้องมาก


อันที่จริงเพียงแค่สังเกตmaple_shaft , ชาร์ลส์และgeoffjentry 's ความคิดเห็นซึ่งกล่าวถึงความสำคัญของการแสดงออกปกติได้เป็นอย่างดีเพื่อให้ทุกคนไม่มองข้ามนี้ :)


6

หนึ่งในเหตุผลสำคัญที่อยู่เบื้องหลังความนิยมของ Perl ในชีวสารสนเทศศาสตร์คือBioPerlซึ่งเป็นชุดโมดูลที่ครอบคลุมสำหรับการทำงานกับข้อมูลที่เกี่ยวข้อง

มันดูเหมือนว่าส่วนใหญ่ของโมดูลที่มีการออกแบบจริงในการทำงานกับข้อมูลที่สร้างขึ้นโดยโปรแกรมอื่น ๆ Perl ทำให้เทปรายงานท่อที่ยอดเยี่ยมหลังจากทั้งหมด


5

เครื่องมือถูกเลือกตามระดับความสามารถของผู้ปฏิบัติงานและความง่ายในการนำไปใช้ - ใช้เวลาสักครู่สำหรับโปรแกรมที่คอมไพล์หรือ IDE เพื่อแซงภาษาที่ตีความง่าย

Perl มีการสับที่รุนแรง, เอกสารที่จริงจัง, ไลบรารีที่จริงจังและความพร้อมใช้งานฟรีที่กว้างขวาง อะไรที่ไม่ชอบเกี่ยวกับสิ่งนั้น


2

Perl มีความสามารถเหมือนกันทั้งหมด, การสร้างข้อมูลและวิธีการของภาษาอื่น ๆ , และง่ายต่อการเรียนรู้มากที่สุด นี่เป็นสิ่งที่ดีสำหรับนักวิจัยและนักวิทยาศาสตร์ที่ไม่ได้มีประสบการณ์ในการเขียนโปรแกรมมากนักเนื่องจากพวกเขาสามารถหยิบ Perl และทำงานที่ต้องการได้อย่างง่ายดาย

นอกจากนี้:

มีการสนับสนุนออนไลน์มากมายและสคริปต์ฟรีซึ่งมีประโยชน์อย่างชัดเจน! =)

กล่าวโดยสรุปนักวิทยาศาสตร์และนักวิจัยส่วนใหญ่ต้องการทำงานให้สำเร็จลุล่วงเร็วที่สุดเท่าที่จะเป็นไปได้และ Perl ก็เหมาะสมที่สุดสำหรับสิ่งนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.