從事生物信息學科研,需要學習哪些cs知識,語言和技能? 系統生物學是什麼,和生信什麼關係?


1、Linux的使用,注意是使用。就和Windows一樣,你知道怎麼操作它就行,主要學習常用命令、vim編輯器(如果習慣使用其它的IDE也可以,不過本人用慣了vim)以及簡單的shell腳本編寫即可。至於內核等等高深的知識。。。如果不是想轉CS,其實不用了解太多,以後一旦用到了再了解也來得及,畢竟我們是搞生物的不是233

2、一門腳本語言,推薦perl/python,我個人是學的Perl,如果題主這兩種都沒接觸過,那麼推薦直接學python,畢竟以後想徹底轉CS的話,python要比perl好一些(不過我是堅定的Perl黨!)。

3、英文閱讀能力,題主說的是想進行科研,並且是生物轉,相信英文水平應該不差,在生信領域,英文閱讀能力主要體現在三個方面:文獻閱讀、生信軟體說明書閱讀以及資料庫使用說明閱讀。很多生信軟體都是只有英文PDF介紹的,如果英文不是太好的話,在這一塊會比較艱難,當然直接從事演算法及軟體開發的生信人員可以跳過這一條。

========================這裡是無所事事的分割線============================

以上三點應該是基本中的基本了,哦,還要加上必要的生物知識(笑)。

不過就生物信息本身來說,還有很多子領域,比方說生信軟體的開發、資料庫的搭建或者是基因組、轉錄組方面的分析等等。每個子領域都有其需要學習的內容。

比如生信軟體的開發,就需要掌握數據結構、演算法以及C或JAVA這樣的面向對象的語言。

比如資料庫方面的研究,需要一些資料庫的基本知識,甚至需要對數據挖掘、數據分析有一定的了解。

比如基因組、轉錄組等偏分析方面的研究,就要有紮實的生物基礎以及對各種生信軟體有足夠的了解(對於常用軟體,要細緻到每一個參數代表什麼,改變這個參數會對結果造成什麼影響這種程度。)

等等等等。。。

總之,生信是一個非常非常非常大的坑!希望題主跳坑愉快,說不定我們以後就在坑底遇見了2333.


首先肯定要會shell,也就是之前說的Linux/Unix系統們。有時候對於文件的操作直接用shell會很方便。

學一門腳本語言,如果僅僅是從生物信息方面的分析,perl暫時會好一些,因為BioPerl比BioPython要全面(perl比python老,bioperl也比biopython老);如果從長遠來看,Python語法非常友好,我覺得會英語的人就能學會,也是目前Data Science從業者主要使用的語言之一。

基於統計的語言,除了R我想不到別的。我吐槽一下之前有位朋友的回答,拿bioconductor和biopython比是不妥當的:bioconductor主要是用於數據分析,biopytthon主要是數據處理。

以上都是技術層面。

從知識上來講,顯然是需要懂基本的演算法和數據結構,以及一些machine learning。至少問你Blast是什麼原理,PCA是什麼你需要能回答上來。另外,雖然不是CS知識,統計也是必須的。

掌握這些,你應該就能做事情了。至於其他的,就看實際情況,畢竟生物信息分支很多。


推薦看下coursera的《生物信息學方法與導論》,北大魏麗萍老師講的,不錯。鏈接在這裡:https://www.coursera.org/learn/bioinformatics-pku/home/welcome


研究生一枚~一些淺見,歡迎交流討論~

生物信息涉及到的計算機知識廣而不深。

題主有生物學背景,建議自己再系統學習一下數學尤其是統計學知識和計算機知識。

生物數據是生物信息的起點。
由此,我覺得可以將生物信息簡單分為數據存儲,數據處理和數據分析。(當然目前的形勢是純生物信息工作不多,多數工作是生物學實驗+生物信息學分析。)

數據存儲,如資料庫平台構建。mysql, web編程等都是需要學習的。很重要的一點是:數據格式的規範化與數據的可靠性。

數據處理,如生物信息學演算法及軟體開發。側重於演算法開發,一般perl, python, c之類熟練使用一個即可。還需要能夠熟練使用linux平台的使用~

數據分析,如差異表達分析,生物學標記識別,進化分析等。通常是利用已有的生物信息軟體或自己編程分析。通常需要掌握linux,統計軟體(推薦R. 雖然matlab, spss也行)(分析容易做,但是要做的有深度不容易)

額外說一點,數據可視化非常重要!如UCSC可視化及R繪圖

綜上,推薦學習以下內容:
1. linux系統及shell
2. 一種數據處理語言(推薦python,我用的perl)
3. 統計繪圖(推薦RStudio)
4. 生物信息學軟體(根據需要)
5. 資料庫構建相關技術(根據需要)

數學、計算機科學只是工具,生物學問題才是核心。


謝邀,可以在網上搜索一些資料,我這裡有一些資料,你們可以拿去看看。

Tools essential for
genomics

Linux

See the book below
for introduction to Linux.

http://linux-training.be/linuxfun.pdf

You can download
Cygwin to learn Linux on Window system.

Cygwin

Python

See the books below
for introduction to Python.

http://www.diveintopython3.net/

http://www.greenteapress.com/thinkpython/thinkpython.pdf

You can follow the
tutorial below to practice.

https://www.codecademy.com/learn/python

