獲取序列信息的數(shù)據(jù)庫有很多登刺,首先介紹從NCBI獲取數(shù)據(jù):
想從NCBI上獲取數(shù)據(jù),學會使用Entrez是必不可少的嗡呼!什么是Entrez纸俭?
Entrez 是美國國家生物技術信息中心所提供的在線資源檢索器。該資源將GenBank序列與其原始文獻出處鏈接在一起南窗。 Entrez 是由NCBI主持的一個數(shù)據(jù)庫檢索系統(tǒng)揍很。
Entrez中核酸數(shù)據(jù)庫為:GenBank,EMBL,DDBJ
蛋白質(zhì)數(shù)據(jù)庫為:Swiss-Prot,PIR,PFR,PDB
PubMed
基因組和染色體圖譜資料
NCBI上是如何整合數(shù)據(jù)的呢?
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
LOCUS:這一行里包括基因座的名字,核酸序列長度,分子的類別,拓撲類型,原核生物的基因拓撲類型都是線性的,最后是更新日期万伤。
DEFINITION:對序列的簡短定義窒悔。
ACCESSION:就是在搜索條中輸入的那個數(shù)據(jù)庫編號,也叫做檢索號,每條記錄的檢索號在數(shù)據(jù)庫中是唯一且不變的。即使數(shù)據(jù)提交者改變了數(shù)據(jù)內(nèi)容,Accession 也不會變敌买。
Version:版本號和 Locus,Accession 長得差不多简珠。版本號的格式是“檢索號點上一個數(shù)字”。版本號于 1999 年 2 月由三大數(shù)據(jù)庫采納使用虹钮。主要用于識別數(shù)據(jù)庫中一條單一的特定核苷酸序列北救。在數(shù)據(jù)庫中,如果某條序列發(fā)生了改變,即使是單堿基的改變,它的版本號都將增加,而它的 Accession 也就是檢索號保持不變荐操。比如,版本號由 U12345.1 變?yōu)?U12345.2,而檢索號依然是 U12345。版本號后面還有個 GI 號珍策。
GI號:與前面的版本號系統(tǒng)是平行運行的托启。當一條序列改變后,它將被賦予一個新的 GI 號,同時它的版本號將增加。
Locus 是一個同學的真實姓名,而 Accession 是這個同學的學號攘宙。同一個人在不同的學校里會有不同的學號,而名字只有一個屯耸。基因也是一樣,同一個基因在不同的數(shù)據(jù)庫中會有不同的檢索號,而基因的名字只有一個蹭劈。
如何安裝和使用Entrez疗绣? 參見:Entrez安裝和使用說明
使用示例:
#查看其序列信息(前10行)???????????????????????????????????????????????????????????????????????????????????
efetch -db=nuccore -format=gb -id=AF086833 | head
#導入Genbank format??????????????????????????????????????????????????????????????????????????????????????????????
efetch -db=nuccore -format=gb -id=AF086833 > AF086833.gb
#導入Fasta format????????????????????????????????????????????????????????????????????????????????????????????????????
efetch -db=nuccore -format=fasta -id=AF086833 > AF086833.fa
#查看序列的前三個堿基(區(qū)域可選) ????????????????????????????????????????????????????????????????????????????
efetch -db=nuccore -format=gb -id=AF086833 -seq_start=1 -seq_stop=3
#查看序列的反向互補序列??????????????????????????????????????????????????????????????????????????????????????
efetch -db=nuccore -format=fasta -id=AF086833 -seq_start=1 -seq_stop=5 -strand=1???????????????????????????????????????????????????????????????????????????????????????????????????????????????????
efetch -db=nuccore -format=fasta -id=AF086833 -seq_start=1 -seq_stop=5 -strand=2
如何用Entrez搜索?
#在核酸與蛋白質(zhì)數(shù)據(jù)庫中搜索‘PRJNA257197’ ???????????????????????????????????????????????
esearch -db nucleotide -query PRJNA257197?????????????????????????????????????????????????
esearch -db protein -query PRJNA257197
#結果如下:
#將搜索到的核酸與蛋白質(zhì)序列全部抓取??????????????????????????????????????????????????????????
esearch -db nucleotide -query PRJNA257197 | efetch -format=fasta >genomes.fa????????????????????????????????????????????????????????????????????????????????????????????????????????????
esearch -db protein -query PRJNA257197 | efetch -format=fasta > proteins.fa
如何從Short Read Archive(SRA)獲取數(shù)據(jù)铺韧?
利用SRA Toolkit多矮,使用與安裝見以下鏈接:
#將sra數(shù)據(jù)轉換成fastq格式??????????????????????????????????????????????????????????????????????????????????????
fastq-dump
#下載sam格式數(shù)據(jù)?????????????????????????????????????????????????????????????????????????????????????????????????????????
sam-dump
#產(chǎn)生一個SRR1553607.fastq?????????????????????????????????????????????????????????????????????????????????????
fastq-dump SRR1553607
fastq -dump --split-files SRR1553607???????????????????????????????????????????????????????????????????????????? # --split-files:將每一個read讀到單獨的文件中。文件將接收到讀取相應的后綴數(shù)哈打。針對pairend 測序結果塔逃,將原文件轉換成兩個fastq文件,里面的reads是成對的料仗,文件名其中一個是*_1.fastq,一個是*_2.fastq?????????????????????????????????????????????????????????? 得到: ?????????????
SRR1553607_1.fastq???????????????????????????????????????????????????????????????????????????????
SRR1553607_2.fastq
fastq-dump --split-files -X 10000 SRR1553607???????????????????????????????????????????????????????????
#提取需要的子集(前10000個讀長)
#簡要查看數(shù)據(jù)信息??????????????????????????????????????????????????????????????????????????????????????????????????????
sra-stat --xml --quick SRR1553607
#查看一個數(shù)據(jù)的讀長統(tǒng)計?????????????????????????????????????????????????????????????????????????????????????????????
sra-stat --xml --statistics SRR4237168
如何批量獲取SRA數(shù)據(jù)湾盗?
以 bioproject number PRJNA257197為例:
#首先搜索數(shù)據(jù)庫并下載runinfo并導入到一個csv文本中:?????????????????????????????????
esearch -db sra -query PRJNA257197 | efetch -format runinfo > info.csv
#查看第一列信息:????????????????????????????????????????????????????????????????????????????????????????????????????????
cat info.csv|cut -d ',' -f 1|head
#將第一列SRR開頭的id寫入一個文本:????????????????????????????????????????????????????????????????????
cat info.csv | cut -f 1 -d ',' | grep 'SRR' | head > ids.txt
#獲取ids.txt中id的前10000個讀長?????????????????????????????????????????????????????????????????????????????????
cat ids.txt | xargs -n 1 fastq-dump -X 10000 --split-files $1
#還可以通過篩選日期來得到想要的序列??????????????????????????????????????????????????????????????????????
cat info.csv | grep '2014-08-19' | cut -f 1 -d ',' | grep SRR | head -10 > ids.txt
下面說說如何查看測序數(shù)據(jù)信息
#根據(jù)發(fā)布日期獲取測序數(shù)據(jù)信息:????????????????????????????????????????????????????????????????????????
esearch -db sra -query '"2015/05"[Publication Date]'|efetch -format runinfo>2015-05.cs
#收集SRR開頭為編號的數(shù)據(jù):??????????????????????????????????????????????????????????????????????????????????
cat sra/*.csv | grep 'SRR' > allruns.csv
下面利用csvcut查看csv文件:
#統(tǒng)計一共測序了多少個堿基:???????????????????????????????????????????????????????????????????????????????????
cat allruns.csv | csvcut -c 5 | datamash sum???????????????????????????????????????
1?4.966817753558e+15??? #如果報錯可刪除對應的行
#查看測序物種并統(tǒng)計頻次:???????????????????????????????????????????????????????????????????????????????????????
cat allruns.csv|csvcut -c 29|sort|uniq -c|sort -nr|head -25
#對使用的測序平臺進行統(tǒng)計:????????????????????????????????????????????????????????????????????????????????????
cat allruns.csv|csvcut -c 19|sort|uniq -c|sort -rn|head -25
#查看測序儀型號:?????????????????????????????????????????????????????????????????????????????????????????????????????????
cat allruns.csv|csvcut -c 20|sort|uniq -c|sort -rn|head -25
#查看哪個數(shù)據(jù)容量最大:????????????????????????????????????????????????????????????????????????????????????????????
cat allruns.csv|csvcut -c 1,8|datamash -f -t ',' mean 2 sum 2 max 2