美文网首页知识的搬运者
如何利用efetch从NCBI中批量下载数据?

如何利用efetch从NCBI中批量下载数据?

作者: 生物信息与育种 | 来源:发表于2021-08-06 00:02 被阅读0次

    假设我要从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方法代码示例

    相关文章

      网友评论

        本文标题:如何利用efetch从NCBI中批量下载数据?

        本文链接:https://www.haomeiwen.com/subject/hravvltx.html