假設我要從NCBI中下載全部水稻的mRNA序列,如何實施?
找序列
第一步,肯定是找到相關序列。
我從ncbi taxonomy進入,搜索oryza。因為要搜索mRNA核酸序列,從此選擇nucleotide,點擊Go:
注意,如果你真正想要的是哪些序列。比如,稻屬中可能野生稻之類的並非你想要的。這時就要用oryza sativa搜索,或者從oryza中選擇合適的。
進一步在左側欄中選擇mRNA,此時出現在Search details中的關鍵字組合就是我們的過濾篩選條件,注意不是搜索框中關鍵字,否則你下載的將是未過濾的。
下序列
找到序列之后,就可以下載序列。通常我們利用NCBI網頁中的Send to來進行下載。
但是這種方法很不穩定,經常會掉線,下載的序列很可能不完整,並不適合大批量序列的下載。
這時,Entrez Direct就派上用場了。其中三個常見的命令:
- esearch:對進行Entrez檢索。
- efilter:對esearch的檢索結果進行過濾
- efetch:對上面兩個操作的結果進行抓取(下載)
比如以上示例,我們可以用Search details中的關鍵字組合來進行下載。
esearch -db nucleotide -query 'txid4530[Organism:exp] AND biomol_mrna[PROP]' | efetch -format fasta >all_oryza_mRNA.fasta
從速度來看,還不如網頁直接下載。但因為是命名行,可放在后台慢慢下載。相對更為穩定。
Entrez Direct的功能很強大,文獻、結構、基因、表達等數據都可下載。BioPerl和BioPython都有相應的用法,感興趣時可以慢慢摸索。
官網命令行:
https://www.ncbi.nlm.nih.gov/books/NBK179288/#chapter6.Sequence_Records