Eutils用法总结
- 格式:docx
- 大小:26.81 KB
- 文档页数:9
好久没更新了,这里都长草了。
总结下Eutils的用法,参考《》,没时间看英文的可以参考下。
简介Eutils全称是The Entrez Programming Utilities (E-utilities),是由八个服务器端程序组成的一套编程工具,它提供用于访问NCBI Entrez查询和数据库系统的稳定接口。
这八个工具包括Einfo、ESearch、EPost、ESummary、EFetch、ELink、EGQuery、ESpell(详见表1)。
通过这些工具,你可以访问NCBI Entrez所包含的序列、三维结构、文献等所有38个数据库。
表1. 八种Eutils工具Eutils Name Entry Required Parameters Optional Parameters Return Format EInfo einfo.fcgi db xmlESearch esearch.fcgi dbterm usehistoryWebEnvquery_keyretstartretmaxrettypefielddatetypereldatemindate, maxdatexmlEPost epost.fcgi dbid WebEnvQueryKeyxmlESummary esummary.fcgi dbidWebEnvquery_key retstartretmaxversionxmlEFetch efetch.fcgi dbidWebEnvquery_key retmoderetstartretmaxrettypestrandseq_startseq_stopcomplexityxml/text/asn(详情见表2)ELink elink.fcgi dbdbfromcmdidWebEnvquery_key linknametermholdingdatetypereldatemindate, maxdatexmlEGQuery egquery.fcgi term xml ESpell espell.fcgi dbtermxml访问地址Eutils工具使用固定URL地址的形式进行访问,每个工具都有一个固定的访问地址BaseURL,都以EutilsURL开始。
EutilsURL:如:EInfo 的访问地址为:即:BaseURL=EutilsURL + Entry(一个以工具名称命名的Fasta CGI 文件,扩展名为fcgi。
什么是Fasta CGI?。
其实我也不了解)使用限制每秒查询次数不能超过3次,大型查询限制在周末和工作日的9:00 PM~5:00 AM,超过次限制会被封IP,除非给发邮件注册使用eutils服务的软件名称tool和email地址,并在使用服务时以URL参数的形式传入。
大量操作最好还是注册一下比较好。
使用示例通过设置不同的URL参数获取不同的结果,八个工具参数列表如下图所示,参数分为两种,必须参数和可选参数,返回文件格式大多为xml。
o EInfo示例示例1:示例2:示例1没有传入参数将列出所有的支持数据库,即示例2中db参数的名字;示例2将列出protein数据库的基本信息。
o Esearch示例示例1:示例2:示例3:示例4:示例1传入必须参数,所查询的数据库名称db和要查询的关键词term;示例2仅传入要查询的关键词term,并不是由于db为非必须参数,而是因为db的默认值是pubmed,所以示例2将查询以dnapol 为关键词查询pubmed数据库;示例3使用可选usehistory参数将在服务器端产生一个查询历史记录,结果中将生成WebEnv和query_key值,下一次使用ESearch、ESummary等操作可利用这些参数在这一次查询结果基础上进行操作,这也是Eutils最强大的地方,可以方便的建立自己的工作流程;示例4中即使用示例3中的查询结果重新查询以virus为关键词的条目,这等价于将示例3中的“term=dnapol”替换为“term=dnapol+virus”的查询结果。
o EPost示例示例1:示例2:示例1将三个蛋白质数据库的id号上传到服务器,结果中将生成WebEnv和query_key值,以备后续操作使用;示例2在给定的WebEnv历史记录上添加给定id号;注:在使用其他Eutils工具,如EFetch,id参数条目数超过限制时,只能使用EPost,先上传需要的id,然后在所使用工具中传入EPost结果中的WebEnv 和query_key值。
o ESummary示例示例1:示例2:示例1列出给定id号的摘要信息;示例2列出给定查询历史记录中的摘要信息。
注:ESummary中db为必选参数,id和(query_key+WebEnv)二选一。
o EFetch示例示例1:示例2:示例3:示例1以text ASN.1格式返回给定id号的蛋白序列文件;示例2以text fasta格式返回给定id号的蛋白序列文件;示例3以xml fasta格式返回给定id号的蛋白序列文件。
注:EFetch是获取数据库文件的常用工具,示例1中没有给定rettype和retmode参数,默认为text ASN.1格式,示例2中retmode参数默认为text,示例3中retmode设置为xml,返回xml格式的fasta文件。
各数据库支持的返回参数见表2。
在EFetch中使用ESearch结果中的query_key和WebEnv 参数,可轻松实现普通的Entrez下载操作。
表2. EFetch中各数据库支持的retmode和rettype值示例1返回所有数据库中含有关键词asthma的条目数注:EGQuery为全局查询,和在Entrez中选择所有数据库查询的结果相同。
o ESpell示例示例1:示例1返回对三个关键词的拼写建议,asthmaa被替换为asthma,OR为逻辑词不进行替换,alergies 被替换为allergies。
注:ESpell为拼写建议工具,会根据关键词的相似性进行建议,方便关键词的纠错和相关关键词的推荐。
部分通用参数解释db:查询的数据库名称。
和Entrez下拉菜单中显示的名称不一样,所支持的所有值可通过EInfo()查看;term:查询的关键词。
和Entrez查询相似,可使用逻辑操作词AND,OR,NOT以及[acession]、[organism]等以字段限定词等(具体可参见),但是中间的空格要以“+”替代,其他特殊符号要转换为URL编码(如引号“编码为%22;井号#编码为%23)。
WebEnv:历史记录环境编号。
ESearch的usehistory=y参数、EPost、ELink的cmd=neighbor_history参数都会产生一个WebEnv。
后续操作传入次参数将大大减少查询工作量。
query_key:历史记录环境下的查询编号。
第一次生成WebEnv的结果的query_key为1,在此WebEnv 环境下的下一个操作结果的query_key为2,后续操作依次递增。
retstart:返回结果在查询结果中的起始位置。
默认为0,配合retmax实现分页显示。
retmax:返回结果条目数最大值。
默认为20。
rettype:返回数据类型。
不同的工具有不同的可选值。
ESearch的可选类型为uilist(默认)和count (只返回查询结果数目),EFetch可参加表2。
retmode:返回数据方式。
详见表2。
datetype:限定日期的类型。
限定reldate, mindate, maxdate的日期类型,不同的数据库有不同的可选值,常见的为mdat(modification date)、pdat(publication date)、edat (Entrez date)。
reldate:相对于当前时间的天数。
返回过去多少天内的数据。
mindate, maxdate:时间间隔。
返回由最小日期和最大日期限定的时间间隔中的数据,必须同时使用,格式为YYYY/MM/DD,或者YYYY, YYYY/MM。
其他参数解释field:ESearch中term的限定字段。
如[accession]、[title]等,设置此参数后,term中的所有关键词将只查询指定字段。
version:指定所使用Esummary的版本号。
strand:指定EFetch中DNA链的类型,正义为1,反义为2。
seq_start:指定EFetch中返回序列的起始位点。
seq_stop:指定EFetch中返回序列的终止位点。
complexity:指定EFetch中返回数据的内容。
许多序列数据和其他数据存储在一起,组成一个大的数据结构或BLOB(二进制大对象)。
指定该参数可选择返回哪些数据内容。
详见表4。
linkname:限定ELink中限制返回的链接类型,如gene_snp_genegenotype只返回所有链接中genegenotype子类。
holding:限定ELink中链出链接的提供商。
表4. EFetch中complexity值与返回的数据内容。