Perl,R,Python在生物信息學中分別扮演著怎樣的角色?
或者說各自擅長哪些方面,以及有哪些另外兩者不可替代的應用領域。
應該說Python/Perl是相互替代的腳本語言,但個人推薦用Python, 雖然很多老的生物信息軟體是用Perl,Python學習曲線好,功能也更強大,是發展趨勢。
(在生物信息學領域,python和perl誰更強大、易用、代表著未來的發展方向?)這兩個語言主要是做數據預處理、文本處理和格式轉換、對演算法效率要求不高的分析軟體開發,系統管理和pipeline搭建等工作。
R語言主要的優勢是大量的統計包的支持,數據統計分析中非常常用。Python和R有良好的介面。
關於繪圖很多人用R,其實Python的Matplotlib的繪圖效果比它漂亮很多,也更強大。
對pipeline的搭建shell編程更適合,是一個不可缺少的技能。與資料庫相關的工作需要用到SQL
下面的鏈接給出了對數據分析科學家所用工具的調查,從結果上看Python, R, SQL是用的最多的三板斧:
Languages used for analytics / data mining / data science現在業界生物信息的主流還是 R吧 (Bioconductor)。
Linux : 操作系統,是基礎。
生物信息對Linux的要求其實並不高,並不是要做系統開發者或管理員,只需要會用就行。複製粘貼、處理數據、安裝軟體等。
生物信息軟體:標準數據分析。
生物信息學的數據格式已經基本標準化,大部分工作可以直接用軟體完成。
Perl和Python:處理個性化問題、軟體之間的對接。
這兩門語言至少應該熟練掌握一門自己寫程序用,另外一門要能看得懂。
寫點小腳本感覺差別不大,但是perl寫大程序不合適。
很多人認為python是趨勢,但至少截止目前更多生信軟體是用perl寫的。
所以,如果剛開始學,建議主打python, 看懂perl。
R :數據處理、統計、繪圖、數據分析。
R語言的數據結構跟其他語言差異較大、而且總感覺語法比較散,不好記。但是R的軟體包卻異常強大。數據處理的reshape2, dplyr;繪圖的ggplot2;還有Bioconductor里的幾千個包。不得不會。
最後,學習生物信息,歡迎關注「基因課」公眾號,或登陸 http://www.genek.tv 這裡有在線視頻課程。以前免費!!現在收費了。
R有大量的統計學函數,以及統計學的擴展包。Perl雖然有PDL,但PDL自帶的功能就不是很豐富,文檔也爛,第三方擴展更少。
Python沒用過。理論上,功能跟Perl差不多。
其實....Python和perl沒有最優之說,甚至你可以兩者都不會,照樣可以成為很好的生信學者,在我看來,系統學習一門programming language才是更重要的,比如java,C, 然後回過頭來在看perl,Python,你會發現比起programming language,這些script language更簡單易讀一些,也容易上手。你不需要成為這兩門語言的專家,只需要能夠閱讀,並參照著寫代碼來處理你遇到的問題即可,更甚,可以直接跳過per和Python的學習,直接了解Bioperl和BioPython就行了,二者為生信學者提供了強大的工具。另外,語言沒有最優之說,針對自己遇到的問題,身邊的朋友,學習難易度,恰當選擇一門語言才更重要。 比如你身邊都是學習python的,那麼當你開始學習Python的時候,會有很多懂行的人來幫助你,所帶來的進步是非常大的,相比自己去摸索一門語言來說,效率高很多。
R是目前生信領域應用非常廣泛的統計分析語言,我個人認為R在生信領域的統計分析有著統治地位,當然,其他軟體並不是說不好,我身邊也有人用matlab和SAS,我覺得選擇更適合自己的即可,還是上面那個觀點,和周圍人一起學習更重要,而不是糾結使用哪個軟體。 因為R是開源!這就有了無限可能~ 很多R包是專門針對某一特殊的生物問題而設計的,個人認為學好R非常重要! 不管是任何組學研究,所得到的結果都會使用R分析。所以在我心中,R屬於必學的語言之一。
最後再扯點無關主題的~,在我看來...掌握了谷歌的力量,你便擁有了半片天空,90%的生信工具都是開源的,網上也針對各種問題有著很專業的回答,取決於你能不能搜到~(當然你要有一定英語能力~) 而且基本所有的工作都是transformative的,你之前工作的產物,有時可以移植到後面的工作中~ 所以。。。生信=谷歌+思考+經驗~ doge~ 不要糾結Perl還是Python啦~ 買VPN去谷歌吧!! lolpython已經把perl擠掉了,馬上R也快了
以我個人來說,perl用來做大部分文本處理工作,網頁內容抓取,以及其他日常的批量處理工作。有一些即寫即丟的一次性小腳本,也可以寫一些有比較大功能的程序。R拿來做統計,跑各種圖表,方便,效果又好。現在很多生物信息學的軟體都是R包的形式。Python只是學過,用得不多,不好說。
就個人遇到的情況,python和perl可以作為銜接語言,比如可以運用C語言的function,這樣簡易了編程過程,又不會降低運行時間。不過據我同學說還是python比較好,R的話只學過,了解不多。
偶然路過,從機器學習從業者的角度回答一下:懂數學能自己建模推導公式寫演算法的用R,"調包俠"喜歡用python.
主要用python,我師姐是用perl的,感覺這兩個在生物信息領域是可以替代的。R主要是用統計和一些作圖吧,用的不多。
能用python 就別用perl了, 功能完全可以取代, python越來越熱了,工作後也比較容易合作阿,python也可以取代R吧,R實在太麻煩
Perl處理文本超級好用。
Python在這方面不如Perl方便省事。
但是Python也有他好用的一方面,靠使用時自己的體會了。Perl 處理文本信息,Python和Perl寫模塊流程,妥妥的。我不喜歡Python是趨勢的說法,這句話聽起來好像有道貌岸然的成分。
R用來統計畫圖的,在統計語言中比較好寫好學,但是統計的話還要懂統計學方面的計算理論。推薦閱讀:
※蛋白質組學在醫療和健康方面有什麼應用?
※聚道科技(GeneDock)是一家什麼樣的公司?
※純生物信息學的分析結果可信么?或者說現在的測序服務公司的數據分析結果是否可靠?
※自學生物信息學,感覺學的很零散,無法形成完整的體系,應該怎麼辦?