首先在ncbi的搜索页面上用关键词进行搜索,确认符合条件的结果数。由于搜索页面上分页显示的,不能一次得到大量的序列信息。要一次得到所有的序列Id,可以使用esearch服务。比如以carabus为关键词搜索nucleotide库。在搜索页面得到的结果数是4000左右,
根据初步搜索的结果数,调整下面链接中的retmax参数至比结果数略大或至少相等,这里设为5000。
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=nucleotide&term=carabus&retmax=5000&usehistory=y

其中retmax为返回结果最大条数;usehistory指定保存搜索结果供下一步(比如efetch服务)使用。在浏览器地址栏中键入上述网址,回车,回返回一个包含了所有符合条件记录的Id的xml文件。这一步返回的结果中还会有WebEnv和QueryKey两个值,WebEnv实际上就是对上一步保存结果的引用。如果你只需要Ids,到这一步够了。如果需要所有Id对应的序列或更多信息,可以使用的efetch服务。将WebEnv和QueryKey这两个值替换下面这个链接的相应值:
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&WebEnv=xxxxx&retmax=5000&rettype=fasta&retmode=text&query_key=1
rettype即返回结果类型,可以为native/fasta等,缺省为native。
retmode即返回结果格式,可以设置为xml/html/text等,具体参见efetch的说明。在浏览器地址栏中键入上述网址,回车,一个包含4000多条序列的fasta格式的文件就开始下载了。

附esearch和efetch服务具体说明网址:
1. http://eutils.ncbi.nlm.nih.gov/corehtml/query/static/esearch_help.html
2. http://eutils.ncbi.nlm.nih.gov/corehtml/query/static/efetchseq_help.html

posted on 2009-10-03 09:57  玛瑙河  阅读(584)  评论(0编辑  收藏  举报