R

See the books below
for introduction to R.

https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf

Download RStudio to
practice!

Home


個人認為:

1. 需要掌握一種腳本語言,例如:shell,perl,python;

2. Linux系統的常用命令必須掌握;

3. 掌握業務流程,清楚每個業務環節的作用,這個需要一點專業知識;

4. 如果想進一步發展,那麼請學好統計學和R語言;

以上是個人的一點見解,希望對你有幫助。


本人也是剛從生物跳到生信的領域,簡單說下自己的學習過程。

最開始的計算機學習一般是跟工作的需要來的,公司用哪種編程(perl,python等),我就先學哪個,畢竟實際操作是學習最快的方式。

然後R語言作為統計分析以及繪圖工作是不二的選擇,沖的就是開源。。。學習和交流方便,上手也快。

考慮到自己是從生物轉過來,除了要補充編程知識外,還有統計學數學自己演算法也是頭等大事,不然最後只會用用包用用軟體,太過於死板了。

學習要一步一步來,先學跟自己所在公司相關的知識再擴充到其他領域,因為生信範圍有點廣。。。

最後推薦幾本我看過比較好上手的書:

概念類:

生物信息學,生物統計學,探索基因組學、蛋白組學和生物信息學。

編程類:

perl語言入門,perl語言編程;

學習R,R語言實戰,R數據可視化手冊,R語言與biocondutor等。

以上都是中文的,當入門即可,繼續深入學習還得看各個英文手冊文檔,那才是乾貨!

總而言之,歡迎進入生信大坑,入坑容易,爬坑要任重而道遠。哈!


第一次回答= =!不知道為啥會被邀請。本人的情況恰巧是和題主相反,剛剛從計算機轉行到生物信息領域。去開了一次會,他們講的原理根本聽不懂,還暫時處在剛剛入門的半吊子階段。。。。

—————————————————————————————————————————————

不過,目前處理和分析數據所使用的工具和方法和之前做數據挖掘數據分析所使用的大同小異。

1.就算你什麼都不會也要先學會R語言,簡直是處理統計學方面的問題的神器。語法簡單靈活、功能強大、還可以做出很專業的圖表;

2.但R語言最大的問題就是運行效率太低,處理大數據的時候會運行很慢。所以推薦學一下python,尤其是在需要使用機器學習的模型和演算法的時候(不過個人感覺搞生信的人不太喜歡機器學習那一套= =~),掌握numpy,pandas等幾個模塊就差不多可以上手了;

3.要熟練的使用linux操作系統,掌握命令行。雖然現在很多工具都有windows版本,但畢竟有的時候數據量太大,筆記本跑太慢甚至放不下。這是也許你會有並行計算或者分散式計算的需求,把程序部署到超算或者集群上總要用到linux的命令行的。

其他的數學模型方面的,資料庫方面的,體系結構方面的知識和方法,在入門的時候還用不太上,需要的時候現學現賣或者直接找個程序員幫忙或者直接找我這樣的從cs轉行到生信的都是可以的。。。


1、shell:sed、awk有些時候可以替代python或者perl,用起來很快。

2、perl/python:一門精另外個了解,很多腳本大家都用perl,看代碼你總得看得懂是什麼意思,方便自己調試。而且寫workflow總得他們一個嘛,python推薦snakemake,非常不錯哈~

3、R,必學嘛。

尤其重要的是:

關注生物學現象!

千萬別走偏了

#造輪子的不適用


我底子差,但我自己的理解是語言基礎只需要學python和r就行了,python基本可以代替shell,linux只要知道幾個命令就好了(操作伺服器時有點用),而r因為在生物學中不可撼動的地位,所以必須學,用r包可以避免重複造輪子,python中的各種框架基本可以滿足你各個方向的課題。根據相關課題學些軟體也很重要,還有常用課題相關的資料庫使用


先學LINUX,熟悉LINUX,對編程以及計算機就有充分理解,建議學Python,語法簡單,有必要掌握一門語言,學R,個人認為R的數據分析和作圖強於Python的pandas.mathplolib.seabern等,bioconductor裡面的包也遠比biopython豐富,幾乎啥都有


謝邀。然而我沒學過生物信息,抱歉不能回答題主的問題。我目前也有意從生物坑中轉出,簡單了解過生物信息,可以轉到這個方向,具體怎麼學還不了解,等題主對此領域有一定了解,我們可以交流一下。


謝邀。

我目前在華小之一。

主要是幾個方面:

1、linux常見命令,主要是對文件和文件夾的操作,如vim,sort,grep,cut

2、數據處理,主要是python,sed,awk

3、遺傳學和基因學學的基礎

4、閱讀文獻的能力


不要用windows

要麼mac 要麼linux

語言就Python R 和perl,我是更喜歡前倆。


本人現在有些java和數據結構的基礎,很迷惘

需要學些大數據的知識嗎

hadoop是指什麼呢


推薦閱讀:

學習生物信息學需要數學和計算機達到什麼程度?
自學生物信息學是種怎樣的體驗?
GWAS研究中樣本數量和結果真實有效性之間的關係是怎樣的?
作為一名對生命科學的興趣被逐漸耗盡的生物學學生,前路該何去何從?
生物信息學就業前景和生物信息學研究工作者的就業方向?

TAG:軟體工程 | 生物信息學 |