• BioJava – 开源的生物信息学基础库

    BioJava – 开源的生物信息学基础库

    Alex Dou

    autoasm@yahoo.com

    什么是生物信息学?

    生物信息学,这确实是个很酷的名字。

    从字面上理解,这是一门与生命科学和信息科学这两个当今热点领域都相关的学科。

    那到底什么是生物信息学?在这里,我只能很遗憾地告诉大家,对于这样一门新兴的、而且正在不断发展和变化中的学科,我很难给出一个精确的定义。

    广义地说,生物信息学从事对基因组研究相关生物信息的获取、加工、储存、分配、分析和解释。这一定义包括了两层含义,一是对海量数据的收集、整理与服务,也就是管好这些数据;另一个是从中发现新的规律,也就是用好这些数据。

    具体地说,生物信息学是把基因组 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。

    图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网站。

    相关阅读材料

    如果你是一名软件工程师并且对生物信息学有兴趣的话,你可能需要了解更多的分子遗传学方面的知识。科学出版社的《基因组》是一个不错的选择,影印版的《分子生物学精要》也相当不错,前提是你要做好背专业词汇的准备。全美经典的《分子生物学和细胞生物学》则是不错的参考书。

    如果你有生命科学领域的背景,你或许需要掌握更多的计算机科学方面的技能。《生物信息学中的计算机技术》是很好的入门材料。

    另外,《计算分子生物学导论》是本相当经典的理论书籍,不过该书的读者需要有一定的计算机科学理论知识。

    2006-01-02
  • Re: Bio Perl学习手记 系列

    大家也要努力发好贴阿。。。。

    我们就要申请转正了

    要争取一次性通过阿

    【 在 kingsyl (早晨才上这里) 的大作中提到: 】

    : hao

    : 恩

    : 有些时间了

    : ...................

    2006-01-02
  • Bio Perl功能与用法介绍

    Bioperl 的模块介绍与使用

    前面说过,Bioperl 是一个巨大的工具包,目前已经有超过 1000 个的模块,主要有这些类别:

    Sequences, Features, Annotations

    Pairwise alignment reports

    Multiple Sequence Alignments

    Bibliographic data

    Graphical Rendering of sequence tracks

    Database for features and sequences

    Gene prediction parsers

    Trees, Parsing Phylogenetic and Molecular

    Evolution software output

    Population Genetic data and summary

    statistics

    Taxonomy

    Protein Structure

    涵盖了生物学中很多的研究领域:

    Bioperl Sequences, Features, Locations,

    Annotations

    Sequence searching & pairwise alignments

    Multiple Sequence Alignments

    Bibliographic tools

    Graphics

    Population Genetics

    Phylogenetic Trees and Molecular Evolution

    2006-01-02
  • Bio Perl安装

    Bioperl 的安装

    Windows下:

    如果你安装的Perl是Active State的Active? Perl,那么推荐使用ppm安装。

    C:/perl/>ppm

    ppm>set repository bioperl http://bioperl.org/DIST/

    ppm>search bioperl

    ppm>install bioperl

    使用 ppm 安装的时候有一点需要注意,Bioperl 的 repository 不会提供 GD.pm 的下载,因而出现模块依赖条件不满足的状态,因此需要从其他的 repository 中获得GD。比如:

    ppm>rep add Kobes http://theoryx5.uwinnipeg.ca/ppms/

    ppm>search GD.pm

    ppm>install GD

    或者直接:

    ppm>install http://www.bribes.org/perl/ppm/GD.ppd

    装好的 bioperl 模块应该在你的 perl 目录中的site/lib/Bio/子目录下。

    UNIX/Linux下:

    可以使用CPAN模块下的Bundle::Bio Perl安装:?

    >perl -MCPAN -e "install Bundle::BioPerl"

    很多 linux 的发行版已经有对应的安装包可以直接安装,如我使用的 debian 目前就提供 Bioperl 1.4 的deb包可以直接安装(1.4 版是目前的稳定版本,最新的 1.5 则是 developers version),使用apt-get install 一行命令直接搞定,无比方便。linux 下装好的 Bioperl 模块一般在如下地址: /usr/local/share/perl5.X.X/lib/Bio/

    此外,如果你想使用最最新的开发版本,也就是 Bioperl 开发者们目前使用并不断在更新的版本,你可以使用open-bio.org 的匿名 CVS 服务器。

    在连结到 internet 的情况下,使用如下命令:

    cvs -d :pserver:cvs@cvs.open-bio.org:/home/repository/bioperl login

    输入密码: cvs

    然后 check out 你想要的:

    cvs -d :pserver:cvs@cvs.open-bio.org:/home/repository/bioperl checkout bioperl-live

    以上一行代码将会下载 bioperl core 的代码,如果你想要其他的代码包,比如 bioperl-ext,则用 bioperl-ext 替换上面的 bioperl-live即可。

    在安装过程中遇到的任何问题请先参照如下文档:

    http://bioperl.org/Core/Latest/INSTALL

    http://bioperl.org/Core/Latest/INSTALL.WIN

    Linux下使用 CPAN 模块安装的时候可能也会有一些模块无法安装的问题,出现模块依赖条件无法满足的情况,或者是测试无法通过,这时可以使用 -f 模式强制安装,除了很少的一些功能不能使用之外,大多数模块是可以正常使用的。

    2006-01-02
  • Bio Perl简介

    什么是 Bioperl ?

    Bioperl 是一组 Perl 模块,它主要目的在于利用 Perl 解决生物学研究中的一些问题,主要是生物信息学中的各种实际问题,如获取分子生物学数据,分析序列文件,序列间比对,大批量 BLAST ,数据挖掘,等等。

    它主要的用途不在于直接提供可以使用的程序,而是提供大量可扩展的模块,使得生物学家可以利用它们很方便的写出满足自己需要的 Perl 脚本,以完成多种多样的任务。

    谁需要使用 Bioperl ?

    Bioperl为生物信息学(bioinformatics)而设计,服务于研究生物学问题的生物学家或计算机专家。

    2006-01-02
  • Bio Perl学习手记 系列

    有些时间了

    我就先从我们常用的一些语言和工具开始

    写一些 转载一些有用的帖子

    赫赫

    先从语言开始哦

    只介绍和生物信息相关的内容哦

    基础性的东西 水母都有相应的版面

    赫赫

    更多的东西我就直接扔进精华区了

    不在版面上贴了

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    那就攒了

    赫赫

    【 在 cloudd (流氓理想主义者) 的大作中提到: 】

    : 难说,说不定就让别人想到新的改进了呢.

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    那作了有什么意义。。。。

    从序列去做结构预测

    我感觉但凡能想到的方法

    都被人做过了

    【 在 pygm (Under Quarentine) 的大作中提到: 】

    : secondary structure prediction?

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    using learning process to predict the structure

    可以这样理解

    【 在 chevalier (burn myself to warm her) 的大作中提到: 】

    : 就是哪些序列片段是某种特定的结构类型 比如什么beta-turn..之类

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    我认为从原理上看就是classification

    【 在 fridaydream (fridaydream) 的大作中提到: 】

    : 就是用Profile HMMs做分类?

    : 我只是想拿生物数据来检验改进后模型的效果。

    : 详细点说,主要是在做state learning,就是根据observation sequence推算hidden states.我想找找生物信息学中哪个问题是这个state learning的应用。我看了一些文献好像提到上面说的那本书上,estimating which parts of proteins correspond to certain tyypes of struct

    : ...................

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    我才类似protein sublocalization

    不过用profile HMM实在不novel

    应该有人早就作过了

    【 在 pygm (Under Quarentine) 的大作中提到: 】

    : "which parts of proteins correspond to certain types of structure" ?

    : 这么拗口的说法

    : 这是什么意思啊?structure prediction?

    : ...................

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    分类

    【 在 pygm (Under Quarentine) 的大作中提到: 】

    : "which parts of proteins correspond to certain types of structure" ?

    : 这么拗口的说法

    : 这是什么意思啊?structure prediction?

    : ...................

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    profile HMM

    等等HMM的改进很多种类的

    【 在 fridaydream (fridaydream) 的大作中提到: 】

    : 了解的。正是在做一种改进HMM的算法,simulated数据效果还行,现在是准备在生物序列的数据上做一次。

    2006-01-02
  • 黄禹锡:肯定的是,胚胎干细胞被人调包 令我声誉扫地

    韩国科学家黄禹锡2005年12月31日说,他的确能培育胚胎干细胞,并认为有人改换他的实验成果,故意令他声誉扫地。

    韩国佛教协会会报《法宝报》当天报道说,黄禹锡曾告诉韩国佛教协会会长金宰日(音译),他担心有人破坏他的工作,可能试图窃取他的技术。“我拥有培育胚胎干细胞技术,那毫无疑问。我任何时候都可以复制这一过程。我担心的是,韩国自己的干细胞技术可能被带到国外,”《法宝报》援引黄禹锡的话说。

    黄禹锡还告诉金宰日,他没有篡改实验成果,而是别人蓄意所为。“肯定的是,胚胎干细胞被人调包,所有专家都将了解这一情况。我认为,检察官展开调查大约两天后,就将揭露(干细胞调包真相)。我个人认为,调包行动根据一项详细、长期的计划实施。”

    2006-01-02
  • Re: 请教:关于用HMM模型做蛋白质分析

    你了解HMM么?

    【 在 fridaydream (fridaydream) 的大作中提到: 】

    : 我想请问一下,关于estimating which parts of proteins correspond to certain types of structure是用什么方法来做的。(使用HMM模型)

    : BTW:我不是学生物的,但有引用到一个生物信息学的一个应用(如上所述)。我看的是Durbin,R.,Eddy,S.R.,Krogh,A.,&Mitchison,G.的Biological sequence analysis:probabilistic models of proteins and nucleic acids.(生物序列分析 蛋白质和核酸的概率论模型)一书。不知�

    : 没有生物学的背景所以还请大侠指点一二。谢谢!

    : ...................

    2006-01-02
  • Re: GoPubMed

    这个东西怎么跟

    baidu-google似的。。。

    【 在 zhangchn (zhangchn) 的大作中提到: 】

    : 刚才贴在了dxy

    : http://www.dxy.cn/bbs/post/view?bid=73&id=5259875&sty=1&tpg=1&age=0

    : ABSTRACT

    : ...................

    2006-01-01
  • Re: 2006生信的兄弟们多发文章

    nothing is impossible

    【 在 kingsyl (早晨才上这里) 的大作中提到: 】

    : faint, mission imposible!!!

    2006-01-01
  • Re: 2006生信的兄弟们多发文章

    那好吧

    cns多多

    【 在 kingsyl (早晨才上这里) 的大作中提到: 】

    : 多没有用, 要IF高.

    2006-01-01
  • 2006生信的兄弟们多发文章

    研究突飞猛进

    文章多多

    赫赫

    2006-01-01
  • Re: 网友FoxLee报到

    欢迎欢迎

    【 在 FoxLee (FoxLove) 的大作中提到: 】

    : hi,大家好,我是 FoxLee

    : 我现在在 中国农业大学 学习/工作.

    : 我目前的方向是:

    : ...................

    2005-12-31