biostar handbook(四)|生物數(shù)據(jù)及其下載和基本操作

2017/11/9 第一版: 生物數(shù)據(jù)庫,基本數(shù)據(jù)類型(genbank, fasta/fastq),數(shù)據(jù)上傳站點(diǎn)
2017/11/12 第二版:如何利用esearch, efecth快速獲取SRR序列號(hào)

生物數(shù)據(jù)庫

目前絕大部分?jǐn)?shù)據(jù)由NCBI, EMBL-EBI, DDBJ三大機(jī)構(gòu)托管,可劃分為五類:

(表格數(shù)據(jù)來源于INSDC

Data type DDBJ EMBL-EBI NCBI
Next generation reads Sequence Read Archive European NucleotideArchive (ENA) Sequence Read Archive
Capillary reads Trace Archive 同上 Trace Archive
Annotated sequences DDBJ 同上 GenBank
Samples BioSample 同上 BioSample
Studies BioProject 同上 BioProject

大部分所需要的數(shù)據(jù)可在如下站點(diǎn)進(jìn)行搜索

  • GenBank: 存放所有注釋和已被發(fā)現(xiàn)的DNA序列信息
  • SRA: 存放高通量測(cè)序產(chǎn)生的短讀數(shù)據(jù)
  • PDB: 蛋白3D結(jié)構(gòu)數(shù)據(jù)庫
  • uniprot: 最權(quán)威的蛋白序列數(shù)據(jù)庫
  • UCSC Genome Browser:脊椎動(dòng)物相關(guān)數(shù)據(jù)庫
  • FlyBase: 果蠅相關(guān)數(shù)據(jù)庫
  • WornBase: 蠕蟲相關(guān)數(shù)據(jù)庫
  • SGD: 酵母相關(guān)數(shù)據(jù)庫
  • RNA-Central: RNA相關(guān)資源匯總數(shù)據(jù)庫
  • TAIR: 擬南芥相關(guān)數(shù)據(jù)庫
  • EcoCyc: 大腸桿菌數(shù)據(jù)庫
  • 待補(bǔ)充

常見數(shù)據(jù)格式

GenBank格式

目前測(cè)序數(shù)據(jù)最常儲(chǔ)存的格式為GenBank, FASTA和 FASTQ。前兩者經(jīng)常表示策劃的序列信息(curated sequence information)。FASTQ格式表示的是從測(cè)序儀器中獲得的實(shí)驗(yàn)數(shù)據(jù)。

GenBank是最古老的生物信息數(shù)據(jù),最早是用來搭建人類可讀和機(jī)器高效利用之間的橋梁,格式稱為固定寬度格式,前10個(gè)字符為標(biāo)識(shí),后面則是相應(yīng)信息:

LOCUS       AF086833               18959 bp    cRNA    linear   VRL 13-FEB-2012
DEFINITION  Ebola virus - Mayinga, Zaire, 1976, complete genome.
ACCESSION   AF086833
VERSION     AF086833.2  GI:10141003
KEYWORDS    .
SOURCE      Ebola virus - Mayinga, Zaire, 1976 (EBOV-May)
  ORGANISM  Ebola virus - Mayinga, Zaire, 1976
            Viruses; ssRNA viruses; ssRNA negative-strand viruses;
            Mononegavirales; Filoviridae; Ebolavirus.
REFERENCE   1  (bases 1 to 18959)
  AUTHORS   Bukreyev,A.A., Volchkov,V.E., Blinov,V.M. and Netesov,S.V.
  TITLE     The VP35 and VP40 proteins of filoviruses. Homology between Marburg
            and Ebola viruses
  JOURNAL   FEBS Lett. 322 (1), 41-46 (1993)
   PUBMED   8482365
REFERENCE   2  (bases 1 to 18959)
  AUTHORS   Volchkov,V.E., Becker,S., Volchkova,V.A., Ternovoj,V.A.,
            Kotov,A.N., Netesov,S.V. and Klenk,H.D.
  TITLE     GP mRNA of Ebola virus is edited by the Ebola virus polymerase and
            by T7 and vaccinia virus polymerases

GenBank格式的優(yōu)勢(shì)在于可讀,但是對(duì)于數(shù)據(jù)分析而言不太合適,ReadSeq 可以將將GenBank格式轉(zhuǎn)換為比較簡單的版本。
RefSeq,The NCBI Reference Sequence,項(xiàng)目提供了大多數(shù)生物的序列記錄和相應(yīng)的信息,為醫(yī)學(xué),功能和比較分析提供了基準(zhǔn)線。

refseq

FASTA格式

定義:第一行為>開頭,表示為fasta記錄開始,隨后緊跟序列
問題: 缺乏定義,過于簡單
注意:

  1. 序列行不應(yīng)太長,
  2. 不同工具對(duì)序列行中的超出字符集(核酸ATCG或蛋白質(zhì)20種)處理不同
  3. 序列行如果有多行,除最后一行,前幾行應(yīng)該是等寬的
  4. 使用大寫字母。不同工具會(huì)有大小寫敏感。如有些工具會(huì)認(rèn)為小寫字母是非重復(fù),大寫字母象征著重復(fù)區(qū)域。
  5. 不同機(jī)構(gòu)對(duì)>后面的結(jié)構(gòu)有各自的定義
fasta format

小寫字母可能表示重復(fù)區(qū),但是目前還是很難判斷哪些是重復(fù)區(qū)。
lastz默認(rèn)過濾小寫字母(重復(fù)區(qū))

FASTQ格式

FASTQ可以算是FASTA的增加堿基質(zhì)量版本,很久之前是單行表示所有數(shù)據(jù),目前是通過4行進(jìn)行表示,形如:

@SEQ_ID
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
+
!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65

其中第四行是描述堿基質(zhì)量,通常可以按照如下這樣認(rèn)為

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI
|    |    |    |    |    |    |    |    | 
0....5...10...15...20...25...30...35...40
|    |    |    |    |    |    |    |    |
worst................................best

:

  1. 目前有許多中FASTQ質(zhì)量編碼版本:有+33, +64兩類。以!為0的是,+33,以@開頭的是+64
  2. FASTQ開頭的定義也有多個(gè)版本見維基百科

FATA/Q 格式操作

為了更好的熟悉FASTA/Q,最好的的方法就是用SeqKit對(duì)他們進(jìn)行一波處理,一探究竟。

# 安裝軟件
conda install seqkit # for linux
brew install seqkit # for mac
# 下載數(shù)據(jù)
wget http://data.biostarhandbook.com/reads/duplicated-reads.fq.gz
wget ftp://ftp.ncbi.nih.gov/refseq/release/viral/viral.1.1.genomic.fna.gz
wget ftp://ftp.ncbi.nih.gov/refseq/release/viral/viral.1.protein.faa.gz

我們用seqkit解決如下問題:

  • 了解概況
$ seqkit stat *.gz
file                      format  type     num_seqs      sum_len  min_len  avg_len    max_len
duplicated-reads.fq.gz    FASTQ   DNA        15,000    1,515,000      101      101        101
viral.1.1.genomic.fna.gz  FASTA   DNA         8,557  212,624,336      200   24,848  2,473,870
viral.1.protein.faa.gz    FASTA   Protein   253,637   64,758,934        5    255.3      8,960
  • GC含量
seqkit fx2tab --name --only-id --gc viral.1.*fna.gz | head -n 1
NC_021865.1                     40.94
  • 獲取子集, 抽樣
# 隨機(jī)獲取id
seqkit sample --proportion 0.001 duplicated-reads.fq.gz | seqkit seq --only-id --name > id.txt
# 根據(jù)ID獲取序列
seqkit grep --pattern-file id.txt duplicated-reads.fq.gz > duplicated-reads.subset.fq

官方列舉出更多的用法,這里不一一贅述, 詳見http://bioinf.shenwei.me/seqkit/

自動(dòng)化數(shù)據(jù)下載

這里的自動(dòng)化意味著不經(jīng)由瀏覽器查找數(shù)據(jù),而是利用命令行根據(jù)物種名或者項(xiàng)目號(hào)解析下載鏈接并獲取相關(guān)數(shù)據(jù)的過程。

數(shù)據(jù)下載

所謂“巧婦難為無米之炊”,在數(shù)據(jù)分析之前得要保證要有數(shù)據(jù)。 絕大部分的數(shù)據(jù),如參考基因組,高通量測(cè)序結(jié)果可以在如下網(wǎng)站獲取

下載SRA數(shù)據(jù)

當(dāng)然目前最常接觸的數(shù)據(jù)是二代測(cè)序數(shù)據(jù)。隨著測(cè)序價(jià)格下降,大家動(dòng)不動(dòng)就來一波高通量測(cè)序,然后為了可重復(fù)就需要把數(shù)據(jù)上傳到專門的服務(wù)器。NCBI為了管理這些數(shù)據(jù),就專門搞了Short Read Archive,還專門搞出了一個(gè)SRA格式用于壓縮數(shù)據(jù),當(dāng)然這個(gè)SRA格式被吐槽的很慘。這個(gè)項(xiàng)目本身的組織方式還是非常棒的

  • NCBI BioProject: 以PRJN開頭,例如PRJNA257197,通常是一個(gè)研究項(xiàng)目的介紹
  • NCBI BioSample: 以SAMN/SRS開頭, 通常是介紹材料的來源
  • SRA Experiment: 以SRX開頭, 一個(gè)特定樣本的單獨(dú)的測(cè)序文庫
  • SRA Run: 以SRR/ERR開頭,只有這個(gè)才真正存放數(shù)據(jù),只有之中序列號(hào)才能用于下載。

給定一個(gè)ID, 就可以在https://www.ncbi.nlm.nih.gov/srahttps://www.ebi.ac.uk/ena進(jìn)行檢索,然后用SRAtoolkit或者是curl進(jìn)行下載。

SRAtoolkit下載的數(shù)據(jù)來自于NCBI,需要進(jìn)一步用fastq-dump解壓縮。如果不想解壓縮的話,就去EBI里進(jìn)行檢索,這里面的數(shù)據(jù)僅僅經(jīng)過gzip壓縮,下載后直接可以分析。

舉個(gè)例子,比如說我拿到了一個(gè)項(xiàng)目號(hào)SRP113349, 我先去NCBI的SRA中進(jìn)行檢索,得到如下子結(jié)果。

SRA檢索結(jié)果

為了獲得SRR序列號(hào),我根據(jù)需求選擇了第一個(gè),并且找到了目標(biāo)序列號(hào)SRR5860104

其中一個(gè)項(xiàng)目介紹

可以直接用sratoolkit的prefetch進(jìn)行下載。

數(shù)據(jù)下載

既然我們只需要得到SRR開頭的序列號(hào),其實(shí)完全沒有必要去打開網(wǎng)頁一個(gè)個(gè)翻查,一點(diǎn)都不geek.

使用Entrez檢索NCBI

目前NCBI提供了數(shù)據(jù)存儲(chǔ),分類以及幾乎所有生命科學(xué)相關(guān)的信息。為了便于管理這些數(shù)據(jù),NCBI使用了Entrez作為其主要的文本檢索和提取工具,用于搞定文獻(xiàn),DNA,蛋白,基因組,基因變異等信息檢索。NCBI為了方便用戶使用,開放了專門的API,并且為這個(gè)API還做了一個(gè)命令行工具,叫做Entrez Direct,安裝方法如下

#通用方法
cd ~
/bin/bash
perl -MNet::FTP -e \
  '$ftp = new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive => 1);
   $ftp->login; $ftp->binary;
   $ftp->get("/entrez/entrezdirect/edirect.tar.gz");'
gunzip -c edirect.tar.gz | tar xf -
rm edirect.tar.gzbuiltin exit export PATH=$PATH:$HOME/edirect >& /dev/null || setenv PATH "${PATH}:$HOME/edirect"
./edirect/setup.sh 
echo "export PATH=\$PATH:\$HOME/edirect" >> $HOME/.bash_profile
# Mac OS
brew install edirect
# conda
conda install entrez-direct

一共提供了8個(gè)命令

  • esearch : 給定詞條(term)對(duì)某一個(gè)數(shù)據(jù)庫進(jìn)行檢索
  • elink: 在esarch的前提下,找到其他相關(guān)數(shù)據(jù)
  • efilter: 對(duì)之前的結(jié)果進(jìn)行過濾
  • efetch : 按照給定的格式下載數(shù)據(jù)
  • xtract : 將XML轉(zhuǎn)變成表格格式
  • einfo : 獲取
  • epost: 上傳數(shù)據(jù)
  • nquire: 向網(wǎng)頁或CGI服務(wù)器發(fā)送URL請(qǐng)求

具體的使用方法見 Entrez Direct: E-utilities on the UNIX Command Line, 提供了詳細(xì)的實(shí)例。這里介紹如何使用esearch根據(jù)文章上傳的項(xiàng)目獲取下載所需的SRR號(hào)。

esearch -db sra -query SRP113349
# 結(jié)果顯示有8個(gè)結(jié)果, 可以通過efetch獲取這個(gè)8個(gè)結(jié)果,保存為CSV
esearch -db sra -query SRP113349 | efetch -format runinfo > info.csv
# CSV 的第一列就是SRR
cat info.csv | cut -d ',' -f 1 | head -n 5
# 結(jié)合xargs直接完成所有數(shù)據(jù)下載
cat info.csv | cut -d ',' -f 1 | xargs -i prefetch {}

從此又降低打開網(wǎng)頁的必要性,不需要點(diǎn)擊那么多下,直接搞定所有項(xiàng)目數(shù)據(jù)下載。

數(shù)據(jù)上傳

目前還未涉及到上傳數(shù)據(jù),僅僅列出不同數(shù)據(jù)上傳對(duì)應(yīng)的網(wǎng)站:

  • Sequence Read Archive (SRA)
  • Gene Expression Omnibus (GEO)
  • Database of Short Genetic Variations (dbSNP)
  • Database of Genomic Structural Variations (dbVar)
  • Database of Expressed Sequence Tags (dbEST)
  • Transcriptome Shotgun Assembly Sequence Database (TSA)
  • Whole Genome Shotgun Submissions (WGS)
  • Metagenomes
  • GenBank
  • Genomes

簡而言之:高通量測(cè)序結(jié)果上傳SRA,功能基因組學(xué)數(shù)據(jù)如RNA-SEQ,CHIP-SEQ上傳GEO,變異特異性數(shù)據(jù)上傳dbSNP,轉(zhuǎn)錄本組裝結(jié)果為TSA,其他可以傳到GenBank等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容