Ensembl API(二):安裝 API

假如不害怕英文的話,這邊有很詳細的官方安裝簡介還有影片

screenshot.png

Ensembl資料主要是用MySQL所搭建的關聯資料庫,而Ensembl API則是寫好的各種Perl package來讀取裡頭儲存之資料,在上一篇有介紹過,Ensembl資料庫有三大主要資料庫:Core、Compara和Variation,每個資料庫都有不同的API需要安裝,當然,Ensembl團隊有準備好可以直接全部API安裝的方式,這邊的API不只是單純可以用來Query Ensembl資料庫,也可以用來搭建自己資料庫使用Ensembl的Schema來管理和運作,這部分又更進階了些。

 

舉例如何安裝Ensembl API

  • 下載他們的壓縮檔

           mkdir src
           cd src
           wget  ftp://ftp.ensembl.org/pub/ensembl-api.tar.gz
           wget  http://bioperl.org/DIST/BioPerl-1.6.1.tar.gz

  • 解壓縮

            tar zvxf ftp://ftp.ensembl.org/pub/ensembl-api.tar.gz 
            tar zvxf  http://bioperl.org/DIST/BioPerl-1.6.1.tar.gz

  • 重設環境變數
    PERL5LIB=${PERL5LIB}:${HOME}/src/bioperl-1.6.1
    PERL5LIB=${PERL5LIB}:${HOME}/src/ensembl/modules
    PERL5LIB=${PERL5LIB}:${HOME}/src/ensembl-compara/modules
    PERL5LIB=${PERL5LIB}:${HOME}/src/ensembl-variation/modules
    PERL5LIB=${PERL5LIB}:${HOME}/src/ensembl-funcgen/modules
    export PERL5LIB
    

另外一種安裝方式,可以使用git來安裝,這種方式比較scalable,是可以來練習一下!

Ensembl API(一):簡介

Ensembl是一個由European Bioinformatics Institute和Wellcome Trust Sanger Institute 的科學家所推動的計畫,從1999年便開始參與人類基因體計畫的執行,其致力於統整基因註釋和定序資料的整合,讓其他科學家可以輕易地使用網路來獲取需要的資料,這計畫下面主要分成8個小組(Genebuild小組產生基因定序資料、 Core Softward小組發展核心資料庫的api、 Compara小組負責進行各物種間比較計算、 Variation小組處理基因變異的資料、Regulation小組處理整體工作準則的制定、Web team小組建構網站和網路應用、Production小組打造一些分之的軟體和版本的維持、 Outreach推展ensembl計畫)約莫50人在進行。

為何要學習如何使用Ensembl API

Ensembl資料庫跟NCBI以及UCSC並列目前三大資料庫,相對於NCBI和UCSC的資料庫,Ensembl在處理個版本和註釋的處理比較一致,另外,理解Ensembl API可以讓我們將原本的資料處理workflow更好的整合在一起

Ensembl 資料庫的基本架構

Ensembl的資料庫主要是以MySQL來儲存資料的,所以基本上也可以用MySQL的語法來query裡頭的資料,基本上,在Ensembl的架構下有很多不同種類的資料庫,最主要的為Core database,儲存基因體的序列、基因註釋等等,而每一種物種都有一個獨立的Core Database,除了Core database,還有Variation database裡頭置放SNP、strains等等資料、Compara database則是放由ensembl團隊將各物種core database裡的基因序列比較後的資訊。

Ensembl資料庫幾乎每三個月都會更新一次,而直接使用Ensembl API就可以設定固定版本的database來獲取其資料,且ensembl資料庫裡放的所有資料都由實驗結果整理而成,有一套嚴謹的歸類方式。

Ensembl API主要以Perl所撰寫

Ensembl API是以物件導向的方式來撰寫(object-oriented perl),裡頭的documentation非常仔細,大觀念就是其分為Data object,和Data adaptor兩大類,Data object就是把資料連起來的集合,而Data adaptor就是取的這個方法,之後再仔細介紹其撰寫的細節。