<?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.test.test_RecordReader2</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> :: <a href="Martel.test-module.html">Package test</a> :: Module test_RecordReader2 </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.test.test_RecordReader2-pysrc.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <h1 class="epydoc">Source Code for <a href="Martel.test.test_RecordReader2-module.html">Module Martel.test.test_RecordReader2</a></h1> <pre class="py-src"> <a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Still more tests of the RecordReader. This one stresses the ability</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"># to find newlines and pass in lookahead text</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-keyword">from</tt> <tt class="py-name">cStringIO</tt> <tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt> <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt> <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package Martel=Martel-module.html"><a title="Martel" class="py-name" href="#" onclick="return doclink('link-0', 'Martel', 'link-0');">Martel</a></tt> <tt class="py-keyword">import</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="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mx</tt> <tt class="py-keyword">import</tt> <tt class="py-name">TextTools</tt> <tt class="py-keyword">as</tt> <tt class="py-name">TT</tt> </tt> <a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"> </tt> <a name="count_records"></a><div id="count_records-def"><a name="L9"></a><tt class="py-lineno"> 9</tt> <a class="py-toggle" href="#" id="count_records-toggle" onclick="return toggle('count_records');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#count_records">count_records</a><tt class="py-op">(</tt><tt class="py-param">reader</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="count_records-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="count_records-expanded"><a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> <tt id="link-2" class="py-name" targets="Variable Bio.PDB.Polypeptide.i=Bio.PDB.Polypeptide-module.html#i"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-2', 'i', 'link-2');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> <tt class="py-comment">#print "Testing new reader", reader</tt> </tt> <a name="L12"></a><tt class="py-lineno"> 12</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="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> <tt id="link-3" class="py-name" targets="Variable Bio.MarkovModel.x=Bio.MarkovModel-module.html#x,Variable Bio.Statistics.lowess.x=Bio.Statistics.lowess-module.html#x"><a title="Bio.MarkovModel.x Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-3', 'x', 'link-3');">x</a></tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-4" 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-4', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> <tt class="py-comment">#print "Read", repr(x)</tt> </tt> <a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-5" class="py-name"><a title="Bio.MarkovModel.x Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-5', 'x', 'link-3');">x</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> <tt id="link-6" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-6', 'i', 'link-2');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-7', 'i', 'link-2');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-8" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-8', 'i', 'link-2');">i</a></tt> </tt> </div><a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt> <a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"># Notice how this omits the final newline?</tt> </tt> <a name="normalize"></a><div id="normalize-def"><a name="L21"></a><tt class="py-lineno"> 21</tt> <a class="py-toggle" href="#" id="normalize-toggle" onclick="return toggle('normalize');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#normalize">normalize</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="normalize-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="normalize-expanded"><a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">TT</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt id="link-9" 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-9', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt> </div><a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt> <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> </tt> <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt> <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable Martel.test.test_RecordReader2.data1=Martel.test.test_RecordReader2-module.html#data1"><a title="Martel.test.test_RecordReader2.data1" class="py-name" href="#" onclick="return doclink('link-10', 'data1', 'link-10');">data1</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"""\</tt> </tt> <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-string">ID Q1234</tt> </tt> <a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-string">DE Some protein</tt> </tt> <a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-string">SQ blah</tt> </tt> <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-string"> ABCDE FGHIJ</tt> </tt> <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-string">//</tt> </tt> <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-string">ID Q2345</tt> </tt> <a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-string">DE ID</tt> </tt> <a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-string">SQ lahb</tt> </tt> <a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-string"> ID just checking</tt> </tt> <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-string"> BCDEF GHIJA</tt> </tt> <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-string">//</tt> </tt> <a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-string">ID Q3456</tt> </tt> <a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-string">DE me proteinSo</tt> </tt> <a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-string">SQ ahbl</tt> </tt> <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-string"> CDEFG HIJID</tt> </tt> <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-string">//</tt> </tt> <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt id="link-11" class="py-name"><a title="Martel.test.test_RecordReader2.data1" class="py-name" href="#" onclick="return doclink('link-11', 'data1', 'link-10');">data1</a></tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name" targets="Class Bio.EUtils.DTDs.LinkOut.normalize=Bio.EUtils.DTDs.LinkOut.normalize-class.html,Method Bio.PDB.Vector'.Vector.normalize()=Bio.PDB.Vector%27.Vector-class.html#normalize,Method Bio.config.FormatRegistry.FormatRegistry.normalize()=Bio.config.FormatRegistry.FormatRegistry-class.html#normalize,Function Martel.test.test_RecordReader2.normalize()=Martel.test.test_RecordReader2-module.html#normalize"><a title="Bio.EUtils.DTDs.LinkOut.normalize Bio.PDB.Vector'.Vector.normalize Bio.config.FormatRegistry.FormatRegistry.normalize Martel.test.test_RecordReader2.normalize" class="py-name" href="#" onclick="return doclink('link-12', 'normalize', 'link-12');">normalize</a></tt><tt class="py-op">(</tt><tt id="link-13" class="py-name"><a title="Martel.test.test_RecordReader2.data1" class="py-name" href="#" onclick="return doclink('link-13', 'data1', 'link-10');">data1</a></tt><tt class="py-op">)</tt> </tt> <a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> </tt> <a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-comment">### StartsWith</tt> </tt> <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="test_startswith_generic"></a><div id="test_startswith_generic-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="test_startswith_generic-toggle" onclick="return toggle('test_startswith_generic');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_startswith_generic">test_startswith_generic</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_startswith_generic-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_startswith_generic-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt class="py-name">to_eol_data</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">"A\n"</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="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"AA\n"</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="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nB\n"</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="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nB\nB\n"</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="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nB\nB\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">2</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-op">(</tt><tt class="py-string">"A\nA\nB\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\n A\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A A A A A A A A A A A A A A\nB\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt> <a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-14" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-14', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt> <tt class="py-keyword">in</tt> <tt class="py-name">to_eol_data</tt><tt class="py-op">:</tt> </tt> <a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-15', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Class Martel.RecordReader.StartsWith=Martel.RecordReader.StartsWith-class.html"><a title="Martel.RecordReader.StartsWith" class="py-name" href="#" onclick="return doclink('link-16', 'StartsWith', 'link-16');">StartsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-17', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"A"</tt><tt class="py-op">)</tt> </tt> <a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt id="link-18" class="py-name" targets="Method Bio.Crystal.Chain.count()=Bio.Crystal.Chain-class.html#count,Method Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count()=Bio.NeuralNetwork.Gene.Pattern.PatternRepository-class.html#count,Method Bio.Seq.MutableSeq.count()=Bio.Seq.MutableSeq-class.html#count,Method Bio.Seq.Seq.count()=Bio.Seq.Seq-class.html#count,Function Bio.listfns.count()=Bio.listfns-module.html#count"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-18', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name" targets="Function Martel.test.test_RecordReader2.count_records()=Martel.test.test_RecordReader2-module.html#count_records"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-19', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-20" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-20', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-21', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-22', 'count', 'link-18');">count</a></tt><tt class="py-op">)</tt> <tt class="py-comment"># skips to EOL</tt> </tt> </div><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt> <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> </tt> <a name="test_startswith_SP"></a><div id="test_startswith_SP-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="test_startswith_SP-toggle" onclick="return toggle('test_startswith_SP');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_startswith_SP">test_startswith_SP</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_startswith_SP-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_startswith_SP-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># Check using a SWISS-PROT-like format</tt> </tt> <a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-23" class="py-name" targets="Variable Bio.expressions.blast.wublast.ending=Bio.expressions.blast.wublast-module.html#ending"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-23', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-24" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-24', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt id="link-25" class="py-name"><a title="Martel.test.test_RecordReader2.data1" class="py-name" href="#" onclick="return doclink('link-25', 'data1', 'link-10');">data1</a></tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-26', 'ending', 'link-23');">ending</a></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">for</tt> <tt class="py-name">final</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-27" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-27', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt id="link-28" class="py-name" targets="Variable Bio.EUtils.setup.d=Bio.EUtils.setup-module.html#d"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-28', 'd', 'link-28');">d</a></tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-29', 's', 'link-9');">s</a></tt> <tt class="py-op">+</tt> <tt class="py-name">final</tt> </tt> <a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt> <a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-30" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-30', 'i', 'link-2');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-31', 'd', 'link-28');">d</a></tt><tt class="py-op">)</tt> </tt> <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-32', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="Martel.RecordReader.StartsWith" class="py-name" href="#" onclick="return doclink('link-33', 'StartsWith', 'link-16');">StartsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"ID"</tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-34', 'i', 'link-2');">i</a></tt><tt class="py-op">)</tt> </tt> <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt id="link-35" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-35', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-36', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</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">assert</tt> <tt id="link-37" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-37', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-38" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-38', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">final</tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-39', 'i', 'link-2');">i</a></tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-40', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-41" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-41', 'd', 'link-28');">d</a></tt><tt class="py-op">)</tt> </tt> <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> </tt> <a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-42" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-42', 'i', 'link-2');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">6</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">)</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">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-43', 'd', 'link-28');">d</a></tt><tt class="py-op">)</tt> </tt> <a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-44', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="Martel.RecordReader.StartsWith" class="py-name" href="#" onclick="return doclink('link-45', 'StartsWith', 'link-16');">StartsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"ID "</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-46', 'i', 'link-2');">i</a></tt><tt class="py-op">)</tt> </tt> <a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt id="link-47" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-47', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-48', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-49" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-49', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-50" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-50', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">final</tt><tt class="py-op">,</tt> <tt id="link-51" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-51', 'i', 'link-2');">i</a></tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-52', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-53" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-53', 'd', 'link-28');">d</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt> <a name="test_startswith_exhaustive"></a><div id="test_startswith_exhaustive-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="test_startswith_exhaustive-toggle" onclick="return toggle('test_startswith_exhaustive');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_startswith_exhaustive">test_startswith_exhaustive</a><tt class="py-op">(</tt><tt class="py-param">ending</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_startswith_exhaustive-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_startswith_exhaustive-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-comment"># Exhaustive test of the various combinations. Should catch most</tt> </tt> <a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># edge conditions.</tt> </tt> <a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">base</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"A"</tt> <tt class="py-op">+</tt> <tt id="link-54" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-54', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-string">"A"</tt> <tt class="py-op">+</tt> <tt id="link-55" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-55', 'ending', 'link-23');">ending</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"BA"</tt> <tt class="py-op">+</tt> <tt id="link-56" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-56', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">repeat</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">15</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt id="link-57" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-57', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">base</tt> <tt class="py-op">*</tt> <tt class="py-name">repeat</tt> </tt> <a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-58', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment">#for marker in ("A", "A\n"): # Don't use; bug when using "\n"</tt> </tt> <a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">marker</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"A"</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">base</tt> <tt class="py-op">*</tt> <tt class="py-name">look</tt> </tt> <a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">readhint</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method Bio.EUtils.ReseekFile.ReseekFile.seek()=Bio.EUtils.ReseekFile.ReseekFile-class.html#seek,Method Bio.File.UndoHandle.seek()=Bio.File.UndoHandle-class.html#seek,Method Martel.msre_parse.Tokenizer.seek()=Martel.msre_parse.Tokenizer-class.html#seek"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-59', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> <a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-60', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="Martel.RecordReader.StartsWith" class="py-name" href="#" onclick="return doclink('link-61', 'StartsWith', 'link-16');">StartsWith</a></tt><tt class="py-op">(</tt>\ </tt> <a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> <tt class="py-name">readhint</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt><tt class="py-op">)</tt> </tt> <a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt id="link-62" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-62', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-63', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-64" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-64', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">repeat</tt> <tt class="py-op">+</tt> <tt class="py-name">look</tt><tt class="py-op">,</tt> \ </tt> <a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-65', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-66" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-66', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-name">repeat</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> </tt> <a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">look</tt><tt class="py-op">,</tt> <tt class="py-name">readhint</tt><tt class="py-op">)</tt> </tt> <a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-67', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> <a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-68', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="Martel.RecordReader.StartsWith" class="py-name" href="#" onclick="return doclink('link-69', 'StartsWith', 'link-16');">StartsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> </tt> <a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">lookahead</tt><tt class="py-op">)</tt> </tt> <a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt id="link-70" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-70', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-71', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-72" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-72', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">repeat</tt> <tt class="py-op">+</tt> <tt class="py-name">look</tt><tt class="py-op">,</tt> \ </tt> <a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-73', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-74" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-74', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">repeat</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> <tt class="py-name">look</tt><tt class="py-op">)</tt> </tt> </div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt> <a name="test_startswith_remainder"></a><div id="test_startswith_remainder-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="test_startswith_remainder-toggle" onclick="return toggle('test_startswith_remainder');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_startswith_remainder">test_startswith_remainder</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_startswith_remainder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_startswith_remainder-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-comment"># Make sure the remainder method works</tt> </tt> <a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">repeat</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</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">vals</tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name" targets="Method Bio.GFF.FeatureAggregate.map()=Bio.GFF.FeatureAggregate-class.html#map"><a title="Bio.GFF.FeatureAggregate.map" class="py-name" href="#" onclick="return doclink('link-75', 'map', 'link-75');">map</a></tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt id="link-76" class="py-name"><a title="Bio.MarkovModel.x Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-76', 'x', 'link-3');">x</a></tt><tt class="py-op">:</tt> <tt class="py-string">"A\n%d\n"</tt> <tt class="py-op">%</tt> <tt id="link-77" class="py-name"><a title="Bio.MarkovModel.x Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-77', 'x', 'link-3');">x</a></tt><tt class="py-op">,</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">repeat</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 id="link-78" class="py-name" targets="Variable BioSQL.BioSeq.DBSeq.data=BioSQL.BioSeq.DBSeq-class.html#data"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-78', 'data', 'link-78');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">,</tt> <tt class="py-string">""</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">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-79" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-79', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> <a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-80', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-81', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">look</tt><tt class="py-op">)</tt> </tt> <a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt id="link-82" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-82', 'data', 'link-78');">data</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">look</tt><tt class="py-op">]</tt> </tt> <a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-83', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="Martel.RecordReader.StartsWith" class="py-name" href="#" onclick="return doclink('link-84', 'StartsWith', 'link-16');">StartsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"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">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">lookahead</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">all</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L121"></a><tt class="py-lineno">121</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="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-name">lh</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-85" 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-85', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method Bio.EUtils.ReseekFile.ReseekFile.tell()=Bio.EUtils.ReseekFile.ReseekFile-class.html#tell,Method Bio.File.UndoHandle.tell()=Bio.File.UndoHandle-class.html#tell,Method Martel.msre_parse.Tokenizer.tell()=Martel.msre_parse.Tokenizer-class.html#tell"><a title="Bio.EUtils.ReseekFile.ReseekFile.tell Bio.File.UndoHandle.tell Martel.msre_parse.Tokenizer.tell" class="py-name" href="#" onclick="return doclink('link-86', 'tell', 'link-86');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt id="link-87" class="py-name" targets="Method Bio.Nexus.Nexus.CharBuffer.rest()=Bio.Nexus.Nexus.CharBuffer-class.html#rest"><a title="Bio.Nexus.Nexus.CharBuffer.rest" class="py-name" href="#" onclick="return doclink('link-87', 'rest', 'link-87');">rest</a></tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-88" 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-88', 'read', 'link-88');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">all</tt> <tt class="py-op">+</tt> <tt class="py-name">lh</tt> <tt class="py-op">+</tt> <tt id="link-89" class="py-name"><a title="Bio.Nexus.Nexus.CharBuffer.rest" class="py-name" href="#" onclick="return doclink('link-89', 'rest', 'link-87');">rest</a></tt> <tt class="py-op">==</tt> <tt id="link-90" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-90', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">,</tt> <tt class="py-name">lh</tt><tt class="py-op">,</tt> <tt id="link-91" class="py-name"><a title="Bio.Nexus.Nexus.CharBuffer.rest" class="py-name" href="#" onclick="return doclink('link-91', 'rest', 'link-87');">rest</a></tt><tt class="py-op">,</tt> <tt id="link-92" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-92', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> <a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-93', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">pos</tt><tt class="py-op">)</tt> </tt> <a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-94" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-94', 'data', 'link-78');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-95', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">all</tt><tt class="py-op">)</tt> </tt> <a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt id="link-96" class="py-name" targets="Variable Bio.Emboss.primer3_format.record=Bio.Emboss.primer3_format-module.html#record,Variable Bio.Emboss.primersearch_format.record=Bio.Emboss.primersearch_format-module.html#record,Method Bio.GFF.Feature.record()=Bio.GFF.Feature-class.html#record,Variable Bio.LocusLink.web_parse.record=Bio.LocusLink.web_parse-module.html#record,Variable Bio.Ndb.record=Bio.Ndb-module.html#record,Function Bio.Std.record()=Bio.Std-module.html#record,Variable Bio.expressions.blocks.record=Bio.expressions.blocks-module.html#record,Variable Bio.expressions.embl.embl65.record=Bio.expressions.embl.embl65-module.html#record,Variable Bio.expressions.fasta.record=Bio.expressions.fasta-module.html#record,Variable Bio.expressions.genbank.record=Bio.expressions.genbank-module.html#record,Variable Bio.expressions.hmmpfam.record=Bio.expressions.hmmpfam-module.html#record,Variable Bio.expressions.swissprot.ipi.record=Bio.expressions.swissprot.ipi-module.html#record,Variable Bio.expressions.swissprot.speclist.record=Bio.expressions.swissprot.speclist-module.html#record,Variable Bio.expressions.swissprot.sprot38.record=Bio.expressions.swissprot.sprot38-module.html#record,Variable Bio.expressions.swissprot.sprot40.record=Bio.expressions.swissprot.sprot40-module.html#record,Variable Martel.test.test_swissprot38.record=Martel.test.test_swissprot38-module.html#record,Variable Martel.test.testformats.swissprot38.record=Martel.test.testformats.swissprot38-module.html#record"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-96', 'record', 'link-96');">record</a></tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-97" 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-97', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-98" class="py-name"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-98', 'record', 'link-96');">record</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">all</tt> <tt class="py-op">=</tt> <tt class="py-name">all</tt> <tt class="py-op">+</tt> <tt id="link-99" class="py-name"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-99', 'record', 'link-96');">record</a></tt> </tt> <a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">all</tt> <tt class="py-op">==</tt> <tt id="link-100" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-100', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">,</tt> <tt id="link-101" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-101', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> </tt> <a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt> <a name="test_startswith_errors"></a><div id="test_startswith_errors-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="test_startswith_errors-toggle" onclick="return toggle('test_startswith_errors');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_startswith_errors">test_startswith_errors</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_startswith_errors-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_startswith_errors-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-comment"># Check the failure cases. Actually, there's only one.</tt> </tt> <a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-comment"># Doesn't start with A</tt> </tt> <a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-102" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-102', 's', 'link-9');">s</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"B"</tt><tt class="py-op">,</tt> <tt class="py-string">"B\n"</tt><tt class="py-op">,</tt> <tt class="py-string">" A\n"</tt><tt class="py-op">,</tt> <tt class="py-string">" A"</tt><tt class="py-op">,</tt> <tt class="py-string">"B\nA\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-103" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-103', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-comment"># The current implementation will fail here, but the</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"># interface spec allows the error to be unreported</tt> </tt> <a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># until reading the record.</tt> </tt> <a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-104', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="Martel.RecordReader.StartsWith" class="py-name" href="#" onclick="return doclink('link-105', 'StartsWith', 'link-16');">StartsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"A"</tt><tt class="py-op">)</tt> </tt> <a name="L146"></a><tt class="py-lineno">146</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-106" 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-106', 'next', 'link-4');">next</a></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">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">,</tt> <tt class="py-string">"should not allow %r"</tt> <tt class="py-op">%</tt> <tt id="link-107" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-107', 's', 'link-9');">s</a></tt> </tt> <a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-108" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-108', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-109" 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-109', 'ReaderError', 'link-109');">ReaderError</a></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">pass</tt> </tt> <a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">,</tt> <tt class="py-string">"should not get here"</tt> </tt> </div><a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> </tt> <a name="test_startswith"></a><div id="test_startswith-def"><a name="L153"></a><tt class="py-lineno">153</tt> <a class="py-toggle" href="#" id="test_startswith-toggle" onclick="return toggle('test_startswith');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_startswith">test_startswith</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_startswith-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_startswith-expanded"><a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Testing StartsWith"</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-keyword">print</tt> <tt class="py-string">" ... generic"</tt> </tt> <a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt id="link-110" class="py-name" targets="Function Martel.test.test_RecordReader2.test_startswith_generic()=Martel.test.test_RecordReader2-module.html#test_startswith_generic"><a title="Martel.test.test_RecordReader2.test_startswith_generic" class="py-name" href="#" onclick="return doclink('link-110', 'test_startswith_generic', 'link-110');">test_startswith_generic</a></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">print</tt> <tt class="py-string">" ... newline variations"</tt> </tt> <a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt id="link-111" class="py-name" targets="Function Martel.test.test_RecordReader2.test_startswith_SP()=Martel.test.test_RecordReader2-module.html#test_startswith_SP"><a title="Martel.test.test_RecordReader2.test_startswith_SP" class="py-name" href="#" onclick="return doclink('link-111', 'test_startswith_SP', 'link-111');">test_startswith_SP</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> </tt> <a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-112" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-112', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</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">print</tt> <tt class="py-string">" ... exhaustive testing against %r"</tt> <tt class="py-op">%</tt> <tt id="link-113" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-113', 'ending', 'link-23');">ending</a></tt> </tt> <a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt id="link-114" class="py-name" targets="Function Martel.test.test_RecordReader2.test_startswith_exhaustive()=Martel.test.test_RecordReader2-module.html#test_startswith_exhaustive"><a title="Martel.test.test_RecordReader2.test_startswith_exhaustive" class="py-name" href="#" onclick="return doclink('link-114', 'test_startswith_exhaustive', 'link-114');">test_startswith_exhaustive</a></tt><tt class="py-op">(</tt><tt id="link-115" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-115', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> </tt> <a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... remainder"</tt> </tt> <a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt id="link-116" class="py-name" targets="Function Martel.test.test_RecordReader2.test_startswith_remainder()=Martel.test.test_RecordReader2-module.html#test_startswith_remainder"><a title="Martel.test.test_RecordReader2.test_startswith_remainder" class="py-name" href="#" onclick="return doclink('link-116', 'test_startswith_remainder', 'link-116');">test_startswith_remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> </tt> <a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... format errors"</tt> </tt> <a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt id="link-117" class="py-name" targets="Function Martel.test.test_RecordReader2.test_startswith_errors()=Martel.test.test_RecordReader2-module.html#test_startswith_errors"><a title="Martel.test.test_RecordReader2.test_startswith_errors" class="py-name" href="#" onclick="return doclink('link-117', 'test_startswith_errors', 'link-117');">test_startswith_errors</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> </div><a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> </tt> <a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-comment">### EndsWith</tt> </tt> <a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="test_endswith_generic"></a><div id="test_endswith_generic-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="test_endswith_generic-toggle" onclick="return toggle('test_endswith_generic');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_endswith_generic">test_endswith_generic</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_endswith_generic-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_endswith_generic-expanded"><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-name">to_eol_data</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">"A\n"</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="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"AA\n"</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="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"B\nA\n"</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="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"B\nB\nA\n"</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="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A A\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># this changes with an "A\n" reader</tt> </tt> <a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"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="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nA A\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># this changes with an "A\n" reader</tt> </tt> <a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nA A\nA"</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># this changes with an "A\n" reader</tt> </tt> <a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt> <a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-118" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-118', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt> <tt class="py-keyword">in</tt> <tt class="py-name">to_eol_data</tt><tt class="py-op">:</tt> </tt> <a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-119" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-119', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Class Martel.RecordReader.EndsWith=Martel.RecordReader.EndsWith-class.html"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-120', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-121" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-121', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"A"</tt><tt class="py-op">)</tt> </tt> <a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt id="link-122" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-122', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-123" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-123', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-124" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-124', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-125" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-125', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt id="link-126" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-126', 'count', 'link-18');">count</a></tt><tt class="py-op">)</tt> <tt class="py-comment"># skips to EOL</tt> </tt> <a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> </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-name">newline_data</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">"A\n"</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="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-comment">#("AA\n", 1), # not legal</tt> </tt> <a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"B\nA\n"</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="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"B\nB\nA\n"</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="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">2</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-op">(</tt><tt class="py-string">"A A\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># this changed with an "A\n" reader</tt> </tt> <a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"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="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nA A\nA\n"</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># this changed with an "A\n" reader</tt> </tt> <a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-string">"A\nA A\nA"</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># this changed with an "A\n" reader</tt> </tt> <a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt> <a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-127" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-127', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt> <tt class="py-keyword">in</tt> <tt class="py-name">newline_data</tt><tt class="py-op">:</tt> </tt> <a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-128" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-128', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-129', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-130" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-130', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"A\n"</tt><tt class="py-op">)</tt> </tt> <a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt id="link-131" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-131', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-132', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-133" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-133', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-134" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-134', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt id="link-135" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-135', 'count', 'link-18');">count</a></tt><tt class="py-op">)</tt> <tt class="py-comment"># expects newline</tt> </tt> </div><a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> </tt> <a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> </tt> <a name="test_endswith_SP"></a><div id="test_endswith_SP-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="test_endswith_SP-toggle" onclick="return toggle('test_endswith_SP');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_endswith_SP">test_endswith_SP</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_endswith_SP-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_endswith_SP-expanded"><a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-comment"># Check using a SWISS-PROT-like format</tt> </tt> <a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-136" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-136', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt id="link-137" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-137', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt id="link-138" class="py-name"><a title="Martel.test.test_RecordReader2.data1" class="py-name" href="#" onclick="return doclink('link-138', 'data1', 'link-10');">data1</a></tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-139" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-139', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">final</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-140" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-140', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt id="link-141" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-141', 'd', 'link-28');">d</a></tt> <tt class="py-op">=</tt> <tt id="link-142" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-142', 's', 'link-9');">s</a></tt> <tt class="py-op">+</tt> <tt class="py-name">final</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-name">loop</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-143" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-143', 'i', 'link-2');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-144" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-144', 'd', 'link-28');">d</a></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">reader</tt> <tt class="py-op">=</tt> <tt id="link-145" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-145', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-146', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"//"</tt><tt class="py-op">,</tt> <tt id="link-147" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-147', 'i', 'link-2');">i</a></tt><tt class="py-op">)</tt> </tt> <a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt id="link-148" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-148', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-149" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-149', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-150" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-150', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-151" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-151', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">final</tt><tt class="py-op">,</tt> <tt id="link-152" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-152', 'i', 'link-2');">i</a></tt><tt class="py-op">,</tt> <tt id="link-153" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-153', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-154" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-154', 'd', 'link-28');">d</a></tt><tt class="py-op">)</tt> </tt> <a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> </tt> <a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-155" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-155', 'i', 'link-2');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-156" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-156', 'd', 'link-28');">d</a></tt><tt class="py-op">)</tt> </tt> <a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-157" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-157', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-158', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"//\n"</tt><tt class="py-op">,</tt> <tt id="link-159" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-159', 'i', 'link-2');">i</a></tt><tt class="py-op">)</tt> </tt> <a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt id="link-160" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-160', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-161" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-161', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-162" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-162', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-163" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-163', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">final</tt><tt class="py-op">,</tt> <tt id="link-164" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-164', 'i', 'link-2');">i</a></tt><tt class="py-op">,</tt> <tt id="link-165" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-165', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-166" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-166', 'd', 'link-28');">d</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> </tt> <a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> </tt> <a name="test_endswith_exhaustive"></a><div id="test_endswith_exhaustive-def"><a name="L228"></a><tt class="py-lineno">228</tt> <a class="py-toggle" href="#" id="test_endswith_exhaustive-toggle" onclick="return toggle('test_endswith_exhaustive');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_endswith_exhaustive">test_endswith_exhaustive</a><tt class="py-op">(</tt><tt class="py-param">ending</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_endswith_exhaustive-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_endswith_exhaustive-expanded"><a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-comment"># Exhaustive test of the various combinations. Should catch most</tt> </tt> <a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># edge conditions.</tt> </tt> <a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">base</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"A"</tt> <tt class="py-op">+</tt> <tt id="link-167" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-167', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-string">"BA"</tt> <tt class="py-op">+</tt> <tt id="link-168" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-168', 'ending', 'link-23');">ending</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"A"</tt> <tt class="py-op">+</tt> <tt id="link-169" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-169', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">repeat</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">15</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt id="link-170" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-170', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">base</tt> <tt class="py-op">*</tt> <tt class="py-name">repeat</tt> </tt> <a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-171" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-171', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">marker</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"A"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">base</tt> <tt class="py-op">*</tt> <tt class="py-name">look</tt> </tt> <a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">readhint</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-172', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> <a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-173" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-173', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-174', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt>\ </tt> <a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> <tt class="py-name">readhint</tt><tt class="py-op">,</tt> <tt class="py-name">lookahead</tt><tt class="py-op">)</tt> </tt> <a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt id="link-175" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-175', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-176" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-176', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-177" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-177', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">repeat</tt> <tt class="py-op">+</tt> <tt class="py-name">look</tt><tt class="py-op">,</tt> \ </tt> <a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-178" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-178', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-179" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-179', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-name">repeat</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> </tt> <a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-name">look</tt><tt class="py-op">,</tt> <tt class="py-name">readhint</tt><tt class="py-op">)</tt> </tt> <a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-180', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> <a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-181" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-181', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-182', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> </tt> <a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">lookahead</tt><tt class="py-op">)</tt> </tt> <a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt id="link-183" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-183', 'count', 'link-18');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-184" class="py-name"><a title="Martel.test.test_RecordReader2.count_records" class="py-name" href="#" onclick="return doclink('link-184', 'count_records', 'link-19');">count_records</a></tt><tt class="py-op">(</tt><tt class="py-name">reader</tt><tt class="py-op">)</tt> </tt> <a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-185" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-185', 'count', 'link-18');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">repeat</tt> <tt class="py-op">+</tt> <tt class="py-name">look</tt><tt class="py-op">,</tt> \ </tt> <a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-186" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-186', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt id="link-187" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-187', 'ending', 'link-23');">ending</a></tt><tt class="py-op">,</tt> <tt class="py-name">repeat</tt><tt class="py-op">,</tt> <tt class="py-name">marker</tt><tt class="py-op">,</tt> <tt class="py-name">look</tt><tt class="py-op">)</tt> </tt> </div><a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> </tt> <a name="test_endswith_remainder"></a><div id="test_endswith_remainder-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="test_endswith_remainder-toggle" onclick="return toggle('test_endswith_remainder');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_endswith_remainder">test_endswith_remainder</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_endswith_remainder-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_endswith_remainder-expanded"><a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-comment"># Make sure the remainder method works</tt> </tt> <a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">repeat</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">vals</tt> <tt class="py-op">=</tt> <tt id="link-188" class="py-name"><a title="Bio.GFF.FeatureAggregate.map" class="py-name" href="#" onclick="return doclink('link-188', 'map', 'link-75');">map</a></tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt id="link-189" class="py-name"><a title="Bio.MarkovModel.x Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-189', 'x', 'link-3');">x</a></tt><tt class="py-op">:</tt> <tt class="py-string">"%d\nA\n"</tt> <tt class="py-op">%</tt> <tt id="link-190" class="py-name"><a title="Bio.MarkovModel.x Bio.Statistics.lowess.x" class="py-name" href="#" onclick="return doclink('link-190', 'x', 'link-3');">x</a></tt><tt class="py-op">,</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">repeat</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt id="link-191" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-191', 'data', 'link-78');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt> <a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-192" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-192', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> <a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-193" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-193', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-194', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">look</tt><tt class="py-op">)</tt> </tt> <a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt id="link-195" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-195', 'data', 'link-78');">data</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">look</tt><tt class="py-op">]</tt> </tt> <a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-196" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-196', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-197', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"A"</tt><tt class="py-op">,</tt> </tt> <a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">lookahead</tt><tt class="py-op">)</tt> </tt> <a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">all</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L265"></a><tt class="py-lineno">265</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="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-name">lh</tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-198" 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-198', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.tell Bio.File.UndoHandle.tell Martel.msre_parse.Tokenizer.tell" class="py-name" href="#" onclick="return doclink('link-199', 'tell', 'link-86');">tell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt id="link-200" class="py-name"><a title="Bio.Nexus.Nexus.CharBuffer.rest" class="py-name" href="#" onclick="return doclink('link-200', 'rest', 'link-87');">rest</a></tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-201" 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-201', 'read', 'link-88');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">all</tt> <tt class="py-op">+</tt> <tt class="py-name">lh</tt> <tt class="py-op">+</tt> <tt id="link-202" class="py-name"><a title="Bio.Nexus.Nexus.CharBuffer.rest" class="py-name" href="#" onclick="return doclink('link-202', 'rest', 'link-87');">rest</a></tt> <tt class="py-op">==</tt> <tt id="link-203" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-203', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">,</tt> <tt class="py-name">lh</tt><tt class="py-op">,</tt> <tt id="link-204" class="py-name"><a title="Bio.Nexus.Nexus.CharBuffer.rest" class="py-name" href="#" onclick="return doclink('link-204', 'rest', 'link-87');">rest</a></tt><tt class="py-op">,</tt> <tt id="link-205" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-205', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> <a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.seek Bio.File.UndoHandle.seek Martel.msre_parse.Tokenizer.seek" class="py-name" href="#" onclick="return doclink('link-206', 'seek', 'link-59');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">pos</tt><tt class="py-op">)</tt> </tt> <a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-207" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-207', 'data', 'link-78');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-208" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-208', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">all</tt><tt class="py-op">)</tt> </tt> <a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt id="link-209" class="py-name"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-209', 'record', 'link-96');">record</a></tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-210" 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-210', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-211" class="py-name"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-211', 'record', 'link-96');">record</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-name">all</tt> <tt class="py-op">=</tt> <tt class="py-name">all</tt> <tt class="py-op">+</tt> <tt id="link-212" class="py-name"><a title="Bio.Emboss.primer3_format.record Bio.Emboss.primersearch_format.record Bio.GFF.Feature.record Bio.LocusLink.web_parse.record Bio.Ndb.record Bio.Std.record Bio.expressions.blocks.record Bio.expressions.embl.embl65.record Bio.expressions.fasta.record Bio.expressions.genbank.record Bio.expressions.hmmpfam.record Bio.expressions.swissprot.ipi.record Bio.expressions.swissprot.speclist.record Bio.expressions.swissprot.sprot38.record Bio.expressions.swissprot.sprot40.record Martel.test.test_swissprot38.record Martel.test.testformats.swissprot38.record" class="py-name" href="#" onclick="return doclink('link-212', 'record', 'link-96');">record</a></tt> </tt> <a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">all</tt> <tt class="py-op">==</tt> <tt id="link-213" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-213', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">,</tt> <tt id="link-214" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-214', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> </tt> <a name="test_endswith_errors"></a><div id="test_endswith_errors-def"><a name="L278"></a><tt class="py-lineno">278</tt> <a class="py-toggle" href="#" id="test_endswith_errors-toggle" onclick="return toggle('test_endswith_errors');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_endswith_errors">test_endswith_errors</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_endswith_errors-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_endswith_errors-expanded"><a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-comment"># Check the failure cases.</tt> </tt> <a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-comment"># Could no record at all</tt> </tt> <a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Could be some records followed by an incomplete record</tt> </tt> <a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Could be a line which partially matches the data</tt> </tt> <a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-215" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-215', 's', 'link-9');">s</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"B"</tt><tt class="py-op">,</tt> <tt class="py-string">"B\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\nB\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\nB\nA\nB\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\nB\nA\n "</tt><tt class="py-op">,</tt> <tt class="py-string">"AA"</tt><tt class="py-op">,</tt> </tt> <a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-string">"AA\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\nB\nA X\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">has_error</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-216" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-216', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-217" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-217', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-218', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"A\n"</tt><tt class="py-op">)</tt> </tt> <a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-219" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-219', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-220', 'ReaderError', 'link-109');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-name">has_error</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> </tt> <a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt><tt class="py-op">:</tt> </tt> <a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt><tt class="py-op">:</tt> </tt> <a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L296"></a><tt class="py-lineno">296</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-221" 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-221', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-222" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-222', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-223', 'ReaderError', 'link-109');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-name">has_error</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt> <tt class="py-keyword">and</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="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt><tt class="py-op">:</tt> </tt> <a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">,</tt> <tt class="py-string">"should not get here with %r"</tt> <tt class="py-op">%</tt> <tt id="link-224" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-224', 's', 'link-9');">s</a></tt> </tt> <a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> </tt> <a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-comment"># Could no record at all</tt> </tt> <a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Could be some records followed by an incomplete record</tt> </tt> <a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># *Allowed* to read rest of line</tt> </tt> <a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-225" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-225', 's', 'link-9');">s</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"B"</tt><tt class="py-op">,</tt> <tt class="py-string">"B\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\nB\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\nB\nA\nB\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"A\nB\nA\n "</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-name">has_error</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-226" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-226', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-227" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-227', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="Martel.RecordReader.EndsWith" class="py-name" href="#" onclick="return doclink('link-228', 'EndsWith', 'link-120');">EndsWith</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"A"</tt><tt class="py-op">)</tt> </tt> <a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-229" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-229', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-230', 'ReaderError', 'link-109');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">has_error</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> </tt> <a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt><tt class="py-op">:</tt> </tt> <a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt><tt class="py-op">:</tt> </tt> <a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L318"></a><tt class="py-lineno">318</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-231" 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-231', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-232" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-232', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-233', 'ReaderError', 'link-109');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> <tt class="py-name">has_error</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt> <tt class="py-keyword">and</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="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">has_error</tt><tt class="py-op">:</tt> </tt> <a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">,</tt> <tt class="py-string">"should not get here with %r"</tt> <tt class="py-op">%</tt> <tt id="link-234" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-234', 's', 'link-9');">s</a></tt> </tt> </div><a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> </tt> <a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> </tt> <a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> </tt> <a name="test_endswith"></a><div id="test_endswith-def"><a name="L328"></a><tt class="py-lineno">328</tt> <a class="py-toggle" href="#" id="test_endswith-toggle" onclick="return toggle('test_endswith');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_endswith">test_endswith</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_endswith-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_endswith-expanded"><a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Testing EndsWith"</tt> </tt> <a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> </tt> <a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... generic"</tt> </tt> <a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt id="link-235" class="py-name" targets="Function Martel.test.test_RecordReader2.test_endswith_generic()=Martel.test.test_RecordReader2-module.html#test_endswith_generic"><a title="Martel.test.test_RecordReader2.test_endswith_generic" class="py-name" href="#" onclick="return doclink('link-235', 'test_endswith_generic', 'link-235');">test_endswith_generic</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> </tt> <a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... newline variations"</tt> </tt> <a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt id="link-236" class="py-name" targets="Function Martel.test.test_RecordReader2.test_endswith_SP()=Martel.test.test_RecordReader2-module.html#test_endswith_SP"><a title="Martel.test.test_RecordReader2.test_endswith_SP" class="py-name" href="#" onclick="return doclink('link-236', 'test_endswith_SP', 'link-236');">test_endswith_SP</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> </tt> <a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-237" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-237', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... exhaustive testing against %r"</tt> <tt class="py-op">%</tt> <tt id="link-238" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-238', 'ending', 'link-23');">ending</a></tt> </tt> <a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt id="link-239" class="py-name" targets="Function Martel.test.test_RecordReader2.test_endswith_exhaustive()=Martel.test.test_RecordReader2-module.html#test_endswith_exhaustive"><a title="Martel.test.test_RecordReader2.test_endswith_exhaustive" class="py-name" href="#" onclick="return doclink('link-239', 'test_endswith_exhaustive', 'link-239');">test_endswith_exhaustive</a></tt><tt class="py-op">(</tt><tt id="link-240" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-240', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> </tt> <a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... remainder"</tt> </tt> <a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> <tt id="link-241" class="py-name" targets="Function Martel.test.test_RecordReader2.test_endswith_remainder()=Martel.test.test_RecordReader2-module.html#test_endswith_remainder"><a title="Martel.test.test_RecordReader2.test_endswith_remainder" class="py-name" href="#" onclick="return doclink('link-241', 'test_endswith_remainder', 'link-241');">test_endswith_remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> </tt> <a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... format errors"</tt> </tt> <a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt id="link-242" class="py-name" targets="Function Martel.test.test_RecordReader2.test_endswith_errors()=Martel.test.test_RecordReader2-module.html#test_endswith_errors"><a title="Martel.test.test_RecordReader2.test_endswith_errors" class="py-name" href="#" onclick="return doclink('link-242', 'test_endswith_errors', 'link-242');">test_endswith_errors</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> </div><a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> </tt> <a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"><tt class="py-comment">### Until</tt> </tt> <a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"><tt class="py-comment"># Don't need to do that much testing since the code is built on</tt> </tt> <a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># top of the StartsWith reader, which has already been tested.</tt> </tt> <a name="test_until"></a><div id="test_until-def"><a name="L351"></a><tt class="py-lineno">351</tt> <a class="py-toggle" href="#" id="test_until-toggle" onclick="return toggle('test_until');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_until">test_until</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_until-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_until-expanded"><a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-comment"># Can only read at most one record</tt> </tt> <a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">print</tt> <tt class="py-string">"Testing Until"</tt> </tt> <a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-name">test_data</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">"A"</tt><tt class="py-op">,</tt> </tt> <a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-string">"A\n"</tt><tt class="py-op">,</tt> </tt> <a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-string">"A\nB"</tt><tt class="py-op">,</tt> </tt> <a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-string">"A\nB\n"</tt><tt class="py-op">,</tt> </tt> <a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-string">"A\nBCDE\nQWE\nTRYU\nA\n"</tt><tt class="py-op">,</tt> </tt> <a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-string">"A\nA\nA\nA\nA\nA\nA\n"</tt><tt class="py-op">,</tt> </tt> <a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt class="py-string">"AB"</tt><tt class="py-op">,</tt> </tt> <a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-string">"AB\n"</tt><tt class="py-op">,</tt> </tt> <a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-string">"AB\nAC"</tt><tt class="py-op">,</tt> </tt> <a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-string">"AB\nAC\n"</tt><tt class="py-op">,</tt> </tt> <a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt> <a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> </tt> <a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-243" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-243', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">pre</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-string">"B\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"BA\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"CA\nBA\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-name">pre_nl</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-name">pre</tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-244" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-244', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-245" class="py-name" targets="Method Bio.EUtils.POM.ElementNode.text()=Bio.EUtils.POM.ElementNode-class.html#text,Method Bio.Prosite.Prodoc._RecordConsumer.text()=Bio.Prosite.Prodoc._RecordConsumer-class.html#text,Variable Martel.test.test_Iterator.text=Martel.test.test_Iterator-module.html#text,Variable Martel.test.test_ParseRecords.text=Martel.test.test_ParseRecords-module.html#text"><a title="Bio.EUtils.POM.ElementNode.text Bio.Prosite.Prodoc._RecordConsumer.text Martel.test.test_Iterator.text Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-245', 'text', 'link-245');">text</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">test_data</tt><tt class="py-op">:</tt> </tt> <a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-name">text_nl</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt id="link-246" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text Bio.Prosite.Prodoc._RecordConsumer.text Martel.test.test_Iterator.text Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-246', 'text', 'link-245');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-247" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-247', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt id="link-248" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-248', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-name">pre_nl</tt> <tt class="py-op">+</tt> <tt class="py-name">text_nl</tt> </tt> <a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-249" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-249', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-250" class="py-name" targets="Class Martel.RecordReader.Until=Martel.RecordReader.Until-class.html"><a title="Martel.RecordReader.Until" class="py-name" href="#" onclick="return doclink('link-250', 'Until', 'link-250');">Until</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-251" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-251', 's', 'link-9');">s</a></tt><tt class="py-op">[</tt><tt class="py-name">look</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> <tt class="py-string">"A"</tt><tt class="py-op">,</tt> </tt> <a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt id="link-252" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-252', 's', 'link-9');">s</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">look</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-name">sizehint</tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt> <a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-name">found_record</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L378"></a><tt class="py-lineno">378</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="L379"></a><tt class="py-lineno">379</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-253" 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-253', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L380"></a><tt class="py-lineno">380</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="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">found_record</tt><tt class="py-op">,</tt> \ </tt> <a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-string">"Already found %r but also found %r in %r"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">found_record</tt><tt class="py-op">,</tt> <tt class="py-name">rec</tt><tt class="py-op">,</tt> <tt id="link-254" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-254', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-name">found_record</tt> <tt class="py-op">=</tt> <tt class="py-name">rec</tt> </tt> <a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> </tt> <a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">found_record</tt> <tt class="py-op">==</tt> <tt class="py-name">pre_nl</tt><tt class="py-op">,</tt> \ </tt> <a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> <tt class="py-string">"Expecting record %r, found %r in %r"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">pre_nl</tt><tt class="py-op">,</tt> <tt class="py-name">found_record</tt><tt class="py-op">,</tt> <tt id="link-255" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-255', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt id="link-256" 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-256', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-257" 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-257', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt id="link-258" 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-258', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">=</tt> <tt id="link-259" 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-259', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">+</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-260" 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-260', 'read', 'link-88');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-261" 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-261', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">==</tt> <tt class="py-name">text_nl</tt><tt class="py-op">,</tt> \ </tt> <a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-string">"Expecting remainder %r, found %r in %r"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">text_nl</tt><tt class="py-op">,</tt> <tt id="link-262" 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-262', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">,</tt> <tt id="link-263" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-263', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> </tt> <a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"><tt class="py-comment">### CountLines</tt> </tt> <a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="test_count_lines"></a><div id="test_count_lines-def"><a name="L398"></a><tt class="py-lineno">398</tt> <a class="py-toggle" href="#" id="test_count_lines-toggle" onclick="return toggle('test_count_lines');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_count_lines">test_count_lines</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_count_lines-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_count_lines-expanded"><a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-comment"># Create a set of 'i' lines and read 'count' lines at a time.</tt> </tt> <a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Either count divides i or it doesn't. If it does, the reader</tt> </tt> <a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># should go to completion. If it does not, the reader should</tt> </tt> <a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># have a remainder whose size can be verified.</tt> </tt> <a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Testing CountLines"</tt> </tt> <a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-264" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-264', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">" ... exhaustive testing against %r"</tt> <tt class="py-op">%</tt> <tt id="link-265" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-265', 'ending', 'link-23');">ending</a></tt> </tt> <a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt id="link-266" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-266', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-267" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-267', 'i', 'link-2');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">25</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-268" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-268', 'count', 'link-18');">count</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt id="link-269" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-269', 'i', 'link-2');">i</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="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-name">rep</tt><tt class="py-op">,</tt> <tt class="py-name">final</tt> <tt class="py-op">=</tt> <tt class="py-name">divmod</tt><tt class="py-op">(</tt><tt id="link-270" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-270', 'i', 'link-2');">i</a></tt><tt class="py-op">,</tt> <tt id="link-271" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-271', 'count', 'link-18');">count</a></tt><tt class="py-op">)</tt> </tt> <a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-272" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-272', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-273" class="py-name" targets="Class Martel.RecordReader.CountLines=Martel.RecordReader.CountLines-class.html"><a title="Martel.RecordReader.CountLines" class="py-name" href="#" onclick="return doclink('link-273', 'CountLines', 'link-273');">CountLines</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-274" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-274', 's', 'link-9');">s</a></tt><tt class="py-op">[</tt><tt class="py-name">look</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt id="link-275" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-275', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> </tt> <a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt id="link-276" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-276', 's', 'link-9');">s</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">look</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt class="py-name">sizehint</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt> <a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-name">all</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt> <a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">rep</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> <a name="L418"></a><tt class="py-lineno">418</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-277" 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-277', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name" targets="Method Bio.Nexus.Trees.Tree.split()=Bio.Nexus.Trees.Tree-class.html#split,Method Bio.Restriction.Restriction.RestrictionBatch.split()=Bio.Restriction.Restriction.RestrictionBatch-class.html#split"><a title="Bio.Nexus.Trees.Tree.split Bio.Restriction.Restriction.RestrictionBatch.split" class="py-name" href="#" onclick="return doclink('link-278', 'split', 'link-278');">split</a></tt><tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">,</tt> <tt id="link-279" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-279', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">==</tt> <tt id="link-280" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-280', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> \ </tt> <a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> <tt class="py-string">"Expecting %d lines, got %d in %r using %r"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-281" class="py-name"><a title="Bio.Crystal.Chain.count Bio.NeuralNetwork.Gene.Pattern.PatternRepository.count Bio.Seq.MutableSeq.count Bio.Seq.Seq.count Bio.listfns.count" class="py-name" href="#" onclick="return doclink('link-281', 'count', 'link-18');">count</a></tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">rec</tt><tt class="py-op">,</tt> <tt id="link-282" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-282', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-name">all</tt> <tt class="py-op">=</tt> <tt class="py-name">all</tt> <tt class="py-op">+</tt> <tt class="py-name">rec</tt> </tt> <a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-name">rep</tt> <tt class="py-op">=</tt> <tt class="py-name">rep</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt> <a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> </tt> <a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">final</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> <a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-comment"># Reader should be at the end of input</tt> </tt> <a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"><tt class="py-comment"></tt> <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-283" 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-283', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> <tt class="py-keyword">assert</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="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> <tt class="py-string">"Should be at end of reader, got %r"</tt> <tt class="py-op">%</tt> <tt class="py-name">rec</tt> </tt> <a name="L431"></a><tt class="py-lineno">431</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-284" 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-284', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-keyword">assert</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="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> <tt class="py-string">"data after end of reader, got %r"</tt> <tt class="py-op">%</tt> <tt class="py-name">rec</tt> </tt> <a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-comment"># There should be a remainder of size i % count lines</tt> </tt> <a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt id="link-285" 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-285', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-286" 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-286', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt id="link-287" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text Bio.Prosite.Prodoc._RecordConsumer.text Martel.test.test_Iterator.text Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-287', 'text', 'link-245');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-288" 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-288', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">+</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-289" 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-289', 'read', 'link-88');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> <tt class="py-name">all</tt> <tt class="py-op">=</tt> <tt class="py-name">all</tt> <tt class="py-op">+</tt> <tt id="link-290" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text Bio.Prosite.Prodoc._RecordConsumer.text Martel.test.test_Iterator.text Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-290', 'text', 'link-245');">text</a></tt> </tt> <a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="Bio.Nexus.Trees.Tree.split Bio.Restriction.Restriction.RestrictionBatch.split" class="py-name" href="#" onclick="return doclink('link-291', 'split', 'link-278');">split</a></tt><tt class="py-op">(</tt><tt id="link-292" class="py-name"><a title="Bio.EUtils.POM.ElementNode.text Bio.Prosite.Prodoc._RecordConsumer.text Martel.test.test_Iterator.text Martel.test.test_ParseRecords.text" class="py-name" href="#" onclick="return doclink('link-292', 'text', 'link-245');">text</a></tt><tt class="py-op">,</tt> <tt id="link-293" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-293', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">==</tt> <tt class="py-name">final</tt><tt class="py-op">,</tt> \ </tt> <a name="L441"></a><tt class="py-lineno">441</tt> <tt class="py-line"> <tt class="py-string">"Expecting %d final lines, got %d"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">final</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt> <a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> <a name="L444"></a><tt class="py-lineno">444</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-294" 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-294', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">,</tt> \ </tt> <a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-string">"Got unexpected final record, %r"</tt> <tt class="py-op">%</tt> <tt class="py-name">rec</tt> </tt> <a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt id="link-295" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-295', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="Martel.RecordReader.ReaderError" class="py-name" href="#" onclick="return doclink('link-296', 'ReaderError', 'link-109');">ReaderError</a></tt><tt class="py-op">:</tt> </tt> <a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> <a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">all</tt> <tt class="py-op">==</tt> <tt id="link-297" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-297', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> \ </tt> <a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> <tt class="py-string">"record data %r doesn't rebuild input %r"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">,</tt> <tt id="link-298" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-298', 's', 'link-9');">s</a></tt><tt class="py-op">)</tt> </tt> <a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> <tt id="link-299" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-299', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt id="link-300" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-300', 's', 'link-9');">s</a></tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-301" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-301', 'i', 'link-2');">i</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-302" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-302', 'ending', 'link-23');">ending</a></tt> </tt> </div><a name="L453"></a><tt class="py-lineno">453</tt> <tt class="py-line"> </tt> <a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"><tt class="py-comment">### Nothing</tt> </tt> <a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="test_nothing"></a><div id="test_nothing-def"><a name="L456"></a><tt class="py-lineno">456</tt> <a class="py-toggle" href="#" id="test_nothing-toggle" onclick="return toggle('test_nothing');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_nothing">test_nothing</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_nothing-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_nothing-expanded"><a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Testing Nothing"</tt> </tt> <a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> </tt> <a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt id="link-303" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-303', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"This is a test.\nThis is only a test.\nHad this been an actual...\n"</tt> </tt> <a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-304" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-304', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt id="link-305" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-305', 'data', 'link-78');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt id="link-306" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-306', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-307" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-307', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-308" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-308', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-309" class="py-name" targets="Class Martel.RecordReader.Nothing=Martel.RecordReader.Nothing-class.html"><a title="Martel.RecordReader.Nothing" class="py-name" href="#" onclick="return doclink('link-309', 'Nothing', 'link-309');">Nothing</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-310" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-310', 'data', 'link-78');">data</a></tt><tt class="py-op">[</tt><tt class="py-name">look</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-name">sizehint</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt> <a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt id="link-311" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-311', 'data', 'link-78');">data</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">look</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L466"></a><tt class="py-lineno">466</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-312" 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-312', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> <tt class="py-keyword">assert</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 class="py-string">"should be empty, not %r"</tt> <tt class="py-op">%</tt> <tt class="py-name">rec</tt> </tt> <a name="L468"></a><tt class="py-lineno">468</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-313" 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-313', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> <tt class="py-keyword">assert</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 class="py-string">"2nd time should also be empty, not %r"</tt> <tt class="py-op">%</tt> <tt class="py-name">rec</tt> </tt> <a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> </tt> <a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt id="link-314" 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-314', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-315" 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-315', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt id="link-316" 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-316', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">=</tt> <tt id="link-317" 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-317', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">+</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-318" 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-318', 'read', 'link-88');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-319" 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-319', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">==</tt> <tt id="link-320" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-320', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Why %r when input was %r?"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt id="link-321" 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-321', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">,</tt> <tt id="link-322" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-322', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> </tt> <a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"><tt class="py-comment">### Everything</tt> </tt> <a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="test_everything"></a><div id="test_everything-def"><a name="L478"></a><tt class="py-lineno">478</tt> <a class="py-toggle" href="#" id="test_everything-toggle" onclick="return toggle('test_everything');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test_everything">test_everything</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test_everything-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_everything-expanded"><a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Testing Everything"</tt> </tt> <a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> </tt> <a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> <tt id="link-323" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-323', 's', 'link-9');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"This is a test.\nThis is only a test.\nHad this been an actual...\n"</tt> </tt> <a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-324" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-324', 'ending', 'link-23');">ending</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L483"></a><tt class="py-lineno">483</tt> <tt class="py-line"> <tt id="link-325" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-325', 'data', 'link-78');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt id="link-326" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-326', 's', 'link-9');">s</a></tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-327" class="py-name"><a title="Bio.expressions.blast.wublast.ending" class="py-name" href="#" onclick="return doclink('link-327', 'ending', 'link-23');">ending</a></tt><tt class="py-op">)</tt> </tt> <a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">look</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> <tt class="py-name">reader</tt> <tt class="py-op">=</tt> <tt id="link-328" class="py-name"><a title="Martel.RecordReader Martel.RecordReader.RecordReader" class="py-name" href="#" onclick="return doclink('link-328', 'RecordReader', 'link-1');">RecordReader</a></tt><tt class="py-op">.</tt><tt id="link-329" class="py-name" targets="Class Martel.RecordReader.Everything=Martel.RecordReader.Everything-class.html"><a title="Martel.RecordReader.Everything" class="py-name" href="#" onclick="return doclink('link-329', 'Everything', 'link-329');">Everything</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-330" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-330', 'data', 'link-78');">data</a></tt><tt class="py-op">[</tt><tt class="py-name">look</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"> <tt class="py-name">sizehint</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt> <a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"> <tt class="py-name">lookahead</tt> <tt class="py-op">=</tt> <tt id="link-331" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-331', 'data', 'link-78');">data</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">look</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L488"></a><tt class="py-lineno">488</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-332" 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-332', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">rec</tt> <tt class="py-op">==</tt> <tt id="link-333" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-333', 'data', 'link-78');">data</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Record %r is not same as input %r"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">rec</tt><tt class="py-op">,</tt> <tt id="link-334" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-334', 'data', 'link-78');">data</a></tt><tt class="py-op">)</tt> </tt> <a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"> <tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt id="link-335" 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-335', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">=</tt> <tt class="py-name">reader</tt><tt class="py-op">.</tt><tt id="link-336" 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-336', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"> <tt id="link-337" 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-337', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">=</tt> <tt id="link-338" 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-338', 'remainder', 'link-85');">remainder</a></tt> <tt class="py-op">+</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-339" 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-339', 'read', 'link-88');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt id="link-340" 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-340', 'remainder', 'link-85');">remainder</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Why is there a remainder of %r?"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> <tt id="link-341" 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-341', 'remainder', 'link-85');">remainder</a></tt> </tt> <a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> </tt> <a name="L496"></a><tt class="py-lineno">496</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-342" 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-342', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"> <tt class="py-keyword">assert</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 class="py-string">"Expecting None after final read, got %r"</tt> <tt class="py-op">%</tt> \ </tt> <a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"> <tt class="py-name">rec</tt> </tt> <a name="L499"></a><tt class="py-lineno">499</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-343" 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-343', 'next', 'link-4');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L500"></a><tt class="py-lineno">500</tt> <tt class="py-line"> <tt class="py-keyword">assert</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 class="py-string">"Expecting None (again), got %r"</tt> <tt class="py-op">%</tt> <tt class="py-name">rec</tt> </tt> </div><a name="L501"></a><tt class="py-lineno">501</tt> <tt class="py-line"> </tt> <a name="L502"></a><tt class="py-lineno">502</tt> <tt class="py-line"> </tt> <a name="L503"></a><tt class="py-lineno">503</tt> <tt class="py-line"> </tt> <a name="L504"></a><tt class="py-lineno">504</tt> <tt class="py-line"><tt class="py-comment">### test driver</tt> </tt> <a name="L505"></a><tt class="py-lineno">505</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="test"></a><div id="test-def"><a name="L506"></a><tt class="py-lineno">506</tt> <a class="py-toggle" href="#" id="test-toggle" onclick="return toggle('test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Martel.test.test_RecordReader2-module.html#test">test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="test-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test-expanded"><a name="L507"></a><tt class="py-lineno">507</tt> <tt class="py-line"> <tt id="link-344" class="py-name" targets="Function Martel.test.test_RecordReader2.test_startswith()=Martel.test.test_RecordReader2-module.html#test_startswith"><a title="Martel.test.test_RecordReader2.test_startswith" class="py-name" href="#" onclick="return doclink('link-344', 'test_startswith', 'link-344');">test_startswith</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L508"></a><tt class="py-lineno">508</tt> <tt class="py-line"> <tt id="link-345" class="py-name" targets="Function Martel.test.test_RecordReader2.test_endswith()=Martel.test.test_RecordReader2-module.html#test_endswith"><a title="Martel.test.test_RecordReader2.test_endswith" class="py-name" href="#" onclick="return doclink('link-345', 'test_endswith', 'link-345');">test_endswith</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L509"></a><tt class="py-lineno">509</tt> <tt class="py-line"> <tt id="link-346" class="py-name" targets="Function Martel.test.test_RecordReader.test_until()=Martel.test.test_RecordReader-module.html#test_until,Function Martel.test.test_RecordReader2.test_until()=Martel.test.test_RecordReader2-module.html#test_until"><a title="Martel.test.test_RecordReader.test_until Martel.test.test_RecordReader2.test_until" class="py-name" href="#" onclick="return doclink('link-346', 'test_until', 'link-346');">test_until</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L510"></a><tt class="py-lineno">510</tt> <tt class="py-line"> <tt id="link-347" class="py-name" targets="Function Martel.test.test_RecordReader.test_count_lines()=Martel.test.test_RecordReader-module.html#test_count_lines,Function Martel.test.test_RecordReader2.test_count_lines()=Martel.test.test_RecordReader2-module.html#test_count_lines"><a title="Martel.test.test_RecordReader.test_count_lines Martel.test.test_RecordReader2.test_count_lines" class="py-name" href="#" onclick="return doclink('link-347', 'test_count_lines', 'link-347');">test_count_lines</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L511"></a><tt class="py-lineno">511</tt> <tt class="py-line"> <tt id="link-348" class="py-name" targets="Function Martel.test.test_RecordReader.test_nothing()=Martel.test.test_RecordReader-module.html#test_nothing,Function Martel.test.test_RecordReader2.test_nothing()=Martel.test.test_RecordReader2-module.html#test_nothing"><a title="Martel.test.test_RecordReader.test_nothing Martel.test.test_RecordReader2.test_nothing" class="py-name" href="#" onclick="return doclink('link-348', 'test_nothing', 'link-348');">test_nothing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L512"></a><tt class="py-lineno">512</tt> <tt class="py-line"> <tt id="link-349" class="py-name" targets="Function Martel.test.test_RecordReader.test_everything()=Martel.test.test_RecordReader-module.html#test_everything,Function Martel.test.test_RecordReader2.test_everything()=Martel.test.test_RecordReader2-module.html#test_everything"><a title="Martel.test.test_RecordReader.test_everything Martel.test.test_RecordReader2.test_everything" class="py-name" href="#" onclick="return doclink('link-349', 'test_everything', 'link-349');">test_everything</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> </div><a name="L513"></a><tt class="py-lineno">513</tt> <tt class="py-line"> </tt> <a name="L514"></a><tt class="py-lineno">514</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt> <a name="L515"></a><tt class="py-lineno">515</tt> <tt class="py-line"> <tt id="link-350" class="py-name" targets="Function Bio.Decode.test()=Bio.Decode-module.html#test,Function Bio.EUtils.ReseekFile.test()=Bio.EUtils.ReseekFile-module.html#test,Package Martel.test=Martel.test-module.html,Method Martel.test.support.Storage.test()=Martel.test.support.Storage-class.html#test,Function Martel.test.test()=Martel.test-module.html#test,Function Martel.test.test_Expression.test()=Martel.test.test_Expression-module.html#test,Function Martel.test.test_Generate.test()=Martel.test.test_Generate-module.html#test,Function Martel.test.test_IterParser.test()=Martel.test.test_IterParser-module.html#test,Function Martel.test.test_Iterator.test()=Martel.test.test_Iterator-module.html#test,Function Martel.test.test_LAX.test()=Martel.test.test_LAX-module.html#test,Function Martel.test.test_ParseRecords.test()=Martel.test.test_ParseRecords-module.html#test,Function Martel.test.test_Parser.test()=Martel.test.test_Parser-module.html#test,Function Martel.test.test_RecordReader.test()=Martel.test.test_RecordReader-module.html#test,Function Martel.test.test_RecordReader2.test()=Martel.test.test_RecordReader2-module.html#test,Function Martel.test.test_Time.test()=Martel.test.test_Time-module.html#test,Function Martel.test.test_attrs.test()=Martel.test.test_attrs-module.html#test,Function Martel.test.test_convert_re.test()=Martel.test.test_convert_re-module.html#test,Function Martel.test.test_delimiter.test()=Martel.test.test_delimiter-module.html#test,Function Martel.test.test_macros.test()=Martel.test.test_macros-module.html#test,Function Martel.test.test_optimize.test()=Martel.test.test_optimize-module.html#test,Function Martel.test.test_swissprot38.test()=Martel.test.test_swissprot38-module.html#test"><a title="Bio.Decode.test Bio.EUtils.ReseekFile.test Martel.test Martel.test.support.Storage.test Martel.test.test Martel.test.test_Expression.test Martel.test.test_Generate.test Martel.test.test_IterParser.test Martel.test.test_Iterator.test Martel.test.test_LAX.test Martel.test.test_ParseRecords.test Martel.test.test_Parser.test Martel.test.test_RecordReader.test Martel.test.test_RecordReader2.test Martel.test.test_Time.test Martel.test.test_attrs.test Martel.test.test_convert_re.test Martel.test.test_delimiter.test Martel.test.test_macros.test Martel.test.test_optimize.test Martel.test.test_swissprot38.test" class="py-name" href="#" onclick="return doclink('link-350', 'test', 'link-350');">test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L516"></a><tt class="py-lineno">516</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:53 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>