<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Bio.Fasta</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="Bio-module.html">Package Bio</a> :: Package Fasta </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="Bio.Fasta-pysrc.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <h1 class="epydoc">Source Code for <a href="Bio.Fasta-module.html">Package Bio.Fasta</a></h1> <pre class="py-src"> <a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-docstring">"""Utilities for working with FASTA-formatted sequences.</tt> </tt> <a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-docstring">This module uses Martel-based parsing to speed up the parsing process.</tt> </tt> <a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-docstring">Classes:</tt> </tt> <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-docstring">Record Holds FASTA sequence data.</tt> </tt> <a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-docstring">Iterator Iterates over sequence data in a FASTA file.</tt> </tt> <a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-docstring">Dictionary Accesses a FASTA file using a dictionary interface.</tt> </tt> <a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-docstring">RecordParser Parses FASTA sequence data into a Record object.</tt> </tt> <a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-docstring">SequenceParser Parses FASTA sequence data into a Sequence object.</tt> </tt> <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-docstring">Functions:</tt> </tt> <a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-docstring">index_file Index a FASTA file for a Dictionary.</tt> </tt> <a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt> <a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package Bio=Bio-module.html"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-0', 'Bio', 'link-0');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module Bio.Seq=Bio.Seq-module.html,Class Bio.Seq.Seq=Bio.Seq.Seq-class.html,Class Martel.Expression.Seq=Martel.Expression.Seq-class.html,Function Martel.Seq()=Martel-module.html#Seq"><a title="Bio.Seq Bio.Seq.Seq Martel.Expression.Seq Martel.Seq" class="py-name" href="#" onclick="return doclink('link-1', 'Seq', 'link-1');">Seq</a></tt> </tt> <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-2', 'Bio', 'link-0');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module Bio.SeqRecord=Bio.SeqRecord-module.html,Class Bio.SeqRecord.SeqRecord=Bio.SeqRecord.SeqRecord-class.html,Package Bio.builders.SeqRecord=Bio.builders.SeqRecord-module.html,Package Bio.writers.SeqRecord=Bio.writers.SeqRecord-module.html"><a title="Bio.SeqRecord Bio.SeqRecord.SeqRecord Bio.builders.SeqRecord Bio.writers.SeqRecord" class="py-name" href="#" onclick="return doclink('link-3', 'SeqRecord', 'link-3');">SeqRecord</a></tt> </tt> <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-4', 'Bio', 'link-0');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Package Bio.Alphabet=Bio.Alphabet-module.html,Class Bio.Alphabet.Alphabet=Bio.Alphabet.Alphabet-class.html"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-5', 'Alphabet', 'link-5');">Alphabet</a></tt> </tt> <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt> <a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt> <a name="Record"></a><div id="Record-def"><a name="L20"></a><tt class="py-lineno"> 20</tt> <a class="py-toggle" href="#" id="Record-toggle" onclick="return toggle('Record');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Bio.Fasta.Record-class.html">Record</a><tt class="py-op">:</tt> </tt> </div><div id="Record-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Record-expanded"><a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> <tt class="py-docstring">"""Holds information from a FASTA record.</tt> </tt> <a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring"> Members:</tt> </tt> <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring"> title Title line ('>' character not included).</tt> </tt> <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring"> sequence The sequence.</tt> </tt> <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt> <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="Record.__init__"></a><div id="Record.__init__-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="Record.__init__-toggle" onclick="return toggle('Record.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.Record-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">colwidth</tt><tt class="py-op">=</tt><tt class="py-number">60</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Record.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Record.__init__-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-docstring">"""__init__(self, colwidth=60)</tt> </tt> <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring"> Create a new Record. colwidth specifies the number of residues</tt> </tt> <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring"> to put on each line when generating FASTA format.</tt> </tt> <a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method Bio.Blast.NCBIStandalone._AlignmentConsumer.title()=Bio.Blast.NCBIStandalone._AlignmentConsumer-class.html#title,Method Bio.GenBank._FeatureConsumer.title()=Bio.GenBank._FeatureConsumer-class.html#title,Method Bio.GenBank._RecordConsumer.title()=Bio.GenBank._RecordConsumer-class.html#title,Method Bio.Medline._RecordConsumer.title()=Bio.Medline._RecordConsumer-class.html#title,Variable Bio.expressions.fasta.title=Bio.expressions.fasta-module.html#title"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-6', 'title', 'link-6');">title</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt> <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method Bio.AlignAce.Parser.AlignAceConsumer.sequence()=Bio.AlignAce.Parser.AlignAceConsumer-class.html#sequence,Variable Bio.Emboss.primer3_format.sequence=Bio.Emboss.primer3_format-module.html#sequence,Method Bio.FSSP.FSSPAlignDict.sequence()=Bio.FSSP.FSSPAlignDict-class.html#sequence,Method Bio.GenBank._FeatureConsumer.sequence()=Bio.GenBank._FeatureConsumer-class.html#sequence,Method Bio.GenBank._RecordConsumer.sequence()=Bio.GenBank._RecordConsumer-class.html#sequence,Method Bio.IntelliGenetics._RecordConsumer.sequence()=Bio.IntelliGenetics._RecordConsumer-class.html#sequence,Method Bio.Rebase._RecordConsumer.sequence()=Bio.Rebase._RecordConsumer-class.html#sequence,Function Bio.Std.sequence()=Bio.Std-module.html#sequence,Module Bio.builders.SeqRecord.sequence=Bio.builders.SeqRecord.sequence-module.html,Variable Bio.expressions.fasta.sequence=Bio.expressions.fasta-module.html#sequence,Variable Bio.expressions.genbank.sequence=Bio.expressions.genbank-module.html#sequence,Variable Bio.expressions.swissprot.sprot38.sequence=Bio.expressions.swissprot.sprot38-module.html#sequence,Module Bio.formatdefs.sequence=Bio.formatdefs.sequence-module.html,Variable Bio.formatdefs.sequence.sequence=Bio.formatdefs.sequence-module.html#sequence,Variable Martel.test.test_swissprot38.sequence=Martel.test.test_swissprot38-module.html#sequence,Variable Martel.test.testformats.swissprot38.sequence=Martel.test.testformats.swissprot38-module.html#sequence"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-7', 'sequence', 'link-7');">sequence</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt> <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_colwidth</tt> <tt class="py-op">=</tt> <tt class="py-name">colwidth</tt> </tt> </div><a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt> <a name="Record.__str__"></a><div id="Record.__str__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="Record.__str__-toggle" onclick="return toggle('Record.__str__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.Record-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Record.__str__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Record.__str__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt id="link-8" 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-8', 's', 'link-8');">s</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt id="link-9" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-9', 's', 'link-8');">s</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method Bio.Crystal.Chain.append()=Bio.Crystal.Chain-class.html#append,Method Bio.EUtils.POM.ElementNode.append()=Bio.EUtils.POM.ElementNode-class.html#append,Method Bio.EUtils.sourcegen.SourceFile.append()=Bio.EUtils.sourcegen.SourceFile-class.html#append,Method Bio.SCOP.Raf.SeqMap.append()=Bio.SCOP.Raf.SeqMap-class.html#append,Method Bio.Seq.MutableSeq.append()=Bio.Seq.MutableSeq-class.html#append,Method Bio.Wise.psw.Alignment.append()=Bio.Wise.psw.Alignment-class.html#append,Method Bio.Wise.psw.AlignmentColumn.append()=Bio.Wise.psw.AlignmentColumn-class.html#append,Method Martel.msre_parse.SubPattern.append()=Martel.msre_parse.SubPattern-class.html#append"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-10', 'append', 'link-10');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">'>%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-11', 'title', 'link-6');">title</a></tt><tt class="py-op">)</tt> </tt> <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt id="link-12" 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-12', 'i', 'link-12');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-13" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-13', 'i', 'link-12');">i</a></tt> <tt class="py-op"><</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-14', 'sequence', 'link-7');">sequence</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-15', 's', 'link-8');">s</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-16', 'append', 'link-10');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-17', 'sequence', 'link-7');">sequence</a></tt><tt class="py-op">[</tt><tt id="link-18" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-18', 'i', 'link-12');">i</a></tt><tt class="py-op">:</tt><tt id="link-19" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-19', 'i', 'link-12');">i</a></tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_colwidth</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt id="link-20" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-20', 'i', 'link-12');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-21', 'i', 'link-12');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_colwidth</tt> </tt> <a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-comment">#Was having a problem getting the tests to pass on windows...</tt> </tt> <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#return os.linesep.join(s)</tt> </tt> <a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-22" class="py-name"><a title="Martel.test.test_swissprot38.s" class="py-name" href="#" onclick="return doclink('link-22', 's', 'link-8');">s</a></tt><tt class="py-op">)</tt> </tt> </div></div><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt> <a name="Iterator"></a><div id="Iterator-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="Iterator-toggle" onclick="return toggle('Iterator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Bio.Fasta.Iterator-class.html">Iterator</a><tt class="py-op">:</tt> </tt> </div><div id="Iterator-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Iterator-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-docstring">"""Returns one record at a time from a FASTA file.</tt> </tt> <a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="Iterator.__init__"></a><div id="Iterator.__init__-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="Iterator.__init__-toggle" onclick="return toggle('Iterator.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.Iterator-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">debug</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Iterator.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Iterator.__init__-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-docstring">"""Initialize a new iterator.</tt> </tt> <a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Variable Bio.LocusLink.web_parse.handle=Bio.LocusLink.web_parse-module.html#handle,Variable Bio.Ndb.handle=Bio.Ndb-module.html#handle"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-23', 'handle', 'link-23');">handle</a></tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-24', 'handle', 'link-23');">handle</a></tt> </tt> <a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt> </tt> <a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_debug</tt> <tt class="py-op">=</tt> <tt class="py-name">debug</tt> </tt> <a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> </tt> <a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-comment">#Skip any text before the first record (e.g. blank lines)</tt> </tt> <a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt id="link-25" class="py-name" targets="Variable Bio.EUtils.POM.True=Bio.EUtils.POM-module.html#True"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-25', 'True', 'link-25');">True</a></tt> <tt class="py-op">:</tt> </tt> <a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-26', 'handle', 'link-23');">handle</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method Bio.EUtils.ReseekFile.ReseekFile.readline()=Bio.EUtils.ReseekFile.ReseekFile-class.html#readline,Method Bio.File.SGMLHandle.readline()=Bio.File.SGMLHandle-class.html#readline,Method Bio.File.UndoHandle.readline()=Bio.File.UndoHandle-class.html#readline,Method Bio.SGMLExtractor.SGMLExtractorHandle.readline()=Bio.SGMLExtractor.SGMLExtractorHandle-class.html#readline"><a title="Bio.EUtils.ReseekFile.ReseekFile.readline Bio.File.SGMLHandle.readline Bio.File.UndoHandle.readline Bio.SGMLExtractor.SGMLExtractorHandle.readline" class="py-name" href="#" onclick="return doclink('link-27', 'readline', 'link-27');">readline</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">">"</tt> <tt class="py-op">:</tt> </tt> <a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt> <tt class="py-op">:</tt> <tt class="py-keyword">print</tt> <tt class="py-string">"Skipping: "</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> </tt> <a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt> </tt> </div><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt> <a name="Iterator.__iter__"></a><div id="Iterator.__iter__-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="Iterator.__iter__-toggle" onclick="return toggle('Iterator.__iter__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.Iterator-class.html#__iter__">__iter__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Iterator.__iter__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Iterator.__iter__-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">iter</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" 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-28', 'next', 'link-28');">next</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt> </div><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt> <a name="Iterator.next"></a><div id="Iterator.next-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="Iterator.next-toggle" onclick="return toggle('Iterator.next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.Iterator-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="Iterator.next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Iterator.next-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-docstring">"""Return the next record in the file"""</tt> </tt> <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lookahead</tt> </tt> <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</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">return</tt> <tt class="py-name">None</tt> </tt> <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">==</tt><tt class="py-string">">"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> </tt> <a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</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">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-29', 'handle', 'link-23');">handle</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.readline Bio.File.SGMLHandle.readline Bio.File.UndoHandle.readline Bio.SGMLExtractor.SGMLExtractorHandle.readline" class="py-name" href="#" onclick="return doclink('link-30', 'readline', 'link-27');">readline</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt> <a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">">"</tt><tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt> <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"#"</tt> <tt class="py-op">:</tt> </tt> <a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_debug</tt> <tt class="py-op">:</tt> <tt class="py-keyword">print</tt> <tt class="py-string">"Ignoring comment line"</tt> </tt> <a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> <a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">lines</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-31', 'append', 'link-10');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-32', 'handle', 'link-23');">handle</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="Bio.EUtils.ReseekFile.ReseekFile.readline Bio.File.SGMLHandle.readline Bio.File.UndoHandle.readline Bio.SGMLExtractor.SGMLExtractorHandle.readline" class="py-name" href="#" onclick="return doclink('link-33', 'readline', 'link-27');">readline</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lookahead</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt> </tt> <a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_debug</tt> <tt class="py-op">:</tt> <tt class="py-keyword">print</tt> <tt class="py-string">"Debug: '%s' and '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-34', 'title', 'link-6');">title</a></tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parser</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> <a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt> <a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-keyword">else</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">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parser</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method Bio.Fasta.RecordParser.parse_string()=Bio.Fasta.RecordParser-class.html#parse_string,Method Bio.Fasta.SequenceParser.parse_string()=Bio.Fasta.SequenceParser-class.html#parse_string"><a title="Bio.Fasta.RecordParser.parse_string Bio.Fasta.SequenceParser.parse_string" class="py-name" href="#" onclick="return doclink('link-35', 'parse_string', 'link-35');">parse_string</a></tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> </div></div><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt> <a name="RecordParser"></a><div id="RecordParser-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="RecordParser-toggle" onclick="return toggle('RecordParser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Bio.Fasta.RecordParser-class.html">RecordParser</a><tt class="py-op">:</tt> </tt> </div><div id="RecordParser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RecordParser-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-docstring">"""Parses FASTA sequence data into a Fasta.Record object.</tt> </tt> <a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="RecordParser.__init__"></a><div id="RecordParser.__init__-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="RecordParser.__init__-toggle" onclick="return toggle('RecordParser.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.RecordParser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">debug</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="RecordParser.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RecordParser.__init__-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> </div><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> </tt> <a name="RecordParser.parse_string"></a><div id="RecordParser.parse_string-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="RecordParser.parse_string-toggle" onclick="return toggle('RecordParser.parse_string');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.RecordParser-class.html#parse_string">parse_string</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="RecordParser.parse_string-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RecordParser.parse_string-expanded"><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt id="link-36" 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-36', 'text', 'link-36');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-37" 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-37', 'text', 'link-36');">text</a></tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"\r\n"</tt><tt class="py-op">,</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> <tt class="py-comment">#Crude way of dealing with \r\n</tt> </tt> <a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-38" 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-38', 'text', 'link-36');">text</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">">"</tt><tt class="py-op">,</tt> <tt id="link-39" 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-39', 'text', 'link-36');">text</a></tt> </tt> <a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt id="link-40" 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-40', 'text', 'link-36');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-41" 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-41', 'text', 'link-36');">text</a></tt><tt class="py-op">.</tt><tt id="link-42" 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-42', 'split', 'link-42');">split</a></tt><tt class="py-op">(</tt><tt class="py-string">"\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-number">0</tt><tt class="py-op">]</tt> <tt class="py-comment"># Only do the first record if more than one</tt> </tt> <a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt id="link-43" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-43', 'title', 'link-6');">title</a></tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-44', 'sequence', 'link-7');">sequence</a></tt> <tt class="py-op">=</tt> <tt id="link-45" 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-45', 'text', 'link-36');">text</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="Bio.Nexus.Trees.Tree.split Bio.Restriction.Restriction.RestrictionBatch.split" class="py-name" href="#" onclick="return doclink('link-46', 'split', 'link-42');">split</a></tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt> <a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt id="link-47" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-47', 'title', 'link-6');">title</a></tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-48', 'title', 'link-6');">title</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="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">rec</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name" targets="Module Bio.Blast.Record=Bio.Blast.Record-module.html,Module Bio.CDD.Record=Bio.CDD.Record-module.html,Class Bio.CDD.Record.Record=Bio.CDD.Record.Record-class.html,Class Bio.Cluster.Record=Bio.Cluster.Record-class.html,Class Bio.Compass.Record=Bio.Compass.Record-class.html,Module Bio.ECell.Record=Bio.ECell.Record-module.html,Class Bio.ECell.Record.Record=Bio.ECell.Record.Record-class.html,Class Bio.Fasta.Record=Bio.Fasta.Record-class.html,Module Bio.GenBank.Record=Bio.GenBank.Record-module.html,Class Bio.GenBank.Record.Record=Bio.GenBank.Record.Record-class.html,Module Bio.Geo.Record=Bio.Geo.Record-module.html,Class Bio.Geo.Record.Record=Bio.Geo.Record.Record-class.html,Class Bio.Gobase.Record=Bio.Gobase.Record-class.html,Module Bio.IntelliGenetics.Record=Bio.IntelliGenetics.Record-module.html,Class Bio.IntelliGenetics.Record.Record=Bio.IntelliGenetics.Record.Record-class.html,Class Bio.InterPro.Record=Bio.InterPro.Record-class.html,Class Bio.KEGG.Compound.Record=Bio.KEGG.Compound.Record-class.html,Class Bio.KEGG.Enzyme.Record=Bio.KEGG.Enzyme.Record-class.html,Class Bio.LocusLink.Record=Bio.LocusLink.Record-class.html,Class Bio.LocusLink.web_parse.Record=Bio.LocusLink.web_parse.Record-class.html,Class Bio.Medline.Record=Bio.Medline.Record-class.html,Module Bio.MetaTool.Record=Bio.MetaTool.Record-module.html,Class Bio.MetaTool.Record.Record=Bio.MetaTool.Record.Record-class.html,Module Bio.NBRF.Record=Bio.NBRF.Record-module.html,Class Bio.NBRF.Record.Record=Bio.NBRF.Record.Record-class.html,Class Bio.Ndb.Record=Bio.Ndb.Record-class.html,Class Bio.PopGen.FDist.Record=Bio.PopGen.FDist.Record-class.html,Class Bio.PopGen.GenePop.Record=Bio.PopGen.GenePop.Record-class.html,Class Bio.Prosite.Prodoc.Record=Bio.Prosite.Prodoc.Record-class.html,Class Bio.Prosite.Record=Bio.Prosite.Record-class.html,Class Bio.Rebase.Record=Bio.Rebase.Record-class.html,Class Bio.SCOP.Cla.Record=Bio.SCOP.Cla.Record-class.html,Class Bio.SCOP.Des.Record=Bio.SCOP.Des.Record-class.html,Class Bio.SCOP.Dom.Record=Bio.SCOP.Dom.Record-class.html,Class Bio.SCOP.Hie.Record=Bio.SCOP.Hie.Record-class.html,Module Bio.Saf.Record=Bio.Saf.Record-module.html,Class Bio.Saf.Record.Record=Bio.Saf.Record.Record-class.html,Class Bio.Sequencing.Phd.Record=Bio.Sequencing.Phd.Record-class.html,Class Bio.SwissProt.KeyWList.Record=Bio.SwissProt.KeyWList.Record-class.html,Class Bio.SwissProt.SProt.Record=Bio.SwissProt.SProt.Record-class.html"><a title="Bio.Blast.Record Bio.CDD.Record Bio.CDD.Record.Record Bio.Cluster.Record Bio.Compass.Record Bio.ECell.Record Bio.ECell.Record.Record Bio.Fasta.Record Bio.GenBank.Record Bio.GenBank.Record.Record Bio.Geo.Record Bio.Geo.Record.Record Bio.Gobase.Record Bio.IntelliGenetics.Record Bio.IntelliGenetics.Record.Record Bio.InterPro.Record Bio.KEGG.Compound.Record Bio.KEGG.Enzyme.Record Bio.LocusLink.Record Bio.LocusLink.web_parse.Record Bio.Medline.Record Bio.MetaTool.Record Bio.MetaTool.Record.Record Bio.NBRF.Record Bio.NBRF.Record.Record Bio.Ndb.Record Bio.PopGen.FDist.Record Bio.PopGen.GenePop.Record Bio.Prosite.Prodoc.Record Bio.Prosite.Record Bio.Rebase.Record Bio.SCOP.Cla.Record Bio.SCOP.Des.Record Bio.SCOP.Dom.Record Bio.SCOP.Hie.Record Bio.Saf.Record Bio.Saf.Record.Record Bio.Sequencing.Phd.Record Bio.SwissProt.KeyWList.Record Bio.SwissProt.SProt.Record" class="py-name" href="#" onclick="return doclink('link-49', 'Record', 'link-49');">Record</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">rec</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-50', 'title', 'link-6');">title</a></tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-51', 'title', 'link-6');">title</a></tt> </tt> <a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">rec</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-52', 'sequence', 'link-7');">sequence</a></tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-53', 'sequence', 'link-7');">sequence</a></tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt> <a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">rec</tt> </tt> </div><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> </tt> <a name="RecordParser.parse"></a><div id="RecordParser.parse-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="RecordParser.parse-toggle" onclick="return toggle('RecordParser.parse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.RecordParser-class.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="RecordParser.parse-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RecordParser.parse-expanded"><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="Bio.Fasta.RecordParser.parse_string Bio.Fasta.SequenceParser.parse_string" class="py-name" href="#" onclick="return doclink('link-54', 'parse_string', 'link-35');">parse_string</a></tt><tt class="py-op">(</tt><tt id="link-55" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-55', 'handle', 'link-23');">handle</a></tt><tt class="py-op">.</tt><tt id="link-56" 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-56', 'read', 'link-56');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> </div></div><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt> <a name="SequenceParser"></a><div id="SequenceParser-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="SequenceParser-toggle" onclick="return toggle('SequenceParser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Bio.Fasta.SequenceParser-class.html">SequenceParser</a><tt class="py-op">:</tt> </tt> </div><div id="SequenceParser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SequenceParser-expanded"><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-docstring">"""Parses FASTA sequence data into a SeqRecord object.</tt> </tt> <a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="SequenceParser.__init__"></a><div id="SequenceParser.__init__-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="SequenceParser.__init__-toggle" onclick="return toggle('SequenceParser.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.SequenceParser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">alphabet</tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-57', 'Alphabet', 'link-5');">Alphabet</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Variable Bio.Alphabet.generic_alphabet=Bio.Alphabet-module.html#generic_alphabet"><a title="Bio.Alphabet.generic_alphabet" class="py-name" href="#" onclick="return doclink('link-58', 'generic_alphabet', 'link-58');">generic_alphabet</a></tt><tt class="py-op">,</tt> <tt class="py-param">title2ids</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt> <a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-param">debug</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SequenceParser.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SequenceParser.__init__-expanded"><a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-docstring">"""Initialize a Scanner and Sequence Consumer.</tt> </tt> <a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> Arguments:</tt> </tt> <a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> o alphabet - The alphabet of the sequences to be parsed. If not</tt> </tt> <a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> passed, this will be set as generic_alphabet.</tt> </tt> <a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> o title2ids - A function that, when given the title of the FASTA</tt> </tt> <a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> file (without the beginning >), will return the id, name and</tt> </tt> <a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> description (in that order) for the record. If this is not given,</tt> </tt> <a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"> then the entire title line will be used as the description.</tt> </tt> <a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Variable Bio.Prosite.Pattern.Prosite.alphabet=Bio.Prosite.Pattern.Prosite-class.html#alphabet,Function Bio.Std.alphabet()=Bio.Std-module.html#alphabet"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-59', 'alphabet', 'link-59');">alphabet</a></tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-60', 'alphabet', 'link-59');">alphabet</a></tt> </tt> <a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">title2ids</tt> <tt class="py-op">=</tt> <tt class="py-name">title2ids</tt> </tt> </div><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> </tt> <a name="SequenceParser.parse_string"></a><div id="SequenceParser.parse_string-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="SequenceParser.parse_string-toggle" onclick="return toggle('SequenceParser.parse_string');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.SequenceParser-class.html#parse_string">parse_string</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="SequenceParser.parse_string-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SequenceParser.parse_string-expanded"><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt id="link-61" 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-61', 'text', 'link-36');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-62" 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-62', 'text', 'link-36');">text</a></tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"\r\n"</tt><tt class="py-op">,</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> <tt class="py-comment">#Crude way of dealing with \r\n</tt> </tt> <a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-63" 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-63', 'text', 'link-36');">text</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">">"</tt><tt class="py-op">,</tt> <tt id="link-64" 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-64', 'text', 'link-36');">text</a></tt> </tt> <a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt id="link-65" 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-65', 'text', 'link-36');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-66" 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-66', 'text', 'link-36');">text</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="Bio.Nexus.Trees.Tree.split Bio.Restriction.Restriction.RestrictionBatch.split" class="py-name" href="#" onclick="return doclink('link-67', 'split', 'link-42');">split</a></tt><tt class="py-op">(</tt><tt class="py-string">"\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-number">0</tt><tt class="py-op">]</tt> <tt class="py-comment"># Only do the first record if more than one</tt> </tt> <a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt id="link-68" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-68', 'title', 'link-6');">title</a></tt><tt class="py-op">,</tt> <tt id="link-69" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-69', 'sequence', 'link-7');">sequence</a></tt> <tt class="py-op">=</tt> <tt id="link-70" 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-70', 'text', 'link-36');">text</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="Bio.Nexus.Trees.Tree.split Bio.Restriction.Restriction.RestrictionBatch.split" class="py-name" href="#" onclick="return doclink('link-71', 'split', 'link-42');">split</a></tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt> <a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt id="link-72" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-72', 'title', 'link-6');">title</a></tt> <tt class="py-op">=</tt> <tt id="link-73" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-73', 'title', 'link-6');">title</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="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> </tt> <a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt id="link-74" class="py-name" targets="Method Bio.GFF.Feature.seq()=Bio.GFF.Feature-class.html#seq,Method Bio.GFF.FeatureAggregate.seq()=Bio.GFF.FeatureAggregate-class.html#seq,Variable BioSQL.BioSeq.DBSeqRecord.seq=BioSQL.BioSeq.DBSeqRecord-class.html#seq"><a title="Bio.GFF.Feature.seq Bio.GFF.FeatureAggregate.seq BioSQL.BioSeq.DBSeqRecord.seq" class="py-name" href="#" onclick="return doclink('link-74', 'seq', 'link-74');">seq</a></tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="Bio.Seq Bio.Seq.Seq Martel.Expression.Seq Martel.Seq" class="py-name" href="#" onclick="return doclink('link-75', 'Seq', 'link-1');">Seq</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="Bio.Seq Bio.Seq.Seq Martel.Expression.Seq Martel.Seq" class="py-name" href="#" onclick="return doclink('link-76', 'Seq', 'link-1');">Seq</a></tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-77', 'sequence', 'link-7');">sequence</a></tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-78', 'alphabet', 'link-59');">alphabet</a></tt><tt class="py-op">)</tt> </tt> <a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">rec</tt> <tt class="py-op">=</tt> <tt id="link-79" class="py-name"><a title="Bio.SeqRecord Bio.SeqRecord.SeqRecord Bio.builders.SeqRecord Bio.writers.SeqRecord" class="py-name" href="#" onclick="return doclink('link-79', 'SeqRecord', 'link-3');">SeqRecord</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="Bio.SeqRecord Bio.SeqRecord.SeqRecord Bio.builders.SeqRecord Bio.writers.SeqRecord" class="py-name" href="#" onclick="return doclink('link-80', 'SeqRecord', 'link-3');">SeqRecord</a></tt><tt class="py-op">(</tt><tt id="link-81" class="py-name"><a title="Bio.GFF.Feature.seq Bio.GFF.FeatureAggregate.seq BioSQL.BioSeq.DBSeqRecord.seq" class="py-name" href="#" onclick="return doclink('link-81', 'seq', 'link-74');">seq</a></tt><tt class="py-op">)</tt> </tt> <a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt> <a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">title2ids</tt><tt class="py-op">:</tt> </tt> <a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">seq_id</tt><tt class="py-op">,</tt> <tt id="link-82" class="py-name" targets="Variable Bio.Encodings.IUPACEncoding.name=Bio.Encodings.IUPACEncoding-module.html#name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-82', 'name', 'link-82');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">descr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">title2ids</tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-83', 'title', 'link-6');">title</a></tt><tt class="py-op">)</tt> </tt> <a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">rec</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Variable Bio.Data.CodonTable.id=Bio.Data.CodonTable-module.html#id,Variable Bio.Encodings.IUPACEncoding.id=Bio.Encodings.IUPACEncoding-module.html#id,Method Bio.GFF.Feature.id()=Bio.GFF.Feature-class.html#id"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-84', 'id', 'link-84');">id</a></tt> <tt class="py-op">=</tt> <tt class="py-name">seq_id</tt> </tt> <a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">rec</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-85', 'name', 'link-82');">name</a></tt> <tt class="py-op">=</tt> <tt id="link-86" class="py-name"><a title="Bio.Encodings.IUPACEncoding.name" class="py-name" href="#" onclick="return doclink('link-86', 'name', 'link-82');">name</a></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 id="link-87" class="py-name" targets="Method Bio.Blast.NCBIStandalone._DescriptionConsumer.description()=Bio.Blast.NCBIStandalone._DescriptionConsumer-class.html#description,Method Bio.Enzyme._RecordConsumer.description()=Bio.Enzyme._RecordConsumer-class.html#description,Method Bio.Prosite._RecordConsumer.description()=Bio.Prosite._RecordConsumer-class.html#description,Function Bio.Std.description()=Bio.Std-module.html#description,Method Bio.SwissProt.SProt._RecordConsumer.description()=Bio.SwissProt.SProt._RecordConsumer-class.html#description,Method Bio.SwissProt.SProt._SequenceConsumer.description()=Bio.SwissProt.SProt._SequenceConsumer-class.html#description,Variable Martel.setup.run_local_tests.description=Martel.setup.run_local_tests-class.html#description"><a title="Bio.Blast.NCBIStandalone._DescriptionConsumer.description Bio.Enzyme._RecordConsumer.description Bio.Prosite._RecordConsumer.description Bio.Std.description Bio.SwissProt.SProt._RecordConsumer.description Bio.SwissProt.SProt._SequenceConsumer.description Martel.setup.run_local_tests.description" class="py-name" href="#" onclick="return doclink('link-87', 'description', 'link-87');">description</a></tt> <tt class="py-op">=</tt> <tt class="py-name">descr</tt> </tt> <a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">rec</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="Bio.Blast.NCBIStandalone._DescriptionConsumer.description Bio.Enzyme._RecordConsumer.description Bio.Prosite._RecordConsumer.description Bio.Std.description Bio.SwissProt.SProt._RecordConsumer.description Bio.SwissProt.SProt._SequenceConsumer.description Martel.setup.run_local_tests.description" class="py-name" href="#" onclick="return doclink('link-88', 'description', 'link-87');">description</a></tt> <tt class="py-op">=</tt> <tt id="link-89" class="py-name"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-89', 'title', 'link-6');">title</a></tt> </tt> <a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt> <a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">rec</tt> </tt> </div><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt> <a name="SequenceParser.parse"></a><div id="SequenceParser.parse-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="SequenceParser.parse-toggle" onclick="return toggle('SequenceParser.parse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.Fasta.SequenceParser-class.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="SequenceParser.parse-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SequenceParser.parse-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="Bio.Fasta.RecordParser.parse_string Bio.Fasta.SequenceParser.parse_string" class="py-name" href="#" onclick="return doclink('link-90', 'parse_string', 'link-35');">parse_string</a></tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-91', 'handle', 'link-23');">handle</a></tt><tt class="py-op">.</tt><tt id="link-92" 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-92', 'read', 'link-56');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> </div></div><a name="L154"></a><tt class="py-lineno">154</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:28:14 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>