<?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>Martel.IterParser</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="Martel-module.html">Package Martel</a> :: Module IterParser </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="Martel.IterParser-pysrc.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <h1 class="epydoc">Source Code for <a href="Martel.IterParser-module.html">Module Martel.IterParser</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 2000-2001, Dalke Scientific Software, LLC</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"># Distributed under the Biopython License Agreement (see the LICENSE file).</tt> </tt> <a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-docstring">"""Implement Martel parsers.</tt> </tt> <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-docstring">The classes in this module are used by other Martel modules and not</tt> </tt> <a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-docstring">typically by external users.</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">There are two major parsers, 'Parser' and 'RecordParser.' The first</tt> </tt> <a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-docstring">is the standard one, which parses the file as one string in memory</tt> </tt> <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-docstring">then generates the SAX events. The other reads a record at a time</tt> </tt> <a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-docstring">using a RecordReader and generates events after each read. The</tt> </tt> <a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-docstring">generated event callbacks are identical.</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">At some level, both parsers use "_do_callback" to convert mxTextTools</tt> </tt> <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-docstring">tags into SAX events.</tt> </tt> <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-docstring">XXX finish this documentation</tt> </tt> <a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring">XXX need a better way to get closer to the likely error position when</tt> </tt> <a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring">parsing.</tt> </tt> <a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring">XXX need to implement Locator</tt> </tt> <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt> <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">__future__</tt> <tt class="py-keyword">import</tt> <tt class="py-name">generators</tt> </tt> <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt> <a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt><tt class="py-op">,</tt> <tt class="py-name">traceback</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt> <a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">sax</tt> <tt class="py-keyword">import</tt> <tt class="py-name">handler</tt><tt class="py-op">,</tt> <tt class="py-name">saxutils</tt> </tt> <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" 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-0', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">,</tt> <tt id="link-1" class="py-name" targets="Module Martel.RecordReader=Martel.RecordReader-module.html,Class Martel.RecordReader.RecordReader=Martel.RecordReader.RecordReader-class.html"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-1', 'RecordReader', 'link-1');">RecordReader</a></tt> </tt> <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt> <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">cStringIO</tt> <tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt> <a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt> <a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">StringIO</tt> <tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt> <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt> <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt> <a name="IterRecords"></a><div id="IterRecords-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="IterRecords-toggle" onclick="return toggle('IterRecords');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.IterParser.IterRecords-class.html">IterRecords</a><tt class="py-op">:</tt> </tt> </div><div id="IterRecords-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IterRecords-expanded"><a name="IterRecords.__init__"></a><div id="IterRecords.__init__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="IterRecords.__init__-toggle" onclick="return toggle('IterRecords.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterRecords-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">record_parser</tt><tt class="py-op">,</tt> <tt class="py-param">make_reader</tt><tt class="py-op">,</tt> <tt class="py-param">reader_args</tt><tt class="py-op">,</tt> <tt class="py-param">marker_tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterRecords.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterRecords.__init__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">record_parser</tt> </tt> <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_reader</tt> <tt class="py-op">=</tt> <tt class="py-name">make_reader</tt> </tt> <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reader_args</tt> <tt class="py-op">=</tt> <tt class="py-name">reader_args</tt> </tt> <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">marker_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">marker_tag</tt> </tt> </div><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt> <a name="IterRecords.copy"></a><div id="IterRecords.copy-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="IterRecords.copy-toggle" onclick="return toggle('IterRecords.copy');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterRecords-class.html#copy">copy</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterRecords.copy-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterRecords.copy-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-2" class="py-name" targets="Class Martel.IterParser.IterRecords=Martel.IterParser.IterRecords-class.html"><a title="Martel.IterParser.IterRecords" class="py-name" href="#" onclick="return doclink('link-2', 'IterRecords', 'link-2');">IterRecords</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method Bio.Crystal.Crystal.copy()=Bio.Crystal.Crystal-class.html#copy,Method Bio.GA.Organism.Organism.copy()=Bio.GA.Organism.Organism-class.html#copy,Method Bio.GenBank.NCBIDictionary.copy()=Bio.GenBank.NCBIDictionary-class.html#copy,Method Bio.PDB.Vector'.Vector.copy()=Bio.PDB.Vector%27.Vector-class.html#copy,Method Bio.Prosite.ExPASyDictionary.copy()=Bio.Prosite.ExPASyDictionary-class.html#copy,Method Bio.Prosite.Pattern.PrositeTerm.copy()=Bio.Prosite.Pattern.PrositeTerm-class.html#copy,Method Bio.Prosite.Prodoc.ExPASyDictionary.copy()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#copy,Method Bio.PubMed.Dictionary.copy()=Bio.PubMed.Dictionary-class.html#copy,Method Bio.SwissProt.SProt.ExPASyDictionary.copy()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#copy,Method Martel.Expression.Any.copy()=Martel.Expression.Any-class.html#copy,Method Martel.Expression.AnyEol.copy()=Martel.Expression.AnyEol-class.html#copy,Method Martel.Expression.Assert.copy()=Martel.Expression.Assert-class.html#copy,Method Martel.Expression.AtBeginning.copy()=Martel.Expression.AtBeginning-class.html#copy,Method Martel.Expression.AtEnd.copy()=Martel.Expression.AtEnd-class.html#copy,Method Martel.Expression.Debug.copy()=Martel.Expression.Debug-class.html#copy,Method Martel.Expression.Dot.copy()=Martel.Expression.Dot-class.html#copy,Method Martel.Expression.Expression.copy()=Martel.Expression.Expression-class.html#copy,Method Martel.Expression.ExpressionList.copy()=Martel.Expression.ExpressionList-class.html#copy,Method Martel.Expression.FastFeature.copy()=Martel.Expression.FastFeature-class.html#copy,Method Martel.Expression.Group.copy()=Martel.Expression.Group-class.html#copy,Method Martel.Expression.GroupRef.copy()=Martel.Expression.GroupRef-class.html#copy,Method Martel.Expression.HeaderFooter.copy()=Martel.Expression.HeaderFooter-class.html#copy,Method Martel.Expression.Literal.copy()=Martel.Expression.Literal-class.html#copy,Method Martel.Expression.MaxRepeat.copy()=Martel.Expression.MaxRepeat-class.html#copy,Method Martel.Expression.NullOp.copy()=Martel.Expression.NullOp-class.html#copy,Method Martel.Expression.ParseRecords.copy()=Martel.Expression.ParseRecords-class.html#copy,Method Martel.Expression.PassThrough.copy()=Martel.Expression.PassThrough-class.html#copy,Method Martel.Expression.Str.copy()=Martel.Expression.Str-class.html#copy,Method Martel.IterParser.IterHeaderFooter.copy()=Martel.IterParser.IterHeaderFooter-class.html#copy,Method Martel.IterParser.IterRecords.copy()=Martel.IterParser.IterRecords-class.html#copy,Method Martel.Iterator.IteratorRecords.copy()=Martel.Iterator.IteratorRecords-class.html#copy,Method Martel.Parser.HeaderFooterParser.copy()=Martel.Parser.HeaderFooterParser-class.html#copy,Method Martel.Parser.Parser.copy()=Martel.Parser.Parser-class.html#copy,Method Martel.Parser.RecordParser.copy()=Martel.Parser.RecordParser-class.html#copy"><a title="Bio.Crystal.Crystal.copy Bio.GA.Organism.Organism.copy Bio.GenBank.NCBIDictionary.copy Bio.PDB.Vector'.Vector.copy Bio.Prosite.ExPASyDictionary.copy Bio.Prosite.Pattern.PrositeTerm.copy Bio.Prosite.Prodoc.ExPASyDictionary.copy Bio.PubMed.Dictionary.copy Bio.SwissProt.SProt.ExPASyDictionary.copy Martel.Expression.Any.copy Martel.Expression.AnyEol.copy Martel.Expression.Assert.copy Martel.Expression.AtBeginning.copy Martel.Expression.AtEnd.copy Martel.Expression.Debug.copy Martel.Expression.Dot.copy Martel.Expression.Expression.copy Martel.Expression.ExpressionList.copy Martel.Expression.FastFeature.copy Martel.Expression.Group.copy Martel.Expression.GroupRef.copy Martel.Expression.HeaderFooter.copy Martel.Expression.Literal.copy Martel.Expression.MaxRepeat.copy Martel.Expression.NullOp.copy Martel.Expression.ParseRecords.copy Martel.Expression.PassThrough.copy Martel.Expression.Str.copy Martel.IterParser.IterHeaderFooter.copy Martel.IterParser.IterRecords.copy Martel.Iterator.IteratorRecords.copy Martel.Parser.HeaderFooterParser.copy Martel.Parser.Parser.copy Martel.Parser.RecordParser.copy" class="py-name" href="#" onclick="return doclink('link-3', 'copy', 'link-3');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_reader</tt><tt class="py-op">,</tt> </tt> <a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reader_args</tt><tt class="py-op">,</tt> </tt> <a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">marker_tag</tt><tt class="py-op">)</tt> </tt> </div><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> </tt> <a name="IterRecords.iterate"></a><div id="IterRecords.iterate-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="IterRecords.iterate-toggle" onclick="return toggle('IterRecords.iterate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterRecords-class.html#iterate">iterate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">cont_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterRecords.iterate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterRecords.iterate-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt id="link-4" class="py-name" targets="Method Bio.GenBank._FeatureConsumer.source()=Bio.GenBank._FeatureConsumer-class.html#source,Method Bio.GenBank._RecordConsumer.source()=Bio.GenBank._RecordConsumer-class.html#source,Method Bio.Medline._RecordConsumer.source()=Bio.Medline._RecordConsumer-class.html#source,Method Bio.Pathway.Network.source()=Bio.Pathway.Network-class.html#source,Method Bio.Rebase._RecordConsumer.source()=Bio.Rebase._RecordConsumer-class.html#source"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-4', 'source', 'link-4');">source</a></tt> <tt class="py-op">=</tt> <tt class="py-name">saxutils</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Function Bio.EUtils.ReseekFile.prepare_input_source()=Bio.EUtils.ReseekFile-module.html#prepare_input_source"><a title="Bio.EUtils.ReseekFile.prepare_input_source" class="py-name" href="#" onclick="return doclink('link-5', 'prepare_input_source', 'link-5');">prepare_input_source</a></tt><tt class="py-op">(</tt><tt id="link-6" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-6', 'source', 'link-4');">source</a></tt><tt class="py-op">)</tt> </tt> <a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-7', 'source', 'link-4');">source</a></tt><tt class="py-op">.</tt><tt class="py-name">getCharacterStream</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt id="link-8" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-8', 'source', 'link-4');">source</a></tt><tt class="py-op">.</tt><tt class="py-name">getByteStream</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method Martel.IterParser.IterHeaderFooter.iterateFile()=Martel.IterParser.IterHeaderFooter-class.html#iterateFile,Method Martel.IterParser.IterRecords.iterateFile()=Martel.IterParser.IterRecords-class.html#iterateFile,Method Martel.Iterator.Iterator.iterateFile()=Martel.Iterator.Iterator-class.html#iterateFile,Method Martel.Iterator.IteratorHeaderFooter.iterateFile()=Martel.Iterator.IteratorHeaderFooter-class.html#iterateFile,Method Martel.Iterator.IteratorRecords.iterateFile()=Martel.Iterator.IteratorRecords-class.html#iterateFile"><a title="Martel.IterParser.IterHeaderFooter.iterateFile Martel.IterParser.IterRecords.iterateFile Martel.Iterator.Iterator.iterateFile Martel.Iterator.IteratorHeaderFooter.iterateFile Martel.Iterator.IteratorRecords.iterateFile" class="py-name" href="#" onclick="return doclink('link-9', 'iterateFile', 'link-9');">iterateFile</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-name">cont_handler</tt><tt class="py-op">)</tt> </tt> </div><a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> </tt> <a name="IterRecords.iterateString"></a><div id="IterRecords.iterateString-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="IterRecords.iterateString-toggle" onclick="return toggle('IterRecords.iterateString');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterRecords-class.html#iterateString">iterateString</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">,</tt> <tt class="py-param">cont_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterRecords.iterateString-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterRecords.iterateString-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="Martel.IterParser.IterHeaderFooter.iterateFile Martel.IterParser.IterRecords.iterateFile Martel.Iterator.Iterator.iterateFile Martel.Iterator.IteratorHeaderFooter.iterateFile Martel.Iterator.IteratorRecords.iterateFile" class="py-name" href="#" onclick="return doclink('link-10', 'iterateFile', 'link-9');">iterateFile</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name" targets="Variable Martel.test.test_swissprot38.s=Martel.test.test_swissprot38-module.html#s"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-11', 's', 'link-11');">s</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cont_handler</tt><tt class="py-op">)</tt> </tt> </div><a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> </tt> <a name="IterRecords.iterateFile"></a><div id="IterRecords.iterateFile-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="IterRecords.iterateFile-toggle" onclick="return toggle('IterRecords.iterateFile');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterRecords-class.html#iterateFile">iterateFile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileobj</tt><tt class="py-op">,</tt> <tt class="py-param">cont_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterRecords.iterateFile-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterRecords.iterateFile-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cont_handler</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Module Martel.LAX=Martel.LAX-module.html,Class Martel.LAX.LAX=Martel.LAX.LAX-class.html"><a title="Martel.LAX Martel.LAX.LAX" class="py-name" href="#" onclick="return doclink('link-12', 'LAX', 'link-12');">LAX</a></tt> </tt> <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">cont_handler</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="Martel.LAX Martel.LAX.LAX" class="py-name" href="#" onclick="return doclink('link-13', 'LAX', 'link-12');">LAX</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="Martel.LAX Martel.LAX.LAX" class="py-name" href="#" onclick="return doclink('link-14', 'LAX', 'link-12');">LAX</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt><tt class="py-op">.</tt><tt class="py-name">setContentHandler</tt><tt class="py-op">(</tt><tt class="py-name">cont_handler</tt><tt class="py-op">)</tt> </tt> <a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> </tt> <a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_reader</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reader_args</tt><tt class="py-op">)</tt> </tt> <a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-name">rec</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method Bio.AlignIO.ClustalIO.ClustalIterator.next()=Bio.AlignIO.ClustalIO.ClustalIterator-class.html#next,Method Bio.AlignIO.EmbossIO.EmbossIterator.next()=Bio.AlignIO.EmbossIO.EmbossIterator-class.html#next,Method Bio.AlignIO.FastaIO.FastaM10Iterator.next()=Bio.AlignIO.FastaIO.FastaM10Iterator-class.html#next,Method Bio.AlignIO.Interfaces.AlignmentIterator.next()=Bio.AlignIO.Interfaces.AlignmentIterator-class.html#next,Method Bio.AlignIO.PhylipIO.PhylipIterator.next()=Bio.AlignIO.PhylipIO.PhylipIterator-class.html#next,Method Bio.AlignIO.StockholmIO.StockholmIterator.next()=Bio.AlignIO.StockholmIO.StockholmIterator-class.html#next,Method Bio.Blast.NCBIStandalone.Iterator.next()=Bio.Blast.NCBIStandalone.Iterator-class.html#next,Method Bio.Blast.ParseBlastTable.BlastTableReader.next()=Bio.Blast.ParseBlastTable.BlastTableReader-class.html#next,Method Bio.CDD.Iterator.next()=Bio.CDD.Iterator-class.html#next,Method Bio.Compass.Iterator.next()=Bio.Compass.Iterator-class.html#next,Method Bio.DocSQL.IterationCursor.next()=Bio.DocSQL.IterationCursor-class.html#next,Method Bio.ECell.Iterator.next()=Bio.ECell.Iterator-class.html#next,Method Bio.Enzyme.Iterator.next()=Bio.Enzyme.Iterator-class.html#next,Method Bio.Fasta.Iterator.next()=Bio.Fasta.Iterator-class.html#next,Method Bio.GenBank.Iterator.next()=Bio.GenBank.Iterator-class.html#next,Method Bio.Gobase.Iterator.next()=Bio.Gobase.Iterator-class.html#next,Method Bio.IntelliGenetics.IntelliGeneticsReader.next()=Bio.IntelliGenetics.IntelliGeneticsReader-class.html#next,Method Bio.IntelliGenetics.Iterator.next()=Bio.IntelliGenetics.Iterator-class.html#next,Method Bio.LocusLink.Iterator.next()=Bio.LocusLink.Iterator-class.html#next,Method Bio.Medline.Iterator.next()=Bio.Medline.Iterator-class.html#next,Method Bio.MetaTool.Iterator.next()=Bio.MetaTool.Iterator-class.html#next,Method Bio.NBRF.Iterator.next()=Bio.NBRF.Iterator-class.html#next,Method Bio.Nexus.Nexus.CharBuffer.next()=Bio.Nexus.Nexus.CharBuffer-class.html#next,Method Bio.Prosite.Iterator.next()=Bio.Prosite.Iterator-class.html#next,Method Bio.Prosite.Prodoc.Iterator.next()=Bio.Prosite.Prodoc.Iterator-class.html#next,Method Bio.Rebase.Iterator.next()=Bio.Rebase.Iterator-class.html#next,Method Bio.SCOP.Cla.Iterator.next()=Bio.SCOP.Cla.Iterator-class.html#next,Method Bio.SCOP.Des.Iterator.next()=Bio.SCOP.Des.Iterator-class.html#next,Method Bio.SCOP.Dom.Iterator.next()=Bio.SCOP.Dom.Iterator-class.html#next,Method Bio.SCOP.Hie.Iterator.next()=Bio.SCOP.Hie.Iterator-class.html#next,Method Bio.SCOP.Raf.Iterator.next()=Bio.SCOP.Raf.Iterator-class.html#next,Method Bio.Saf.Iterator.next()=Bio.Saf.Iterator-class.html#next,Method Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next()=Bio.SeqIO.Interfaces.InterlacedSequenceIterator-class.html#next,Method Bio.SeqIO.Interfaces.SequenceIterator.next()=Bio.SeqIO.Interfaces.SequenceIterator-class.html#next,Method Bio.Sequencing.Ace.Iterator.next()=Bio.Sequencing.Ace.Iterator-class.html#next,Method Bio.Sequencing.Phd.Iterator.next()=Bio.Sequencing.Phd.Iterator-class.html#next,Method Bio.SwissProt.SProt.Iterator.next()=Bio.SwissProt.SProt.Iterator-class.html#next,Method Bio.UniGene.Iterator.next()=Bio.UniGene.Iterator-class.html#next,Method Martel.Iterator.EventStream.next()=Martel.Iterator.EventStream-class.html#next,Method Martel.Iterator.HeaderFooterEventStream.next()=Martel.Iterator.HeaderFooterEventStream-class.html#next,Method Martel.Iterator.Iterate.next()=Martel.Iterator.Iterate-class.html#next,Method Martel.Iterator.RecordEventStream.next()=Martel.Iterator.RecordEventStream-class.html#next,Method Martel.RecordReader.CountLines.next()=Martel.RecordReader.CountLines-class.html#next,Method Martel.RecordReader.EndsWith.next()=Martel.RecordReader.EndsWith-class.html#next,Method Martel.RecordReader.Everything.next()=Martel.RecordReader.Everything-class.html#next,Method Martel.RecordReader.Nothing.next()=Martel.RecordReader.Nothing-class.html#next,Method Martel.RecordReader.RecordReader.next()=Martel.RecordReader.RecordReader-class.html#next,Method Martel.RecordReader.StartsWith.next()=Martel.RecordReader.StartsWith-class.html#next,Method Martel.RecordReader.Until.next()=Martel.RecordReader.Until-class.html#next"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-15', 'next', 'link-15');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-16" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-16', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Class Martel.RecordReader.ReaderError=Martel.RecordReader.ReaderError-class.html"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-17', 'ReaderError', 'link-17');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-18" class="py-name"><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-18', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Class Martel.Parser.ParserPositionException=Martel.Parser.ParserPositionException-class.html"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-19', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt><tt class="py-op">)</tt> </tt> <a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">rec</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method Martel.Parser.HeaderFooterParser.parseString()=Martel.Parser.HeaderFooterParser-class.html#parseString,Method Martel.Parser.Parser.parseString()=Martel.Parser.Parser-class.html#parseString,Method Martel.Parser.RecordParser.parseString()=Martel.Parser.RecordParser-class.html#parseString"><a title="Martel.Parser.HeaderFooterParser.parseString Martel.Parser.Parser.parseString Martel.Parser.RecordParser.parseString" class="py-name" href="#" onclick="return doclink('link-20', 'parseString', 'link-20');">parseString</a></tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-21" class="py-name"><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-21', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-22', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">,</tt> <tt class="py-name">exc</tt><tt class="py-op">:</tt> </tt> <a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">exc</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> </tt> <a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> </tt> <a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> </tt> <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">cont_handler</tt> </tt> <a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> </tt> <a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> </tt> <a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Variable Bio.Affy.CelFile.remainder=Bio.Affy.CelFile-module.html#remainder,Variable Bio.LogisticRegression.remainder=Bio.LogisticRegression-module.html#remainder,Variable Bio.MarkovModel.remainder=Bio.MarkovModel-module.html#remainder,Variable Bio.MaxEntropy.remainder=Bio.MaxEntropy-module.html#remainder,Variable Bio.NaiveBayes.remainder=Bio.NaiveBayes-module.html#remainder,Variable Bio.Statistics.lowess.remainder=Bio.Statistics.lowess-module.html#remainder,Variable Bio.distance.remainder=Bio.distance-module.html#remainder,Variable Bio.kNN.remainder=Bio.kNN-module.html#remainder,Method Martel.RecordReader.CountLines.remainder()=Martel.RecordReader.CountLines-class.html#remainder,Method Martel.RecordReader.EndsWith.remainder()=Martel.RecordReader.EndsWith-class.html#remainder,Method Martel.RecordReader.Everything.remainder()=Martel.RecordReader.Everything-class.html#remainder,Method Martel.RecordReader.Nothing.remainder()=Martel.RecordReader.Nothing-class.html#remainder,Method Martel.RecordReader.RecordReader.remainder()=Martel.RecordReader.RecordReader-class.html#remainder,Method Martel.RecordReader.StartsWith.remainder()=Martel.RecordReader.StartsWith-class.html#remainder,Method Martel.RecordReader.Until.remainder()=Martel.RecordReader.Until-class.html#remainder"><a title="Bio.Affy.CelFile.remainder Bio.LogisticRegression.remainder Bio.MarkovModel.remainder Bio.MaxEntropy.remainder Bio.NaiveBayes.remainder Bio.Statistics.lowess.remainder Bio.distance.remainder Bio.kNN.remainder Martel.RecordReader.CountLines.remainder Martel.RecordReader.EndsWith.remainder Martel.RecordReader.Everything.remainder Martel.RecordReader.Nothing.remainder Martel.RecordReader.RecordReader.remainder Martel.RecordReader.StartsWith.remainder Martel.RecordReader.Until.remainder" class="py-name" href="#" onclick="return doclink('link-23', 'remainder', 'link-23');">remainder</a></tt><tt class="py-op">(</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">if</tt> <tt class="py-name">lookahead</tt> <tt class="py-keyword">or</tt> <tt class="py-name">fileobj</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method Bio.AlignAce.Motif.Motif.read()=Bio.AlignAce.Motif.Motif-class.html#read,Function Bio.AlignIO.read()=Bio.AlignIO-module.html#read,Function Bio.Cluster.read()=Bio.Cluster-module.html#read,Method Bio.EUtils.ReseekFile.ReseekFile.read()=Bio.EUtils.ReseekFile.ReseekFile-class.html#read,Function Bio.Entrez.read()=Bio.Entrez-module.html#read,Method Bio.File.SGMLHandle.read()=Bio.File.SGMLHandle-class.html#read,Method Bio.File.UndoHandle.read()=Bio.File.UndoHandle-class.html#read,Method Bio.FilteredReader.FilteredReader.read()=Bio.FilteredReader.FilteredReader-class.html#read,Method Bio.NeuralNetwork.Gene.Pattern.PatternIO.read()=Bio.NeuralNetwork.Gene.Pattern.PatternIO-class.html#read,Method Bio.Nexus.Nexus.Nexus.read()=Bio.Nexus.Nexus.Nexus-class.html#read,Function Bio.Prosite.Prodoc.read()=Bio.Prosite.Prodoc-module.html#read,Function Bio.Prosite.read()=Bio.Prosite-module.html#read,Method Bio.SGMLExtractor.SGMLExtractorHandle.read()=Bio.SGMLExtractor.SGMLExtractorHandle-class.html#read,Function Bio.SeqIO.read()=Bio.SeqIO-module.html#read,Function Bio.SwissProt.read()=Bio.SwissProt-module.html#read"><a title="Bio.AlignAce.Motif.Motif.read Bio.AlignIO.read Bio.Cluster.read Bio.EUtils.ReseekFile.ReseekFile.read Bio.Entrez.read Bio.File.SGMLHandle.read Bio.File.UndoHandle.read Bio.FilteredReader.FilteredReader.read Bio.NeuralNetwork.Gene.Pattern.PatternIO.read Bio.Nexus.Nexus.Nexus.read Bio.Prosite.Prodoc.read Bio.Prosite.read Bio.SGMLExtractor.SGMLExtractorHandle.read Bio.SeqIO.read Bio.SwissProt.read" class="py-name" href="#" onclick="return doclink('link-24', 'read', 'link-24');">read</a></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="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-25" class="py-name"><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-25', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-26', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt><tt class="py-op">)</tt> </tt> </div></div><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt> <a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt> <a name="IterHeaderFooter"></a><div id="IterHeaderFooter-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="IterHeaderFooter-toggle" onclick="return toggle('IterHeaderFooter');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Martel.IterParser.IterHeaderFooter-class.html">IterHeaderFooter</a><tt class="py-op">:</tt> </tt> </div><div id="IterHeaderFooter-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="IterHeaderFooter-expanded"><a name="IterHeaderFooter.__init__"></a><div id="IterHeaderFooter.__init__-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="IterHeaderFooter.__init__-toggle" onclick="return toggle('IterHeaderFooter.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterHeaderFooter-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> </tt> <a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-param">header_parser</tt><tt class="py-op">,</tt> <tt class="py-param">make_header_reader</tt><tt class="py-op">,</tt> <tt class="py-param">header_args</tt><tt class="py-op">,</tt> </tt> <a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-param">record_parser</tt><tt class="py-op">,</tt> <tt class="py-param">make_record_reader</tt><tt class="py-op">,</tt> <tt class="py-param">record_args</tt><tt class="py-op">,</tt> </tt> <a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-param">footer_parser</tt><tt class="py-op">,</tt> <tt class="py-param">make_footer_reader</tt><tt class="py-op">,</tt> <tt class="py-param">footer_args</tt><tt class="py-op">,</tt> </tt> <a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-param">marker_tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterHeaderFooter.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterHeaderFooter.__init__-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">header_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">header_parser</tt> </tt> <a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_header_reader</tt> <tt class="py-op">=</tt> <tt class="py-name">make_header_reader</tt> </tt> <a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">header_args</tt> <tt class="py-op">=</tt> <tt class="py-name">header_args</tt> </tt> <a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt> <a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">record_parser</tt> </tt> <a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_record_reader</tt> <tt class="py-op">=</tt> <tt class="py-name">make_record_reader</tt> </tt> <a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_args</tt> <tt class="py-op">=</tt> <tt class="py-name">record_args</tt> </tt> <a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> </tt> <a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">footer_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">footer_parser</tt> </tt> <a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_footer_reader</tt> <tt class="py-op">=</tt> <tt class="py-name">make_footer_reader</tt> </tt> <a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">footer_args</tt> <tt class="py-op">=</tt> <tt class="py-name">footer_args</tt> </tt> <a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> </tt> <a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">marker_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">marker_tag</tt> </tt> </div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt> <a name="IterHeaderFooter.copy"></a><div id="IterHeaderFooter.copy-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="IterHeaderFooter.copy-toggle" onclick="return toggle('IterHeaderFooter.copy');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterHeaderFooter-class.html#copy">copy</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterHeaderFooter.copy-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterHeaderFooter.copy-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">header_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">header_parser</tt> </tt> <a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">header_parser</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">header_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">header_parser</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="Bio.Crystal.Crystal.copy Bio.GA.Organism.Organism.copy Bio.GenBank.NCBIDictionary.copy Bio.PDB.Vector'.Vector.copy Bio.Prosite.ExPASyDictionary.copy Bio.Prosite.Pattern.PrositeTerm.copy Bio.Prosite.Prodoc.ExPASyDictionary.copy Bio.PubMed.Dictionary.copy Bio.SwissProt.SProt.ExPASyDictionary.copy Martel.Expression.Any.copy Martel.Expression.AnyEol.copy Martel.Expression.Assert.copy Martel.Expression.AtBeginning.copy Martel.Expression.AtEnd.copy Martel.Expression.Debug.copy Martel.Expression.Dot.copy Martel.Expression.Expression.copy Martel.Expression.ExpressionList.copy Martel.Expression.FastFeature.copy Martel.Expression.Group.copy Martel.Expression.GroupRef.copy Martel.Expression.HeaderFooter.copy Martel.Expression.Literal.copy Martel.Expression.MaxRepeat.copy Martel.Expression.NullOp.copy Martel.Expression.ParseRecords.copy Martel.Expression.PassThrough.copy Martel.Expression.Str.copy Martel.IterParser.IterHeaderFooter.copy Martel.IterParser.IterRecords.copy Martel.Iterator.IteratorRecords.copy Martel.Parser.HeaderFooterParser.copy Martel.Parser.Parser.copy Martel.Parser.RecordParser.copy" class="py-name" href="#" onclick="return doclink('link-27', 'copy', 'link-3');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">record_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="Bio.Crystal.Crystal.copy Bio.GA.Organism.Organism.copy Bio.GenBank.NCBIDictionary.copy Bio.PDB.Vector'.Vector.copy Bio.Prosite.ExPASyDictionary.copy Bio.Prosite.Pattern.PrositeTerm.copy Bio.Prosite.Prodoc.ExPASyDictionary.copy Bio.PubMed.Dictionary.copy Bio.SwissProt.SProt.ExPASyDictionary.copy Martel.Expression.Any.copy Martel.Expression.AnyEol.copy Martel.Expression.Assert.copy Martel.Expression.AtBeginning.copy Martel.Expression.AtEnd.copy Martel.Expression.Debug.copy Martel.Expression.Dot.copy Martel.Expression.Expression.copy Martel.Expression.ExpressionList.copy Martel.Expression.FastFeature.copy Martel.Expression.Group.copy Martel.Expression.GroupRef.copy Martel.Expression.HeaderFooter.copy Martel.Expression.Literal.copy Martel.Expression.MaxRepeat.copy Martel.Expression.NullOp.copy Martel.Expression.ParseRecords.copy Martel.Expression.PassThrough.copy Martel.Expression.Str.copy Martel.IterParser.IterHeaderFooter.copy Martel.IterParser.IterRecords.copy Martel.Iterator.IteratorRecords.copy Martel.Parser.HeaderFooterParser.copy Martel.Parser.Parser.copy Martel.Parser.RecordParser.copy" class="py-name" href="#" onclick="return doclink('link-28', 'copy', 'link-3');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">footer_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">footer_parser</tt> </tt> <a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">footer_parser</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">footer_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">footer_parser</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="Bio.Crystal.Crystal.copy Bio.GA.Organism.Organism.copy Bio.GenBank.NCBIDictionary.copy Bio.PDB.Vector'.Vector.copy Bio.Prosite.ExPASyDictionary.copy Bio.Prosite.Pattern.PrositeTerm.copy Bio.Prosite.Prodoc.ExPASyDictionary.copy Bio.PubMed.Dictionary.copy Bio.SwissProt.SProt.ExPASyDictionary.copy Martel.Expression.Any.copy Martel.Expression.AnyEol.copy Martel.Expression.Assert.copy Martel.Expression.AtBeginning.copy Martel.Expression.AtEnd.copy Martel.Expression.Debug.copy Martel.Expression.Dot.copy Martel.Expression.Expression.copy Martel.Expression.ExpressionList.copy Martel.Expression.FastFeature.copy Martel.Expression.Group.copy Martel.Expression.GroupRef.copy Martel.Expression.HeaderFooter.copy Martel.Expression.Literal.copy Martel.Expression.MaxRepeat.copy Martel.Expression.NullOp.copy Martel.Expression.ParseRecords.copy Martel.Expression.PassThrough.copy Martel.Expression.Str.copy Martel.IterParser.IterHeaderFooter.copy Martel.IterParser.IterRecords.copy Martel.Iterator.IteratorRecords.copy Martel.Parser.HeaderFooterParser.copy Martel.Parser.Parser.copy Martel.Parser.RecordParser.copy" class="py-name" href="#" onclick="return doclink('link-29', 'copy', 'link-3');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> </tt> <a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-30" class="py-name" targets="Class Martel.IterParser.IterHeaderFooter=Martel.IterParser.IterHeaderFooter-class.html"><a title="Martel.IterParser.IterHeaderFooter" class="py-name" href="#" onclick="return doclink('link-30', 'IterHeaderFooter', 'link-30');">IterHeaderFooter</a></tt><tt class="py-op">(</tt> </tt> <a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">header_parser</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_header_reader</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">header_args</tt><tt class="py-op">,</tt> </tt> <a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-name">record_parser</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_record_reader</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_args</tt><tt class="py-op">,</tt> </tt> <a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">footer_parser</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_footer_reader</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">footer_args</tt><tt class="py-op">,</tt> </tt> <a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">marker_tag</tt><tt class="py-op">)</tt> </tt> </div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt> <a name="IterHeaderFooter.iterate"></a><div id="IterHeaderFooter.iterate-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="IterHeaderFooter.iterate-toggle" onclick="return toggle('IterHeaderFooter.iterate');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterHeaderFooter-class.html#iterate">iterate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">cont_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterHeaderFooter.iterate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterHeaderFooter.iterate-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-docstring">"""parse using the URL or file handle"""</tt> </tt> <a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt id="link-31" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-31', 'source', 'link-4');">source</a></tt> <tt class="py-op">=</tt> <tt class="py-name">saxutils</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="Bio.EUtils.ReseekFile.prepare_input_source" class="py-name" href="#" onclick="return doclink('link-32', 'prepare_input_source', 'link-5');">prepare_input_source</a></tt><tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-33', 'source', 'link-4');">source</a></tt><tt class="py-op">)</tt> </tt> <a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-34', 'source', 'link-4');">source</a></tt><tt class="py-op">.</tt><tt class="py-name">getCharacterStream</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt id="link-35" class="py-name"><a title="Bio.GenBank._FeatureConsumer.source Bio.GenBank._RecordConsumer.source Bio.Medline._RecordConsumer.source Bio.Pathway.Network.source Bio.Rebase._RecordConsumer.source" class="py-name" href="#" onclick="return doclink('link-35', 'source', 'link-4');">source</a></tt><tt class="py-op">.</tt><tt class="py-name">getByteStream</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="Martel.IterParser.IterHeaderFooter.iterateFile Martel.IterParser.IterRecords.iterateFile Martel.Iterator.Iterator.iterateFile Martel.Iterator.IteratorHeaderFooter.iterateFile Martel.Iterator.IteratorRecords.iterateFile" class="py-name" href="#" onclick="return doclink('link-36', 'iterateFile', 'link-9');">iterateFile</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-name">cont_handler</tt><tt class="py-op">)</tt> </tt> </div><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> </tt> <a name="IterHeaderFooter.iterateString"></a><div id="IterHeaderFooter.iterateString-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="IterHeaderFooter.iterateString-toggle" onclick="return toggle('IterHeaderFooter.iterateString');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterHeaderFooter-class.html#iterateString">iterateString</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">,</tt> <tt class="py-param">cont_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterHeaderFooter.iterateString-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterHeaderFooter.iterateString-expanded"><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="Martel.IterParser.IterHeaderFooter.iterateFile Martel.IterParser.IterRecords.iterateFile Martel.Iterator.Iterator.iterateFile Martel.Iterator.IteratorHeaderFooter.iterateFile Martel.Iterator.IteratorRecords.iterateFile" class="py-name" href="#" onclick="return doclink('link-37', 'iterateFile', 'link-9');">iterateFile</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-38" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-38', 's', 'link-11');">s</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cont_handler</tt><tt class="py-op">)</tt> </tt> </div><a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt> <a name="IterHeaderFooter.iterateFile"></a><div id="IterHeaderFooter.iterateFile-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="IterHeaderFooter.iterateFile-toggle" onclick="return toggle('IterHeaderFooter.iterateFile');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.IterParser.IterHeaderFooter-class.html#iterateFile">iterateFile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileobj</tt><tt class="py-op">,</tt> <tt class="py-param">cont_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="IterHeaderFooter.iterateFile-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="IterHeaderFooter.iterateFile-expanded"><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cont_handler</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">import</tt> <tt id="link-39" class="py-name"><a title="Martel.LAX Martel.LAX.LAX" class="py-name" href="#" onclick="return doclink('link-39', 'LAX', 'link-12');">LAX</a></tt> </tt> <a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">cont_handler</tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="Martel.LAX Martel.LAX.LAX" class="py-name" href="#" onclick="return doclink('link-40', 'LAX', 'link-12');">LAX</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="Martel.LAX Martel.LAX.LAX" class="py-name" href="#" onclick="return doclink('link-41', 'LAX', 'link-12');">LAX</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt><tt class="py-op">.</tt><tt class="py-name">setContentHandler</tt><tt class="py-op">(</tt><tt class="py-name">cont_handler</tt><tt class="py-op">)</tt> </tt> <a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> </tt> <a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt> <a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-comment"># By construction, we never need events from the header</tt> </tt> <a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># nor from the footer</tt> </tt> <a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">header_parser</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_header_reader</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">header_args</tt><tt class="py-op">,</tt> </tt> <a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-op">**</tt><tt class="py-op">{</tt><tt class="py-string">"lookahead"</tt><tt class="py-op">:</tt> <tt class="py-name">lookahead</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt> <a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">rec</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-42', 'next', 'link-15');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-43" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-43', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-44', 'ReaderError', 'link-17');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-45" class="py-name"><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-45', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-46', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt><tt class="py-op">)</tt> </tt> <a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">header_parser</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="Martel.Parser.HeaderFooterParser.parseString Martel.Parser.Parser.parseString Martel.Parser.RecordParser.parseString" class="py-name" href="#" onclick="return doclink('link-47', 'parseString', 'link-20');">parseString</a></tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> </tt> <a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="Bio.Affy.CelFile.remainder Bio.LogisticRegression.remainder Bio.MarkovModel.remainder Bio.MaxEntropy.remainder Bio.NaiveBayes.remainder Bio.Statistics.lowess.remainder Bio.distance.remainder Bio.kNN.remainder Martel.RecordReader.CountLines.remainder Martel.RecordReader.EndsWith.remainder Martel.RecordReader.Everything.remainder Martel.RecordReader.Nothing.remainder Martel.RecordReader.RecordReader.remainder Martel.RecordReader.StartsWith.remainder Martel.RecordReader.Until.remainder" class="py-name" href="#" onclick="return doclink('link-48', 'remainder', 'link-23');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> </tt> <a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_record_reader</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_args</tt><tt class="py-op">,</tt> </tt> <a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-op">**</tt><tt class="py-op">{</tt><tt class="py-string">"lookahead"</tt><tt class="py-op">:</tt> <tt class="py-name">lookahead</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt> <a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> </tt> <a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">footer_parser</tt><tt class="py-op">:</tt> </tt> <a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">rec</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-49', 'next', 'link-15');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-50" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-50', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-51', 'ReaderError', 'link-17');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-52" class="py-name"><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-52', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-53', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt><tt class="py-op">)</tt> </tt> <a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">rec</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="Martel.Parser.HeaderFooterParser.parseString Martel.Parser.Parser.parseString Martel.Parser.RecordParser.parseString" class="py-name" href="#" onclick="return doclink('link-54', 'parseString', 'link-20');">parseString</a></tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-55" class="py-name"><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-55', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-56', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">,</tt> <tt class="py-name">exc</tt><tt class="py-op">:</tt> </tt> <a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-name">exc</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> </tt> <a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> </tt> <a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">cont_handler</tt> </tt> <a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> </tt> <a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt> <a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> </tt> <a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-comment"># This one is tedious</tt> </tt> <a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt> <a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">rec</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-57', 'next', 'link-15');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-58" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-58', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-59', 'ReaderError', 'link-17');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-comment"># we may have stumbled into the footer</tt> </tt> <a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="Bio.Affy.CelFile.remainder Bio.LogisticRegression.remainder Bio.MarkovModel.remainder Bio.MaxEntropy.remainder Bio.NaiveBayes.remainder Bio.Statistics.lowess.remainder Bio.distance.remainder Bio.kNN.remainder Martel.RecordReader.CountLines.remainder Martel.RecordReader.EndsWith.remainder Martel.RecordReader.Everything.remainder Martel.RecordReader.Nothing.remainder Martel.RecordReader.RecordReader.remainder Martel.RecordReader.StartsWith.remainder Martel.RecordReader.Until.remainder" class="py-name" href="#" onclick="return doclink('link-60', 'remainder', 'link-23');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> </tt> <a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">rec</tt><tt class="py-op">:</tt> </tt> <a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-comment"># maybe there's a footer left</tt> </tt> <a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="Bio.Affy.CelFile.remainder Bio.LogisticRegression.remainder Bio.MarkovModel.remainder Bio.MaxEntropy.remainder Bio.NaiveBayes.remainder Bio.Statistics.lowess.remainder Bio.distance.remainder Bio.kNN.remainder Martel.RecordReader.CountLines.remainder Martel.RecordReader.EndsWith.remainder Martel.RecordReader.Everything.remainder Martel.RecordReader.Nothing.remainder Martel.RecordReader.RecordReader.remainder Martel.RecordReader.StartsWith.remainder Martel.RecordReader.Until.remainder" class="py-name" href="#" onclick="return doclink('link-61', 'remainder', 'link-23');">remainder</a></tt><tt class="py-op">(</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">break</tt> </tt> <a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> </tt> <a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">record_parser</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="Martel.Parser.HeaderFooterParser.parseString Martel.Parser.Parser.parseString Martel.Parser.RecordParser.parseString" class="py-name" href="#" onclick="return doclink('link-62', 'parseString', 'link-20');">parseString</a></tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-63" class="py-name"><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-63', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Class Martel.Parser.ParserException=Martel.Parser.ParserException-class.html"><a title="Martel.Parser.ParserException" class="py-name" href="#" onclick="return doclink('link-64', 'ParserException', 'link-64');">ParserException</a></tt><tt class="py-op">:</tt> </tt> <a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-comment"># we may have tried to parse the footer</tt> </tt> <a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="Bio.Affy.CelFile.remainder Bio.LogisticRegression.remainder Bio.MarkovModel.remainder Bio.MaxEntropy.remainder Bio.NaiveBayes.remainder Bio.Statistics.lowess.remainder Bio.distance.remainder Bio.kNN.remainder Martel.RecordReader.CountLines.remainder Martel.RecordReader.EndsWith.remainder Martel.RecordReader.Everything.remainder Martel.RecordReader.Nothing.remainder Martel.RecordReader.RecordReader.remainder Martel.RecordReader.StartsWith.remainder Martel.RecordReader.Until.remainder" class="py-name" href="#" onclick="return doclink('link-65', 'remainder', 'link-23');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">rec</tt> <tt class="py-op">+</tt> <tt class="py-name">lookahead</tt> </tt> <a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">cont_handler</tt> </tt> <a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> </tt> <a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> </tt> <a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-comment"># Try to read the footer</tt> </tt> <a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">make_footer_reader</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">footer_args</tt><tt class="py-op">,</tt> </tt> <a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-op">**</tt><tt class="py-op">{</tt><tt class="py-string">"lookahead"</tt><tt class="py-op">:</tt> <tt class="py-name">lookahead</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt> <a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">rec</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-66', 'next', 'link-15');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-67" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-67', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-68', 'ReaderError', 'link-17');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-69" class="py-name"><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-69', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-70', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt><tt class="py-op">)</tt> </tt> <a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> </tt> <a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">rec</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-comment"># Could read any footer</tt> </tt> <a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">raise</tt> <tt id="link-71" class="py-name"><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-71', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-72', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt><tt class="py-op">)</tt> </tt> <a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> </tt> <a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">footer_parser</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="Martel.Parser.HeaderFooterParser.parseString Martel.Parser.Parser.parseString Martel.Parser.RecordParser.parseString" class="py-name" href="#" onclick="return doclink('link-73', 'parseString', 'link-20');">parseString</a></tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-74" class="py-name"><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-74', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="Martel.Parser.ParserPositionException" class="py-name" href="#" onclick="return doclink('link-75', 'ParserPositionException', 'link-19');">ParserPositionException</a></tt><tt class="py-op">,</tt> <tt class="py-name">exc</tt><tt class="py-op">:</tt> </tt> <a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-name">exc</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> </tt> <a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> </tt> <a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">)</tt> </tt> <a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_position</tt> </tt> <a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> </tt> <a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">fileobj</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="Bio.Affy.CelFile.remainder Bio.LogisticRegression.remainder Bio.MarkovModel.remainder Bio.MaxEntropy.remainder Bio.NaiveBayes.remainder Bio.Statistics.lowess.remainder Bio.distance.remainder Bio.kNN.remainder Martel.RecordReader.CountLines.remainder Martel.RecordReader.EndsWith.remainder Martel.RecordReader.Everything.remainder Martel.RecordReader.Nothing.remainder Martel.RecordReader.RecordReader.remainder Martel.RecordReader.StartsWith.remainder Martel.RecordReader.Until.remainder" class="py-name" href="#" onclick="return doclink('link-76', 'remainder', 'link-23');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">lookahead</tt> <tt class="py-keyword">or</tt> <tt class="py-name">fileobj</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="Bio.AlignAce.Motif.Motif.read Bio.AlignIO.read Bio.Cluster.read Bio.EUtils.ReseekFile.ReseekFile.read Bio.Entrez.read Bio.File.SGMLHandle.read Bio.File.UndoHandle.read Bio.FilteredReader.FilteredReader.read Bio.NeuralNetwork.Gene.Pattern.PatternIO.read Bio.Nexus.Nexus.Nexus.read Bio.Prosite.Prodoc.read Bio.Prosite.read Bio.SGMLExtractor.SGMLExtractorHandle.read Bio.SeqIO.read Bio.SwissProt.read" class="py-name" href="#" onclick="return doclink('link-77', 'read', 'link-24');">read</a></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="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-78" class="py-name"><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-78', 'Parser', 'link-0');">Parser</a></tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Class Martel.Parser.ParserIncompleteException=Martel.Parser.ParserIncompleteException-class.html"><a title="Martel.Parser.ParserIncompleteException" class="py-name" href="#" onclick="return doclink('link-79', 'ParserIncompleteException', 'link-79');">ParserIncompleteException</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_position</tt><tt class="py-op">)</tt> </tt> </div></div><a name="L225"></a><tt class="py-lineno">225</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:52 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>