畢業後有位學弟傳了mail詢問一些生資的規劃,之後應該會愈來愈多人投入生資,所以就把他的問題跟我的經驗分享出來ㄅ
Q1:中興大學有哪些生資相關的課程
現在生物相關科系開設的生資課程應該會愈來愈多,還有基因體暨生物資訊研究所的課程很多也可以讓外系來修
由淺入深的課程主題從1. 使用線上生資工具和軟體 2. 程式語言(R, python, C, java…) 3. 演算法
程式語言的課程基資所我知道的就有開R跟python,老師們也會在生物人的角度授課,所以應該會比直接去修理工科系的課還要更親民
自己以前是教務系統看有哪個科系開跟生資相關的課就去選看看,自己的動科系以外還有去過生醫所、資基所、統計所,
現在大學部應該也很多生資課程了,至少動科系就有兩門吧~~
至於以前我修過哪些課程更早之前有寫過文章了,有興趣看我詳細修過哪些課就再去看看嚕
2019中興大學研究所生物資訊課程
Q2:在學期間的學習規劃建議
之前是一股腦對生資有興趣,看到什麼學什麼,不過如果有些方向的學還是會比較有成效
學習規劃大致可以分成1. 程式語言 2. linux作業系統 3. 生物統計和演算法
這幾項沒有規定說要先學會哪個再去學哪個,就看自己對哪個有興趣就先接觸他們,因為遲早都會互相交集,也可以併行的學習會更加有效率,
像是可以用程式語言執行統計或是在linux下操作程式語言等
1. 程式語言
看這篇文章的你應該已經知道學生資理所當然要會程式語言,至於要學哪個呢? 答案跟網路上的文章論壇結論一樣,喜歡哪個就哪個
R繪圖很漂亮,統計函式很健全; python函式庫很齊全,可爬蟲,AI套件多之類的,但其實各個程式語言都可以達到那些目的,就直接先選一個學就好
不會有學那個比較好,哪個吃虧的問題
怎麼開始學呢?當然可以去修教程式語言的課程,老師就會一步步帶你,不過認真學的話你會發現老師教的到後來對你來說是很基礎的,很多功能會需要從網路和工具書練習,所以如果沒有修到課,那就自學就好,尤其是R跟python對於新手也是ok的
學會一些基礎語法(資料型態、字串處理、迴圈)之後設計一些問題給自己去寫程式解決,這樣學程式就比較不會乏味,不然照著工具書打出那些語法之後通常沒多久就會忘掉
就像老師課後會出作業一樣,例如從NCBI下載一個物種的基因體序列(fasta),然後寫一段程式碼是input特定序列如ATCCGA,找出這段序列位於基因體的哪些位置?
或是如果你手邊研究主題剛好可以用程式語言處理更好,學習的動力會更高,我當時就是如此
2. linux作業系統
大部分的人接觸到作業系統是windows或macOS,這兩個都是在圖形化介面操作,鮮少使用到純指令介面(Terminal, cmd),尤其是windows用戶,可能你會以為linux都是要在畫面是都是黑底白字敲指令使用,以前是如此,但現在有很多linux的發行版安裝後是圖形化介面了,對於新手來說親近許多。
為何學生資一定要會linux呢,因為很多程式和演算法開發者都是在linux下操作,而且很多生資程式是沒有圖形化介面,是需要敲指令執行,但其實這樣對於開發跟分析是更有效率的
推薦可以使用Ubuntu這個linux的發行版來學習,因為它的使用者多,所以遇到問題也比較容易找到答案,安裝時就是圖形介面了,不會一開始就要你敲指令
安裝作業系統在電腦後,第一步可以先學怎麼安裝ncbi-blast,然後在terminal使用。
進階的話學內建的程式語言bash來寫腳本,一次執行多行指令
3. 生物統計、演算法
想必傳統的生物研究都會使用統計,通常都是學SAS或SPSS,但他們就是專門統計軟體,我會推薦使用R做統計,同樣的統計方法,R的語法更簡單直觀,也比較容易理解統計觀念
而演算法則是另一個領域,演算法廣義就是指一套演算流程,所以各種統計方法也都是演算法的一種,生資相關常見演算法還有圖論、隱馬可夫鏈、群集分析等可以學習,這部份就很吃數理觀念,自己學比較沉重,找個課程來修會比較容易,我當時是去修統計所的生資統計方法,但現在不一定還有開了
Q3:有哪些工作機會
我想應該在這個大數據盛行的時代應該也不用擔心找不到生資工作了,需求只會愈來愈多
最多需求的是NGS定序分析人員,這些公司最基本要求是在學期間就是做NGS,執行過完整的分析流程的人,我當初是做蛋白質體的,所以應徵這些公司果然也都沒理我呵呵
再來是其他生物領域類別的工作,像是抗體序列、蛋白質體、蛋白質結構、mRNA表現等,目前大多生資類工作都還是圍繞在序列分析
當然傳統的生物統計人員也是一類,主要是在人體臨床試驗和藥物開發的項目
最後就是常聽到但又覺得距離遙遠的AI應用,這部份就很硬,尤其是對我們從生物背景跨出去的人來說,要想得到這種工作機會,那首先就要了解AI的基本原理跟背景,類神經網絡、監督式學習等演算法,這部份我建議可以找一種python的AI套件開始學
但得說大部份工作機會都是人醫領域,因為我是農學院背景,所以希望可以將生資應用在農業上,有幸找到一家農業相關的公司,或許之後會愈來多吧(不好說)
覺得抽象的話可以看我面試的三家生資工作經驗
2020生資面試經驗筆記(益農、沐恩、安肽)我的生資歷程
最後這部份最無聊,但還是分享給大家看看給對生資有興趣但還不太知道怎麼往下走的人
碩班時實驗室是研究動物蛋白質體,碩一陰錯陽差修到生醫所林宜玫老師開的生物醫學資源,明明是想修基因體學,真是神奇的眼殘,但老師教了很多線上的生資資源,所以開始對生物資訊感興趣,接著實驗室學姊建議可以學R,於是就用R將自己的實驗數據做統計分析,這時候我也學生物統計觀念
當時發現我們實驗室幾乎都會用到GO跟KEGG這兩種資料庫分析,簡單說就是比對我們找出的差異表現蛋白質有哪些基因功能和參與的生物路徑,以前都是搜尋每個蛋白質的功能後再逐一整理成表格和繪製圖表,非常耗時,所以我就用R做一個使用者介面,把差異表現蛋白質的清單輸入,然後就自動整理出表格跟圖表,
這讓我很有熱情地去學R的各種語法,另外一提,這也幫助我後來的求職過程有可以展示的作品,證明自己真的會程式設計,這超級重要,建議不管是不是跟自己的論文有關,畢業前都要寫一個可以分析的一個腳本或程式作為你的side project
碩二的時候想說python也是生資很熱門的語言,所以學了它的基本語法,還有生資是依據演算法分析的,所以也去學一些統計的演算法,
NGS的理論我有去了解也修過一門課玩過nanopore,不過因為我的研究主題是蛋白質體所以大多心力都在學質譜技術,後來就沒碰序列組裝了
要畢業的時候系上來了學生資的老師,跟他聊天後他說生資一定需要Linux,所以再去碰這塊 所以Linux我是到畢業後才真正開始學,使用它的其中一個發行版Ubuntu,在一台電腦灌雙系統(win10和Ubuntu),然後熟悉指令操作,還有建議要會linux內建的程式語言bash,因為資料分析的pipline都是由許多行指令組成,其中還需要先將資料做預處理,直接在linux下處理會是最有效率的,這也是到工作後才開始學哈
一路上大多都是在摸索哈,想到甚麼學甚麼,學R的時候覺得需要有統計觀念所以去找書,到碩二又覺得多學一種語言比較有競爭力,又覺得單純會用軟體但不了解背後演算法不行,所以又去學點演算法