国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

BioJava – 開源的生物信息學基礎庫

2019-11-18 11:48:34
字體:
來源:轉載
供稿:網友

  什么是生物信息學?
  生物信息學,這確實是個很酷的名字。
  從字面上理解,這是一門與生命科學和信息科學這兩個當今熱點領域都相關的學科。
  那到底什么是生物信息學?在這里,我只能很遺憾地告訴大家,對于這樣一門新興的、而且正在不斷發展和變化中的學科,我很難給出一個精確的定義。
  
  廣義地說,生物信息學從事對基因組研究相關生物信息的獲取、加工、儲存、分配、分析和解釋。這一定義包括了兩層含義,一是對海量數據的收集、整理與服務,也就是管好這些數據;另一個是從中發現新的規律,也就是用好這些數據。
  
  具體地說,生物信息學是把基因組 DNA序列信息分析作為源頭,找到基因組序列中代表蛋白質和 RNA基因的編碼區;同時,闡明基因組中大量存在的非編碼區的信息實質,破譯隱藏在 DNA序列中的遺傳語言規律;在此基礎上,歸納、整理與基因組遺傳信息釋放及其調控相關的轉錄譜和蛋白質譜的數據,從而熟悉代謝、發育、分化、進化的規律。
  
  信息技術的發展和應用使得幾乎所有的人受益,研究DNA、RNA和蛋白質的分子生物學家也不例外。很難相信,離開信息技術,分子生物學家可以完成人類基因組的測序(事實上,大規模測序中所使用的鳥槍法確實依靠于計算技術),假如沒有信息技術和計算分子生物學的理論支持,研究SARS的病毒學家也不可能在短時間內判定SARS病毒的種類歸屬(除非他們火眼精精能夠從數以百萬計的AGCT這幾個符號的雜亂無章的排列中找出規律)。
  
  生物信息學的本質即使用各種信息技術來支持生命科學的研究與開發。
  
  Biojava簡介
  生物信息學在理論和工程上面臨許多挑戰。而要開發出復雜的生物序列分析系統,需要一些基礎庫的支持,BioJava就是這樣的一套基礎庫。
  BioJava是使用Java語言開發的、用于分析和表示生物序列(如DNA、RNA和蛋白質)的基礎庫。BioJava提供了生物序列處理功能(如轉錄與翻譯)、文件格式轉換功能和一些簡單的科學計算(如隱馬爾科夫模型)。
  
  讀者可以從http://www.biojava.org 獲得更多的BioJava的介紹。另外,感謝北京大學生物信息學中心的吳欣(音譯),他將BioJava的入門文檔翻譯成了中文。
  
  轉錄—一個簡單的例子
  絕大多數生物都使用DNA來表達遺傳信息(諸如SARS病毒和艾茲病毒使用RNA表示遺傳信息)。但直接指導合成蛋白質的確是信使RNA。在分子生物學上,復制過程中從DNA到RNA的過程被稱作轉錄(類似的,從RNA到DNA的過程叫做逆轉錄,逆轉錄過程通常出現在以SARS病毒和艾茲病毒為代表的RNA病毒復制過程中),如圖1。
  
  下面這段代碼使用BioJava庫來獲得一段DNA序列所對應的RNA序列。
  
  import org.biojava.bio.symbol.*;
  import org.biojava.bio.seq.*;
  
  public class TranscribeDNAtoRNA {
  
  public static void main(String[] args) {
  try {
  //make a DNA SymbolList
  SymbolList symL = DNATools.createDNA("atgccgaatcgtaa");
  
  //transcribe it to RNA
  symL = RNATools.transcribe(symL);
  
  //just to PRove it worked
  System.out.println(symL.seqString());
  }
  catch (IllegalSymbolException ex) {
  //this will happen if you try and make the DNA seq using non  IUB symbols
  ex.printStackTrace();
  }
  catch (IllegalAlphabetException ex) {
  //this will happen if you try and transcribe a non DNA SymbolList
  ex.printStackTrace();
  }
  }
  }
  
  上面代碼中,我們首先創建了一個DNA序列對象,該序列的內容為atgccgaatcgtaa。然后調用RNATools.transcribe()方法獲得轉錄后的RNA序列。由于轉錄過程中DNA序列與RNA序列是一一對應的,且兩個字符集中的符號映射關系也是確定的,所以這個方法的實現其實十分簡單。當然,BioJava中也提供了諸如HMMER的更復雜的功能,有愛好的讀者可以參考BioJava網站。
  
  相關閱讀材料
  假如你是一名軟件工程師并且對生物信息學有愛好的話,你可能需要了解更多的分子遺傳學方面的知識。科學出版社的《基因組》是一個不錯的選擇,影印版的《分子生物學精要》也相當不錯,前提是你要做好背專業詞匯的預備。全美經典的《分子生物學和細胞生物學》則是不錯的參考書。
  
  假如你有生命科學領域的背景,你或許需要把握更多的計算機科學方面的技能?!渡镄畔W中的計算機技術》是很好的入門材料。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德安县| 玛曲县| 闸北区| 汤阴县| 高邮市| 五大连池市| 蓝田县| 四平市| 陇川县| 长宁区| 巫溪县| 靖宇县| 龙门县| 勐海县| 沭阳县| 遂川县| 岑巩县| 虹口区| 明星| 什邡市| 高陵县| 宁阳县| 甘南县| 堆龙德庆县| 崇阳县| 西乡县| 多伦县| 湖北省| 册亨县| 民丰县| 梅河口市| 汉川市| 沁阳市| 湖北省| 洛扎县| 余江县| 海口市| 甘德县| 濉溪县| 大石桥市| 隆昌县|