<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Bio.Entrez</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="Bio-module.html">Package Bio</a> :: Package Entrez </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="Bio.Entrez-pysrc.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <h1 class="epydoc">Source Code for <a href="Bio.Entrez-module.html">Package Bio.Entrez</a></h1> <pre class="py-src"> <a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright 1999-2000 by Jeffrey Chang. All rights reserved.</tt> </tt> <a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Copyright 2008 by Michiel de Hoon. All rights reserved.</tt> </tt> <a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This code is part of the Biopython distribution and governed by its</tt> </tt> <a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># license. Please see the LICENSE file that should have been included</tt> </tt> <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># as part of this package.</tt> </tt> <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-docstring">"""Provides code to access NCBI over the WWW.</tt> </tt> <a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-docstring">The main Entrez web page is available at:</tt> </tt> <a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-docstring">http://www.ncbi.nlm.nih.gov/Entrez/</tt> </tt> <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-docstring">A list of the Entrez utilities is available at:</tt> </tt> <a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-docstring">http://www.ncbi.nlm.nih.gov/entrez/utils/utils_index.html</tt> </tt> <a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-docstring">Functions:</tt> </tt> <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-docstring">efetch Retrieves records in the requested format from a list of one or</tt> </tt> <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-docstring"> more primary IDs or from the user's environment</tt> </tt> <a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring">epost Posts a file containing a list of primary IDs for future use in</tt> </tt> <a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring"> the user's environment to use with subsequent search strategies</tt> </tt> <a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">esearch Searches and retrieves primary IDs (for use in EFetch, ELink,</tt> </tt> <a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"> and ESummary) and term translations and optionally retains</tt> </tt> <a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring"> results for future use in the user's environment.</tt> </tt> <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring">elink Checks for the existence of an external or Related Articles link</tt> </tt> <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring"> from a list of one or more primary IDs. Retrieves primary IDs</tt> </tt> <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-docstring"> and relevancy scores for links to Entrez databases or Related</tt> </tt> <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring"> Articles; creates a hyperlink to the primary LinkOut provider</tt> </tt> <a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring"> for a specific ID and database, or lists LinkOut URLs</tt> </tt> <a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"> and Attributes for multiple IDs.</tt> </tt> <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring">einfo Provides field index term counts, last update, and available</tt> </tt> <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> links for each database.</tt> </tt> <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring">esummary Retrieves document summaries from a list of primary IDs or from</tt> </tt> <a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"> the user's environment.</tt> </tt> <a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring">egquery Provides Entrez database counts in XML for a single search</tt> </tt> <a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> using Global Query.</tt> </tt> <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring">espell Retrieves spelling suggestions.</tt> </tt> <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring">read Parses the XML results returned by any of the above functions.</tt> </tt> <a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> Typical usage is:</tt> </tt> <a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> >>> handle = Entrez.einfo() # or esearch, efetch, ...</tt> </tt> <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> >>> record = Entrez.read(handle)</tt> </tt> <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"> where record is now a Python dictionary or list.</tt> </tt> <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring">_open Internally used function.</tt> </tt> <a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt> <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt><tt class="py-op">,</tt> <tt id="link-0" class="py-name" targets="Method Bio.Sequencing.Phd._RecordConsumer.time()=Bio.Sequencing.Phd._RecordConsumer-class.html#time"><a title="Bio.Sequencing.Phd._RecordConsumer.time" class="py-name" href="#" onclick="return doclink('link-0', 'time', 'link-0');">time</a></tt> </tt> <a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt> <a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package Bio=Bio-module.html"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-1', 'Bio', 'link-1');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Module Bio.File=Bio.File-module.html"><a title="Bio.File" class="py-name" href="#" onclick="return doclink('link-2', 'File', 'link-2');">File</a></tt> </tt> <a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt> <a name="query"></a><div id="query-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="query-toggle" onclick="return toggle('query');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#query">query</a><tt class="py-op">(</tt><tt class="py-param">cmd</tt><tt class="py-op">,</tt> <tt class="py-param">db</tt><tt class="py-op">,</tt> <tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://www.ncbi.nlm.nih.gov/sites/entrez'</tt><tt class="py-op">,</tt> </tt> <a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="query-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="query-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-docstring">"""Query Entrez and return a handle to the HTML results (DEPRECATED).</tt> </tt> <a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=helplinks.chapter.linkshelp</tt> </tt> <a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results.</tt> </tt> <a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Bio.Entrez.query is deprecated, since it breaks NCBI's rule to only use the E-Utilities URL."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> </div><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt> <a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-comment"># XXX retmode?</tt> </tt> <a name="epost"></a><div id="epost-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="epost-toggle" onclick="return toggle('epost');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#epost">epost</a><tt class="py-op">(</tt><tt class="py-param">db</tt><tt class="py-op">,</tt> <tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="epost-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="epost-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-docstring">"""Post a file of identifiers for future use.</tt> </tt> <a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring"> Posts a file containing a list of UIs for future use in the user's</tt> </tt> <a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> environment to use with subsequent search strategies.</tt> </tt> <a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/epost_help.html</tt> </tt> <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results.</tt> </tt> <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/epost.fcgi'</tt> </tt> <a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'db'</tt> <tt class="py-op">:</tt> <tt id="link-3" class="py-name" targets="Variable Bio.LocusLink.locus_format.db=Bio.LocusLink.locus_format-module.html#db,Variable Bio.config.DBRegistry.db=Bio.config.DBRegistry-module.html#db"><a title="Bio.LocusLink.locus_format.db Bio.config.DBRegistry.db" class="py-name" href="#" onclick="return doclink('link-3', 'db', 'link-3');">db</a></tt><tt class="py-op">}</tt> </tt> <a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method Bio.GenBank.NCBIDictionary.update()=Bio.GenBank.NCBIDictionary-class.html#update,Method Bio.Index._InMemoryIndex.update()=Bio.Index._InMemoryIndex-class.html#update,Method Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update()=Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer-class.html#update,Method Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update()=Bio.NeuralNetwork.BackPropagation.Layer.InputLayer-class.html#update,Method Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update()=Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer-class.html#update,Method Bio.Prosite.ExPASyDictionary.update()=Bio.Prosite.ExPASyDictionary-class.html#update,Method Bio.Prosite.Prodoc.ExPASyDictionary.update()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#update,Method Bio.PubMed.Dictionary.update()=Bio.PubMed.Dictionary-class.html#update,Method Bio.Restriction._Update.Update.RebaseUpdate.update()=Bio.Restriction._Update.Update.RebaseUpdate-class.html#update,Method Bio.SwissProt.SProt.ExPASyDictionary.update()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#update"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-4', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-5" class="py-name" targets="Function Bio.Entrez._open()=Bio.Entrez-module.html#_open,Function Bio.Mindy.BerkeleyDB._open()=Bio.Mindy.BerkeleyDB-module.html#_open,Function Bio.SCOP._open()=Bio.SCOP-module.html#_open,Function Bio.WWW.ExPASy._open()=Bio.WWW.ExPASy-module.html#_open,Function Bio.WWW.NCBI._open()=Bio.WWW.NCBI-module.html#_open"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-5', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt> <a name="efetch"></a><div id="efetch-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="efetch-toggle" onclick="return toggle('efetch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#efetch">efetch</a><tt class="py-op">(</tt><tt class="py-param">db</tt><tt class="py-op">,</tt> <tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="efetch-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="efetch-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-docstring">"""Fetches Entrez results which are returned as a handle.</tt> </tt> <a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring"> EFetch retrieves records in the requested format from a list of one or</tt> </tt> <a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring"> more UIs or from user's environment.</tt> </tt> <a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/efetch_help.html</tt> </tt> <a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results.</tt> </tt> <a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> Short example:</tt> </tt> <a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import Entrez</tt> </tt> <a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"> handle = Entrez.efetch(db="nucleotide", id="57240072", rettype="genbank")</tt> </tt> <a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"> print handle.read()</tt> </tt> <a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi'</tt> </tt> <a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'db'</tt> <tt class="py-op">:</tt> <tt id="link-6" class="py-name"><a title="Bio.LocusLink.locus_format.db Bio.config.DBRegistry.db" class="py-name" href="#" onclick="return doclink('link-6', 'db', 'link-3');">db</a></tt><tt class="py-op">}</tt> </tt> <a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-7', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-8" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-8', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt> <a name="esearch"></a><div id="esearch-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="esearch-toggle" onclick="return toggle('esearch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#esearch">esearch</a><tt class="py-op">(</tt><tt class="py-param">db</tt><tt class="py-op">,</tt> <tt class="py-param">term</tt><tt class="py-op">,</tt> <tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="esearch-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="esearch-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-docstring">"""ESearch runs an Entrez search and returns a handle to the results.</tt> </tt> <a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"> ESearch searches and retrieves primary IDs (for use in EFetch, ELink</tt> </tt> <a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> and ESummary) and term translations, and optionally retains results</tt> </tt> <a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"> for future use in the user's environment.</tt> </tt> <a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html</tt> </tt> <a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results which are always in XML format.</tt> </tt> <a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> Short example:</tt> </tt> <a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import Entez</tt> </tt> <a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> handle = Entrez.esearch(db="nucleotide", retmax=10, term="Opuntia")</tt> </tt> <a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> record = Entrez.read(handle)</tt> </tt> <a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> print record["Count"]</tt> </tt> <a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> print record["IdList"]</tt> </tt> <a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi'</tt> </tt> <a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'db'</tt> <tt class="py-op">:</tt> <tt id="link-9" class="py-name"><a title="Bio.LocusLink.locus_format.db Bio.config.DBRegistry.db" class="py-name" href="#" onclick="return doclink('link-9', 'db', 'link-3');">db</a></tt><tt class="py-op">,</tt> </tt> <a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-string">'term'</tt> <tt class="py-op">:</tt> <tt class="py-name">term</tt><tt class="py-op">}</tt> </tt> <a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-10', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-11" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-11', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> </tt> <a name="elink"></a><div id="elink-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="elink-toggle" onclick="return toggle('elink');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#elink">elink</a><tt class="py-op">(</tt><tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="elink-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="elink-expanded"><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-docstring">"""ELink checks for linked external articles and returns a handle.</tt> </tt> <a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"> ELink checks for the existence of an external or Related Articles link</tt> </tt> <a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> from a list of one or more primary IDs; retrieves IDs and relevancy</tt> </tt> <a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"> scores for links to Entrez databases or Related Articles; creates a</tt> </tt> <a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"> hyperlink to the primary LinkOut provider for a specific ID and</tt> </tt> <a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring"> database, or lists LinkOut URLs and attributes for multiple IDs.</tt> </tt> <a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/elink_help.html</tt> </tt> <a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results, by default in XML format.</tt> </tt> <a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi'</tt> </tt> <a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> <a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-12', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-13" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-13', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> </tt> <a name="einfo"></a><div id="einfo-def"><a name="L169"></a><tt class="py-lineno">169</tt> <a class="py-toggle" href="#" id="einfo-toggle" onclick="return toggle('einfo');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#einfo">einfo</a><tt class="py-op">(</tt><tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="einfo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="einfo-expanded"><a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-docstring">"""EInfo returns a summary of the Entez databases as a results handle.</tt> </tt> <a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> EInfo provides field names, index term counts, last update, and</tt> </tt> <a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> available links for each Entrez database.</tt> </tt> <a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/einfo_help.html</tt> </tt> <a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results, by default in XML format.</tt> </tt> <a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"> Short example:</tt> </tt> <a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import Entrez </tt> </tt> <a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"> record = Entrez.read(Entrez.einfo())</tt> </tt> <a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> print record['DbList']</tt> </tt> <a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi'</tt> </tt> <a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> <a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-14', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-15" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-15', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> </tt> <a name="esummary"></a><div id="esummary-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="esummary-toggle" onclick="return toggle('esummary');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#esummary">esummary</a><tt class="py-op">(</tt><tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="esummary-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="esummary-expanded"><a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-docstring">"""ESummary retrieves document summaries as a results handle.</tt> </tt> <a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring"> ESummary retrieves document summaries from a list of primary IDs or</tt> </tt> <a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> from the user's environment.</tt> </tt> <a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/esummary_help.html</tt> </tt> <a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results, by default in XML format.</tt> </tt> <a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi'</tt> </tt> <a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> <a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-16', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-17" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-17', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> </tt> <a name="egquery"></a><div id="egquery-def"><a name="L217"></a><tt class="py-lineno">217</tt> <a class="py-toggle" href="#" id="egquery-toggle" onclick="return toggle('egquery');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#egquery">egquery</a><tt class="py-op">(</tt><tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="egquery-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="egquery-expanded"><a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-docstring">"""EGQuery provides Entrez database counts for a global search.</tt> </tt> <a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> EGQuery provides Entrez database counts in XML for a single search</tt> </tt> <a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> using Global Query.</tt> </tt> <a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/egquery_help.html</tt> </tt> <a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results in XML format.</tt> </tt> <a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/egquery.fcgi'</tt> </tt> <a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> <a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-18', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-19', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> </tt> <a name="espell"></a><div id="espell-def"><a name="L238"></a><tt class="py-lineno">238</tt> <a class="py-toggle" href="#" id="espell-toggle" onclick="return toggle('espell');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#espell">espell</a><tt class="py-op">(</tt><tt class="py-param">cgi</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">keywds</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="espell-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="espell-expanded"><a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-docstring">"""ESpell retrieves spelling suggestions, returned in a results handle.</tt> </tt> <a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"> ESpell retrieves spelling suggestions, if available.</tt> </tt> <a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> See the online documentation for an explanation of the parameters:</tt> </tt> <a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> http://www.ncbi.nlm.nih.gov/entrez/query/static/espell_help.html</tt> </tt> <a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> Return a handle to the results, by default in XML format.</tt> </tt> <a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"> Raises an IOError exception if there's a network error.</tt> </tt> <a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"> Short example:</tt> </tt> <a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import Entrez </tt> </tt> <a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> record = Entrez.read(Entrez.espell(term="biopythooon")) </tt> </tt> <a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> print record["Query"] </tt> </tt> <a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> print record["CorrectedQuery"] </tt> </tt> <a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cgi</tt><tt class="py-op">:</tt> </tt> <a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt class="py-name">warnings</tt> </tt> <a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-name">warnings</tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Using a URL other than NCBI's main url for the E-Utilities is deprecated."</tt><tt class="py-op">,</tt> <tt class="py-name">DeprecationWarning</tt><tt class="py-op">)</tt> </tt> <a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-name">cgi</tt><tt class="py-op">=</tt><tt class="py-string">'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/espell.fcgi'</tt> </tt> <a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">variables</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> <a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">variables</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="Bio.GenBank.NCBIDictionary.update Bio.Index._InMemoryIndex.update Bio.NeuralNetwork.BackPropagation.Layer.HiddenLayer.update Bio.NeuralNetwork.BackPropagation.Layer.InputLayer.update Bio.NeuralNetwork.BackPropagation.Layer.OutputLayer.update Bio.Prosite.ExPASyDictionary.update Bio.Prosite.Prodoc.ExPASyDictionary.update Bio.PubMed.Dictionary.update Bio.Restriction._Update.Update.RebaseUpdate.update Bio.SwissProt.SProt.ExPASyDictionary.update" class="py-name" href="#" onclick="return doclink('link-20', 'update', 'link-4');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">keywds</tt><tt class="py-op">)</tt> </tt> <a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-21" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-21', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">,</tt> <tt class="py-name">variables</tt><tt class="py-op">)</tt> </tt> </div><a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> </tt> <a name="read"></a><div id="read-def"><a name="L265"></a><tt class="py-lineno">265</tt> <a class="py-toggle" href="#" id="read-toggle" onclick="return toggle('read');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">handle</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="read-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="read-expanded"><a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-docstring">"""Parses an XML file from the NCBI Entrez Utilities into python objects.</tt> </tt> <a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt> <a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> This function parses an XML file created by NCBI's Entrez Utilities,</tt> </tt> <a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> returning a multilevel data structure of Python lists and dictionaries.</tt> </tt> <a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> Most XML files returned by NCBI's Entrez Utilities can be parsed by</tt> </tt> <a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> this function, provided its DTD is available. Biopython includes the</tt> </tt> <a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> DTDs for most commonly used Entrez Utilities.</tt> </tt> <a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"> Whereas the data structure seems to consist of generic Python lists,</tt> </tt> <a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> dictionaries, strings, and so on, each of these is actually a class</tt> </tt> <a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> derived from the base type. This allows us to store the attributes</tt> </tt> <a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"><tt class="py-docstring"> (if any) of each element in a dictionary my_element.attributes, and</tt> </tt> <a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-docstring"> the tag name in my_element.tag.</tt> </tt> <a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-22" class="py-name" targets="Module Bio.AlignAce.Parser=Bio.AlignAce.Parser-module.html,Module Bio.Entrez.Parser=Bio.Entrez.Parser-module.html,Module Bio.MEME.Parser=Bio.MEME.Parser-module.html,Class Bio.SCOP.Cla.Parser=Bio.SCOP.Cla.Parser-class.html,Class Bio.SCOP.Des.Parser=Bio.SCOP.Des.Parser-class.html,Class Bio.SCOP.Dom.Parser=Bio.SCOP.Dom.Parser-class.html,Class Bio.SCOP.Hie.Parser=Bio.SCOP.Hie.Parser-class.html,Class Bio.SCOP.Raf.Parser=Bio.SCOP.Raf.Parser-class.html,Module Martel.Parser=Martel.Parser-module.html,Class Martel.Parser.Parser=Martel.Parser.Parser-class.html"><a title="Bio.AlignAce.Parser Bio.Entrez.Parser Bio.MEME.Parser Bio.SCOP.Cla.Parser Bio.SCOP.Des.Parser Bio.SCOP.Dom.Parser Bio.SCOP.Hie.Parser Bio.SCOP.Raf.Parser Martel.Parser Martel.Parser.Parser" class="py-name" href="#" onclick="return doclink('link-22', 'Parser', 'link-22');">Parser</a></tt> <tt class="py-keyword">import</tt> <tt id="link-23" class="py-name" targets="Class Bio.Entrez.Parser.DataHandler=Bio.Entrez.Parser.DataHandler-class.html"><a title="Bio.Entrez.Parser.DataHandler" class="py-name" href="#" onclick="return doclink('link-23', 'DataHandler', 'link-23');">DataHandler</a></tt> </tt> <a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt id="link-24" class="py-name" targets="Package Bio.EUtils.DTDs=Bio.EUtils.DTDs-module.html"><a title="Bio.EUtils.DTDs" class="py-name" href="#" onclick="return doclink('link-24', 'DTDs', 'link-24');">DTDs</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">__path__</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"DTDs"</tt><tt class="py-op">)</tt> </tt> <a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="Bio.Entrez.Parser.DataHandler" class="py-name" href="#" onclick="return doclink('link-25', 'DataHandler', 'link-23');">DataHandler</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="Bio.EUtils.DTDs" class="py-name" href="#" onclick="return doclink('link-26', 'DTDs', 'link-24');">DTDs</a></tt><tt class="py-op">)</tt> </tt> <a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt id="link-27" class="py-name" targets="Variable Bio.Emboss.primer3_format.record=Bio.Emboss.primer3_format-module.html#record,Variable Bio.Emboss.primersearch_format.record=Bio.Emboss.primersearch_format-module.html#record,Method Bio.GFF.Feature.record()=Bio.GFF.Feature-class.html#record,Variable Bio.LocusLink.web_parse.record=Bio.LocusLink.web_parse-module.html#record,Variable Bio.Ndb.record=Bio.Ndb-module.html#record,Function Bio.Std.record()=Bio.Std-module.html#record,Variable Bio.expressions.blocks.record=Bio.expressions.blocks-module.html#record,Variable Bio.expressions.embl.embl65.record=Bio.expressions.embl.embl65-module.html#record,Variable Bio.expressions.fasta.record=Bio.expressions.fasta-module.html#record,Variable Bio.expressions.genbank.record=Bio.expressions.genbank-module.html#record,Variable Bio.expressions.hmmpfam.record=Bio.expressions.hmmpfam-module.html#record,Variable Bio.expressions.swissprot.ipi.record=Bio.expressions.swissprot.ipi-module.html#record,Variable Bio.expressions.swissprot.speclist.record=Bio.expressions.swissprot.speclist-module.html#record,Variable Bio.expressions.swissprot.sprot38.record=Bio.expressions.swissprot.sprot38-module.html#record,Variable Bio.expressions.swissprot.sprot40.record=Bio.expressions.swissprot.sprot40-module.html#record,Variable Martel.test.test_swissprot38.record=Martel.test.test_swissprot38-module.html#record,Variable Martel.test.testformats.swissprot38.record=Martel.test.testformats.swissprot38-module.html#record"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-27', 'record', 'link-27');">record</a></tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method Bio.AlignAce.Applications.AlignAceCommandline.run()=Bio.AlignAce.Applications.AlignAceCommandline-class.html#run,Method Bio.AlignAce.Applications.CompareAceCommandline.run()=Bio.AlignAce.Applications.CompareAceCommandline-class.html#run,Method Bio.Entrez.Parser.DataHandler.run()=Bio.Entrez.Parser.DataHandler-class.html#run,Method Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.run()=Bio.SVDSuperimposer.SVDSuperimposer%27.SVDSuperimposer-class.html#run,Method Martel.setup.my_install.run()=Martel.setup.my_install-class.html#run,Method Martel.setup.run_install_tests.run()=Martel.setup.run_install_tests-class.html#run,Method Martel.setup.run_local_tests.run()=Martel.setup.run_local_tests-class.html#run"><a title="Bio.AlignAce.Applications.AlignAceCommandline.run Bio.AlignAce.Applications.CompareAceCommandline.run Bio.Entrez.Parser.DataHandler.run Bio.SVDSuperimposer.SVDSuperimposer'.SVDSuperimposer.run Martel.setup.my_install.run Martel.setup.run_install_tests.run Martel.setup.run_local_tests.run" class="py-name" href="#" onclick="return doclink('link-28', 'run', 'link-28');">run</a></tt><tt class="py-op">(</tt><tt id="link-29" class="py-name" targets="Variable Bio.LocusLink.web_parse.handle=Bio.LocusLink.web_parse-module.html#handle,Variable Bio.Ndb.handle=Bio.Ndb-module.html#handle"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-29', 'handle', 'link-29');">handle</a></tt><tt class="py-op">)</tt> </tt> <a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-30" class="py-name"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-30', 'record', 'link-27');">record</a></tt> </tt> </div><a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> </tt> <a name="_open"></a><div id="_open-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="_open-toggle" onclick="return toggle('_open');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Entrez-module.html#_open">_open</a><tt class="py-op">(</tt><tt class="py-param">cgi</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="_open-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_open-expanded"><a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-docstring">"""Helper function to build the URL and open a handle to it (PRIVATE).</tt> </tt> <a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"><tt class="py-docstring"> Open a handle to Entrez. cgi is the URL for the cgi script to access.</tt> </tt> <a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-docstring"> params is a dictionary with the options to pass to it. Does some</tt> </tt> <a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-docstring"> simple error checking, and will raise an IOError if it encounters one.</tt> </tt> <a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"> This function also enforces the "three second rule" to avoid abusing</tt> </tt> <a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"><tt class="py-docstring"> the NCBI servers.</tt> </tt> <a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-comment"># NCBI requirement: At least three seconds between queries</tt> </tt> <a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">delay</tt> <tt class="py-op">=</tt> <tt class="py-number">3.0</tt> </tt> <a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="Bio.Sequencing.Phd._RecordConsumer.time" class="py-name" href="#" onclick="return doclink('link-31', 'time', 'link-0');">time</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="Bio.Sequencing.Phd._RecordConsumer.time" class="py-name" href="#" onclick="return doclink('link-32', 'time', 'link-0');">time</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt id="link-33" class="py-name" targets="Method Bio.WWW.RequestLimiter.wait()=Bio.WWW.RequestLimiter-class.html#wait"><a title="Bio.WWW.RequestLimiter.wait" class="py-name" href="#" onclick="return doclink('link-33', 'wait', 'link-33');">wait</a></tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-34', '_open', 'link-5');">_open</a></tt><tt class="py-op">.</tt><tt class="py-name">previous</tt> <tt class="py-op">+</tt> <tt class="py-name">delay</tt> <tt class="py-op">-</tt> <tt class="py-name">current</tt> </tt> <a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-35" class="py-name"><a title="Bio.WWW.RequestLimiter.wait" class="py-name" href="#" onclick="return doclink('link-35', 'wait', 'link-33');">wait</a></tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> <a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="Bio.Sequencing.Phd._RecordConsumer.time" class="py-name" href="#" onclick="return doclink('link-36', 'time', 'link-0');">time</a></tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="Bio.WWW.RequestLimiter.wait" class="py-name" href="#" onclick="return doclink('link-37', 'wait', 'link-33');">wait</a></tt><tt class="py-op">)</tt> </tt> <a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt id="link-38" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-38', '_open', 'link-5');">_open</a></tt><tt class="py-op">.</tt><tt class="py-name">previous</tt> <tt class="py-op">=</tt> <tt class="py-name">current</tt> <tt class="py-op">+</tt> <tt id="link-39" class="py-name"><a title="Bio.WWW.RequestLimiter.wait" class="py-name" href="#" onclick="return doclink('link-39', 'wait', 'link-33');">wait</a></tt> </tt> <a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt id="link-40" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-40', '_open', 'link-5');">_open</a></tt><tt class="py-op">.</tt><tt class="py-name">previous</tt> <tt class="py-op">=</tt> <tt class="py-name">current</tt> </tt> <a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-comment"># Tell Entrez that we are Biopython</tt> </tt> <a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">"tool"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">params</tt><tt class="py-op">:</tt> </tt> <a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">"tool"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"biopython"</tt> </tt> <a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-comment"># Open a handle to Entrez.</tt> </tt> <a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">doseq</tt><tt class="py-op">=</tt><tt id="link-41" class="py-name" targets="Variable Bio.EUtils.POM.True=Bio.EUtils.POM-module.html#True"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-41', 'True', 'link-41');">True</a></tt><tt class="py-op">)</tt> </tt> <a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">cgi</tt> <tt class="py-op">+=</tt> <tt class="py-string">"?"</tt> <tt class="py-op">+</tt> <tt class="py-name">options</tt> </tt> <a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt id="link-42" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-42', 'handle', 'link-29');">handle</a></tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlopen</tt><tt class="py-op">(</tt><tt class="py-name">cgi</tt><tt class="py-op">)</tt> </tt> <a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> </tt> <a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-comment"># Wrap the handle inside an UndoHandle.</tt> </tt> <a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">uhandle</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="Bio.File" class="py-name" href="#" onclick="return doclink('link-43', 'File', 'link-2');">File</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Class Bio.File.UndoHandle=Bio.File.UndoHandle-class.html"><a title="Bio.File.UndoHandle" class="py-name" href="#" onclick="return doclink('link-44', 'UndoHandle', 'link-44');">UndoHandle</a></tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-45', 'handle', 'link-29');">handle</a></tt><tt class="py-op">)</tt> </tt> <a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> </tt> <a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-comment"># Check for errors in the first 5 lines.</tt> </tt> <a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># This is kind of ugly.</tt> </tt> <a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-46" class="py-name" targets="Variable Bio.PDB.Polypeptide.i=Bio.PDB.Polypeptide-module.html#i"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-46', 'i', 'link-46');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-name">lines</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method Bio.Crystal.Chain.append()=Bio.Crystal.Chain-class.html#append,Method Bio.EUtils.POM.ElementNode.append()=Bio.EUtils.POM.ElementNode-class.html#append,Method Bio.EUtils.sourcegen.SourceFile.append()=Bio.EUtils.sourcegen.SourceFile-class.html#append,Method Bio.SCOP.Raf.SeqMap.append()=Bio.SCOP.Raf.SeqMap-class.html#append,Method Bio.Seq.MutableSeq.append()=Bio.Seq.MutableSeq-class.html#append,Method Bio.Wise.psw.Alignment.append()=Bio.Wise.psw.Alignment-class.html#append,Method Bio.Wise.psw.AlignmentColumn.append()=Bio.Wise.psw.AlignmentColumn-class.html#append,Method Martel.msre_parse.SubPattern.append()=Martel.msre_parse.SubPattern-class.html#append"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-47', 'append', 'link-47');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">uhandle</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method Bio.EUtils.ReseekFile.ReseekFile.readline()=Bio.EUtils.ReseekFile.ReseekFile-class.html#readline,Method Bio.File.SGMLHandle.readline()=Bio.File.SGMLHandle-class.html#readline,Method Bio.File.UndoHandle.readline()=Bio.File.UndoHandle-class.html#readline,Method Bio.SGMLExtractor.SGMLExtractorHandle.readline()=Bio.SGMLExtractor.SGMLExtractorHandle-class.html#readline"><a title="Bio.EUtils.ReseekFile.ReseekFile.readline Bio.File.SGMLHandle.readline Bio.File.UndoHandle.readline Bio.SGMLExtractor.SGMLExtractorHandle.readline" class="py-name" href="#" onclick="return doclink('link-48', 'readline', 'link-48');">readline</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-49" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-49', 'i', 'link-46');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-name">uhandle</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method Bio.File.UndoHandle.saveline()=Bio.File.UndoHandle-class.html#saveline"><a title="Bio.File.UndoHandle.saveline" class="py-name" href="#" onclick="return doclink('link-50', 'saveline', 'link-50');">saveline</a></tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">[</tt><tt id="link-51" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-51', 'i', 'link-46');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt id="link-52" class="py-name" targets="Variable BioSQL.BioSeq.DBSeq.data=BioSQL.BioSeq.DBSeq-class.html#data"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-52', 'data', 'link-52');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt> <a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> </tt> <a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">"500 Proxy Error"</tt> <tt class="py-keyword">in</tt> <tt id="link-53" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-53', 'data', 'link-52');">data</a></tt><tt class="py-op">:</tt> </tt> <a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-comment"># Sometimes Entrez returns a Proxy Error instead of results</tt> </tt> <a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"500 Proxy Error (NCBI busy?)"</tt> </tt> <a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">"502 Proxy Error"</tt> <tt class="py-keyword">in</tt> <tt id="link-54" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-54', 'data', 'link-52');">data</a></tt><tt class="py-op">:</tt> </tt> <a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"502 Proxy Error (NCBI busy?)"</tt> </tt> <a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-string">"WWW Error 500 Diagnostic"</tt> <tt class="py-keyword">in</tt> <tt id="link-55" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-55', 'data', 'link-52');">data</a></tt><tt class="py-op">:</tt> </tt> <a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"WWW Error 500 Diagnostic (NCBI busy?)"</tt> </tt> <a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-56" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-56', 'data', 'link-52');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"Error:"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-comment">#e.g. 'Error: Your session has expired. Please repeat your search.\n'</tt> </tt> <a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt id="link-57" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-57', 'data', 'link-52');">data</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Class Bio.EUtils.DTDs.LinkOut.strip=Bio.EUtils.DTDs.LinkOut.strip-class.html,Method Bio.File.SGMLStripper.strip()=Bio.File.SGMLStripper-class.html#strip,Method Bio.SGMLExtractor.SGMLExtractor.strip()=Bio.SGMLExtractor.SGMLExtractor-class.html#strip"><a title="Bio.EUtils.DTDs.LinkOut.strip Bio.File.SGMLStripper.strip Bio.SGMLExtractor.SGMLExtractor.strip" class="py-name" href="#" onclick="return doclink('link-58', 'strip', 'link-58');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-59" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-59', 'data', 'link-52');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"The resource is temporarily unavailable"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-comment">#This can occur with an invalid query_key</tt> </tt> <a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#Perhaps this should be a ValueError?</tt> </tt> <a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"The resource is temporarily unavailable"</tt> </tt> <a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-60" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-60', 'data', 'link-52');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"download dataset is empty"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-comment">#This can occur when omit the identifier, or the WebEnv and query_key</tt> </tt> <a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#Perhaps this should be a ValueError?</tt> </tt> <a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"download dataset is empty"</tt> </tt> <a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-61" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-61', 'data', 'link-52');">data</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">5</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"ERROR"</tt><tt class="py-op">:</tt> </tt> <a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-comment"># XXX Possible bug here, because I don't know whether this really</tt> </tt> <a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># occurs on the first line. I need to check this!</tt> </tt> <a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"ERROR, possibly because id not available?"</tt> </tt> <a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-comment"># Should I check for 404? timeout? etc?</tt> </tt> <a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">uhandle</tt> </tt> </div><a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> </tt> <a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"><tt id="link-62" class="py-name"><a title="Bio.Entrez._open Bio.Mindy.BerkeleyDB._open Bio.SCOP._open Bio.WWW.ExPASy._open Bio.WWW.NCBI._open" class="py-name" href="#" onclick="return doclink('link-62', '_open', 'link-5');">_open</a></tt><tt class="py-op">.</tt><tt class="py-name">previous</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> </tt><script type="text/javascript"> <!-- expandto(location.href); // --> </script> </pre> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Mon Sep 15 09:26:54 2008 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>