• 如何利用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方法代码示例

  • 相关阅读:
    Java-判断一个数是不是素数
    Sublime快捷键
    python
    全排列
    python
    python
    OpenCV 实现图像结构相似度算法 (SSIM 算法)
    C++
    C++
    NFA 转 DFA
  • 原文地址:https://www.cnblogs.com/jessepeng/p/15106662.html
Copyright © 2020-2023  润新知