如何利用efetch從NCBI中批量下載數據?



假設我要從NCBI中下載全部水稻的mRNA序列,如何實施?

找序列

第一步,肯定是找到相關序列。

我從ncbi taxonomy進入,搜索oryza。因為要搜索mRNA核酸序列,從此選擇nucleotide,點擊Go:
image.png

注意,如果你真正想要的是哪些序列。比如,稻屬中可能野生稻之類的並非你想要的。這時就要用oryza sativa搜索,或者從oryza中選擇合適的。
image.png

進一步在左側欄中選擇mRNA,此時出現在Search details中的關鍵字組合就是我們的過濾篩選條件,注意不是搜索框中關鍵字,否則你下載的將是未過濾的。
image.png

下序列

找到序列之后,就可以下載序列。通常我們利用NCBI網頁中的Send to來進行下載。
image.png
但是這種方法很不穩定,經常會掉線,下載的序列很可能不完整,並不適合大批量序列的下載。

這時,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

批量下載NCBI數據的利器——Entrez Direct
Python Entrez.efetch方法代碼示例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM