<?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.SeqIO</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 SeqIO </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.SeqIO-pysrc.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <h1 class="epydoc">Source Code for <a href="Bio.SeqIO-module.html">Package Bio.SeqIO</a></h1> <pre class="py-src"> <a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># Copyright 2006-2008 by Peter Cock. All rights reserved.</tt> </tt> <a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># This code is part of the Biopython distribution and governed by its</tt> </tt> <a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># license. Please see the LICENSE file that should have been included</tt> </tt> <a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># as part of this package.</tt> </tt> <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Nice link:</tt> </tt> <a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># http://www.ebi.ac.uk/help/formats_frame.html</tt> </tt> <a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-docstring">"""Sequence input/output as SeqRecord objects.</tt> </tt> <a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-docstring">The Bio.SeqIO module is also documented by a whole chapter in the Biopython</tt> </tt> <a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-docstring">tutorial, and by the wiki http://biopython.org/wiki/SeqIO on the website.</tt> </tt> <a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-docstring">The approach is designed to be similar to the bioperl SeqIO design.</tt> </tt> <a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-docstring">Input</tt> </tt> <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-docstring">=====</tt> </tt> <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-docstring">The main function is Bio.SeqIO.parse(...) which takes an input file handle,</tt> </tt> <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-docstring">and format string. This returns an iterator giving SeqRecord objects.</tt> </tt> <a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-docstring"> handle = open("example.fasta", "rU")</tt> </tt> <a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-docstring"> for record in SeqIO.parse(handle, "fasta") :</tt> </tt> <a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-docstring"> print record</tt> </tt> <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-docstring"> handle.close()</tt> </tt> <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-docstring">Note that the parse() function will all invoke the relevant parser for the</tt> </tt> <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-docstring">format with its default settings. You may want more control, in which case</tt> </tt> <a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-docstring">you need to create a format specific sequence iterator directly.</tt> </tt> <a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-docstring">For non-interlaced files (e.g. Fasta, GenBank, EMBL) with multiple records</tt> </tt> <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-docstring">using a sequence iterator can save you a lot of memory (RAM). There is</tt> </tt> <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-docstring">less benefit for interlaced file formats (e.g. most multiple alignment file</tt> </tt> <a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-docstring">formats). However, an iterator only lets you access the records one by one.</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-docstring">If you want random access to the records by number, turn this into a list:</tt> </tt> <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"> handle = open("example.fasta", "rU")</tt> </tt> <a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> records = list(SeqIO.parse(handle, "fasta"))</tt> </tt> <a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"> handle.close()</tt> </tt> <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> print records[0]</tt> </tt> <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring">If you want random access to the records by a key such as the record id,</tt> </tt> <a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring">turn the iterator into a dictionary:</tt> </tt> <a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> handle = open("example.fasta", "rU")</tt> </tt> <a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"> record_dict = SeqIO.to_dict(SeqIO.parse(handle, "fasta"))</tt> </tt> <a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> handle.close()</tt> </tt> <a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> print record["gi:12345678"]</tt> </tt> <a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring">If you expect your file to contain one-and-only-one record, then we provide</tt> </tt> <a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring">the following 'helper' function which will return a single SeqRecord, or</tt> </tt> <a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring">raise an exception if there are no records or more than one record:</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-docstring"> from Bio import SeqIO</tt> </tt> <a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> handle = open("example.fasta", "rU")</tt> </tt> <a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> record = SeqIO.read(handle, "fasta")</tt> </tt> <a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"> handle.close()</tt> </tt> <a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> print record</tt> </tt> <a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-docstring">This style is useful when you expect a single record only (and would</tt> </tt> <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-docstring">consider multiple records an error). For example, when dealing with GenBank</tt> </tt> <a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-docstring">files for bacterial genomes or chromosomes, there is normally only a single</tt> </tt> <a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-docstring">record. Alternatively, use this with a handle when download a single record</tt> </tt> <a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring">from the internet.</tt> </tt> <a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring">However, if you just want the first record from a file containing multiple</tt> </tt> <a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring">record, use the iterator's next() method:</tt> </tt> <a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> handle = open("example.fasta", "rU")</tt> </tt> <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> record = SeqIO.parse(handle, "fasta").next()</tt> </tt> <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> handle.close()</tt> </tt> <a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> print record</tt> </tt> <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring">The above code will work as long as the file contains at least one record.</tt> </tt> <a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring">Note that if there is more than one record, the remaining records will be</tt> </tt> <a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring">silently ignored.</tt> </tt> <a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring">Input - Alignments</tt> </tt> <a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring">==================</tt> </tt> <a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring">You can read in alignment files as Alignment objects using Bio.AlignIO.</tt> </tt> <a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring">Alternatively, reading in an alignment file format via Bio.SeqIO will give</tt> </tt> <a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring">you a SeqRecord for each row of each alignment.</tt> </tt> <a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring">Output</tt> </tt> <a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring">======</tt> </tt> <a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring">Use the function Bio.SeqIO.write(...), which takes a complete set of</tt> </tt> <a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring">SeqRecord objects (either as a list, or an iterator), an output file handle</tt> </tt> <a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring">and of course the file format.</tt> </tt> <a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring"> records = ...</tt> </tt> <a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring"> handle = open("example.faa", "w")</tt> </tt> <a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring"> SeqIO.write(records, handle, "fasta")</tt> </tt> <a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"> handle.close()</tt> </tt> <a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring">In general, you are expected to call this function once (with all your</tt> </tt> <a name="L100"></a><tt class="py-lineno"> 100</tt> <tt class="py-line"><tt class="py-docstring">records) and then close the file handle.</tt> </tt> <a name="L101"></a><tt class="py-lineno"> 101</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L102"></a><tt class="py-lineno"> 102</tt> <tt class="py-line"><tt class="py-docstring">Output - Advanced</tt> </tt> <a name="L103"></a><tt class="py-lineno"> 103</tt> <tt class="py-line"><tt class="py-docstring">=================</tt> </tt> <a name="L104"></a><tt class="py-lineno"> 104</tt> <tt class="py-line"><tt class="py-docstring">The effect of calling write() multiple times on a single file will vary</tt> </tt> <a name="L105"></a><tt class="py-lineno"> 105</tt> <tt class="py-line"><tt class="py-docstring">depending on the file format, and is best avoided unless you have a strong</tt> </tt> <a name="L106"></a><tt class="py-lineno"> 106</tt> <tt class="py-line"><tt class="py-docstring">reason to do so.</tt> </tt> <a name="L107"></a><tt class="py-lineno"> 107</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L108"></a><tt class="py-lineno"> 108</tt> <tt class="py-line"><tt class="py-docstring">Trying this for certain alignment formats (e.g. phylip, clustal, stockholm)</tt> </tt> <a name="L109"></a><tt class="py-lineno"> 109</tt> <tt class="py-line"><tt class="py-docstring">would have the effect of concatenating several multiple sequence alignments</tt> </tt> <a name="L110"></a><tt class="py-lineno"> 110</tt> <tt class="py-line"><tt class="py-docstring">together. Such files are created by the PHYLIP suite of programs for</tt> </tt> <a name="L111"></a><tt class="py-lineno"> 111</tt> <tt class="py-line"><tt class="py-docstring">bootstrap analysis.</tt> </tt> <a name="L112"></a><tt class="py-lineno"> 112</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L113"></a><tt class="py-lineno"> 113</tt> <tt class="py-line"><tt class="py-docstring">For sequential files formats (e.g. fasta, genbank) each "record block" holds</tt> </tt> <a name="L114"></a><tt class="py-lineno"> 114</tt> <tt class="py-line"><tt class="py-docstring">a single sequence. For these files it would probably be safe to call</tt> </tt> <a name="L115"></a><tt class="py-lineno"> 115</tt> <tt class="py-line"><tt class="py-docstring">write() multiple times.</tt> </tt> <a name="L116"></a><tt class="py-lineno"> 116</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L117"></a><tt class="py-lineno"> 117</tt> <tt class="py-line"><tt class="py-docstring">File Formats</tt> </tt> <a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"><tt class="py-docstring">============</tt> </tt> <a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"><tt class="py-docstring">When specifying formats, use lowercase strings.</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> <a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"><tt class="py-comment">#TODO</tt> </tt> <a name="L123"></a><tt class="py-lineno"> 123</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># - define policy on reading aligned sequences with gaps in</tt> </tt> <a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># (e.g. - and . characters) including how the alphabet interacts</tt> </tt> <a name="L125"></a><tt class="py-lineno"> 125</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L126"></a><tt class="py-lineno"> 126</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># - Can we build the to_alignment(...) functionality</tt> </tt> <a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># into the generic Alignment class instead?</tt> </tt> <a name="L128"></a><tt class="py-lineno"> 128</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L129"></a><tt class="py-lineno"> 129</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># - How best to handle unique/non unique record.id when writing.</tt> </tt> <a name="L130"></a><tt class="py-lineno"> 130</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># For most file formats reading such files is fine; The stockholm</tt> </tt> <a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># parser would fail.</tt> </tt> <a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L133"></a><tt class="py-lineno"> 133</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># - MSF multiple alignment format, aka GCG, aka PileUp format (*.msf)</tt> </tt> <a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># http://www.bioperl.org/wiki/MSF_multiple_alignment_format </tt> </tt> <a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"><tt class="py-string">FAO BioPython Developers</tt> </tt> <a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"><tt class="py-string">========================</tt> </tt> <a name="L139"></a><tt class="py-lineno"> 139</tt> <tt class="py-line"><tt class="py-string">The way I envision this SeqIO system working as that for any sequence file</tt> </tt> <a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"><tt class="py-string">format we have an iterator that returns SeqRecord objects.</tt> </tt> <a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"><tt class="py-string">This also applies to interlaced fileformats (like clustal) where the file</tt> </tt> <a name="L143"></a><tt class="py-lineno"> 143</tt> <tt class="py-line"><tt class="py-string">cannot be read record by record. You should still return an iterator!</tt> </tt> <a name="L144"></a><tt class="py-lineno"> 144</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"><tt class="py-string">These file format specific sequence iterators may be implemented as:</tt> </tt> <a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"><tt class="py-string">* Classes which take a handle for __init__ and provide the __iter__ method</tt> </tt> <a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"><tt class="py-string">* Functions that take a handle, and return an iterator object</tt> </tt> <a name="L148"></a><tt class="py-lineno"> 148</tt> <tt class="py-line"><tt class="py-string">* Generator functions that take a handle, and yeild SeqRecord objects</tt> </tt> <a name="L149"></a><tt class="py-lineno"> 149</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"><tt class="py-string">It is then trivial to turn this iterator into a list of SeqRecord objects,</tt> </tt> <a name="L151"></a><tt class="py-lineno"> 151</tt> <tt class="py-line"><tt class="py-string">an in memory dictionary, or a multiple sequence alignment object.</tt> </tt> <a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"><tt class="py-string">For building the dictionary by default the id propery of each SeqRecord is</tt> </tt> <a name="L154"></a><tt class="py-lineno"> 154</tt> <tt class="py-line"><tt class="py-string">used as the key. You should always populate the id property, and it should</tt> </tt> <a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"><tt class="py-string">be unique. For some file formats the accession number is a good choice.</tt> </tt> <a name="L156"></a><tt class="py-lineno"> 156</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"><tt class="py-string">When adding a new file format, please use the same lower case format name</tt> </tt> <a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"><tt class="py-string">as BioPerl, or if they have not defined one, try the names used by EMBOSS.</tt> </tt> <a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L160"></a><tt class="py-lineno"> 160</tt> <tt class="py-line"><tt class="py-string">See also http://biopython.org/wiki/SeqIO_dev</tt> </tt> <a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"><tt class="py-string">--Peter</tt> </tt> <a name="L163"></a><tt class="py-lineno"> 163</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"> </tt> <a name="L165"></a><tt class="py-lineno"> 165</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt> <a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">StringIO</tt> <tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt> <a name="L167"></a><tt class="py-lineno"> 167</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-op">.</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 class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="Bio.Seq Bio.Seq.Seq Martel.Expression.Seq Martel.Seq" class="py-name" href="#" onclick="return doclink('link-2', 'Seq', 'link-1');">Seq</a></tt> </tt> <a name="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-3', 'Bio', 'link-0');">Bio</a></tt><tt class="py-op">.</tt><tt id="link-4" 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-4', 'SeqRecord', 'link-4');">SeqRecord</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name"><a title="Bio.SeqRecord Bio.SeqRecord.SeqRecord Bio.builders.SeqRecord Bio.writers.SeqRecord" class="py-name" href="#" onclick="return doclink('link-5', 'SeqRecord', 'link-4');">SeqRecord</a></tt> </tt> <a name="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-6', 'Bio', 'link-0');">Bio</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Package Bio.Align=Bio.Align-module.html"><a title="Bio.Align" class="py-name" href="#" onclick="return doclink('link-7', 'Align', 'link-7');">Align</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module Bio.Align.Generic=Bio.Align.Generic-module.html"><a title="Bio.Align.Generic" class="py-name" href="#" onclick="return doclink('link-8', 'Generic', 'link-8');">Generic</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class Bio.Align.Generic.Alignment=Bio.Align.Generic.Alignment-class.html,Class Bio.Blast.Record.Alignment=Bio.Blast.Record.Alignment-class.html,Class Bio.Wise.psw.Alignment=Bio.Wise.psw.Alignment-class.html"><a title="Bio.Align.Generic.Alignment Bio.Blast.Record.Alignment Bio.Wise.psw.Alignment" class="py-name" href="#" onclick="return doclink('link-9', 'Alignment', 'link-9');">Alignment</a></tt> </tt> <a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"> </tt> <a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Module Bio.SeqIO.AceIO=Bio.SeqIO.AceIO-module.html"><a title="Bio.SeqIO.AceIO" class="py-name" href="#" onclick="return doclink('link-10', 'AceIO', 'link-10');">AceIO</a></tt> </tt> <a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-11" class="py-name" targets="Module Bio.AlignIO.FastaIO=Bio.AlignIO.FastaIO-module.html,Module Bio.SeqIO.FastaIO=Bio.SeqIO.FastaIO-module.html"><a title="Bio.AlignIO.FastaIO Bio.SeqIO.FastaIO" class="py-name" href="#" onclick="return doclink('link-11', 'FastaIO', 'link-11');">FastaIO</a></tt> </tt> <a name="L173"></a><tt class="py-lineno"> 173</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Module Bio.SeqIO.IgIO=Bio.SeqIO.IgIO-module.html"><a title="Bio.SeqIO.IgIO" class="py-name" href="#" onclick="return doclink('link-12', 'IgIO', 'link-12');">IgIO</a></tt> <tt class="py-comment">#IntelliGenetics or MASE format</tt> </tt> <a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name" targets="Module Bio.SeqIO.InsdcIO=Bio.SeqIO.InsdcIO-module.html"><a title="Bio.SeqIO.InsdcIO" class="py-name" href="#" onclick="return doclink('link-13', 'InsdcIO', 'link-13');">InsdcIO</a></tt> <tt class="py-comment">#EMBL and GenBank</tt> </tt> <a name="L175"></a><tt class="py-lineno"> 175</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Module Bio.SeqIO.PhdIO=Bio.SeqIO.PhdIO-module.html"><a title="Bio.SeqIO.PhdIO" class="py-name" href="#" onclick="return doclink('link-14', 'PhdIO', 'link-14');">PhdIO</a></tt> </tt> <a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Module Bio.SeqIO.SwissIO=Bio.SeqIO.SwissIO-module.html"><a title="Bio.SeqIO.SwissIO" class="py-name" href="#" onclick="return doclink('link-15', 'SwissIO', 'link-15');">SwissIO</a></tt> </tt> <a name="L177"></a><tt class="py-lineno"> 177</tt> <tt class="py-line"> </tt> <a name="L178"></a><tt class="py-lineno"> 178</tt> <tt class="py-line"><tt class="py-comment">#Convention for format names is "mainname-subtype" in lower case.</tt> </tt> <a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Please use the same names as BioPerl where possible.</tt> </tt> <a name="L180"></a><tt class="py-lineno"> 180</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Note that this simple system copes with defining</tt> </tt> <a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#multiple possible iterators for a given format/extension</tt> </tt> <a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#with the -subtype suffix</tt> </tt> <a name="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt> <a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Most alignment file formats will be handled via Bio.AlignIO</tt> </tt> <a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L187"></a><tt class="py-lineno"> 187</tt> <tt class="py-line"><tt id="link-16" class="py-name" targets="Variable Bio.AlignIO._FormatToIterator=Bio.AlignIO-module.html#_FormatToIterator,Variable Bio.SeqIO._FormatToIterator=Bio.SeqIO-module.html#_FormatToIterator"><a title="Bio.AlignIO._FormatToIterator Bio.SeqIO._FormatToIterator" class="py-name" href="#" onclick="return doclink('link-16', '_FormatToIterator', 'link-16');">_FormatToIterator</a></tt> <tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"fasta"</tt> <tt class="py-op">:</tt> <tt id="link-17" class="py-name"><a title="Bio.AlignIO.FastaIO Bio.SeqIO.FastaIO" class="py-name" href="#" onclick="return doclink('link-17', 'FastaIO', 'link-11');">FastaIO</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Function Bio.SeqIO.FastaIO.FastaIterator()=Bio.SeqIO.FastaIO-module.html#FastaIterator"><a title="Bio.SeqIO.FastaIO.FastaIterator" class="py-name" href="#" onclick="return doclink('link-18', 'FastaIterator', 'link-18');">FastaIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L188"></a><tt class="py-lineno"> 188</tt> <tt class="py-line"> <tt class="py-string">"genbank"</tt> <tt class="py-op">:</tt> <tt id="link-19" class="py-name"><a title="Bio.SeqIO.InsdcIO" class="py-name" href="#" onclick="return doclink('link-19', 'InsdcIO', 'link-13');">InsdcIO</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Function Bio.SeqIO.InsdcIO.GenBankIterator()=Bio.SeqIO.InsdcIO-module.html#GenBankIterator"><a title="Bio.SeqIO.InsdcIO.GenBankIterator" class="py-name" href="#" onclick="return doclink('link-20', 'GenBankIterator', 'link-20');">GenBankIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"> <tt class="py-string">"genbank-cds"</tt> <tt class="py-op">:</tt> <tt id="link-21" class="py-name"><a title="Bio.SeqIO.InsdcIO" class="py-name" href="#" onclick="return doclink('link-21', 'InsdcIO', 'link-13');">InsdcIO</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Function Bio.SeqIO.InsdcIO.GenBankCdsFeatureIterator()=Bio.SeqIO.InsdcIO-module.html#GenBankCdsFeatureIterator"><a title="Bio.SeqIO.InsdcIO.GenBankCdsFeatureIterator" class="py-name" href="#" onclick="return doclink('link-22', 'GenBankCdsFeatureIterator', 'link-22');">GenBankCdsFeatureIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"> <tt class="py-string">"embl"</tt> <tt class="py-op">:</tt> <tt id="link-23" class="py-name"><a title="Bio.SeqIO.InsdcIO" class="py-name" href="#" onclick="return doclink('link-23', 'InsdcIO', 'link-13');">InsdcIO</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Function Bio.SeqIO.InsdcIO.EmblIterator()=Bio.SeqIO.InsdcIO-module.html#EmblIterator"><a title="Bio.SeqIO.InsdcIO.EmblIterator" class="py-name" href="#" onclick="return doclink('link-24', 'EmblIterator', 'link-24');">EmblIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"> <tt class="py-string">"embl-cds"</tt> <tt class="py-op">:</tt> <tt id="link-25" class="py-name"><a title="Bio.SeqIO.InsdcIO" class="py-name" href="#" onclick="return doclink('link-25', 'InsdcIO', 'link-13');">InsdcIO</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Function Bio.SeqIO.InsdcIO.EmblCdsFeatureIterator()=Bio.SeqIO.InsdcIO-module.html#EmblCdsFeatureIterator"><a title="Bio.SeqIO.InsdcIO.EmblCdsFeatureIterator" class="py-name" href="#" onclick="return doclink('link-26', 'EmblCdsFeatureIterator', 'link-26');">EmblCdsFeatureIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"> <tt class="py-string">"ig"</tt> <tt class="py-op">:</tt> <tt id="link-27" class="py-name"><a title="Bio.SeqIO.IgIO" class="py-name" href="#" onclick="return doclink('link-27', 'IgIO', 'link-12');">IgIO</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Function Bio.SeqIO.IgIO.IgIterator()=Bio.SeqIO.IgIO-module.html#IgIterator"><a title="Bio.SeqIO.IgIO.IgIterator" class="py-name" href="#" onclick="return doclink('link-28', 'IgIterator', 'link-28');">IgIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"> <tt class="py-string">"swiss"</tt> <tt class="py-op">:</tt> <tt id="link-29" class="py-name"><a title="Bio.SeqIO.SwissIO" class="py-name" href="#" onclick="return doclink('link-29', 'SwissIO', 'link-15');">SwissIO</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Function Bio.SeqIO.SwissIO.SwissIterator()=Bio.SeqIO.SwissIO-module.html#SwissIterator"><a title="Bio.SeqIO.SwissIO.SwissIterator" class="py-name" href="#" onclick="return doclink('link-30', 'SwissIterator', 'link-30');">SwissIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"> <tt class="py-string">"phd"</tt> <tt class="py-op">:</tt> <tt id="link-31" class="py-name"><a title="Bio.SeqIO.PhdIO" class="py-name" href="#" onclick="return doclink('link-31', 'PhdIO', 'link-14');">PhdIO</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Function Bio.SeqIO.PhdIO.PhdIterator()=Bio.SeqIO.PhdIO-module.html#PhdIterator"><a title="Bio.SeqIO.PhdIO.PhdIterator" class="py-name" href="#" onclick="return doclink('link-32', 'PhdIterator', 'link-32');">PhdIterator</a></tt><tt class="py-op">,</tt> </tt> <a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"> <tt class="py-string">"ace"</tt> <tt class="py-op">:</tt> <tt id="link-33" class="py-name"><a title="Bio.SeqIO.AceIO" class="py-name" href="#" onclick="return doclink('link-33', 'AceIO', 'link-10');">AceIO</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Function Bio.SeqIO.AceIO.AceIterator()=Bio.SeqIO.AceIO-module.html#AceIterator"><a title="Bio.SeqIO.AceIO.AceIterator" class="py-name" href="#" onclick="return doclink('link-34', 'AceIterator', 'link-34');">AceIterator</a></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> <a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"> </tt> <a name="L198"></a><tt class="py-lineno"> 198</tt> <tt class="py-line"><tt id="link-35" class="py-name" targets="Variable Bio.AlignIO._FormatToWriter=Bio.AlignIO-module.html#_FormatToWriter,Variable Bio.SeqIO._FormatToWriter=Bio.SeqIO-module.html#_FormatToWriter"><a title="Bio.AlignIO._FormatToWriter Bio.SeqIO._FormatToWriter" class="py-name" href="#" onclick="return doclink('link-35', '_FormatToWriter', 'link-35');">_FormatToWriter</a></tt> <tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"fasta"</tt> <tt class="py-op">:</tt> <tt id="link-36" class="py-name"><a title="Bio.AlignIO.FastaIO Bio.SeqIO.FastaIO" class="py-name" href="#" onclick="return doclink('link-36', 'FastaIO', 'link-11');">FastaIO</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Class Bio.SeqIO.FastaIO.FastaWriter=Bio.SeqIO.FastaIO.FastaWriter-class.html"><a title="Bio.SeqIO.FastaIO.FastaWriter" class="py-name" href="#" onclick="return doclink('link-37', 'FastaWriter', 'link-37');">FastaWriter</a></tt><tt class="py-op">,</tt> </tt> <a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt> <a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"> </tt> <a name="write"></a><div id="write-def"><a name="L201"></a><tt class="py-lineno"> 201</tt> <a class="py-toggle" href="#" id="write-toggle" onclick="return toggle('write');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqIO-module.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">sequences</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">format</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="write-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="write-expanded"><a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"> <tt class="py-docstring">"""Write complete set of sequences to a file.</tt> </tt> <a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"><tt class="py-docstring"> sequences - A list (or iterator) of SeqRecord objects</tt> </tt> <a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"><tt class="py-docstring"> handle - File handle object to write to</tt> </tt> <a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"><tt class="py-docstring"> format - What format to use.</tt> </tt> <a name="L207"></a><tt class="py-lineno"> 207</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"><tt class="py-docstring"> You should close the handle after calling this function.</tt> </tt> <a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"><tt class="py-docstring"> There is no return value.</tt> </tt> <a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-38" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-38', 'Bio', 'link-0');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-39" class="py-name" targets="Package Bio.AlignIO=Bio.AlignIO-module.html"><a title="Bio.AlignIO" class="py-name" href="#" onclick="return doclink('link-39', 'AlignIO', 'link-39');">AlignIO</a></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> <a name="L215"></a><tt class="py-lineno"> 215</tt> <tt class="py-line"> <tt class="py-comment">#Try and give helpful error messages:</tt> </tt> <a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-40" 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-40', 'handle', 'link-40');">handle</a></tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L217"></a><tt class="py-lineno"> 217</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">"Need a file handle, not a string (i.e. not a filename)"</tt><tt class="py-op">)</tt> </tt> <a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-41" class="py-name" targets="Method Bio.Restriction.Restriction.RestrictionBatch.format()=Bio.Restriction.Restriction.RestrictionBatch-class.html#format,Variable Bio.expressions.blast.ncbiblast.format=Bio.expressions.blast.ncbiblast-module.html#format,Variable Bio.expressions.blast.wublast.format=Bio.expressions.blast.wublast-module.html#format,Variable Bio.expressions.blocks.format=Bio.expressions.blocks-module.html#format,Variable Bio.expressions.embl.embl65.format=Bio.expressions.embl.embl65-module.html#format,Variable Bio.expressions.fasta.format=Bio.expressions.fasta-module.html#format,Variable Bio.expressions.genbank.format=Bio.expressions.genbank-module.html#format,Variable Bio.expressions.hmmpfam.format=Bio.expressions.hmmpfam-module.html#format,Variable Bio.expressions.swissprot.ipi.format=Bio.expressions.swissprot.ipi-module.html#format,Variable Bio.expressions.swissprot.speclist.format=Bio.expressions.swissprot.speclist-module.html#format,Variable Bio.expressions.swissprot.sprot38.format=Bio.expressions.swissprot.sprot38-module.html#format,Variable Bio.expressions.swissprot.sprot40.format=Bio.expressions.swissprot.sprot40-module.html#format,Variable Bio.expressions.transfac.format=Bio.expressions.transfac-module.html#format,Variable Martel.test.test_swissprot38.format=Martel.test.test_swissprot38-module.html#format,Variable Martel.test.testformats.swissprot38.format=Martel.test.testformats.swissprot38-module.html#format"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-41', 'format', 'link-41');">format</a></tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</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">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">"Need a string for the file format (lower case)"</tt><tt class="py-op">)</tt> </tt> <a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-42" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-42', 'format', 'link-41');">format</a></tt> <tt class="py-op">:</tt> </tt> <a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Format required (lower case string)"</tt><tt class="py-op">)</tt> </tt> <a name="L222"></a><tt class="py-lineno"> 222</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-43" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-43', 'format', 'link-41');">format</a></tt> <tt class="py-op"><></tt> <tt id="link-44" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-44', 'format', 'link-41');">format</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Format string '%s' should be lower case"</tt> <tt class="py-op">%</tt> <tt id="link-45" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-45', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-46" class="py-name" targets="Method Bio.AlignAce.Parser.AlignAceConsumer.sequences()=Bio.AlignAce.Parser.AlignAceConsumer-class.html#sequences"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequences" class="py-name" href="#" onclick="return doclink('link-46', 'sequences', 'link-46');">sequences</a></tt><tt class="py-op">,</tt><tt id="link-47" class="py-name"><a title="Bio.SeqRecord Bio.SeqRecord.SeqRecord Bio.builders.SeqRecord Bio.writers.SeqRecord" class="py-name" href="#" onclick="return doclink('link-47', 'SeqRecord', 'link-4');">SeqRecord</a></tt><tt class="py-op">)</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">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Use a SeqRecord list/iterator, not just a single SeqRecord"</tt><tt class="py-op">)</tt> </tt> <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 class="py-comment">#Map the file format to a writer class</tt> </tt> <a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-48" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-48', 'format', 'link-41');">format</a></tt> <tt class="py-keyword">in</tt> <tt id="link-49" class="py-name"><a title="Bio.AlignIO._FormatToWriter Bio.SeqIO._FormatToWriter" class="py-name" href="#" onclick="return doclink('link-49', '_FormatToWriter', 'link-35');">_FormatToWriter</a></tt> <tt class="py-op">:</tt> </tt> <a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"> <tt class="py-name">writer_class</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="Bio.AlignIO._FormatToWriter Bio.SeqIO._FormatToWriter" class="py-name" href="#" onclick="return doclink('link-50', '_FormatToWriter', 'link-35');">_FormatToWriter</a></tt><tt class="py-op">[</tt><tt id="link-51" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-51', 'format', 'link-41');">format</a></tt><tt class="py-op">]</tt> </tt> <a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"> <tt class="py-name">writer_class</tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-52', 'handle', 'link-40');">handle</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method Bio.AlignIO.Interfaces.AlignmentWriter.write_file()=Bio.AlignIO.Interfaces.AlignmentWriter-class.html#write_file,Method Bio.AlignIO.Interfaces.SequentialAlignmentWriter.write_file()=Bio.AlignIO.Interfaces.SequentialAlignmentWriter-class.html#write_file,Method Bio.SeqIO.ClustalIO.ClustalWriter.write_file()=Bio.SeqIO.ClustalIO.ClustalWriter-class.html#write_file,Method Bio.SeqIO.Interfaces.SequenceWriter.write_file()=Bio.SeqIO.Interfaces.SequenceWriter-class.html#write_file,Method Bio.SeqIO.Interfaces.SequentialSequenceWriter.write_file()=Bio.SeqIO.Interfaces.SequentialSequenceWriter-class.html#write_file,Method Bio.SeqIO.PhylipIO.PhylipWriter.write_file()=Bio.SeqIO.PhylipIO.PhylipWriter-class.html#write_file,Method Bio.SeqIO.StockholmIO.StockholmWriter.write_file()=Bio.SeqIO.StockholmIO.StockholmWriter-class.html#write_file"><a title="Bio.AlignIO.Interfaces.AlignmentWriter.write_file Bio.AlignIO.Interfaces.SequentialAlignmentWriter.write_file Bio.SeqIO.ClustalIO.ClustalWriter.write_file Bio.SeqIO.Interfaces.SequenceWriter.write_file Bio.SeqIO.Interfaces.SequentialSequenceWriter.write_file Bio.SeqIO.PhylipIO.PhylipWriter.write_file Bio.SeqIO.StockholmIO.StockholmWriter.write_file" class="py-name" href="#" onclick="return doclink('link-53', 'write_file', 'link-53');">write_file</a></tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequences" class="py-name" href="#" onclick="return doclink('link-54', 'sequences', 'link-46');">sequences</a></tt><tt class="py-op">)</tt> </tt> <a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> <tt class="py-comment">#Don't close the file, as that would prevent things like</tt> </tt> <a name="L232"></a><tt class="py-lineno"> 232</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#creating concatenated phylip files for bootstrapping.</tt> </tt> <a name="L233"></a><tt class="py-lineno"> 233</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">elif</tt> <tt id="link-55" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-55', 'format', 'link-41');">format</a></tt> <tt class="py-keyword">in</tt> <tt id="link-56" class="py-name"><a title="Bio.AlignIO" class="py-name" href="#" onclick="return doclink('link-56', 'AlignIO', 'link-39');">AlignIO</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="Bio.AlignIO._FormatToIterator Bio.SeqIO._FormatToIterator" class="py-name" href="#" onclick="return doclink('link-57', '_FormatToIterator', 'link-16');">_FormatToIterator</a></tt> <tt class="py-op">:</tt> </tt> <a name="L234"></a><tt class="py-lineno"> 234</tt> <tt class="py-line"> <tt class="py-comment">#Try and turn all the records into a single alignment,</tt> </tt> <a name="L235"></a><tt class="py-lineno"> 235</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#and write that using Bio.AlignIO</tt> </tt> <a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-58" class="py-name"><a title="Bio.AlignIO" class="py-name" href="#" onclick="return doclink('link-58', 'AlignIO', 'link-39');">AlignIO</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method Bio.AlignAce.Motif.Motif.write()=Bio.AlignAce.Motif.Motif-class.html#write,Function Bio.AlignIO.write()=Bio.AlignIO-module.html#write,Method Bio.EUtils.sourcegen.SourceFile.write()=Bio.EUtils.sourcegen.SourceFile-class.html#write,Method Bio.EUtils.sourcegen.SourceGen.write()=Bio.EUtils.sourcegen.SourceGen-class.html#write,Method Bio.NeuralNetwork.Gene.Pattern.PatternIO.write()=Bio.NeuralNetwork.Gene.Pattern.PatternIO-class.html#write,Function Bio.SeqIO.write()=Bio.SeqIO-module.html#write,Method Bio.Writer.Writer.write()=Bio.Writer.Writer-class.html#write,Method Bio.writers.SeqRecord.embl.WriteEmbl.write()=Bio.writers.SeqRecord.embl.WriteEmbl-class.html#write,Method Bio.writers.SeqRecord.fasta.WriteFasta.write()=Bio.writers.SeqRecord.fasta.WriteFasta-class.html#write"><a title="Bio.AlignAce.Motif.Motif.write Bio.AlignIO.write Bio.EUtils.sourcegen.SourceFile.write Bio.EUtils.sourcegen.SourceGen.write Bio.NeuralNetwork.Gene.Pattern.PatternIO.write Bio.SeqIO.write Bio.Writer.Writer.write Bio.writers.SeqRecord.embl.WriteEmbl.write Bio.writers.SeqRecord.fasta.WriteFasta.write" class="py-name" href="#" onclick="return doclink('link-59', 'write', 'link-59');">write</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt id="link-60" class="py-name" targets="Function Bio.SeqIO.to_alignment()=Bio.SeqIO-module.html#to_alignment"><a title="Bio.SeqIO.to_alignment" class="py-name" href="#" onclick="return doclink('link-60', 'to_alignment', 'link-60');">to_alignment</a></tt><tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequences" class="py-name" href="#" onclick="return doclink('link-61', 'sequences', 'link-46');">sequences</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-62" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-62', 'handle', 'link-40');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-63" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-63', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Unknown format '%s'"</tt> <tt class="py-op">%</tt> <tt id="link-64" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-64', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L239"></a><tt class="py-lineno"> 239</tt> <tt class="py-line"> </tt> <a name="L240"></a><tt class="py-lineno"> 240</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt> </div><a name="L241"></a><tt class="py-lineno"> 241</tt> <tt class="py-line"> </tt> <a name="parse"></a><div id="parse-def"><a name="L242"></a><tt class="py-lineno"> 242</tt> <a class="py-toggle" href="#" id="parse-toggle" onclick="return toggle('parse');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqIO-module.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">format</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="parse-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="parse-expanded"><a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"> <tt class="py-docstring">"""Turns a sequence file into an iterator returning SeqRecords.</tt> </tt> <a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"><tt class="py-docstring"> handle - handle to the file.</tt> </tt> <a name="L246"></a><tt class="py-lineno"> 246</tt> <tt class="py-line"><tt class="py-docstring"> format - string describing the file format.</tt> </tt> <a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"><tt class="py-docstring"> If you have the file name in a string 'filename', use:</tt> </tt> <a name="L249"></a><tt class="py-lineno"> 249</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"><tt class="py-docstring"> my_iterator = SeqIO.parse(open(filename,"rU"), format)</tt> </tt> <a name="L252"></a><tt class="py-lineno"> 252</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"><tt class="py-docstring"> If you have a string 'data' containing the file contents, use:</tt> </tt> <a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"><tt class="py-docstring"> from StringIO import StringIO</tt> </tt> <a name="L257"></a><tt class="py-lineno"> 257</tt> <tt class="py-line"><tt class="py-docstring"> my_iterator = SeqIO.parse(StringIO(data), format)</tt> </tt> <a name="L258"></a><tt class="py-lineno"> 258</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L259"></a><tt class="py-lineno"> 259</tt> <tt class="py-line"><tt class="py-docstring"> Note that file will be parsed with default settings,</tt> </tt> <a name="L260"></a><tt class="py-lineno"> 260</tt> <tt class="py-line"><tt class="py-docstring"> which may result in a generic alphabet or other non-ideal</tt> </tt> <a name="L261"></a><tt class="py-lineno"> 261</tt> <tt class="py-line"><tt class="py-docstring"> settings. For more control, you must use the format specific</tt> </tt> <a name="L262"></a><tt class="py-lineno"> 262</tt> <tt class="py-line"><tt class="py-docstring"> iterator directly...</tt> </tt> <a name="L263"></a><tt class="py-lineno"> 263</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L264"></a><tt class="py-lineno"> 264</tt> <tt class="py-line"><tt class="py-docstring"> Use the Bio.SeqIO.read(handle, format) function when you expect</tt> </tt> <a name="L265"></a><tt class="py-lineno"> 265</tt> <tt class="py-line"><tt class="py-docstring"> a single record only.</tt> </tt> <a name="L266"></a><tt class="py-lineno"> 266</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L267"></a><tt class="py-lineno"> 267</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-65" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-65', 'Bio', 'link-0');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-66" class="py-name"><a title="Bio.AlignIO" class="py-name" href="#" onclick="return doclink('link-66', 'AlignIO', 'link-39');">AlignIO</a></tt> </tt> <a name="L268"></a><tt class="py-lineno"> 268</tt> <tt class="py-line"> </tt> <a name="L269"></a><tt class="py-lineno"> 269</tt> <tt class="py-line"> <tt class="py-comment">#Try and give helpful error messages:</tt> </tt> <a name="L270"></a><tt class="py-lineno"> 270</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-67" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-67', 'handle', 'link-40');">handle</a></tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</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">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">"Need a file handle, not a string (i.e. not a filename)"</tt><tt class="py-op">)</tt> </tt> <a name="L272"></a><tt class="py-lineno"> 272</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-68" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-68', 'format', 'link-41');">format</a></tt><tt class="py-op">,</tt> <tt class="py-name">basestring</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">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">"Need a string for the file format (lower case)"</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">if</tt> <tt class="py-keyword">not</tt> <tt id="link-69" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-69', 'format', 'link-41');">format</a></tt> <tt class="py-op">:</tt> </tt> <a name="L275"></a><tt class="py-lineno"> 275</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Format required (lower case string)"</tt><tt class="py-op">)</tt> </tt> <a name="L276"></a><tt class="py-lineno"> 276</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-70" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-70', 'format', 'link-41');">format</a></tt> <tt class="py-op"><></tt> <tt id="link-71" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-71', 'format', 'link-41');">format</a></tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L277"></a><tt class="py-lineno"> 277</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Format string '%s' should be lower case"</tt> <tt class="py-op">%</tt> <tt id="link-72" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-72', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L278"></a><tt class="py-lineno"> 278</tt> <tt class="py-line"> </tt> <a name="L279"></a><tt class="py-lineno"> 279</tt> <tt class="py-line"> <tt class="py-comment">#Map the file format to a sequence iterator: </tt> </tt> <a name="L280"></a><tt class="py-lineno"> 280</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt id="link-73" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-73', 'format', 'link-41');">format</a></tt> <tt class="py-keyword">in</tt> <tt id="link-74" class="py-name"><a title="Bio.AlignIO._FormatToIterator Bio.SeqIO._FormatToIterator" class="py-name" href="#" onclick="return doclink('link-74', '_FormatToIterator', 'link-16');">_FormatToIterator</a></tt> <tt class="py-op">:</tt> </tt> <a name="L281"></a><tt class="py-lineno"> 281</tt> <tt class="py-line"> <tt class="py-name">iterator_generator</tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="Bio.AlignIO._FormatToIterator Bio.SeqIO._FormatToIterator" class="py-name" href="#" onclick="return doclink('link-75', '_FormatToIterator', 'link-16');">_FormatToIterator</a></tt><tt class="py-op">[</tt><tt id="link-76" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-76', 'format', 'link-41');">format</a></tt><tt class="py-op">]</tt> </tt> <a name="L282"></a><tt class="py-lineno"> 282</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">iterator_generator</tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-77', 'handle', 'link-40');">handle</a></tt><tt class="py-op">)</tt> </tt> <a name="L283"></a><tt class="py-lineno"> 283</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-78" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-78', 'format', 'link-41');">format</a></tt> <tt class="py-keyword">in</tt> <tt id="link-79" class="py-name"><a title="Bio.AlignIO" class="py-name" href="#" onclick="return doclink('link-79', 'AlignIO', 'link-39');">AlignIO</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="Bio.AlignIO._FormatToIterator Bio.SeqIO._FormatToIterator" class="py-name" href="#" onclick="return doclink('link-80', '_FormatToIterator', 'link-16');">_FormatToIterator</a></tt> <tt class="py-op">:</tt> </tt> <a name="L284"></a><tt class="py-lineno"> 284</tt> <tt class="py-line"> <tt class="py-comment">#Use Bio.AlignIO to read in the alignments</tt> </tt> <a name="L285"></a><tt class="py-lineno"> 285</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt id="link-81" class="py-name" targets="Function Bio.SeqIO._iterate_via_AlignIO()=Bio.SeqIO-module.html#_iterate_via_AlignIO"><a title="Bio.SeqIO._iterate_via_AlignIO" class="py-name" href="#" onclick="return doclink('link-81', '_iterate_via_AlignIO', 'link-81');">_iterate_via_AlignIO</a></tt><tt class="py-op">(</tt><tt id="link-82" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-82', 'handle', 'link-40');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-83" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-83', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L286"></a><tt class="py-lineno"> 286</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L287"></a><tt class="py-lineno"> 287</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Unknown format '%s'"</tt> <tt class="py-op">%</tt> <tt id="link-84" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-84', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> </div><a name="L288"></a><tt class="py-lineno"> 288</tt> <tt class="py-line"> </tt> <a name="L289"></a><tt class="py-lineno"> 289</tt> <tt class="py-line"><tt class="py-comment">#This is a generator function</tt> </tt> <a name="_iterate_via_AlignIO"></a><div id="_iterate_via_AlignIO-def"><a name="L290"></a><tt class="py-lineno"> 290</tt> <a class="py-toggle" href="#" id="_iterate_via_AlignIO-toggle" onclick="return toggle('_iterate_via_AlignIO');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqIO-module.html#_iterate_via_AlignIO">_iterate_via_AlignIO</a><tt class="py-op">(</tt><tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">format</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="_iterate_via_AlignIO-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_iterate_via_AlignIO-expanded"><a name="L291"></a><tt class="py-lineno"> 291</tt> <tt class="py-line"> <tt class="py-docstring">"""Private function to iterate over all records in several alignments."""</tt> </tt> <a name="L292"></a><tt class="py-lineno"> 292</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt id="link-85" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-85', 'Bio', 'link-0');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-86" class="py-name"><a title="Bio.AlignIO" class="py-name" href="#" onclick="return doclink('link-86', 'AlignIO', 'link-39');">AlignIO</a></tt> </tt> <a name="L293"></a><tt class="py-lineno"> 293</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-87" class="py-name" targets="Method Bio.Blast.NCBIStandalone._HSPConsumer.align()=Bio.Blast.NCBIStandalone._HSPConsumer-class.html#align,Class Bio.FSSP.fssp_rec.align=Bio.FSSP.fssp_rec.align-class.html,Function Bio.Wise.align()=Bio.Wise-module.html#align,Function Bio.Wise.dnal.align()=Bio.Wise.dnal-module.html#align,Function Bio.Wise.psw.align()=Bio.Wise.psw-module.html#align,Variable Bio.pairwise2.align=Bio.pairwise2-module.html#align"><a title="Bio.Blast.NCBIStandalone._HSPConsumer.align Bio.FSSP.fssp_rec.align Bio.Wise.align Bio.Wise.dnal.align Bio.Wise.psw.align Bio.pairwise2.align" class="py-name" href="#" onclick="return doclink('link-87', 'align', 'link-87');">align</a></tt> <tt class="py-keyword">in</tt> <tt id="link-88" class="py-name"><a title="Bio.AlignIO" class="py-name" href="#" onclick="return doclink('link-88', 'AlignIO', 'link-39');">AlignIO</a></tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method Bio.Affy.CelFile.CelParser.parse()=Bio.Affy.CelFile.CelParser-class.html#parse,Method Bio.AlignAce.Parser.AlignAceParser.parse()=Bio.AlignAce.Parser.AlignAceParser-class.html#parse,Method Bio.AlignAce.Parser.CompareAceParser.parse()=Bio.AlignAce.Parser.CompareAceParser-class.html#parse,Function Bio.AlignIO.parse()=Bio.AlignIO-module.html#parse,Method Bio.Blast.NCBIStandalone.BlastErrorParser.parse()=Bio.Blast.NCBIStandalone.BlastErrorParser-class.html#parse,Method Bio.Blast.NCBIStandalone.BlastParser.parse()=Bio.Blast.NCBIStandalone.BlastParser-class.html#parse,Method Bio.Blast.NCBIStandalone.PSIBlastParser.parse()=Bio.Blast.NCBIStandalone.PSIBlastParser-class.html#parse,Method Bio.Blast.NCBIWWW.BlastParser.parse()=Bio.Blast.NCBIWWW.BlastParser-class.html#parse,Method Bio.Blast.NCBIXML.BlastParser.parse()=Bio.Blast.NCBIXML.BlastParser-class.html#parse,Function Bio.Blast.NCBIXML.parse()=Bio.Blast.NCBIXML-module.html#parse,Method Bio.CDD.RecordParser.parse()=Bio.CDD.RecordParser-class.html#parse,Method Bio.Compass.RecordParser.parse()=Bio.Compass.RecordParser-class.html#parse,Function Bio.Decode.parse()=Bio.Decode-module.html#parse,Method Bio.ECell.RecordParser.parse()=Bio.ECell.RecordParser-class.html#parse,Method Bio.EUtils.POM.POMDocument.parse()=Bio.EUtils.POM.POMDocument-class.html#parse,Module Bio.EUtils.parse=Bio.EUtils.parse-module.html,Method Bio.Emboss.Primer.Primer3Parser.parse()=Bio.Emboss.Primer.Primer3Parser-class.html#parse,Method Bio.Emboss.Primer.PrimerSearchParser.parse()=Bio.Emboss.Primer.PrimerSearchParser-class.html#parse,Method Bio.Enzyme.RecordParser.parse()=Bio.Enzyme.RecordParser-class.html#parse,Method Bio.Fasta.RecordParser.parse()=Bio.Fasta.RecordParser-class.html#parse,Method Bio.Fasta.SequenceParser.parse()=Bio.Fasta.SequenceParser-class.html#parse,Method Bio.GenBank.FeatureParser.parse()=Bio.GenBank.FeatureParser-class.html#parse,Function Bio.GenBank.LocationParser.parse()=Bio.GenBank.LocationParser-module.html#parse,Method Bio.GenBank.RecordParser.parse()=Bio.GenBank.RecordParser-class.html#parse,Method Bio.GenBank.Scanner.InsdcScanner.parse()=Bio.GenBank.Scanner.InsdcScanner-class.html#parse,Function Bio.Geo.parse()=Bio.Geo-module.html#parse,Method Bio.Gobase.RecordParser.parse()=Bio.Gobase.RecordParser-class.html#parse,Method Bio.IntelliGenetics.RecordParser.parse()=Bio.IntelliGenetics.RecordParser-class.html#parse,Method Bio.InterPro.InterProParser.parse()=Bio.InterPro.InterProParser-class.html#parse,Function Bio.KEGG.Compound.parse()=Bio.KEGG.Compound-module.html#parse,Function Bio.KEGG.Enzyme.parse()=Bio.KEGG.Enzyme-module.html#parse,Function Bio.KEGG.Map.parse()=Bio.KEGG.Map-module.html#parse,Method Bio.LocusLink.RecordParser.parse()=Bio.LocusLink.RecordParser-class.html#parse,Method Bio.LocusLink.web_parse.LocusLinkParser.parse()=Bio.LocusLink.web_parse.LocusLinkParser-class.html#parse,Method Bio.MEME.Parser.MASTParser.parse()=Bio.MEME.Parser.MASTParser-class.html#parse,Method Bio.MEME.Parser.MEMEParser.parse()=Bio.MEME.Parser.MEMEParser-class.html#parse,Method Bio.Medline.RecordParser.parse()=Bio.Medline.RecordParser-class.html#parse,Method Bio.MetaTool.RecordParser.parse()=Bio.MetaTool.RecordParser-class.html#parse,Method Bio.NBRF.RecordParser.parse()=Bio.NBRF.RecordParser-class.html#parse,Method Bio.Ndb.NdbParser.parse()=Bio.Ndb.NdbParser-class.html#parse,Method Bio.ParserSupport.AbstractParser.parse()=Bio.ParserSupport.AbstractParser-class.html#parse,Method Bio.Parsers.spark.GenericParser.parse()=Bio.Parsers.spark.GenericParser-class.html#parse,Method Bio.PopGen.FDist.RecordParser.parse()=Bio.PopGen.FDist.RecordParser-class.html#parse,Method Bio.PopGen.GenePop.RecordParser.parse()=Bio.PopGen.GenePop.RecordParser-class.html#parse,Function Bio.PopGen.GenePop.parse()=Bio.PopGen.GenePop-module.html#parse,Method Bio.Prosite.Prodoc.RecordParser.parse()=Bio.Prosite.Prodoc.RecordParser-class.html#parse,Function Bio.Prosite.Prodoc.parse()=Bio.Prosite.Prodoc-module.html#parse,Method Bio.Prosite.RecordParser.parse()=Bio.Prosite.RecordParser-class.html#parse,Function Bio.Prosite.parse()=Bio.Prosite-module.html#parse,Method Bio.Rebase.RecordParser.parse()=Bio.Rebase.RecordParser-class.html#parse,Method Bio.SCOP.Cla.Parser.parse()=Bio.SCOP.Cla.Parser-class.html#parse,Function Bio.SCOP.Cla.parse()=Bio.SCOP.Cla-module.html#parse,Method Bio.SCOP.Des.Parser.parse()=Bio.SCOP.Des.Parser-class.html#parse,Function Bio.SCOP.Des.parse()=Bio.SCOP.Des-module.html#parse,Method Bio.SCOP.Dom.Parser.parse()=Bio.SCOP.Dom.Parser-class.html#parse,Function Bio.SCOP.Dom.parse()=Bio.SCOP.Dom-module.html#parse,Method Bio.SCOP.Hie.Parser.parse()=Bio.SCOP.Hie.Parser-class.html#parse,Function Bio.SCOP.Hie.parse()=Bio.SCOP.Hie-module.html#parse,Method Bio.SCOP.Raf.Parser.parse()=Bio.SCOP.Raf.Parser-class.html#parse,Function Bio.SCOP.Raf.parse()=Bio.SCOP.Raf-module.html#parse,Method Bio.Saf.RecordParser.parse()=Bio.Saf.RecordParser-class.html#parse,Function Bio.SeqIO.parse()=Bio.SeqIO-module.html#parse,Method Bio.Sequencing.Ace.ACEParser.parse()=Bio.Sequencing.Ace.ACEParser-class.html#parse,Method Bio.Sequencing.Ace.RecordParser.parse()=Bio.Sequencing.Ace.RecordParser-class.html#parse,Method Bio.Sequencing.Phd.RecordParser.parse()=Bio.Sequencing.Phd.RecordParser-class.html#parse,Method Bio.SwissProt.KeyWList.ListParser.parse()=Bio.SwissProt.KeyWList.ListParser-class.html#parse,Function Bio.SwissProt.KeyWList.parse()=Bio.SwissProt.KeyWList-module.html#parse,Method Bio.SwissProt.SProt.RecordParser.parse()=Bio.SwissProt.SProt.RecordParser-class.html#parse,Method Bio.SwissProt.SProt.SequenceParser.parse()=Bio.SwissProt.SProt.SequenceParser-class.html#parse,Function Bio.SwissProt.parse()=Bio.SwissProt-module.html#parse,Method Bio.UniGene.RecordParser.parse()=Bio.UniGene.RecordParser-class.html#parse,Function Bio.Wise.psw.parse()=Bio.Wise.psw-module.html#parse,Method Martel.Parser.HeaderFooterParser.parse()=Martel.Parser.HeaderFooterParser-class.html#parse,Method Martel.Parser.Parser.parse()=Martel.Parser.Parser-class.html#parse,Method Martel.Parser.RecordParser.parse()=Martel.Parser.RecordParser-class.html#parse,Function Martel.msre_parse.parse()=Martel.msre_parse-module.html#parse"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-89', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-90', 'handle', 'link-40');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-91" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-91', 'format', 'link-41');">format</a></tt><tt class="py-op">)</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">for</tt> <tt id="link-92" 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-92', 'record', 'link-92');">record</a></tt> <tt class="py-keyword">in</tt> <tt id="link-93" class="py-name"><a title="Bio.Blast.NCBIStandalone._HSPConsumer.align Bio.FSSP.fssp_rec.align Bio.Wise.align Bio.Wise.dnal.align Bio.Wise.psw.align Bio.pairwise2.align" class="py-name" href="#" onclick="return doclink('link-93', 'align', 'link-87');">align</a></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">yield</tt> <tt id="link-94" 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-94', 'record', 'link-92');">record</a></tt> </tt> </div><a name="L296"></a><tt class="py-lineno"> 296</tt> <tt class="py-line"> </tt> <a name="read"></a><div id="read-def"><a name="L297"></a><tt class="py-lineno"> 297</tt> <a class="py-toggle" href="#" id="read-toggle" onclick="return toggle('read');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqIO-module.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">format</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="read-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="read-expanded"><a name="L298"></a><tt class="py-lineno"> 298</tt> <tt class="py-line"> <tt class="py-docstring">"""Turns a sequence file into a single SeqRecord.</tt> </tt> <a name="L299"></a><tt class="py-lineno"> 299</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L300"></a><tt class="py-lineno"> 300</tt> <tt class="py-line"><tt class="py-docstring"> handle - handle to the file.</tt> </tt> <a name="L301"></a><tt class="py-lineno"> 301</tt> <tt class="py-line"><tt class="py-docstring"> format - string describing the file format.</tt> </tt> <a name="L302"></a><tt class="py-lineno"> 302</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L303"></a><tt class="py-lineno"> 303</tt> <tt class="py-line"><tt class="py-docstring"> If the handle contains no records, or more than one record,</tt> </tt> <a name="L304"></a><tt class="py-lineno"> 304</tt> <tt class="py-line"><tt class="py-docstring"> an exception is raised. For example, using a GenBank file</tt> </tt> <a name="L305"></a><tt class="py-lineno"> 305</tt> <tt class="py-line"><tt class="py-docstring"> containing one record:</tt> </tt> <a name="L306"></a><tt class="py-lineno"> 306</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L307"></a><tt class="py-lineno"> 307</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L308"></a><tt class="py-lineno"> 308</tt> <tt class="py-line"><tt class="py-docstring"> record = SeqIO.read(open("example.gbk"), "genbank")</tt> </tt> <a name="L309"></a><tt class="py-lineno"> 309</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L310"></a><tt class="py-lineno"> 310</tt> <tt class="py-line"><tt class="py-docstring"> If however you want the first record from a file containing,</tt> </tt> <a name="L311"></a><tt class="py-lineno"> 311</tt> <tt class="py-line"><tt class="py-docstring"> multiple records this function would raise an exception.</tt> </tt> <a name="L312"></a><tt class="py-lineno"> 312</tt> <tt class="py-line"><tt class="py-docstring"> Instead use:</tt> </tt> <a name="L313"></a><tt class="py-lineno"> 313</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L314"></a><tt class="py-lineno"> 314</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L315"></a><tt class="py-lineno"> 315</tt> <tt class="py-line"><tt class="py-docstring"> record = SeqIO.parse(open("example.gbk"), "genbank").next()</tt> </tt> <a name="L316"></a><tt class="py-lineno"> 316</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L317"></a><tt class="py-lineno"> 317</tt> <tt class="py-line"><tt class="py-docstring"> Use the Bio.SeqIO.parse(handle, format) function if you want</tt> </tt> <a name="L318"></a><tt class="py-lineno"> 318</tt> <tt class="py-line"><tt class="py-docstring"> to read multiple records from the handle.</tt> </tt> <a name="L319"></a><tt class="py-lineno"> 319</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L320"></a><tt class="py-lineno"> 320</tt> <tt class="py-line"> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-95', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-96', 'handle', 'link-40');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-97" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-97', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L321"></a><tt class="py-lineno"> 321</tt> <tt class="py-line"> <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt> <a name="L322"></a><tt class="py-lineno"> 322</tt> <tt class="py-line"> <tt class="py-name">first</tt> <tt class="py-op">=</tt> <tt class="py-name">iterator</tt><tt class="py-op">.</tt><tt id="link-98" 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-98', 'next', 'link-98');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L323"></a><tt class="py-lineno"> 323</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt> <tt class="py-op">:</tt> </tt> <a name="L324"></a><tt class="py-lineno"> 324</tt> <tt class="py-line"> <tt class="py-name">first</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L325"></a><tt class="py-lineno"> 325</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">first</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt> <a name="L326"></a><tt class="py-lineno"> 326</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-string">"No records found in handle"</tt> </tt> <a name="L327"></a><tt class="py-lineno"> 327</tt> <tt class="py-line"> <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt> <a name="L328"></a><tt class="py-lineno"> 328</tt> <tt class="py-line"> <tt class="py-name">second</tt> <tt class="py-op">=</tt> <tt class="py-name">iterator</tt><tt class="py-op">.</tt><tt id="link-99" 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-99', 'next', 'link-98');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L329"></a><tt class="py-lineno"> 329</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt> <tt class="py-op">:</tt> </tt> <a name="L330"></a><tt class="py-lineno"> 330</tt> <tt class="py-line"> <tt class="py-name">second</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L331"></a><tt class="py-lineno"> 331</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">second</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt> <a name="L332"></a><tt class="py-lineno"> 332</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-string">"More than one record found in handle"</tt> </tt> <a name="L333"></a><tt class="py-lineno"> 333</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">first</tt> </tt> </div><a name="L334"></a><tt class="py-lineno"> 334</tt> <tt class="py-line"> </tt> <a name="to_dict"></a><div id="to_dict-def"><a name="L335"></a><tt class="py-lineno"> 335</tt> <a class="py-toggle" href="#" id="to_dict-toggle" onclick="return toggle('to_dict');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqIO-module.html#to_dict">to_dict</a><tt class="py-op">(</tt><tt class="py-param">sequences</tt><tt class="py-op">,</tt> <tt class="py-param">key_function</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="to_dict-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="to_dict-expanded"><a name="L336"></a><tt class="py-lineno"> 336</tt> <tt class="py-line"> <tt class="py-docstring">"""Turns a sequence iterator or list into a dictionary.</tt> </tt> <a name="L337"></a><tt class="py-lineno"> 337</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L338"></a><tt class="py-lineno"> 338</tt> <tt class="py-line"><tt class="py-docstring"> sequences - An iterator that returns SeqRecord objects,</tt> </tt> <a name="L339"></a><tt class="py-lineno"> 339</tt> <tt class="py-line"><tt class="py-docstring"> or simply a list of SeqRecord objects.</tt> </tt> <a name="L340"></a><tt class="py-lineno"> 340</tt> <tt class="py-line"><tt class="py-docstring"> key_function - Optional function which when given a SeqRecord</tt> </tt> <a name="L341"></a><tt class="py-lineno"> 341</tt> <tt class="py-line"><tt class="py-docstring"> returns a unique string for the dictionary key.</tt> </tt> <a name="L342"></a><tt class="py-lineno"> 342</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L343"></a><tt class="py-lineno"> 343</tt> <tt class="py-line"><tt class="py-docstring"> e.g. key_function = lambda rec : rec.name</tt> </tt> <a name="L344"></a><tt class="py-lineno"> 344</tt> <tt class="py-line"><tt class="py-docstring"> or, key_function = lambda rec : rec.description.split()[0]</tt> </tt> <a name="L345"></a><tt class="py-lineno"> 345</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L346"></a><tt class="py-lineno"> 346</tt> <tt class="py-line"><tt class="py-docstring"> If key_function is ommitted then record.id is used, on the</tt> </tt> <a name="L347"></a><tt class="py-lineno"> 347</tt> <tt class="py-line"><tt class="py-docstring"> assumption that the records objects returned are SeqRecords</tt> </tt> <a name="L348"></a><tt class="py-lineno"> 348</tt> <tt class="py-line"><tt class="py-docstring"> with a unique id field.</tt> </tt> <a name="L349"></a><tt class="py-lineno"> 349</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L350"></a><tt class="py-lineno"> 350</tt> <tt class="py-line"><tt class="py-docstring"> If there are duplicate keys, an error is raised.</tt> </tt> <a name="L351"></a><tt class="py-lineno"> 351</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L352"></a><tt class="py-lineno"> 352</tt> <tt class="py-line"><tt class="py-docstring"> Example usage:</tt> </tt> <a name="L353"></a><tt class="py-lineno"> 353</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L354"></a><tt class="py-lineno"> 354</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L355"></a><tt class="py-lineno"> 355</tt> <tt class="py-line"><tt class="py-docstring"> filename = "example.fasta"</tt> </tt> <a name="L356"></a><tt class="py-lineno"> 356</tt> <tt class="py-line"><tt class="py-docstring"> d = SeqIO.to_dict(SeqIO.parse(open(faa_filename, "rU")),</tt> </tt> <a name="L357"></a><tt class="py-lineno"> 357</tt> <tt class="py-line"><tt class="py-docstring"> key_function = lambda rec : rec.description.split()[0])</tt> </tt> <a name="L358"></a><tt class="py-lineno"> 358</tt> <tt class="py-line"><tt class="py-docstring"> print len(d)</tt> </tt> <a name="L359"></a><tt class="py-lineno"> 359</tt> <tt class="py-line"><tt class="py-docstring"> print d.keys()[0:10]</tt> </tt> <a name="L360"></a><tt class="py-lineno"> 360</tt> <tt class="py-line"><tt class="py-docstring"> key = d.keys()[0]</tt> </tt> <a name="L361"></a><tt class="py-lineno"> 361</tt> <tt class="py-line"><tt class="py-docstring"> print d[key]</tt> </tt> <a name="L362"></a><tt class="py-lineno"> 362</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L363"></a><tt class="py-lineno"> 363</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key_function</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt> <a name="L364"></a><tt class="py-lineno"> 364</tt> <tt class="py-line"> <tt class="py-name">key_function</tt> <tt class="py-op">=</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">rec</tt> <tt class="py-op">:</tt> <tt class="py-name">rec</tt><tt class="py-op">.</tt><tt id="link-100" 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-100', 'id', 'link-100');">id</a></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 id="link-101" 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-101', 'd', 'link-101');">d</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dict</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 id="link-102" 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-102', 'record', 'link-92');">record</a></tt> <tt class="py-keyword">in</tt> <tt id="link-103" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequences" class="py-name" href="#" onclick="return doclink('link-103', 'sequences', 'link-46');">sequences</a></tt> <tt class="py-op">:</tt> </tt> <a name="L368"></a><tt class="py-lineno"> 368</tt> <tt class="py-line"> <tt id="link-104" class="py-name" targets="Variable Bio.Translate.key=Bio.Translate-module.html#key"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-104', 'key', 'link-104');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-name">key_function</tt><tt class="py-op">(</tt><tt id="link-105" 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-105', 'record', 'link-92');">record</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">if</tt> <tt id="link-106" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-106', 'key', 'link-104');">key</a></tt> <tt class="py-keyword">in</tt> <tt id="link-107" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-107', 'd', 'link-101');">d</a></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">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Duplicate key '%s'"</tt> <tt class="py-op">%</tt> <tt id="link-108" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-108', 'key', 'link-104');">key</a></tt><tt class="py-op">)</tt> </tt> <a name="L371"></a><tt class="py-lineno"> 371</tt> <tt class="py-line"> <tt id="link-109" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-109', 'd', 'link-101');">d</a></tt><tt class="py-op">[</tt><tt id="link-110" class="py-name"><a title="Bio.Translate.key" class="py-name" href="#" onclick="return doclink('link-110', 'key', 'link-104');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-111" 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-111', 'record', 'link-92');">record</a></tt> </tt> <a name="L372"></a><tt class="py-lineno"> 372</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-112" class="py-name"><a title="Bio.EUtils.setup.d" class="py-name" href="#" onclick="return doclink('link-112', 'd', 'link-101');">d</a></tt> </tt> </div><a name="L373"></a><tt class="py-lineno"> 373</tt> <tt class="py-line"> </tt> <a name="to_alignment"></a><div id="to_alignment-def"><a name="L374"></a><tt class="py-lineno"> 374</tt> <a class="py-toggle" href="#" id="to_alignment-toggle" onclick="return toggle('to_alignment');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqIO-module.html#to_alignment">to_alignment</a><tt class="py-op">(</tt><tt class="py-param">sequences</tt><tt class="py-op">,</tt> <tt class="py-param">alphabet</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">=</tt><tt id="link-113" 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-113', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> </div><div id="to_alignment-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="to_alignment-expanded"><a name="L375"></a><tt class="py-lineno"> 375</tt> <tt class="py-line"> <tt class="py-docstring">"""Returns a multiple sequence alignment (OBSOLETE).</tt> </tt> <a name="L376"></a><tt class="py-lineno"> 376</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L377"></a><tt class="py-lineno"> 377</tt> <tt class="py-line"><tt class="py-docstring"> sequences -An iterator that returns SeqRecord objects,</tt> </tt> <a name="L378"></a><tt class="py-lineno"> 378</tt> <tt class="py-line"><tt class="py-docstring"> or simply a list of SeqRecord objects.</tt> </tt> <a name="L379"></a><tt class="py-lineno"> 379</tt> <tt class="py-line"><tt class="py-docstring"> All the record sequences must be the same length.</tt> </tt> <a name="L380"></a><tt class="py-lineno"> 380</tt> <tt class="py-line"><tt class="py-docstring"> alphabet - Optional alphabet. Stongly recommended.</tt> </tt> <a name="L381"></a><tt class="py-lineno"> 381</tt> <tt class="py-line"><tt class="py-docstring"> strict - Optional, defaults to True. Should error checking</tt> </tt> <a name="L382"></a><tt class="py-lineno"> 382</tt> <tt class="py-line"><tt class="py-docstring"> be done?</tt> </tt> <a name="L383"></a><tt class="py-lineno"> 383</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L384"></a><tt class="py-lineno"> 384</tt> <tt class="py-line"><tt class="py-docstring"> Using this function is now discouraged. Rather doing this:</tt> </tt> <a name="L385"></a><tt class="py-lineno"> 385</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L386"></a><tt class="py-lineno"> 386</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import SeqIO</tt> </tt> <a name="L387"></a><tt class="py-lineno"> 387</tt> <tt class="py-line"><tt class="py-docstring"> alignment = SeqIO.to_alignment(SeqIO.parse(handle, format))</tt> </tt> <a name="L388"></a><tt class="py-lineno"> 388</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L389"></a><tt class="py-lineno"> 389</tt> <tt class="py-line"><tt class="py-docstring"> You are now encouraged to use Bio.AlignIO instead, e.g.</tt> </tt> <a name="L390"></a><tt class="py-lineno"> 390</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L391"></a><tt class="py-lineno"> 391</tt> <tt class="py-line"><tt class="py-docstring"> from Bio import AlignIO</tt> </tt> <a name="L392"></a><tt class="py-lineno"> 392</tt> <tt class="py-line"><tt class="py-docstring"> alignment = AlignIO.read(handle, format)</tt> </tt> <a name="L393"></a><tt class="py-lineno"> 393</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="L394"></a><tt class="py-lineno"> 394</tt> <tt class="py-line"> <tt class="py-comment">#TODO - Move this functionality into the Alignment class instead?</tt> </tt> <a name="L395"></a><tt class="py-lineno"> 395</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">from</tt> <tt id="link-114" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-114', 'Bio', 'link-0');">Bio</a></tt><tt class="py-op">.</tt><tt id="link-115" 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-115', 'Alphabet', 'link-115');">Alphabet</a></tt> <tt class="py-keyword">import</tt> <tt id="link-116" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-116', 'Alphabet', 'link-115');">Alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-117" class="py-name" targets="Class Bio.Alphabet.Gapped=Bio.Alphabet.Gapped-class.html"><a title="Bio.Alphabet.Gapped" class="py-name" href="#" onclick="return doclink('link-117', 'Gapped', 'link-117');">Gapped</a></tt><tt class="py-op">,</tt> <tt id="link-118" 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-118', 'generic_alphabet', 'link-118');">generic_alphabet</a></tt> </tt> <a name="L396"></a><tt class="py-lineno"> 396</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-119" 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-119', 'alphabet', 'link-119');">alphabet</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt> <a name="L397"></a><tt class="py-lineno"> 397</tt> <tt class="py-line"> <tt id="link-120" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-120', 'alphabet', 'link-119');">alphabet</a></tt> <tt class="py-op">=</tt> <tt id="link-121" class="py-name"><a title="Bio.Alphabet.Gapped" class="py-name" href="#" onclick="return doclink('link-121', 'Gapped', 'link-117');">Gapped</a></tt><tt class="py-op">(</tt><tt id="link-122" class="py-name"><a title="Bio.Alphabet.generic_alphabet" class="py-name" href="#" onclick="return doclink('link-122', 'generic_alphabet', 'link-118');">generic_alphabet</a></tt><tt class="py-op">)</tt> </tt> <a name="L398"></a><tt class="py-lineno"> 398</tt> <tt class="py-line"> </tt> <a name="L399"></a><tt class="py-lineno"> 399</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-123" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-123', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-124" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-124', 'Alphabet', 'link-115');">Alphabet</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-125" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-125', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-126" class="py-name"><a title="Bio.Alphabet.Gapped" class="py-name" href="#" onclick="return doclink('link-126', 'Gapped', 'link-117');">Gapped</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L400"></a><tt class="py-lineno"> 400</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Invalid alignment alphabet"</tt><tt class="py-op">)</tt> </tt> <a name="L401"></a><tt class="py-lineno"> 401</tt> <tt class="py-line"> </tt> <a name="L402"></a><tt class="py-lineno"> 402</tt> <tt class="py-line"> <tt class="py-name">alignment_length</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L403"></a><tt class="py-lineno"> 403</tt> <tt class="py-line"> <tt id="link-127" class="py-name" targets="Variable Bio.expressions.blast.ncbiblast.alignment=Bio.expressions.blast.ncbiblast-module.html#alignment"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-127', 'alignment', 'link-127');">alignment</a></tt> <tt class="py-op">=</tt> <tt id="link-128" class="py-name"><a title="Bio.Align.Generic.Alignment Bio.Blast.Record.Alignment Bio.Wise.psw.Alignment" class="py-name" href="#" onclick="return doclink('link-128', 'Alignment', 'link-9');">Alignment</a></tt><tt class="py-op">(</tt><tt id="link-129" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-129', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">)</tt> </tt> <a name="L404"></a><tt class="py-lineno"> 404</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-130" 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-130', 'record', 'link-92');">record</a></tt> <tt class="py-keyword">in</tt> <tt id="link-131" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequences" class="py-name" href="#" onclick="return doclink('link-131', 'sequences', 'link-46');">sequences</a></tt> <tt class="py-op">:</tt> </tt> <a name="L405"></a><tt class="py-lineno"> 405</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">strict</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">if</tt> <tt class="py-name">alignment_length</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt> <a name="L407"></a><tt class="py-lineno"> 407</tt> <tt class="py-line"> <tt class="py-name">alignment_length</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-132" 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-132', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-133" 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-133', 'seq', 'link-133');">seq</a></tt><tt class="py-op">)</tt> </tt> <a name="L408"></a><tt class="py-lineno"> 408</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">alignment_length</tt> <tt class="py-op"><></tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-134" 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-134', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-135" 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-135', 'seq', 'link-133');">seq</a></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">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Sequences must all be the same length"</tt><tt class="py-op">)</tt> </tt> <a name="L410"></a><tt class="py-lineno"> 410</tt> <tt class="py-line"> </tt> <a name="L411"></a><tt class="py-lineno"> 411</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-136" 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-136', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-137" 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-137', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-138', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-139" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-139', 'Alphabet', 'link-115');">Alphabet</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-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-140" 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-140', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-141" 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-141', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-142', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-143" class="py-name"><a title="Bio.Alphabet.Gapped" class="py-name" href="#" onclick="return doclink('link-143', 'Gapped', 'link-117');">Gapped</a></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 class="py-string">"Sequence does not have a valid alphabet"</tt> </tt> <a name="L414"></a><tt class="py-lineno"> 414</tt> <tt class="py-line"> </tt> <a name="L415"></a><tt class="py-lineno"> 415</tt> <tt class="py-line"> <tt class="py-comment">#TODO - Move this alphabet comparison code into the Alphabet module/class?</tt> </tt> <a name="L416"></a><tt class="py-lineno"> 416</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#TODO - Is a normal alphabet "ungapped" by default, or does it just mean</tt> </tt> <a name="L417"></a><tt class="py-lineno"> 417</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#undecided?</tt> </tt> <a name="L418"></a><tt class="py-lineno"> 418</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-144" 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-144', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-145" 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-145', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-146', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-147" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-147', 'Alphabet', 'link-115');">Alphabet</a></tt><tt class="py-op">)</tt> \ </tt> <a name="L419"></a><tt class="py-lineno"> 419</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-148" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-148', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-149" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-149', 'Alphabet', 'link-115');">Alphabet</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L420"></a><tt class="py-lineno"> 420</tt> <tt class="py-line"> <tt class="py-comment">#Comparing two non-gapped alphabets </tt> </tt> <a name="L421"></a><tt class="py-lineno"> 421</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-150" 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-150', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-151" 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-151', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-152', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-153" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-153', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L422"></a><tt class="py-lineno"> 422</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Incompatible sequence alphabet "</tt> \ </tt> <a name="L423"></a><tt class="py-lineno"> 423</tt> <tt class="py-line"> <tt class="py-op">+</tt> <tt class="py-string">"%s for %s alignment"</tt> \ </tt> <a name="L424"></a><tt class="py-lineno"> 424</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-154" 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-154', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-155" 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-155', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-156', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-157" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-157', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L425"></a><tt class="py-lineno"> 425</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-158" 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-158', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-159" 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-159', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-160', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-161" class="py-name"><a title="Bio.Alphabet.Gapped" class="py-name" href="#" onclick="return doclink('link-161', 'Gapped', 'link-117');">Gapped</a></tt><tt class="py-op">)</tt> \ </tt> <a name="L426"></a><tt class="py-lineno"> 426</tt> <tt class="py-line"> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-162" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-162', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-163" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-163', 'Alphabet', 'link-115');">Alphabet</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L427"></a><tt class="py-lineno"> 427</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Sequence has a gapped alphabet, alignment does not"</tt><tt class="py-op">)</tt> </tt> <a name="L428"></a><tt class="py-lineno"> 428</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-164" 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-164', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-165" 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-165', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-166', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-167" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-167', 'Alphabet', 'link-115');">Alphabet</a></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">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-168" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-168', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-169" class="py-name"><a title="Bio.Alphabet.Gapped" class="py-name" href="#" onclick="return doclink('link-169', 'Gapped', 'link-117');">Gapped</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L430"></a><tt class="py-lineno"> 430</tt> <tt class="py-line"> <tt class="py-comment">#Sequence isn't gapped, alignment is.</tt> </tt> <a name="L431"></a><tt class="py-lineno"> 431</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-170" 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-170', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-171" 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-171', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-172', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-173" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-173', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-174', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">.</tt><tt class="py-name">__class__</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">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Incompatible sequence alphabet "</tt> \ </tt> <a name="L433"></a><tt class="py-lineno"> 433</tt> <tt class="py-line"> <tt class="py-op">+</tt> <tt class="py-string">"%s for %s alignment"</tt> \ </tt> <a name="L434"></a><tt class="py-lineno"> 434</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-175" 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-175', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-176" 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-176', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-177', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-178" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-178', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L435"></a><tt class="py-lineno"> 435</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L436"></a><tt class="py-lineno"> 436</tt> <tt class="py-line"> <tt class="py-comment">#Comparing two gapped alphabets</tt> </tt> <a name="L437"></a><tt class="py-lineno"> 437</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-179" 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-179', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-180" 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-180', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-181', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-182" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-182', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">.</tt><tt class="py-name">__class__</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-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Incompatible sequence alphabet "</tt> \ </tt> <a name="L439"></a><tt class="py-lineno"> 439</tt> <tt class="py-line"> <tt class="py-op">+</tt> <tt class="py-string">"%s for %s alignment"</tt> \ </tt> <a name="L440"></a><tt class="py-lineno"> 440</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-183" 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-183', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-184" 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-184', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-185', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">,</tt> <tt id="link-186" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-186', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L441"></a><tt class="py-lineno"> 441</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-187" 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-187', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-188" 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-188', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-189', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">.</tt><tt class="py-name">gap_char</tt> <tt class="py-op"><></tt> <tt id="link-190" class="py-name"><a title="Bio.Prosite.Pattern.Prosite.alphabet Bio.Std.alphabet" class="py-name" href="#" onclick="return doclink('link-190', 'alphabet', 'link-119');">alphabet</a></tt><tt class="py-op">.</tt><tt class="py-name">gap_char</tt> <tt class="py-op">:</tt> </tt> <a name="L442"></a><tt class="py-lineno"> 442</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Sequence gap characters <> alignment gap char"</tt><tt class="py-op">)</tt> </tt> <a name="L443"></a><tt class="py-lineno"> 443</tt> <tt class="py-line"> <tt class="py-comment">#ToDo, additional checks on the specified alignment...</tt> </tt> <a name="L444"></a><tt class="py-lineno"> 444</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#Should we look at the alphabet.contains() method?</tt> </tt> <a name="L445"></a><tt class="py-lineno"> 445</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L446"></a><tt class="py-lineno"> 446</tt> <tt class="py-line"> <tt class="py-comment">#This is abusing the "private" records list,</tt> </tt> <a name="L447"></a><tt class="py-lineno"> 447</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#we should really have a method like add_sequence</tt> </tt> <a name="L448"></a><tt class="py-lineno"> 448</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#but which takes SeqRecord objects. See also Bug 1944</tt> </tt> <a name="L449"></a><tt class="py-lineno"> 449</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-191" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-191', 'alignment', 'link-127');">alignment</a></tt><tt class="py-op">.</tt><tt class="py-name">_records</tt><tt class="py-op">.</tt><tt id="link-192" 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-192', 'append', 'link-192');">append</a></tt><tt class="py-op">(</tt><tt id="link-193" 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-193', 'record', 'link-92');">record</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-keyword">return</tt> <tt id="link-194" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-194', 'alignment', 'link-127');">alignment</a></tt> </tt> </div><a name="L451"></a><tt class="py-lineno"> 451</tt> <tt class="py-line"> </tt> <a name="L452"></a><tt class="py-lineno"> 452</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="L453"></a><tt class="py-lineno"> 453</tt> <tt class="py-line"> <tt class="py-comment">#Run some tests...</tt> </tt> <a name="L454"></a><tt class="py-lineno"> 454</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">from</tt> <tt id="link-195" class="py-name"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-195', 'Bio', 'link-0');">Bio</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="Bio.Alphabet Bio.Alphabet.Alphabet" class="py-name" href="#" onclick="return doclink('link-196', 'Alphabet', 'link-115');">Alphabet</a></tt> <tt class="py-keyword">import</tt> <tt id="link-197" class="py-name" targets="Variable Bio.Alphabet.generic_nucleotide=Bio.Alphabet-module.html#generic_nucleotide"><a title="Bio.Alphabet.generic_nucleotide" class="py-name" href="#" onclick="return doclink('link-197', 'generic_nucleotide', 'link-197');">generic_nucleotide</a></tt> </tt> <a name="L455"></a><tt class="py-lineno"> 455</tt> <tt class="py-line"> <tt class="py-keyword">from</tt> <tt class="py-name">sets</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Set</tt> </tt> <a name="L456"></a><tt class="py-lineno"> 456</tt> <tt class="py-line"> </tt> <a name="L457"></a><tt class="py-lineno"> 457</tt> <tt class="py-line"> <tt class="py-comment"># Fasta file with unusual layout, from here:</tt> </tt> <a name="L458"></a><tt class="py-lineno"> 458</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># http://virgil.ruc.dk/kurser/Sekvens/Treedraw.htm</tt> </tt> <a name="L459"></a><tt class="py-lineno"> 459</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">faa_example</tt> <tt class="py-op">=</tt> \ </tt> <a name="L460"></a><tt class="py-lineno"> 460</tt> <tt class="py-line"><tt class="py-string">""">V_Harveyi_PATH</tt> </tt> <a name="L461"></a><tt class="py-lineno"> 461</tt> <tt class="py-line"><tt class="py-string">mknwikvava aialsaatvq aatevkvgms gryfpftfvk qdklqgfevd mwdeigkrnd</tt> </tt> <a name="L462"></a><tt class="py-lineno"> 462</tt> <tt class="py-line"><tt class="py-string">ykieyvtanf sglfglletg ridtisnqit mtdarkakyl fadpyvvdga qitvrkgnds</tt> </tt> <a name="L463"></a><tt class="py-lineno"> 463</tt> <tt class="py-line"><tt class="py-string">iqgvedlagk tvavnlgsnf eqllrdydkd gkiniktydt giehdvalgr adafimdrls</tt> </tt> <a name="L464"></a><tt class="py-lineno"> 464</tt> <tt class="py-line"><tt class="py-string">alelikktgl plqlagepfe tiqnawpfvd nekgrklqae vnkalaemra dgtvekisvk</tt> </tt> <a name="L465"></a><tt class="py-lineno"> 465</tt> <tt class="py-line"><tt class="py-string">wfgaditk</tt> </tt> <a name="L466"></a><tt class="py-lineno"> 466</tt> <tt class="py-line"><tt class="py-string">>B_subtilis_YXEM</tt> </tt> <a name="L467"></a><tt class="py-lineno"> 467</tt> <tt class="py-line"><tt class="py-string">mkmkkwtvlv vaallavlsa cgngnssske ddnvlhvgat gqsypfayke ngkltgfdve</tt> </tt> <a name="L468"></a><tt class="py-lineno"> 468</tt> <tt class="py-line"><tt class="py-string">vmeavakkid mkldwkllef sglmgelqtg kldtisnqva vtderketyn ftkpyayagt</tt> </tt> <a name="L469"></a><tt class="py-lineno"> 469</tt> <tt class="py-line"><tt class="py-string">qivvkkdntd iksvddlkgk tvaavlgsnh aknleskdpd kkiniktyet qegtlkdvay</tt> </tt> <a name="L470"></a><tt class="py-lineno"> 470</tt> <tt class="py-line"><tt class="py-string">grvdayvnsr tvliaqikkt glplklagdp ivyeqvafpf akddahdklr kkvnkaldel</tt> </tt> <a name="L471"></a><tt class="py-lineno"> 471</tt> <tt class="py-line"><tt class="py-string">rkdgtlkkls ekyfneditv eqkh</tt> </tt> <a name="L472"></a><tt class="py-lineno"> 472</tt> <tt class="py-line"><tt class="py-string">>FLIY_ECOLI</tt> </tt> <a name="L473"></a><tt class="py-lineno"> 473</tt> <tt class="py-line"><tt class="py-string">mklahlgrqa lmgvmavalv agmsvksfad egllnkvker gtllvglegt yppfsfqgdd</tt> </tt> <a name="L474"></a><tt class="py-lineno"> 474</tt> <tt class="py-line"><tt class="py-string">gkltgfevef aqqlakhlgv easlkptkwd gmlasldskr idvvinqvti sderkkkydf</tt> </tt> <a name="L475"></a><tt class="py-lineno"> 475</tt> <tt class="py-line"><tt class="py-string">stpytisgiq alvkkgnegt iktaddlkgk kvgvglgtny eewlrqnvqg vdvrtydddp</tt> </tt> <a name="L476"></a><tt class="py-lineno"> 476</tt> <tt class="py-line"><tt class="py-string">tkyqdlrvgr idailvdrla aldlvkktnd tlavtgeafs rqesgvalrk gnedllkavn</tt> </tt> <a name="L477"></a><tt class="py-lineno"> 477</tt> <tt class="py-line"><tt class="py-string">daiaemqkdg tlqalsekwf gadvtk</tt> </tt> <a name="L478"></a><tt class="py-lineno"> 478</tt> <tt class="py-line"><tt class="py-string">>Deinococcus_radiodurans</tt> </tt> <a name="L479"></a><tt class="py-lineno"> 479</tt> <tt class="py-line"><tt class="py-string">mkksllslkl sgllvpsvla lslsacssps stlnqgtlki amegtyppft skneqgelvg</tt> </tt> <a name="L480"></a><tt class="py-lineno"> 480</tt> <tt class="py-line"><tt class="py-string">fdvdiakava qklnlkpefv ltewsgilag lqankydviv nqvgitperq nsigfsqpya</tt> </tt> <a name="L481"></a><tt class="py-lineno"> 481</tt> <tt class="py-line"><tt class="py-string">ysrpeiivak nntfnpqsla dlkgkrvgst lgsnyekqli dtgdikivty pgapeiladl</tt> </tt> <a name="L482"></a><tt class="py-lineno"> 482</tt> <tt class="py-line"><tt class="py-string">vagridaayn drlvvnyiin dqklpvrgag qigdaapvgi alkkgnsalk dqidkaltem</tt> </tt> <a name="L483"></a><tt class="py-lineno"> 483</tt> <tt class="py-line"><tt class="py-string">rsdgtfekis qkwfgqdvgq p</tt> </tt> <a name="L484"></a><tt class="py-lineno"> 484</tt> <tt class="py-line"><tt class="py-string">>B_subtilis_GlnH_homo_YCKK</tt> </tt> <a name="L485"></a><tt class="py-lineno"> 485</tt> <tt class="py-line"><tt class="py-string">mkkallalfm vvsiaalaac gagndnqskd nakdgdlwas ikkkgvltvg tegtyepfty</tt> </tt> <a name="L486"></a><tt class="py-lineno"> 486</tt> <tt class="py-line"><tt class="py-string">hdkdtdkltg ydveviteva krlglkvdfk etqwgsmfag lnskrfdvva nqvgktdred</tt> </tt> <a name="L487"></a><tt class="py-lineno"> 487</tt> <tt class="py-line"><tt class="py-string">kydfsdkytt sravvvtkkd nndikseadv kgktsaqslt snynklatna gakvegvegm</tt> </tt> <a name="L488"></a><tt class="py-lineno"> 488</tt> <tt class="py-line"><tt class="py-string">aqalqmiqqa rvdmtyndkl avlnylktsg nknvkiafet gepqstyftf rkgsgevvdq</tt> </tt> <a name="L489"></a><tt class="py-lineno"> 489</tt> <tt class="py-line"><tt class="py-string">vnkalkemke dgtlskiskk wfgedvsk</tt> </tt> <a name="L490"></a><tt class="py-lineno"> 490</tt> <tt class="py-line"><tt class="py-string">>YA80_HAEIN</tt> </tt> <a name="L491"></a><tt class="py-lineno"> 491</tt> <tt class="py-line"><tt class="py-string">mkkllfttal ltgaiafstf shageiadrv ektktllvgt egtyapftfh dksgkltgfd</tt> </tt> <a name="L492"></a><tt class="py-lineno"> 492</tt> <tt class="py-line"><tt class="py-string">vevirkvaek lglkvefket qwdamyagln akrfdvianq tnpsperlkk ysfttpynys</tt> </tt> <a name="L493"></a><tt class="py-lineno"> 493</tt> <tt class="py-line"><tt class="py-string">ggvivtkssd nsiksfedlk grksaqsats nwgkdakaag aqilvvdgla qslelikqgr</tt> </tt> <a name="L494"></a><tt class="py-lineno"> 494</tt> <tt class="py-line"><tt class="py-string">aeatindkla vldyfkqhpn sglkiaydrg dktptafafl qgedalitkf nqvlealrqd</tt> </tt> <a name="L495"></a><tt class="py-lineno"> 495</tt> <tt class="py-line"><tt class="py-string">gtlkqisiew fgyditq</tt> </tt> <a name="L496"></a><tt class="py-lineno"> 496</tt> <tt class="py-line"><tt class="py-string">>E_coli_GlnH</tt> </tt> <a name="L497"></a><tt class="py-lineno"> 497</tt> <tt class="py-line"><tt class="py-string">mksvlkvsla altlafavss haadkklvva tdtafvpfef kqgdkyvgfd vdlwaaiake</tt> </tt> <a name="L498"></a><tt class="py-lineno"> 498</tt> <tt class="py-line"><tt class="py-string">lkldyelkpm dfsgiipalq tknvdlalag ititderkka idfsdgyyks gllvmvkann</tt> </tt> <a name="L499"></a><tt class="py-lineno"> 499</tt> <tt class="py-line"><tt class="py-string">ndvksvkdld gkvvavksgt gsvdyakani ktkdlrqfpn idnaymelgt nradavlhdt</tt> </tt> <a name="L500"></a><tt class="py-lineno"> 500</tt> <tt class="py-line"><tt class="py-string">pnilyfikta gngqfkavgd sleaqqygia fpkgsdelrd kvngalktlr engtyneiyk</tt> </tt> <a name="L501"></a><tt class="py-lineno"> 501</tt> <tt class="py-line"><tt class="py-string">kwfgtepk</tt> </tt> <a name="L502"></a><tt class="py-lineno"> 502</tt> <tt class="py-line"><tt class="py-string">>HISJ_E_COLI</tt> </tt> <a name="L503"></a><tt class="py-lineno"> 503</tt> <tt class="py-line"><tt class="py-string">mkklvlslsl vlafssataa faaipqniri gtdptyapfe sknsqgelvg fdidlakelc</tt> </tt> <a name="L504"></a><tt class="py-lineno"> 504</tt> <tt class="py-line"><tt class="py-string">krintqctfv enpldalips lkakkidaim sslsitekrq qeiaftdkly aadsrlvvak</tt> </tt> <a name="L505"></a><tt class="py-lineno"> 505</tt> <tt class="py-line"><tt class="py-string">nsdiqptves lkgkrvgvlq gttqetfgne hwapkgieiv syqgqdniys dltagridaa</tt> </tt> <a name="L506"></a><tt class="py-lineno"> 506</tt> <tt class="py-line"><tt class="py-string">fqdevaaseg flkqpvgkdy kfggpsvkde klfgvgtgmg lrkednelre alnkafaemr</tt> </tt> <a name="L507"></a><tt class="py-lineno"> 507</tt> <tt class="py-line"><tt class="py-string">adgtyeklak kyfdfdvygg"""</tt> </tt> <a name="L508"></a><tt class="py-lineno"> 508</tt> <tt class="py-line"> </tt> <a name="L509"></a><tt class="py-lineno"> 509</tt> <tt class="py-line"> <tt class="py-comment"># This alignment was created from the fasta example given above</tt> </tt> <a name="L510"></a><tt class="py-lineno"> 510</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">aln_example</tt> <tt class="py-op">=</tt> \ </tt> <a name="L511"></a><tt class="py-lineno"> 511</tt> <tt class="py-line"><tt class="py-string">"""CLUSTAL X (1.83) multiple sequence alignment</tt> </tt> <a name="L512"></a><tt class="py-lineno"> 512</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L513"></a><tt class="py-lineno"> 513</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L514"></a><tt class="py-lineno"> 514</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH --MKNWIKVAVAAIA--LSAA------------------TVQAATEVKVG</tt> </tt> <a name="L515"></a><tt class="py-lineno"> 515</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM MKMKKWTVLVVAALLAVLSACG------------NGNSSSKEDDNVLHVG</tt> </tt> <a name="L516"></a><tt class="py-lineno"> 516</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK MKKALLALFMVVSIAALAACGAGNDNQSKDNAKDGDLWASIKKKGVLTVG</tt> </tt> <a name="L517"></a><tt class="py-lineno"> 517</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN MKKLLFTTALLTGAIAFSTF-----------SHAGEIADRVEKTKTLLVG</tt> </tt> <a name="L518"></a><tt class="py-lineno"> 518</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI MKLAHLGRQALMGVMAVALVAG---MSVKSFADEG-LLNKVKERGTLLVG</tt> </tt> <a name="L519"></a><tt class="py-lineno"> 519</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH --MKSVLKVSLAALTLAFAVS------------------SHAADKKLVVA</tt> </tt> <a name="L520"></a><tt class="py-lineno"> 520</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans -MKKSLLSLKLSGLLVPSVLALS--------LSACSSPSSTLNQGTLKIA</tt> </tt> <a name="L521"></a><tt class="py-lineno"> 521</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI MKKLVLSLSLVLAFSSATAAF-------------------AAIPQNIRIG</tt> </tt> <a name="L522"></a><tt class="py-lineno"> 522</tt> <tt class="py-line"><tt class="py-string"> : . : :.</tt> </tt> <a name="L523"></a><tt class="py-lineno"> 523</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L524"></a><tt class="py-lineno"> 524</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH MSGRYFPFTFVKQ--DKLQGFEVDMWDEIGKRNDYKIEYVTANFSGLFGL</tt> </tt> <a name="L525"></a><tt class="py-lineno"> 525</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM ATGQSYPFAYKEN--GKLTGFDVEVMEAVAKKIDMKLDWKLLEFSGLMGE</tt> </tt> <a name="L526"></a><tt class="py-lineno"> 526</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK TEGTYEPFTYHDKDTDKLTGYDVEVITEVAKRLGLKVDFKETQWGSMFAG</tt> </tt> <a name="L527"></a><tt class="py-lineno"> 527</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN TEGTYAPFTFHDK-SGKLTGFDVEVIRKVAEKLGLKVEFKETQWDAMYAG</tt> </tt> <a name="L528"></a><tt class="py-lineno"> 528</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI LEGTYPPFSFQGD-DGKLTGFEVEFAQQLAKHLGVEASLKPTKWDGMLAS</tt> </tt> <a name="L529"></a><tt class="py-lineno"> 529</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH TDTAFVPFEFKQG--DKYVGFDVDLWAAIAKELKLDYELKPMDFSGIIPA</tt> </tt> <a name="L530"></a><tt class="py-lineno"> 530</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans MEGTYPPFTSKNE-QGELVGFDVDIAKAVAQKLNLKPEFVLTEWSGILAG</tt> </tt> <a name="L531"></a><tt class="py-lineno"> 531</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI TDPTYAPFESKNS-QGELVGFDIDLAKELCKRINTQCTFVENPLDALIPS</tt> </tt> <a name="L532"></a><tt class="py-lineno"> 532</tt> <tt class="py-line"><tt class="py-string"> ** .: *::::. : :. . ..: </tt> </tt> <a name="L533"></a><tt class="py-lineno"> 533</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L534"></a><tt class="py-lineno"> 534</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH LETGRIDTISNQITMTDARKAKYLFADPYVVDG-AQITVRKGNDSIQGVE</tt> </tt> <a name="L535"></a><tt class="py-lineno"> 535</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM LQTGKLDTISNQVAVTDERKETYNFTKPYAYAG-TQIVVKKDNTDIKSVD</tt> </tt> <a name="L536"></a><tt class="py-lineno"> 536</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK LNSKRFDVVANQVG-KTDREDKYDFSDKYTTSR-AVVVTKKDNNDIKSEA</tt> </tt> <a name="L537"></a><tt class="py-lineno"> 537</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN LNAKRFDVIANQTNPSPERLKKYSFTTPYNYSG-GVIVTKSSDNSIKSFE</tt> </tt> <a name="L538"></a><tt class="py-lineno"> 538</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI LDSKRIDVVINQVTISDERKKKYDFSTPYTISGIQALVKKGNEGTIKTAD</tt> </tt> <a name="L539"></a><tt class="py-lineno"> 539</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH LQTKNVDLALAGITITDERKKAIDFSDGYYKSG-LLVMVKANNNDVKSVK</tt> </tt> <a name="L540"></a><tt class="py-lineno"> 540</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans LQANKYDVIVNQVGITPERQNSIGFSQPYAYSRPEIIVAKNNTFNPQSLA</tt> </tt> <a name="L541"></a><tt class="py-lineno"> 541</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI LKAKKIDAIMSSLSITEKRQQEIAFTDKLYAADSRLVVAKNSDIQP-TVE</tt> </tt> <a name="L542"></a><tt class="py-lineno"> 542</tt> <tt class="py-line"><tt class="py-string"> *.: . * . * *: : : . </tt> </tt> <a name="L543"></a><tt class="py-lineno"> 543</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L544"></a><tt class="py-lineno"> 544</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH DLAGKTVAVNLGSNFEQLLRDYDKDGKINIKTYDT--GIEHDVALGRADA</tt> </tt> <a name="L545"></a><tt class="py-lineno"> 545</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM DLKGKTVAAVLGSNHAKNLESKDPDKKINIKTYETQEGTLKDVAYGRVDA</tt> </tt> <a name="L546"></a><tt class="py-lineno"> 546</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK DVKGKTSAQSLTSNYNKLATN----AGAKVEGVEGMAQALQMIQQARVDM</tt> </tt> <a name="L547"></a><tt class="py-lineno"> 547</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN DLKGRKSAQSATSNWGKDAKA----AGAQILVVDGLAQSLELIKQGRAEA</tt> </tt> <a name="L548"></a><tt class="py-lineno"> 548</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI DLKGKKVGVGLGTNYEEWLRQNV--QGVDVRTYDDDPTKYQDLRVGRIDA</tt> </tt> <a name="L549"></a><tt class="py-lineno"> 549</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH DLDGKVVAVKSGTGSVDYAKAN--IKTKDLRQFPNIDNAYMELGTNRADA</tt> </tt> <a name="L550"></a><tt class="py-lineno"> 550</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans DLKGKRVGSTLGSNYEKQLIDTG---DIKIVTYPGAPEILADLVAGRIDA</tt> </tt> <a name="L551"></a><tt class="py-lineno"> 551</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI SLKGKRVGVLQGTTQETFGNEHWAPKGIEIVSYQGQDNIYSDLTAGRIDA</tt> </tt> <a name="L552"></a><tt class="py-lineno"> 552</tt> <tt class="py-line"><tt class="py-string"> .: *: . : .: : * : </tt> </tt> <a name="L553"></a><tt class="py-lineno"> 553</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L554"></a><tt class="py-lineno"> 554</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH FIMDRLSALE-LIKKT-GLPLQLAGEPFETI-----QNAWPFVDNEKGRK</tt> </tt> <a name="L555"></a><tt class="py-lineno"> 555</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM YVNSRTVLIA-QIKKT-GLPLKLAGDPIVYE-----QVAFPFAKDDAHDK</tt> </tt> <a name="L556"></a><tt class="py-lineno"> 556</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK TYNDKLAVLN-YLKTSGNKNVKIAFETGEPQ-----STYFTFRKGS--GE</tt> </tt> <a name="L557"></a><tt class="py-lineno"> 557</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN TINDKLAVLD-YFKQHPNSGLKIAYDRGDKT-----PTAFAFLQGE--DA</tt> </tt> <a name="L558"></a><tt class="py-lineno"> 558</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI ILVDRLAALD-LVKKT-NDTLAVTGEAFSRQ-----ESGVALRKGN--ED</tt> </tt> <a name="L559"></a><tt class="py-lineno"> 559</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH VLHDTPNILY-FIKTAGNGQFKAVGDSLEAQ-----QYGIAFPKGS--DE</tt> </tt> <a name="L560"></a><tt class="py-lineno"> 560</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans AYNDRLVVNY-IINDQ-KLPVRGAGQIGDAA-----PVGIALKKGN--SA</tt> </tt> <a name="L561"></a><tt class="py-lineno"> 561</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI AFQDEVAASEGFLKQPVGKDYKFGGPSVKDEKLFGVGTGMGLRKED--NE</tt> </tt> <a name="L562"></a><tt class="py-lineno"> 562</tt> <tt class="py-line"><tt class="py-string"> . .: : . . </tt> </tt> <a name="L563"></a><tt class="py-lineno"> 563</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L564"></a><tt class="py-lineno"> 564</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH LQAEVNKALAEMRADGTVEKISVKWFGADITK----</tt> </tt> <a name="L565"></a><tt class="py-lineno"> 565</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM LRKKVNKALDELRKDGTLKKLSEKYFNEDITVEQKH</tt> </tt> <a name="L566"></a><tt class="py-lineno"> 566</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK VVDQVNKALKEMKEDGTLSKISKKWFGEDVSK----</tt> </tt> <a name="L567"></a><tt class="py-lineno"> 567</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN LITKFNQVLEALRQDGTLKQISIEWFGYDITQ----</tt> </tt> <a name="L568"></a><tt class="py-lineno"> 568</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI LLKAVNDAIAEMQKDGTLQALSEKWFGADVTK----</tt> </tt> <a name="L569"></a><tt class="py-lineno"> 569</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH LRDKVNGALKTLRENGTYNEIYKKWFGTEPK-----</tt> </tt> <a name="L570"></a><tt class="py-lineno"> 570</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans LKDQIDKALTEMRSDGTFEKISQKWFGQDVGQP---</tt> </tt> <a name="L571"></a><tt class="py-lineno"> 571</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI LREALNKAFAEMRADGTYEKLAKKYFDFDVYGG---</tt> </tt> <a name="L572"></a><tt class="py-lineno"> 572</tt> <tt class="py-line"><tt class="py-string"> : .: .: :: :** . : ::*. : </tt> </tt> <a name="L573"></a><tt class="py-lineno"> 573</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L574"></a><tt class="py-lineno"> 574</tt> <tt class="py-line"> </tt> <a name="L575"></a><tt class="py-lineno"> 575</tt> <tt class="py-line"> <tt class="py-comment"># This is the clustal example (above) but output in phylip format,</tt> </tt> <a name="L576"></a><tt class="py-lineno"> 576</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># with truncated names. Note there is an ambiguity here: two</tt> </tt> <a name="L577"></a><tt class="py-lineno"> 577</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># different sequences both called "B_subtilis", originally</tt> </tt> <a name="L578"></a><tt class="py-lineno"> 578</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># "B_subtilis_YXEM" and "B_subtilis_GlnH_homo_YCKK"</tt> </tt> <a name="L579"></a><tt class="py-lineno"> 579</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">phy_example</tt> <tt class="py-op">=</tt> \ </tt> <a name="L580"></a><tt class="py-lineno"> 580</tt> <tt class="py-line"><tt class="py-string">""" 8 286</tt> </tt> <a name="L581"></a><tt class="py-lineno"> 581</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_ --MKNWIKVA VAAIA--LSA A--------- ---------T VQAATEVKVG </tt> </tt> <a name="L582"></a><tt class="py-lineno"> 582</tt> <tt class="py-line"><tt class="py-string">B_subtilis MKMKKWTVLV VAALLAVLSA CG-------- ----NGNSSS KEDDNVLHVG </tt> </tt> <a name="L583"></a><tt class="py-lineno"> 583</tt> <tt class="py-line"><tt class="py-string">B_subtilis MKKALLALFM VVSIAALAAC GAGNDNQSKD NAKDGDLWAS IKKKGVLTVG </tt> </tt> <a name="L584"></a><tt class="py-lineno"> 584</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN MKKLLFTTAL LTGAIAFSTF ---------- -SHAGEIADR VEKTKTLLVG </tt> </tt> <a name="L585"></a><tt class="py-lineno"> 585</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI MKLAHLGRQA LMGVMAVALV AG---MSVKS FADEG-LLNK VKERGTLLVG </tt> </tt> <a name="L586"></a><tt class="py-lineno"> 586</tt> <tt class="py-line"><tt class="py-string">E_coli_Gln --MKSVLKVS LAALTLAFAV S--------- ---------S HAADKKLVVA </tt> </tt> <a name="L587"></a><tt class="py-lineno"> 587</tt> <tt class="py-line"><tt class="py-string">Deinococcu -MKKSLLSLK LSGLLVPSVL ALS------- -LSACSSPSS TLNQGTLKIA </tt> </tt> <a name="L588"></a><tt class="py-lineno"> 588</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COL MKKLVLSLSL VLAFSSATAA F--------- ---------- AAIPQNIRIG </tt> </tt> <a name="L589"></a><tt class="py-lineno"> 589</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L590"></a><tt class="py-lineno"> 590</tt> <tt class="py-line"><tt class="py-string"> MSGRYFPFTF VKQ--DKLQG FEVDMWDEIG KRNDYKIEYV TANFSGLFGL </tt> </tt> <a name="L591"></a><tt class="py-lineno"> 591</tt> <tt class="py-line"><tt class="py-string"> ATGQSYPFAY KEN--GKLTG FDVEVMEAVA KKIDMKLDWK LLEFSGLMGE </tt> </tt> <a name="L592"></a><tt class="py-lineno"> 592</tt> <tt class="py-line"><tt class="py-string"> TEGTYEPFTY HDKDTDKLTG YDVEVITEVA KRLGLKVDFK ETQWGSMFAG </tt> </tt> <a name="L593"></a><tt class="py-lineno"> 593</tt> <tt class="py-line"><tt class="py-string"> TEGTYAPFTF HDK-SGKLTG FDVEVIRKVA EKLGLKVEFK ETQWDAMYAG </tt> </tt> <a name="L594"></a><tt class="py-lineno"> 594</tt> <tt class="py-line"><tt class="py-string"> LEGTYPPFSF QGD-DGKLTG FEVEFAQQLA KHLGVEASLK PTKWDGMLAS </tt> </tt> <a name="L595"></a><tt class="py-lineno"> 595</tt> <tt class="py-line"><tt class="py-string"> TDTAFVPFEF KQG--DKYVG FDVDLWAAIA KELKLDYELK PMDFSGIIPA </tt> </tt> <a name="L596"></a><tt class="py-lineno"> 596</tt> <tt class="py-line"><tt class="py-string"> MEGTYPPFTS KNE-QGELVG FDVDIAKAVA QKLNLKPEFV LTEWSGILAG </tt> </tt> <a name="L597"></a><tt class="py-lineno"> 597</tt> <tt class="py-line"><tt class="py-string"> TDPTYAPFES KNS-QGELVG FDIDLAKELC KRINTQCTFV ENPLDALIPS </tt> </tt> <a name="L598"></a><tt class="py-lineno"> 598</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L599"></a><tt class="py-lineno"> 599</tt> <tt class="py-line"><tt class="py-string"> LETGRIDTIS NQITMTDARK AKYLFADPYV VDG-AQITVR KGNDSIQGVE </tt> </tt> <a name="L600"></a><tt class="py-lineno"> 600</tt> <tt class="py-line"><tt class="py-string"> LQTGKLDTIS NQVAVTDERK ETYNFTKPYA YAG-TQIVVK KDNTDIKSVD </tt> </tt> <a name="L601"></a><tt class="py-lineno"> 601</tt> <tt class="py-line"><tt class="py-string"> LNSKRFDVVA NQVG-KTDRE DKYDFSDKYT TSR-AVVVTK KDNNDIKSEA </tt> </tt> <a name="L602"></a><tt class="py-lineno"> 602</tt> <tt class="py-line"><tt class="py-string"> LNAKRFDVIA NQTNPSPERL KKYSFTTPYN YSG-GVIVTK SSDNSIKSFE </tt> </tt> <a name="L603"></a><tt class="py-lineno"> 603</tt> <tt class="py-line"><tt class="py-string"> LDSKRIDVVI NQVTISDERK KKYDFSTPYT ISGIQALVKK GNEGTIKTAD </tt> </tt> <a name="L604"></a><tt class="py-lineno"> 604</tt> <tt class="py-line"><tt class="py-string"> LQTKNVDLAL AGITITDERK KAIDFSDGYY KSG-LLVMVK ANNNDVKSVK </tt> </tt> <a name="L605"></a><tt class="py-lineno"> 605</tt> <tt class="py-line"><tt class="py-string"> LQANKYDVIV NQVGITPERQ NSIGFSQPYA YSRPEIIVAK NNTFNPQSLA </tt> </tt> <a name="L606"></a><tt class="py-lineno"> 606</tt> <tt class="py-line"><tt class="py-string"> LKAKKIDAIM SSLSITEKRQ QEIAFTDKLY AADSRLVVAK NSDIQP-TVE </tt> </tt> <a name="L607"></a><tt class="py-lineno"> 607</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L608"></a><tt class="py-lineno"> 608</tt> <tt class="py-line"><tt class="py-string"> DLAGKTVAVN LGSNFEQLLR DYDKDGKINI KTYDT--GIE HDVALGRADA </tt> </tt> <a name="L609"></a><tt class="py-lineno"> 609</tt> <tt class="py-line"><tt class="py-string"> DLKGKTVAAV LGSNHAKNLE SKDPDKKINI KTYETQEGTL KDVAYGRVDA </tt> </tt> <a name="L610"></a><tt class="py-lineno"> 610</tt> <tt class="py-line"><tt class="py-string"> DVKGKTSAQS LTSNYNKLAT N----AGAKV EGVEGMAQAL QMIQQARVDM </tt> </tt> <a name="L611"></a><tt class="py-lineno"> 611</tt> <tt class="py-line"><tt class="py-string"> DLKGRKSAQS ATSNWGKDAK A----AGAQI LVVDGLAQSL ELIKQGRAEA </tt> </tt> <a name="L612"></a><tt class="py-lineno"> 612</tt> <tt class="py-line"><tt class="py-string"> DLKGKKVGVG LGTNYEEWLR QNV--QGVDV RTYDDDPTKY QDLRVGRIDA </tt> </tt> <a name="L613"></a><tt class="py-lineno"> 613</tt> <tt class="py-line"><tt class="py-string"> DLDGKVVAVK SGTGSVDYAK AN--IKTKDL RQFPNIDNAY MELGTNRADA </tt> </tt> <a name="L614"></a><tt class="py-lineno"> 614</tt> <tt class="py-line"><tt class="py-string"> DLKGKRVGST LGSNYEKQLI DTG---DIKI VTYPGAPEIL ADLVAGRIDA </tt> </tt> <a name="L615"></a><tt class="py-lineno"> 615</tt> <tt class="py-line"><tt class="py-string"> SLKGKRVGVL QGTTQETFGN EHWAPKGIEI VSYQGQDNIY SDLTAGRIDA </tt> </tt> <a name="L616"></a><tt class="py-lineno"> 616</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L617"></a><tt class="py-lineno"> 617</tt> <tt class="py-line"><tt class="py-string"> FIMDRLSALE -LIKKT-GLP LQLAGEPFET I-----QNAW PFVDNEKGRK </tt> </tt> <a name="L618"></a><tt class="py-lineno"> 618</tt> <tt class="py-line"><tt class="py-string"> YVNSRTVLIA -QIKKT-GLP LKLAGDPIVY E-----QVAF PFAKDDAHDK </tt> </tt> <a name="L619"></a><tt class="py-lineno"> 619</tt> <tt class="py-line"><tt class="py-string"> TYNDKLAVLN -YLKTSGNKN VKIAFETGEP Q-----STYF TFRKGS--GE </tt> </tt> <a name="L620"></a><tt class="py-lineno"> 620</tt> <tt class="py-line"><tt class="py-string"> TINDKLAVLD -YFKQHPNSG LKIAYDRGDK T-----PTAF AFLQGE--DA </tt> </tt> <a name="L621"></a><tt class="py-lineno"> 621</tt> <tt class="py-line"><tt class="py-string"> ILVDRLAALD -LVKKT-NDT LAVTGEAFSR Q-----ESGV ALRKGN--ED </tt> </tt> <a name="L622"></a><tt class="py-lineno"> 622</tt> <tt class="py-line"><tt class="py-string"> VLHDTPNILY -FIKTAGNGQ FKAVGDSLEA Q-----QYGI AFPKGS--DE </tt> </tt> <a name="L623"></a><tt class="py-lineno"> 623</tt> <tt class="py-line"><tt class="py-string"> AYNDRLVVNY -IINDQ-KLP VRGAGQIGDA A-----PVGI ALKKGN--SA </tt> </tt> <a name="L624"></a><tt class="py-lineno"> 624</tt> <tt class="py-line"><tt class="py-string"> AFQDEVAASE GFLKQPVGKD YKFGGPSVKD EKLFGVGTGM GLRKED--NE </tt> </tt> <a name="L625"></a><tt class="py-lineno"> 625</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L626"></a><tt class="py-lineno"> 626</tt> <tt class="py-line"><tt class="py-string"> LQAEVNKALA EMRADGTVEK ISVKWFGADI TK----</tt> </tt> <a name="L627"></a><tt class="py-lineno"> 627</tt> <tt class="py-line"><tt class="py-string"> LRKKVNKALD ELRKDGTLKK LSEKYFNEDI TVEQKH</tt> </tt> <a name="L628"></a><tt class="py-lineno"> 628</tt> <tt class="py-line"><tt class="py-string"> VVDQVNKALK EMKEDGTLSK ISKKWFGEDV SK----</tt> </tt> <a name="L629"></a><tt class="py-lineno"> 629</tt> <tt class="py-line"><tt class="py-string"> LITKFNQVLE ALRQDGTLKQ ISIEWFGYDI TQ----</tt> </tt> <a name="L630"></a><tt class="py-lineno"> 630</tt> <tt class="py-line"><tt class="py-string"> LLKAVNDAIA EMQKDGTLQA LSEKWFGADV TK----</tt> </tt> <a name="L631"></a><tt class="py-lineno"> 631</tt> <tt class="py-line"><tt class="py-string"> LRDKVNGALK TLRENGTYNE IYKKWFGTEP K-----</tt> </tt> <a name="L632"></a><tt class="py-lineno"> 632</tt> <tt class="py-line"><tt class="py-string"> LKDQIDKALT EMRSDGTFEK ISQKWFGQDV GQP---</tt> </tt> <a name="L633"></a><tt class="py-lineno"> 633</tt> <tt class="py-line"><tt class="py-string"> LREALNKAFA EMRADGTYEK LAKKYFDFDV YGG---</tt> </tt> <a name="L634"></a><tt class="py-lineno"> 634</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L635"></a><tt class="py-lineno"> 635</tt> <tt class="py-line"> <tt class="py-comment"># This is the clustal example (above) but output in phylip format,</tt> </tt> <a name="L636"></a><tt class="py-lineno"> 636</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">nxs_example</tt> <tt class="py-op">=</tt> \ </tt> <a name="L637"></a><tt class="py-lineno"> 637</tt> <tt class="py-line"><tt class="py-string">"""#NEXUS</tt> </tt> <a name="L638"></a><tt class="py-lineno"> 638</tt> <tt class="py-line"><tt class="py-string">BEGIN DATA;</tt> </tt> <a name="L639"></a><tt class="py-lineno"> 639</tt> <tt class="py-line"><tt class="py-string">dimensions ntax=8 nchar=286;</tt> </tt> <a name="L640"></a><tt class="py-lineno"> 640</tt> <tt class="py-line"><tt class="py-string">format missing=?</tt> </tt> <a name="L641"></a><tt class="py-lineno"> 641</tt> <tt class="py-line"><tt class="py-string">symbols="ABCDEFGHIKLMNPQRSTUVWXYZ"</tt> </tt> <a name="L642"></a><tt class="py-lineno"> 642</tt> <tt class="py-line"><tt class="py-string">interleave datatype=PROTEIN gap= -;</tt> </tt> <a name="L643"></a><tt class="py-lineno"> 643</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L644"></a><tt class="py-lineno"> 644</tt> <tt class="py-line"><tt class="py-string">matrix</tt> </tt> <a name="L645"></a><tt class="py-lineno"> 645</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH --MKNWIKVAVAAIA--LSAA------------------TVQAATEVKVG</tt> </tt> <a name="L646"></a><tt class="py-lineno"> 646</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM MKMKKWTVLVVAALLAVLSACG------------NGNSSSKEDDNVLHVG</tt> </tt> <a name="L647"></a><tt class="py-lineno"> 647</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK MKKALLALFMVVSIAALAACGAGNDNQSKDNAKDGDLWASIKKKGVLTVG</tt> </tt> <a name="L648"></a><tt class="py-lineno"> 648</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN MKKLLFTTALLTGAIAFSTF-----------SHAGEIADRVEKTKTLLVG</tt> </tt> <a name="L649"></a><tt class="py-lineno"> 649</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI MKLAHLGRQALMGVMAVALVAG---MSVKSFADEG-LLNKVKERGTLLVG</tt> </tt> <a name="L650"></a><tt class="py-lineno"> 650</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH --MKSVLKVSLAALTLAFAVS------------------SHAADKKLVVA</tt> </tt> <a name="L651"></a><tt class="py-lineno"> 651</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans -MKKSLLSLKLSGLLVPSVLALS--------LSACSSPSSTLNQGTLKIA</tt> </tt> <a name="L652"></a><tt class="py-lineno"> 652</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI MKKLVLSLSLVLAFSSATAAF-------------------AAIPQNIRIG</tt> </tt> <a name="L653"></a><tt class="py-lineno"> 653</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L654"></a><tt class="py-lineno"> 654</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH MSGRYFPFTFVKQ--DKLQGFEVDMWDEIGKRNDYKIEYVTANFSGLFGL</tt> </tt> <a name="L655"></a><tt class="py-lineno"> 655</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM ATGQSYPFAYKEN--GKLTGFDVEVMEAVAKKIDMKLDWKLLEFSGLMGE</tt> </tt> <a name="L656"></a><tt class="py-lineno"> 656</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK TEGTYEPFTYHDKDTDKLTGYDVEVITEVAKRLGLKVDFKETQWGSMFAG</tt> </tt> <a name="L657"></a><tt class="py-lineno"> 657</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN TEGTYAPFTFHDK-SGKLTGFDVEVIRKVAEKLGLKVEFKETQWDAMYAG</tt> </tt> <a name="L658"></a><tt class="py-lineno"> 658</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI LEGTYPPFSFQGD-DGKLTGFEVEFAQQLAKHLGVEASLKPTKWDGMLAS</tt> </tt> <a name="L659"></a><tt class="py-lineno"> 659</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH TDTAFVPFEFKQG--DKYVGFDVDLWAAIAKELKLDYELKPMDFSGIIPA</tt> </tt> <a name="L660"></a><tt class="py-lineno"> 660</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans MEGTYPPFTSKNE-QGELVGFDVDIAKAVAQKLNLKPEFVLTEWSGILAG</tt> </tt> <a name="L661"></a><tt class="py-lineno"> 661</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI TDPTYAPFESKNS-QGELVGFDIDLAKELCKRINTQCTFVENPLDALIPS</tt> </tt> <a name="L662"></a><tt class="py-lineno"> 662</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L663"></a><tt class="py-lineno"> 663</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH LETGRIDTISNQITMTDARKAKYLFADPYVVDG-AQITVRKGNDSIQGVE</tt> </tt> <a name="L664"></a><tt class="py-lineno"> 664</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM LQTGKLDTISNQVAVTDERKETYNFTKPYAYAG-TQIVVKKDNTDIKSVD</tt> </tt> <a name="L665"></a><tt class="py-lineno"> 665</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK LNSKRFDVVANQVG-KTDREDKYDFSDKYTTSR-AVVVTKKDNNDIKSEA</tt> </tt> <a name="L666"></a><tt class="py-lineno"> 666</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN LNAKRFDVIANQTNPSPERLKKYSFTTPYNYSG-GVIVTKSSDNSIKSFE</tt> </tt> <a name="L667"></a><tt class="py-lineno"> 667</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI LDSKRIDVVINQVTISDERKKKYDFSTPYTISGIQALVKKGNEGTIKTAD</tt> </tt> <a name="L668"></a><tt class="py-lineno"> 668</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH LQTKNVDLALAGITITDERKKAIDFSDGYYKSG-LLVMVKANNNDVKSVK</tt> </tt> <a name="L669"></a><tt class="py-lineno"> 669</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans LQANKYDVIVNQVGITPERQNSIGFSQPYAYSRPEIIVAKNNTFNPQSLA</tt> </tt> <a name="L670"></a><tt class="py-lineno"> 670</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI LKAKKIDAIMSSLSITEKRQQEIAFTDKLYAADSRLVVAKNSDIQP-TVE</tt> </tt> <a name="L671"></a><tt class="py-lineno"> 671</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L672"></a><tt class="py-lineno"> 672</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH DLAGKTVAVNLGSNFEQLLRDYDKDGKINIKTYDT--GIEHDVALGRADA</tt> </tt> <a name="L673"></a><tt class="py-lineno"> 673</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM DLKGKTVAAVLGSNHAKNLESKDPDKKINIKTYETQEGTLKDVAYGRVDA</tt> </tt> <a name="L674"></a><tt class="py-lineno"> 674</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK DVKGKTSAQSLTSNYNKLATN----AGAKVEGVEGMAQALQMIQQARVDM</tt> </tt> <a name="L675"></a><tt class="py-lineno"> 675</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN DLKGRKSAQSATSNWGKDAKA----AGAQILVVDGLAQSLELIKQGRAEA</tt> </tt> <a name="L676"></a><tt class="py-lineno"> 676</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI DLKGKKVGVGLGTNYEEWLRQNV--QGVDVRTYDDDPTKYQDLRVGRIDA</tt> </tt> <a name="L677"></a><tt class="py-lineno"> 677</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH DLDGKVVAVKSGTGSVDYAKAN--IKTKDLRQFPNIDNAYMELGTNRADA</tt> </tt> <a name="L678"></a><tt class="py-lineno"> 678</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans DLKGKRVGSTLGSNYEKQLIDTG---DIKIVTYPGAPEILADLVAGRIDA</tt> </tt> <a name="L679"></a><tt class="py-lineno"> 679</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI SLKGKRVGVLQGTTQETFGNEHWAPKGIEIVSYQGQDNIYSDLTAGRIDA</tt> </tt> <a name="L680"></a><tt class="py-lineno"> 680</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L681"></a><tt class="py-lineno"> 681</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH FIMDRLSALE-LIKKT-GLPLQLAGEPFETI-----QNAWPFVDNEKGRK</tt> </tt> <a name="L682"></a><tt class="py-lineno"> 682</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM YVNSRTVLIA-QIKKT-GLPLKLAGDPIVYE-----QVAFPFAKDDAHDK</tt> </tt> <a name="L683"></a><tt class="py-lineno"> 683</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK TYNDKLAVLN-YLKTSGNKNVKIAFETGEPQ-----STYFTFRKGS--GE</tt> </tt> <a name="L684"></a><tt class="py-lineno"> 684</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN TINDKLAVLD-YFKQHPNSGLKIAYDRGDKT-----PTAFAFLQGE--DA</tt> </tt> <a name="L685"></a><tt class="py-lineno"> 685</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI ILVDRLAALD-LVKKT-NDTLAVTGEAFSRQ-----ESGVALRKGN--ED</tt> </tt> <a name="L686"></a><tt class="py-lineno"> 686</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH VLHDTPNILY-FIKTAGNGQFKAVGDSLEAQ-----QYGIAFPKGS--DE</tt> </tt> <a name="L687"></a><tt class="py-lineno"> 687</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans AYNDRLVVNY-IINDQ-KLPVRGAGQIGDAA-----PVGIALKKGN--SA</tt> </tt> <a name="L688"></a><tt class="py-lineno"> 688</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI AFQDEVAASEGFLKQPVGKDYKFGGPSVKDEKLFGVGTGMGLRKED--NE</tt> </tt> <a name="L689"></a><tt class="py-lineno"> 689</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L690"></a><tt class="py-lineno"> 690</tt> <tt class="py-line"><tt class="py-string">V_Harveyi_PATH LQAEVNKALAEMRADGTVEKISVKWFGADITK----</tt> </tt> <a name="L691"></a><tt class="py-lineno"> 691</tt> <tt class="py-line"><tt class="py-string">B_subtilis_YXEM LRKKVNKALDELRKDGTLKKLSEKYFNEDITVEQKH</tt> </tt> <a name="L692"></a><tt class="py-lineno"> 692</tt> <tt class="py-line"><tt class="py-string">B_subtilis_GlnH_homo_YCKK VVDQVNKALKEMKEDGTLSKISKKWFGEDVSK----</tt> </tt> <a name="L693"></a><tt class="py-lineno"> 693</tt> <tt class="py-line"><tt class="py-string">YA80_HAEIN LITKFNQVLEALRQDGTLKQISIEWFGYDITQ----</tt> </tt> <a name="L694"></a><tt class="py-lineno"> 694</tt> <tt class="py-line"><tt class="py-string">FLIY_ECOLI LLKAVNDAIAEMQKDGTLQALSEKWFGADVTK----</tt> </tt> <a name="L695"></a><tt class="py-lineno"> 695</tt> <tt class="py-line"><tt class="py-string">E_coli_GlnH LRDKVNGALKTLRENGTYNEIYKKWFGTEPK-----</tt> </tt> <a name="L696"></a><tt class="py-lineno"> 696</tt> <tt class="py-line"><tt class="py-string">Deinococcus_radiodurans LKDQIDKALTEMRSDGTFEKISQKWFGQDVGQP---</tt> </tt> <a name="L697"></a><tt class="py-lineno"> 697</tt> <tt class="py-line"><tt class="py-string">HISJ_E_COLI LREALNKAFAEMRADGTYEKLAKKYFDFDVYGG---</tt> </tt> <a name="L698"></a><tt class="py-lineno"> 698</tt> <tt class="py-line"><tt class="py-string">;</tt> </tt> <a name="L699"></a><tt class="py-lineno"> 699</tt> <tt class="py-line"><tt class="py-string">end;</tt> </tt> <a name="L700"></a><tt class="py-lineno"> 700</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L701"></a><tt class="py-lineno"> 701</tt> <tt class="py-line"> </tt> <a name="L702"></a><tt class="py-lineno"> 702</tt> <tt class="py-line"> <tt class="py-comment"># This example uses DNA, from here:</tt> </tt> <a name="L703"></a><tt class="py-lineno"> 703</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># http://www.molecularevolution.org/resources/fileformats/</tt> </tt> <a name="L704"></a><tt class="py-lineno"> 704</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">nxs_example2</tt> <tt class="py-op">=</tt> \ </tt> <a name="L705"></a><tt class="py-lineno"> 705</tt> <tt class="py-line"><tt class="py-string">"""#NEXUS </tt> </tt> <a name="L706"></a><tt class="py-lineno"> 706</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L707"></a><tt class="py-lineno"> 707</tt> <tt class="py-line"><tt class="py-string">Begin data;</tt> </tt> <a name="L708"></a><tt class="py-lineno"> 708</tt> <tt class="py-line"><tt class="py-string"> Dimensions ntax=10 nchar=705;</tt> </tt> <a name="L709"></a><tt class="py-lineno"> 709</tt> <tt class="py-line"><tt class="py-string"> Format datatype=dna interleave=yes gap=- missing=?;</tt> </tt> <a name="L710"></a><tt class="py-lineno"> 710</tt> <tt class="py-line"><tt class="py-string"> Matrix</tt> </tt> <a name="L711"></a><tt class="py-lineno"> 711</tt> <tt class="py-line"><tt class="py-string">Cow ATGGCATATCCCATACAACTAGGATTCCAAGATGCAACATCACCAATCATAGAAGAACTA</tt> </tt> <a name="L712"></a><tt class="py-lineno"> 712</tt> <tt class="py-line"><tt class="py-string">Carp ATGGCACACCCAACGCAACTAGGTTTCAAGGACGCGGCCATACCCGTTATAGAGGAACTT</tt> </tt> <a name="L713"></a><tt class="py-lineno"> 713</tt> <tt class="py-line"><tt class="py-string">Chicken ATGGCCAACCACTCCCAACTAGGCTTTCAAGACGCCTCATCCCCCATCATAGAAGAGCTC</tt> </tt> <a name="L714"></a><tt class="py-lineno"> 714</tt> <tt class="py-line"><tt class="py-string">Human ATGGCACATGCAGCGCAAGTAGGTCTACAAGACGCTACTTCCCCTATCATAGAAGAGCTT</tt> </tt> <a name="L715"></a><tt class="py-lineno"> 715</tt> <tt class="py-line"><tt class="py-string">Loach ATGGCACATCCCACACAATTAGGATTCCAAGACGCGGCCTCACCCGTAATAGAAGAACTT</tt> </tt> <a name="L716"></a><tt class="py-lineno"> 716</tt> <tt class="py-line"><tt class="py-string">Mouse ATGGCCTACCCATTCCAACTTGGTCTACAAGACGCCACATCCCCTATTATAGAAGAGCTA</tt> </tt> <a name="L717"></a><tt class="py-lineno"> 717</tt> <tt class="py-line"><tt class="py-string">Rat ATGGCTTACCCATTTCAACTTGGCTTACAAGACGCTACATCACCTATCATAGAAGAACTT</tt> </tt> <a name="L718"></a><tt class="py-lineno"> 718</tt> <tt class="py-line"><tt class="py-string">Seal ATGGCATACCCCCTACAAATAGGCCTACAAGATGCAACCTCTCCCATTATAGAGGAGTTA</tt> </tt> <a name="L719"></a><tt class="py-lineno"> 719</tt> <tt class="py-line"><tt class="py-string">Whale ATGGCATATCCATTCCAACTAGGTTTCCAAGATGCAGCATCACCCATCATAGAAGAGCTC</tt> </tt> <a name="L720"></a><tt class="py-lineno"> 720</tt> <tt class="py-line"><tt class="py-string">Frog ATGGCACACCCATCACAATTAGGTTTTCAAGACGCAGCCTCTCCAATTATAGAAGAATTA</tt> </tt> <a name="L721"></a><tt class="py-lineno"> 721</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L722"></a><tt class="py-lineno"> 722</tt> <tt class="py-line"><tt class="py-string">Cow CTTCACTTTCATGACCACACGCTAATAATTGTCTTCTTAATTAGCTCATTAGTACTTTAC</tt> </tt> <a name="L723"></a><tt class="py-lineno"> 723</tt> <tt class="py-line"><tt class="py-string">Carp CTTCACTTCCACGACCACGCATTAATAATTGTGCTCCTAATTAGCACTTTAGTTTTATAT</tt> </tt> <a name="L724"></a><tt class="py-lineno"> 724</tt> <tt class="py-line"><tt class="py-string">Chicken GTTGAATTCCACGACCACGCCCTGATAGTCGCACTAGCAATTTGCAGCTTAGTACTCTAC</tt> </tt> <a name="L725"></a><tt class="py-lineno"> 725</tt> <tt class="py-line"><tt class="py-string">Human ATCACCTTTCATGATCACGCCCTCATAATCATTTTCCTTATCTGCTTCCTAGTCCTGTAT</tt> </tt> <a name="L726"></a><tt class="py-lineno"> 726</tt> <tt class="py-line"><tt class="py-string">Loach CTTCACTTCCATGACCATGCCCTAATAATTGTATTTTTGATTAGCGCCCTAGTACTTTAT</tt> </tt> <a name="L727"></a><tt class="py-lineno"> 727</tt> <tt class="py-line"><tt class="py-string">Mouse ATAAATTTCCATGATCACACACTAATAATTGTTTTCCTAATTAGCTCCTTAGTCCTCTAT</tt> </tt> <a name="L728"></a><tt class="py-lineno"> 728</tt> <tt class="py-line"><tt class="py-string">Rat ACAAACTTTCATGACCACACCCTAATAATTGTATTCCTCATCAGCTCCCTAGTACTTTAT</tt> </tt> <a name="L729"></a><tt class="py-lineno"> 729</tt> <tt class="py-line"><tt class="py-string">Seal CTACACTTCCATGACCACACATTAATAATTGTGTTCCTAATTAGCTCATTAGTACTCTAC</tt> </tt> <a name="L730"></a><tt class="py-lineno"> 730</tt> <tt class="py-line"><tt class="py-string">Whale CTACACTTTCACGATCATACACTAATAATCGTTTTTCTAATTAGCTCTTTAGTTCTCTAC</tt> </tt> <a name="L731"></a><tt class="py-lineno"> 731</tt> <tt class="py-line"><tt class="py-string">Frog CTTCACTTCCACGACCATACCCTCATAGCCGTTTTTCTTATTAGTACGCTAGTTCTTTAC</tt> </tt> <a name="L732"></a><tt class="py-lineno"> 732</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L733"></a><tt class="py-lineno"> 733</tt> <tt class="py-line"><tt class="py-string">Cow ATTATTTCACTAATACTAACGACAAAGCTGACCCATACAAGCACGATAGATGCACAAGAA</tt> </tt> <a name="L734"></a><tt class="py-lineno"> 734</tt> <tt class="py-line"><tt class="py-string">Carp ATTATTACTGCAATGGTATCAACTAAACTTACTAATAAATATATTCTAGACTCCCAAGAA</tt> </tt> <a name="L735"></a><tt class="py-lineno"> 735</tt> <tt class="py-line"><tt class="py-string">Chicken CTTCTAACTCTTATACTTATAGAAAAACTATCA---TCAAACACCGTAGATGCCCAAGAA</tt> </tt> <a name="L736"></a><tt class="py-lineno"> 736</tt> <tt class="py-line"><tt class="py-string">Human GCCCTTTTCCTAACACTCACAACAAAACTAACTAATACTAACATCTCAGACGCTCAGGAA</tt> </tt> <a name="L737"></a><tt class="py-lineno"> 737</tt> <tt class="py-line"><tt class="py-string">Loach GTTATTATTACAACCGTCTCAACAAAACTCACTAACATATATATTTTGGACTCACAAGAA</tt> </tt> <a name="L738"></a><tt class="py-lineno"> 738</tt> <tt class="py-line"><tt class="py-string">Mouse ATCATCTCGCTAATATTAACAACAAAACTAACACATACAAGCACAATAGATGCACAAGAA</tt> </tt> <a name="L739"></a><tt class="py-lineno"> 739</tt> <tt class="py-line"><tt class="py-string">Rat ATTATTTCACTAATACTAACAACAAAACTAACACACACAAGCACAATAGACGCCCAAGAA</tt> </tt> <a name="L740"></a><tt class="py-lineno"> 740</tt> <tt class="py-line"><tt class="py-string">Seal ATTATCTCACTTATACTAACCACGAAACTCACCCACACAAGTACAATAGACGCACAAGAA</tt> </tt> <a name="L741"></a><tt class="py-lineno"> 741</tt> <tt class="py-line"><tt class="py-string">Whale ATTATTACCCTAATGCTTACAACCAAATTAACACATACTAGTACAATAGACGCCCAAGAA</tt> </tt> <a name="L742"></a><tt class="py-lineno"> 742</tt> <tt class="py-line"><tt class="py-string">Frog ATTATTACTATTATAATAACTACTAAACTAACTAATACAAACCTAATGGACGCACAAGAG</tt> </tt> <a name="L743"></a><tt class="py-lineno"> 743</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L744"></a><tt class="py-lineno"> 744</tt> <tt class="py-line"><tt class="py-string">Cow GTAGAGACAATCTGAACCATTCTGCCCGCCATCATCTTAATTCTAATTGCTCTTCCTTCT</tt> </tt> <a name="L745"></a><tt class="py-lineno"> 745</tt> <tt class="py-line"><tt class="py-string">Carp ATCGAAATCGTATGAACCATTCTACCAGCCGTCATTTTAGTACTAATCGCCCTGCCCTCC</tt> </tt> <a name="L746"></a><tt class="py-lineno"> 746</tt> <tt class="py-line"><tt class="py-string">Chicken GTTGAACTAATCTGAACCATCCTACCCGCTATTGTCCTAGTCCTGCTTGCCCTCCCCTCC</tt> </tt> <a name="L747"></a><tt class="py-lineno"> 747</tt> <tt class="py-line"><tt class="py-string">Human ATAGAAACCGTCTGAACTATCCTGCCCGCCATCATCCTAGTCCTCATCGCCCTCCCATCC</tt> </tt> <a name="L748"></a><tt class="py-lineno"> 748</tt> <tt class="py-line"><tt class="py-string">Loach ATTGAAATCGTATGAACTGTGCTCCCTGCCCTAATCCTCATTTTAATCGCCCTCCCCTCA</tt> </tt> <a name="L749"></a><tt class="py-lineno"> 749</tt> <tt class="py-line"><tt class="py-string">Mouse GTTGAAACCATTTGAACTATTCTACCAGCTGTAATCCTTATCATAATTGCTCTCCCCTCT</tt> </tt> <a name="L750"></a><tt class="py-lineno"> 750</tt> <tt class="py-line"><tt class="py-string">Rat GTAGAAACAATTTGAACAATTCTCCCAGCTGTCATTCTTATTCTAATTGCCCTTCCCTCC</tt> </tt> <a name="L751"></a><tt class="py-lineno"> 751</tt> <tt class="py-line"><tt class="py-string">Seal GTGGAAACGGTGTGAACGATCCTACCCGCTATCATTTTAATTCTCATTGCCCTACCATCA</tt> </tt> <a name="L752"></a><tt class="py-lineno"> 752</tt> <tt class="py-line"><tt class="py-string">Whale GTAGAAACTGTCTGAACTATCCTCCCAGCCATTATCTTAATTTTAATTGCCTTGCCTTCA</tt> </tt> <a name="L753"></a><tt class="py-lineno"> 753</tt> <tt class="py-line"><tt class="py-string">Frog ATCGAAATAGTGTGAACTATTATACCAGCTATTAGCCTCATCATAATTGCCCTTCCATCC</tt> </tt> <a name="L754"></a><tt class="py-lineno"> 754</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L755"></a><tt class="py-lineno"> 755</tt> <tt class="py-line"><tt class="py-string">Cow TTACGAATTCTATACATAATAGATGAAATCAATAACCCATCTCTTACAGTAAAAACCATA</tt> </tt> <a name="L756"></a><tt class="py-lineno"> 756</tt> <tt class="py-line"><tt class="py-string">Carp CTACGCATCCTGTACCTTATAGACGAAATTAACGACCCTCACCTGACAATTAAAGCAATA</tt> </tt> <a name="L757"></a><tt class="py-lineno"> 757</tt> <tt class="py-line"><tt class="py-string">Chicken CTCCAAATCCTCTACATAATAGACGAAATCGACGAACCTGATCTCACCCTAAAAGCCATC</tt> </tt> <a name="L758"></a><tt class="py-lineno"> 758</tt> <tt class="py-line"><tt class="py-string">Human CTACGCATCCTTTACATAACAGACGAGGTCAACGATCCCTCCCTTACCATCAAATCAATT</tt> </tt> <a name="L759"></a><tt class="py-lineno"> 759</tt> <tt class="py-line"><tt class="py-string">Loach CTACGAATTCTATATCTTATAGACGAGATTAATGACCCCCACCTAACAATTAAGGCCATG</tt> </tt> <a name="L760"></a><tt class="py-lineno"> 760</tt> <tt class="py-line"><tt class="py-string">Mouse CTACGCATTCTATATATAATAGACGAAATCAACAACCCCGTATTAACCGTTAAAACCATA</tt> </tt> <a name="L761"></a><tt class="py-lineno"> 761</tt> <tt class="py-line"><tt class="py-string">Rat CTACGAATTCTATACATAATAGACGAGATTAATAACCCAGTTCTAACAGTAAAAACTATA</tt> </tt> <a name="L762"></a><tt class="py-lineno"> 762</tt> <tt class="py-line"><tt class="py-string">Seal TTACGAATCCTCTACATAATGGACGAGATCAATAACCCTTCCTTGACCGTAAAAACTATA</tt> </tt> <a name="L763"></a><tt class="py-lineno"> 763</tt> <tt class="py-line"><tt class="py-string">Whale TTACGGATCCTTTACATAATAGACGAAGTCAATAACCCCTCCCTCACTGTAAAAACAATA</tt> </tt> <a name="L764"></a><tt class="py-lineno"> 764</tt> <tt class="py-line"><tt class="py-string">Frog CTTCGTATCCTATATTTAATAGATGAAGTTAATGATCCACACTTAACAATTAAAGCAATC</tt> </tt> <a name="L765"></a><tt class="py-lineno"> 765</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L766"></a><tt class="py-lineno"> 766</tt> <tt class="py-line"><tt class="py-string">Cow GGACATCAGTGATACTGAAGCTATGAGTATACAGATTATGAGGACTTAAGCTTCGACTCC</tt> </tt> <a name="L767"></a><tt class="py-lineno"> 767</tt> <tt class="py-line"><tt class="py-string">Carp GGACACCAATGATACTGAAGTTACGAGTATACAGACTATGAAAATCTAGGATTCGACTCC</tt> </tt> <a name="L768"></a><tt class="py-lineno"> 768</tt> <tt class="py-line"><tt class="py-string">Chicken GGACACCAATGATACTGAACCTATGAATACACAGACTTCAAGGACCTCTCATTTGACTCC</tt> </tt> <a name="L769"></a><tt class="py-lineno"> 769</tt> <tt class="py-line"><tt class="py-string">Human GGCCACCAATGGTACTGAACCTACGAGTACACCGACTACGGCGGACTAATCTTCAACTCC</tt> </tt> <a name="L770"></a><tt class="py-lineno"> 770</tt> <tt class="py-line"><tt class="py-string">Loach GGGCACCAATGATACTGAAGCTACGAGTATACTGATTATGAAAACTTAAGTTTTGACTCC</tt> </tt> <a name="L771"></a><tt class="py-lineno"> 771</tt> <tt class="py-line"><tt class="py-string">Mouse GGGCACCAATGATACTGAAGCTACGAATATACTGACTATGAAGACCTATGCTTTGATTCA</tt> </tt> <a name="L772"></a><tt class="py-lineno"> 772</tt> <tt class="py-line"><tt class="py-string">Rat GGACACCAATGATACTGAAGCTATGAATATACTGACTATGAAGACCTATGCTTTGACTCC</tt> </tt> <a name="L773"></a><tt class="py-lineno"> 773</tt> <tt class="py-line"><tt class="py-string">Seal GGACATCAGTGATACTGAAGCTATGAGTACACAGACTACGAAGACCTGAACTTTGACTCA</tt> </tt> <a name="L774"></a><tt class="py-lineno"> 774</tt> <tt class="py-line"><tt class="py-string">Whale GGTCACCAATGATATTGAAGCTATGAGTATACCGACTACGAAGACCTAAGCTTCGACTCC</tt> </tt> <a name="L775"></a><tt class="py-lineno"> 775</tt> <tt class="py-line"><tt class="py-string">Frog GGCCACCAATGATACTGAAGCTACGAATATACTAACTATGAGGATCTCTCATTTGACTCT</tt> </tt> <a name="L776"></a><tt class="py-lineno"> 776</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L777"></a><tt class="py-lineno"> 777</tt> <tt class="py-line"><tt class="py-string">Cow TACATAATTCCAACATCAGAATTAAAGCCAGGGGAGCTACGACTATTAGAAGTCGATAAT</tt> </tt> <a name="L778"></a><tt class="py-lineno"> 778</tt> <tt class="py-line"><tt class="py-string">Carp TATATAGTACCAACCCAAGACCTTGCCCCCGGACAATTCCGACTTCTGGAAACAGACCAC</tt> </tt> <a name="L779"></a><tt class="py-lineno"> 779</tt> <tt class="py-line"><tt class="py-string">Chicken TACATAACCCCAACAACAGACCTCCCCCTAGGCCACTTCCGCCTACTAGAAGTCGACCAT</tt> </tt> <a name="L780"></a><tt class="py-lineno"> 780</tt> <tt class="py-line"><tt class="py-string">Human TACATACTTCCCCCATTATTCCTAGAACCAGGCGACCTGCGACTCCTTGACGTTGACAAT</tt> </tt> <a name="L781"></a><tt class="py-lineno"> 781</tt> <tt class="py-line"><tt class="py-string">Loach TACATAATCCCCACCCAGGACCTAACCCCTGGACAATTCCGGCTACTAGAGACAGACCAC</tt> </tt> <a name="L782"></a><tt class="py-lineno"> 782</tt> <tt class="py-line"><tt class="py-string">Mouse TATATAATCCCAACAAACGACCTAAAACCTGGTGAACTACGACTGCTAGAAGTTGATAAC</tt> </tt> <a name="L783"></a><tt class="py-lineno"> 783</tt> <tt class="py-line"><tt class="py-string">Rat TACATAATCCCAACCAATGACCTAAAACCAGGTGAACTTCGTCTATTAGAAGTTGATAAT</tt> </tt> <a name="L784"></a><tt class="py-lineno"> 784</tt> <tt class="py-line"><tt class="py-string">Seal TATATGATCCCCACACAAGAACTAAAGCCCGGAGAACTACGACTGCTAGAAGTAGACAAT</tt> </tt> <a name="L785"></a><tt class="py-lineno"> 785</tt> <tt class="py-line"><tt class="py-string">Whale TATATAATCCCAACATCAGACCTAAAGCCAGGAGAACTACGATTATTAGAAGTAGATAAC</tt> </tt> <a name="L786"></a><tt class="py-lineno"> 786</tt> <tt class="py-line"><tt class="py-string">Frog TATATAATTCCAACTAATGACCTTACCCCTGGACAATTCCGGCTGCTAGAAGTTGATAAT</tt> </tt> <a name="L787"></a><tt class="py-lineno"> 787</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L788"></a><tt class="py-lineno"> 788</tt> <tt class="py-line"><tt class="py-string">Cow CGAGTTGTACTACCAATAGAAATAACAATCCGAATGTTAGTCTCCTCTGAAGACGTATTA</tt> </tt> <a name="L789"></a><tt class="py-lineno"> 789</tt> <tt class="py-line"><tt class="py-string">Carp CGAATAGTTGTTCCAATAGAATCCCCAGTCCGTGTCCTAGTATCTGCTGAAGACGTGCTA</tt> </tt> <a name="L790"></a><tt class="py-lineno"> 790</tt> <tt class="py-line"><tt class="py-string">Chicken CGCATTGTAATCCCCATAGAATCCCCCATTCGAGTAATCATCACCGCTGATGACGTCCTC</tt> </tt> <a name="L791"></a><tt class="py-lineno"> 791</tt> <tt class="py-line"><tt class="py-string">Human CGAGTAGTACTCCCGATTGAAGCCCCCATTCGTATAATAATTACATCACAAGACGTCTTG</tt> </tt> <a name="L792"></a><tt class="py-lineno"> 792</tt> <tt class="py-line"><tt class="py-string">Loach CGAATGGTTGTTCCCATAGAATCCCCTATTCGCATTCTTGTTTCCGCCGAAGATGTACTA</tt> </tt> <a name="L793"></a><tt class="py-lineno"> 793</tt> <tt class="py-line"><tt class="py-string">Mouse CGAGTCGTTCTGCCAATAGAACTTCCAATCCGTATATTAATTTCATCTGAAGACGTCCTC</tt> </tt> <a name="L794"></a><tt class="py-lineno"> 794</tt> <tt class="py-line"><tt class="py-string">Rat CGGGTAGTCTTACCAATAGAACTTCCAATTCGTATACTAATCTCATCCGAAGACGTCCTG</tt> </tt> <a name="L795"></a><tt class="py-lineno"> 795</tt> <tt class="py-line"><tt class="py-string">Seal CGAGTAGTCCTCCCAATAGAAATAACAATCCGCATACTAATCTCATCAGAAGATGTACTC</tt> </tt> <a name="L796"></a><tt class="py-lineno"> 796</tt> <tt class="py-line"><tt class="py-string">Whale CGAGTTGTCTTACCTATAGAAATAACAATCCGAATATTAGTCTCATCAGAAGACGTACTC</tt> </tt> <a name="L797"></a><tt class="py-lineno"> 797</tt> <tt class="py-line"><tt class="py-string">Frog CGAATAGTAGTCCCAATAGAATCTCCAACCCGACTTTTAGTTACAGCCGAAGACGTCCTC</tt> </tt> <a name="L798"></a><tt class="py-lineno"> 798</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L799"></a><tt class="py-lineno"> 799</tt> <tt class="py-line"><tt class="py-string">Cow CACTCATGAGCTGTGCCCTCTCTAGGACTAAAAACAGACGCAATCCCAGGCCGTCTAAAC</tt> </tt> <a name="L800"></a><tt class="py-lineno"> 800</tt> <tt class="py-line"><tt class="py-string">Carp CATTCTTGAGCTGTTCCATCCCTTGGCGTAAAAATGGACGCAGTCCCAGGACGACTAAAT</tt> </tt> <a name="L801"></a><tt class="py-lineno"> 801</tt> <tt class="py-line"><tt class="py-string">Chicken CACTCATGAGCCGTACCCGCCCTCGGGGTAAAAACAGACGCAATCCCTGGACGACTAAAT</tt> </tt> <a name="L802"></a><tt class="py-lineno"> 802</tt> <tt class="py-line"><tt class="py-string">Human CACTCATGAGCTGTCCCCACATTAGGCTTAAAAACAGATGCAATTCCCGGACGTCTAAAC</tt> </tt> <a name="L803"></a><tt class="py-lineno"> 803</tt> <tt class="py-line"><tt class="py-string">Loach CACTCCTGGGCCCTTCCAGCCATGGGGGTAAAGATAGACGCGGTCCCAGGACGCCTTAAC</tt> </tt> <a name="L804"></a><tt class="py-lineno"> 804</tt> <tt class="py-line"><tt class="py-string">Mouse CACTCATGAGCAGTCCCCTCCCTAGGACTTAAAACTGATGCCATCCCAGGCCGACTAAAT</tt> </tt> <a name="L805"></a><tt class="py-lineno"> 805</tt> <tt class="py-line"><tt class="py-string">Rat CACTCATGAGCCATCCCTTCACTAGGGTTAAAAACCGACGCAATCCCCGGCCGCCTAAAC</tt> </tt> <a name="L806"></a><tt class="py-lineno"> 806</tt> <tt class="py-line"><tt class="py-string">Seal CACTCATGAGCCGTACCGTCCCTAGGACTAAAAACTGATGCTATCCCAGGACGACTAAAC</tt> </tt> <a name="L807"></a><tt class="py-lineno"> 807</tt> <tt class="py-line"><tt class="py-string">Whale CACTCATGGGCCGTACCCTCCTTGGGCCTAAAAACAGATGCAATCCCAGGACGCCTAAAC</tt> </tt> <a name="L808"></a><tt class="py-lineno"> 808</tt> <tt class="py-line"><tt class="py-string">Frog CACTCGTGAGCTGTACCCTCCTTGGGTGTCAAAACAGATGCAATCCCAGGACGACTTCAT</tt> </tt> <a name="L809"></a><tt class="py-lineno"> 809</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L810"></a><tt class="py-lineno"> 810</tt> <tt class="py-line"><tt class="py-string">Cow CAAACAACCCTTATATCGTCCCGTCCAGGCTTATATTACGGTCAATGCTCAGAAATTTGC</tt> </tt> <a name="L811"></a><tt class="py-lineno"> 811</tt> <tt class="py-line"><tt class="py-string">Carp CAAGCCGCCTTTATTGCCTCACGCCCAGGGGTCTTTTACGGACAATGCTCTGAAATTTGT</tt> </tt> <a name="L812"></a><tt class="py-lineno"> 812</tt> <tt class="py-line"><tt class="py-string">Chicken CAAACCTCCTTCATCACCACTCGACCAGGAGTGTTTTACGGACAATGCTCAGAAATCTGC</tt> </tt> <a name="L813"></a><tt class="py-lineno"> 813</tt> <tt class="py-line"><tt class="py-string">Human CAAACCACTTTCACCGCTACACGACCGGGGGTATACTACGGTCAATGCTCTGAAATCTGT</tt> </tt> <a name="L814"></a><tt class="py-lineno"> 814</tt> <tt class="py-line"><tt class="py-string">Loach CAAACCGCCTTTATTGCCTCCCGCCCCGGGGTATTCTATGGGCAATGCTCAGAAATCTGT</tt> </tt> <a name="L815"></a><tt class="py-lineno"> 815</tt> <tt class="py-line"><tt class="py-string">Mouse CAAGCAACAGTAACATCAAACCGACCAGGGTTATTCTATGGCCAATGCTCTGAAATTTGT</tt> </tt> <a name="L816"></a><tt class="py-lineno"> 816</tt> <tt class="py-line"><tt class="py-string">Rat CAAGCTACAGTCACATCAAACCGACCAGGTCTATTCTATGGCCAATGCTCTGAAATTTGC</tt> </tt> <a name="L817"></a><tt class="py-lineno"> 817</tt> <tt class="py-line"><tt class="py-string">Seal CAAACAACCCTAATAACCATACGACCAGGACTGTACTACGGTCAATGCTCAGAAATCTGT</tt> </tt> <a name="L818"></a><tt class="py-lineno"> 818</tt> <tt class="py-line"><tt class="py-string">Whale CAAACAACCTTAATATCAACACGACCAGGCCTATTTTATGGACAATGCTCAGAGATCTGC</tt> </tt> <a name="L819"></a><tt class="py-lineno"> 819</tt> <tt class="py-line"><tt class="py-string">Frog CAAACATCATTTATTGCTACTCGTCCGGGAGTATTTTACGGACAATGTTCAGAAATTTGC</tt> </tt> <a name="L820"></a><tt class="py-lineno"> 820</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L821"></a><tt class="py-lineno"> 821</tt> <tt class="py-line"><tt class="py-string">Cow GGGTCAAACCACAGTTTCATACCCATTGTCCTTGAGTTAGTCCCACTAAAGTACTTTGAA</tt> </tt> <a name="L822"></a><tt class="py-lineno"> 822</tt> <tt class="py-line"><tt class="py-string">Carp GGAGCTAATCACAGCTTTATACCAATTGTAGTTGAAGCAGTACCTCTCGAACACTTCGAA</tt> </tt> <a name="L823"></a><tt class="py-lineno"> 823</tt> <tt class="py-line"><tt class="py-string">Chicken GGAGCTAACCACAGCTACATACCCATTGTAGTAGAGTCTACCCCCCTAAAACACTTTGAA</tt> </tt> <a name="L824"></a><tt class="py-lineno"> 824</tt> <tt class="py-line"><tt class="py-string">Human GGAGCAAACCACAGTTTCATGCCCATCGTCCTAGAATTAATTCCCCTAAAAATCTTTGAA</tt> </tt> <a name="L825"></a><tt class="py-lineno"> 825</tt> <tt class="py-line"><tt class="py-string">Loach GGAGCAAACCACAGCTTTATACCCATCGTAGTAGAAGCGGTCCCACTATCTCACTTCGAA</tt> </tt> <a name="L826"></a><tt class="py-lineno"> 826</tt> <tt class="py-line"><tt class="py-string">Mouse GGATCTAACCATAGCTTTATGCCCATTGTCCTAGAAATGGTTCCACTAAAATATTTCGAA</tt> </tt> <a name="L827"></a><tt class="py-lineno"> 827</tt> <tt class="py-line"><tt class="py-string">Rat GGCTCAAATCACAGCTTCATACCCATTGTACTAGAAATAGTGCCTCTAAAATATTTCGAA</tt> </tt> <a name="L828"></a><tt class="py-lineno"> 828</tt> <tt class="py-line"><tt class="py-string">Seal GGTTCAAACCACAGCTTCATACCTATTGTCCTCGAATTGGTCCCACTATCCCACTTCGAG</tt> </tt> <a name="L829"></a><tt class="py-lineno"> 829</tt> <tt class="py-line"><tt class="py-string">Whale GGCTCAAACCACAGTTTCATACCAATTGTCCTAGAACTAGTACCCCTAGAAGTCTTTGAA</tt> </tt> <a name="L830"></a><tt class="py-lineno"> 830</tt> <tt class="py-line"><tt class="py-string">Frog GGAGCAAACCACAGCTTTATACCAATTGTAGTTGAAGCAGTACCGCTAACCGACTTTGAA</tt> </tt> <a name="L831"></a><tt class="py-lineno"> 831</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L832"></a><tt class="py-lineno"> 832</tt> <tt class="py-line"><tt class="py-string">Cow AAATGATCTGCGTCAATATTA---------------------TAA</tt> </tt> <a name="L833"></a><tt class="py-lineno"> 833</tt> <tt class="py-line"><tt class="py-string">Carp AACTGATCCTCATTAATACTAGAAGACGCCTCGCTAGGAAGCTAA</tt> </tt> <a name="L834"></a><tt class="py-lineno"> 834</tt> <tt class="py-line"><tt class="py-string">Chicken GCCTGATCCTCACTA------------------CTGTCATCTTAA</tt> </tt> <a name="L835"></a><tt class="py-lineno"> 835</tt> <tt class="py-line"><tt class="py-string">Human ATA---------------------GGGCCCGTATTTACCCTATAG</tt> </tt> <a name="L836"></a><tt class="py-lineno"> 836</tt> <tt class="py-line"><tt class="py-string">Loach AACTGGTCCACCCTTATACTAAAAGACGCCTCACTAGGAAGCTAA</tt> </tt> <a name="L837"></a><tt class="py-lineno"> 837</tt> <tt class="py-line"><tt class="py-string">Mouse AACTGATCTGCTTCAATAATT---------------------TAA</tt> </tt> <a name="L838"></a><tt class="py-lineno"> 838</tt> <tt class="py-line"><tt class="py-string">Rat AACTGATCAGCTTCTATAATT---------------------TAA</tt> </tt> <a name="L839"></a><tt class="py-lineno"> 839</tt> <tt class="py-line"><tt class="py-string">Seal AAATGATCTACCTCAATGCTT---------------------TAA</tt> </tt> <a name="L840"></a><tt class="py-lineno"> 840</tt> <tt class="py-line"><tt class="py-string">Whale AAATGATCTGTATCAATACTA---------------------TAA</tt> </tt> <a name="L841"></a><tt class="py-lineno"> 841</tt> <tt class="py-line"><tt class="py-string">Frog AACTGATCTTCATCAATACTA---GAAGCATCACTA------AGA</tt> </tt> <a name="L842"></a><tt class="py-lineno"> 842</tt> <tt class="py-line"><tt class="py-string"> ;</tt> </tt> <a name="L843"></a><tt class="py-lineno"> 843</tt> <tt class="py-line"><tt class="py-string">End;</tt> </tt> <a name="L844"></a><tt class="py-lineno"> 844</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L845"></a><tt class="py-lineno"> 845</tt> <tt class="py-line"> </tt> <a name="L846"></a><tt class="py-lineno"> 846</tt> <tt class="py-line"> <tt class="py-comment"># This example uses amino acids, from here:</tt> </tt> <a name="L847"></a><tt class="py-lineno"> 847</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># http://www.molecularevolution.org/resources/fileformats/</tt> </tt> <a name="L848"></a><tt class="py-lineno"> 848</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">nxs_example3</tt> <tt class="py-op">=</tt> \ </tt> <a name="L849"></a><tt class="py-lineno"> 849</tt> <tt class="py-line"><tt class="py-string">"""#NEXUS </tt> </tt> <a name="L850"></a><tt class="py-lineno"> 850</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L851"></a><tt class="py-lineno"> 851</tt> <tt class="py-line"><tt class="py-string">Begin data;</tt> </tt> <a name="L852"></a><tt class="py-lineno"> 852</tt> <tt class="py-line"><tt class="py-string"> Dimensions ntax=10 nchar=234;</tt> </tt> <a name="L853"></a><tt class="py-lineno"> 853</tt> <tt class="py-line"><tt class="py-string"> Format datatype=protein gap=- interleave;</tt> </tt> <a name="L854"></a><tt class="py-lineno"> 854</tt> <tt class="py-line"><tt class="py-string"> Matrix</tt> </tt> <a name="L855"></a><tt class="py-lineno"> 855</tt> <tt class="py-line"><tt class="py-string">Cow MAYPMQLGFQDATSPIMEELLHFHDHTLMIVFLISSLVLYIISLMLTTKLTHTSTMDAQE</tt> </tt> <a name="L856"></a><tt class="py-lineno"> 856</tt> <tt class="py-line"><tt class="py-string">Carp MAHPTQLGFKDAAMPVMEELLHFHDHALMIVLLISTLVLYIITAMVSTKLTNKYILDSQE</tt> </tt> <a name="L857"></a><tt class="py-lineno"> 857</tt> <tt class="py-line"><tt class="py-string">Chicken MANHSQLGFQDASSPIMEELVEFHDHALMVALAICSLVLYLLTLMLMEKLS-SNTVDAQE</tt> </tt> <a name="L858"></a><tt class="py-lineno"> 858</tt> <tt class="py-line"><tt class="py-string">Human MAHAAQVGLQDATSPIMEELITFHDHALMIIFLICFLVLYALFLTLTTKLTNTNISDAQE</tt> </tt> <a name="L859"></a><tt class="py-lineno"> 859</tt> <tt class="py-line"><tt class="py-string">Loach MAHPTQLGFQDAASPVMEELLHFHDHALMIVFLISALVLYVIITTVSTKLTNMYILDSQE</tt> </tt> <a name="L860"></a><tt class="py-lineno"> 860</tt> <tt class="py-line"><tt class="py-string">Mouse MAYPFQLGLQDATSPIMEELMNFHDHTLMIVFLISSLVLYIISLMLTTKLTHTSTMDAQE</tt> </tt> <a name="L861"></a><tt class="py-lineno"> 861</tt> <tt class="py-line"><tt class="py-string">Rat MAYPFQLGLQDATSPIMEELTNFHDHTLMIVFLISSLVLYIISLMLTTKLTHTSTMDAQE</tt> </tt> <a name="L862"></a><tt class="py-lineno"> 862</tt> <tt class="py-line"><tt class="py-string">Seal MAYPLQMGLQDATSPIMEELLHFHDHTLMIVFLISSLVLYIISLMLTTKLTHTSTMDAQE</tt> </tt> <a name="L863"></a><tt class="py-lineno"> 863</tt> <tt class="py-line"><tt class="py-string">Whale MAYPFQLGFQDAASPIMEELLHFHDHTLMIVFLISSLVLYIITLMLTTKLTHTSTMDAQE</tt> </tt> <a name="L864"></a><tt class="py-lineno"> 864</tt> <tt class="py-line"><tt class="py-string">Frog MAHPSQLGFQDAASPIMEELLHFHDHTLMAVFLISTLVLYIITIMMTTKLTNTNLMDAQE</tt> </tt> <a name="L865"></a><tt class="py-lineno"> 865</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L866"></a><tt class="py-lineno"> 866</tt> <tt class="py-line"><tt class="py-string">Cow VETIWTILPAIILILIALPSLRILYMMDEINNPSLTVKTMGHQWYWSYEYTDYEDLSFDS</tt> </tt> <a name="L867"></a><tt class="py-lineno"> 867</tt> <tt class="py-line"><tt class="py-string">Carp IEIVWTILPAVILVLIALPSLRILYLMDEINDPHLTIKAMGHQWYWSYEYTDYENLGFDS</tt> </tt> <a name="L868"></a><tt class="py-lineno"> 868</tt> <tt class="py-line"><tt class="py-string">Chicken VELIWTILPAIVLVLLALPSLQILYMMDEIDEPDLTLKAIGHQWYWTYEYTDFKDLSFDS</tt> </tt> <a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"><tt class="py-string">Human METVWTILPAIILVLIALPSLRILYMTDEVNDPSLTIKSIGHQWYWTYEYTDYGGLIFNS</tt> </tt> <a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"><tt class="py-string">Loach IEIVWTVLPALILILIALPSLRILYLMDEINDPHLTIKAMGHQWYWSYEYTDYENLSFDS</tt> </tt> <a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"><tt class="py-string">Mouse VETIWTILPAVILIMIALPSLRILYMMDEINNPVLTVKTMGHQWYWSYEYTDYEDLCFDS</tt> </tt> <a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"><tt class="py-string">Rat VETIWTILPAVILILIALPSLRILYMMDEINNPVLTVKTMGHQWYWSYEYTDYEDLCFDS</tt> </tt> <a name="L873"></a><tt class="py-lineno"> 873</tt> <tt class="py-line"><tt class="py-string">Seal VETVWTILPAIILILIALPSLRILYMMDEINNPSLTVKTMGHQWYWSYEYTDYEDLNFDS</tt> </tt> <a name="L874"></a><tt class="py-lineno"> 874</tt> <tt class="py-line"><tt class="py-string">Whale VETVWTILPAIILILIALPSLRILYMMDEVNNPSLTVKTMGHQWYWSYEYTDYEDLSFDS</tt> </tt> <a name="L875"></a><tt class="py-lineno"> 875</tt> <tt class="py-line"><tt class="py-string">Frog IEMVWTIMPAISLIMIALPSLRILYLMDEVNDPHLTIKAIGHQWYWSYEYTNYEDLSFDS</tt> </tt> <a name="L876"></a><tt class="py-lineno"> 876</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L877"></a><tt class="py-lineno"> 877</tt> <tt class="py-line"><tt class="py-string">Cow YMIPTSELKPGELRLLEVDNRVVLPMEMTIRMLVSSEDVLHSWAVPSLGLKTDAIPGRLN</tt> </tt> <a name="L878"></a><tt class="py-lineno"> 878</tt> <tt class="py-line"><tt class="py-string">Carp YMVPTQDLAPGQFRLLETDHRMVVPMESPVRVLVSAEDVLHSWAVPSLGVKMDAVPGRLN</tt> </tt> <a name="L879"></a><tt class="py-lineno"> 879</tt> <tt class="py-line"><tt class="py-string">Chicken YMTPTTDLPLGHFRLLEVDHRIVIPMESPIRVIITADDVLHSWAVPALGVKTDAIPGRLN</tt> </tt> <a name="L880"></a><tt class="py-lineno"> 880</tt> <tt class="py-line"><tt class="py-string">Human YMLPPLFLEPGDLRLLDVDNRVVLPIEAPIRMMITSQDVLHSWAVPTLGLKTDAIPGRLN</tt> </tt> <a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"><tt class="py-string">Loach YMIPTQDLTPGQFRLLETDHRMVVPMESPIRILVSAEDVLHSWALPAMGVKMDAVPGRLN</tt> </tt> <a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"><tt class="py-string">Mouse YMIPTNDLKPGELRLLEVDNRVVLPMELPIRMLISSEDVLHSWAVPSLGLKTDAIPGRLN</tt> </tt> <a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"><tt class="py-string">Rat YMIPTNDLKPGELRLLEVDNRVVLPMELPIRMLISSEDVLHSWAIPSLGLKTDAIPGRLN</tt> </tt> <a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"><tt class="py-string">Seal YMIPTQELKPGELRLLEVDNRVVLPMEMTIRMLISSEDVLHSWAVPSLGLKTDAIPGRLN</tt> </tt> <a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"><tt class="py-string">Whale YMIPTSDLKPGELRLLEVDNRVVLPMEMTIRMLVSSEDVLHSWAVPSLGLKTDAIPGRLN</tt> </tt> <a name="L886"></a><tt class="py-lineno"> 886</tt> <tt class="py-line"><tt class="py-string">Frog YMIPTNDLTPGQFRLLEVDNRMVVPMESPTRLLVTAEDVLHSWAVPSLGVKTDAIPGRLH</tt> </tt> <a name="L887"></a><tt class="py-lineno"> 887</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L888"></a><tt class="py-lineno"> 888</tt> <tt class="py-line"><tt class="py-string">Cow QTTLMSSRPGLYYGQCSEICGSNHSFMPIVLELVPLKYFEKWSASML-------</tt> </tt> <a name="L889"></a><tt class="py-lineno"> 889</tt> <tt class="py-line"><tt class="py-string">Carp QAAFIASRPGVFYGQCSEICGANHSFMPIVVEAVPLEHFENWSSLMLEDASLGS</tt> </tt> <a name="L890"></a><tt class="py-lineno"> 890</tt> <tt class="py-line"><tt class="py-string">Chicken QTSFITTRPGVFYGQCSEICGANHSYMPIVVESTPLKHFEAWSSL------LSS</tt> </tt> <a name="L891"></a><tt class="py-lineno"> 891</tt> <tt class="py-line"><tt class="py-string">Human QTTFTATRPGVYYGQCSEICGANHSFMPIVLELIPLKIFEM-------GPVFTL</tt> </tt> <a name="L892"></a><tt class="py-lineno"> 892</tt> <tt class="py-line"><tt class="py-string">Loach QTAFIASRPGVFYGQCSEICGANHSFMPIVVEAVPLSHFENWSTLMLKDASLGS</tt> </tt> <a name="L893"></a><tt class="py-lineno"> 893</tt> <tt class="py-line"><tt class="py-string">Mouse QATVTSNRPGLFYGQCSEICGSNHSFMPIVLEMVPLKYFENWSASMI-------</tt> </tt> <a name="L894"></a><tt class="py-lineno"> 894</tt> <tt class="py-line"><tt class="py-string">Rat QATVTSNRPGLFYGQCSEICGSNHSFMPIVLEMVPLKYFENWSASMI-------</tt> </tt> <a name="L895"></a><tt class="py-lineno"> 895</tt> <tt class="py-line"><tt class="py-string">Seal QTTLMTMRPGLYYGQCSEICGSNHSFMPIVLELVPLSHFEKWSTSML-------</tt> </tt> <a name="L896"></a><tt class="py-lineno"> 896</tt> <tt class="py-line"><tt class="py-string">Whale QTTLMSTRPGLFYGQCSEICGSNHSFMPIVLELVPLEVFEKWSVSML-------</tt> </tt> <a name="L897"></a><tt class="py-lineno"> 897</tt> <tt class="py-line"><tt class="py-string">Frog QTSFIATRPGVFYGQCSEICGANHSFMPIVVEAVPLTDFENWSSSML-EASL--</tt> </tt> <a name="L898"></a><tt class="py-lineno"> 898</tt> <tt class="py-line"><tt class="py-string"> ;</tt> </tt> <a name="L899"></a><tt class="py-lineno"> 899</tt> <tt class="py-line"><tt class="py-string">End;</tt> </tt> <a name="L900"></a><tt class="py-lineno"> 900</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L901"></a><tt class="py-lineno"> 901</tt> <tt class="py-line"> </tt> <a name="L902"></a><tt class="py-lineno"> 902</tt> <tt class="py-line"> <tt class="py-comment"># This example with its slightly odd (partial) annotation is from here:</tt> </tt> <a name="L903"></a><tt class="py-lineno"> 903</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># http://www.cgb.ki.se/cgb/groups/sonnhammer/Stockholm.html</tt> </tt> <a name="L904"></a><tt class="py-lineno"> 904</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">sth_example</tt> <tt class="py-op">=</tt> \ </tt> <a name="L905"></a><tt class="py-lineno"> 905</tt> <tt class="py-line"><tt class="py-string">"""# STOCKHOLM 1.0</tt> </tt> <a name="L906"></a><tt class="py-lineno"> 906</tt> <tt class="py-line"><tt class="py-string">#=GF ID CBS</tt> </tt> <a name="L907"></a><tt class="py-lineno"> 907</tt> <tt class="py-line"><tt class="py-string">#=GF AC PF00571</tt> </tt> <a name="L908"></a><tt class="py-lineno"> 908</tt> <tt class="py-line"><tt class="py-string">#=GF DE CBS domain</tt> </tt> <a name="L909"></a><tt class="py-lineno"> 909</tt> <tt class="py-line"><tt class="py-string">#=GF AU Bateman A</tt> </tt> <a name="L910"></a><tt class="py-lineno"> 910</tt> <tt class="py-line"><tt class="py-string">#=GF CC CBS domains are small intracellular modules mostly found </tt> </tt> <a name="L911"></a><tt class="py-lineno"> 911</tt> <tt class="py-line"><tt class="py-string">#=GF CC in 2 or four copies within a protein. </tt> </tt> <a name="L912"></a><tt class="py-lineno"> 912</tt> <tt class="py-line"><tt class="py-string">#=GF SQ 67</tt> </tt> <a name="L913"></a><tt class="py-lineno"> 913</tt> <tt class="py-line"><tt class="py-string">#=GS O31698/18-71 AC O31698</tt> </tt> <a name="L914"></a><tt class="py-lineno"> 914</tt> <tt class="py-line"><tt class="py-string">#=GS O83071/192-246 AC O83071</tt> </tt> <a name="L915"></a><tt class="py-lineno"> 915</tt> <tt class="py-line"><tt class="py-string">#=GS O83071/259-312 AC O83071</tt> </tt> <a name="L916"></a><tt class="py-lineno"> 916</tt> <tt class="py-line"><tt class="py-string">#=GS O31698/88-139 AC O31698</tt> </tt> <a name="L917"></a><tt class="py-lineno"> 917</tt> <tt class="py-line"><tt class="py-string">#=GS O31698/88-139 OS Bacillus subtilis</tt> </tt> <a name="L918"></a><tt class="py-lineno"> 918</tt> <tt class="py-line"><tt class="py-string">O83071/192-246 MTCRAQLIAVPRASSLAE..AIACAQKM....RVSRVPVYERS</tt> </tt> <a name="L919"></a><tt class="py-lineno"> 919</tt> <tt class="py-line"><tt class="py-string">#=GR O83071/192-246 SA 999887756453524252..55152525....36463774777</tt> </tt> <a name="L920"></a><tt class="py-lineno"> 920</tt> <tt class="py-line"><tt class="py-string">O83071/259-312 MQHVSAPVFVFECTRLAY..VQHKLRAH....SRAVAIVLDEY</tt> </tt> <a name="L921"></a><tt class="py-lineno"> 921</tt> <tt class="py-line"><tt class="py-string">#=GR O83071/259-312 SS CCCCCHHHHHHHHHHHHH..EEEEEEEE....EEEEEEEEEEE</tt> </tt> <a name="L922"></a><tt class="py-lineno"> 922</tt> <tt class="py-line"><tt class="py-string">O31698/18-71 MIEADKVAHVQVGNNLEH..ALLVLTKT....GYTAIPVLDPS</tt> </tt> <a name="L923"></a><tt class="py-lineno"> 923</tt> <tt class="py-line"><tt class="py-string">#=GR O31698/18-71 SS CCCHHHHHHHHHHHHHHH..EEEEEEEE....EEEEEEEEHHH</tt> </tt> <a name="L924"></a><tt class="py-lineno"> 924</tt> <tt class="py-line"><tt class="py-string">O31698/88-139 EVMLTDIPRLHINDPIMK..GFGMVINN......GFVCVENDE</tt> </tt> <a name="L925"></a><tt class="py-lineno"> 925</tt> <tt class="py-line"><tt class="py-string">#=GR O31698/88-139 SS CCCCCCCHHHHHHHHHHH..HEEEEEEE....EEEEEEEEEEH</tt> </tt> <a name="L926"></a><tt class="py-lineno"> 926</tt> <tt class="py-line"><tt class="py-string">#=GC SS_cons CCCCCHHHHHHHHHHHHH..EEEEEEEE....EEEEEEEEEEH</tt> </tt> <a name="L927"></a><tt class="py-lineno"> 927</tt> <tt class="py-line"><tt class="py-string">O31699/88-139 EVMLTDIPRLHINDPIMK..GFGMVINN......GFVCVENDE</tt> </tt> <a name="L928"></a><tt class="py-lineno"> 928</tt> <tt class="py-line"><tt class="py-string">#=GR O31699/88-139 AS ________________*__________________________</tt> </tt> <a name="L929"></a><tt class="py-lineno"> 929</tt> <tt class="py-line"><tt class="py-string">#=GR_O31699/88-139_IN ____________1______________2__________0____</tt> </tt> <a name="L930"></a><tt class="py-lineno"> 930</tt> <tt class="py-line"><tt class="py-string">//</tt> </tt> <a name="L931"></a><tt class="py-lineno"> 931</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L932"></a><tt class="py-lineno"> 932</tt> <tt class="py-line"> </tt> <a name="L933"></a><tt class="py-lineno"> 933</tt> <tt class="py-line"> <tt class="py-comment"># Interlaced example from BioPerl documentation. Also note the blank line.</tt> </tt> <a name="L934"></a><tt class="py-lineno"> 934</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># http://www.bioperl.org/wiki/Stockholm_multiple_alignment_format</tt> </tt> <a name="L935"></a><tt class="py-lineno"> 935</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">sth_example2</tt> <tt class="py-op">=</tt> \ </tt> <a name="L936"></a><tt class="py-lineno"> 936</tt> <tt class="py-line"><tt class="py-string">"""# STOCKHOLM 1.0</tt> </tt> <a name="L937"></a><tt class="py-lineno"> 937</tt> <tt class="py-line"><tt class="py-string">#=GC SS_cons .................<<<<<<<<...<<<<<<<........>>>>>>>..</tt> </tt> <a name="L938"></a><tt class="py-lineno"> 938</tt> <tt class="py-line"><tt class="py-string">AP001509.1 UUAAUCGAGCUCAACACUCUUCGUAUAUCCUC-UCAAUAUGG-GAUGAGGGU</tt> </tt> <a name="L939"></a><tt class="py-lineno"> 939</tt> <tt class="py-line"><tt class="py-string">#=GR AP001509.1 SS -----------------<<<<<<<<---..<<-<<-------->>->>..--</tt> </tt> <a name="L940"></a><tt class="py-lineno"> 940</tt> <tt class="py-line"><tt class="py-string">AE007476.1 AAAAUUGAAUAUCGUUUUACUUGUUUAU-GUCGUGAAU-UGG-CACGA-CGU</tt> </tt> <a name="L941"></a><tt class="py-lineno"> 941</tt> <tt class="py-line"><tt class="py-string">#=GR AE007476.1 SS -----------------<<<<<<<<-----<<.<<-------->>.>>----</tt> </tt> <a name="L942"></a><tt class="py-lineno"> 942</tt> <tt class="py-line"><tt class="py-string"></tt> </tt> <a name="L943"></a><tt class="py-lineno"> 943</tt> <tt class="py-line"><tt class="py-string">#=GC SS_cons ......<<<<<<<.......>>>>>>>..>>>>>>>>...............</tt> </tt> <a name="L944"></a><tt class="py-lineno"> 944</tt> <tt class="py-line"><tt class="py-string">AP001509.1 CUCUAC-AGGUA-CCGUAAA-UACCUAGCUACGAAAAGAAUGCAGUUAAUGU</tt> </tt> <a name="L945"></a><tt class="py-lineno"> 945</tt> <tt class="py-line"><tt class="py-string">#=GR AP001509.1 SS -------<<<<<--------->>>>>--->>>>>>>>---------------</tt> </tt> <a name="L946"></a><tt class="py-lineno"> 946</tt> <tt class="py-line"><tt class="py-string">AE007476.1 UUCUACAAGGUG-CCGG-AA-CACCUAACAAUAAGUAAGUCAGCAGUGAGAU</tt> </tt> <a name="L947"></a><tt class="py-lineno"> 947</tt> <tt class="py-line"><tt class="py-string">#=GR AE007476.1 SS ------.<<<<<--------->>>>>.-->>>>>>>>---------------</tt> </tt> <a name="L948"></a><tt class="py-lineno"> 948</tt> <tt class="py-line"><tt class="py-string">//"""</tt> </tt> <a name="L949"></a><tt class="py-lineno"> 949</tt> <tt class="py-line"> </tt> <a name="L950"></a><tt class="py-lineno"> 950</tt> <tt class="py-line"> <tt class="py-comment"># Sample GenBank record from here:</tt> </tt> <a name="L951"></a><tt class="py-lineno"> 951</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># http://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html</tt> </tt> <a name="L952"></a><tt class="py-lineno"> 952</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">gbk_example</tt> <tt class="py-op">=</tt> \ </tt> <a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"><tt class="py-string">"""LOCUS SCU49845 5028 bp DNA PLN 21-JUN-1999</tt> </tt> <a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"><tt class="py-string">DEFINITION Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p</tt> </tt> <a name="L955"></a><tt class="py-lineno"> 955</tt> <tt class="py-line"><tt class="py-string"> (AXL2) and Rev7p (REV7) genes, complete cds.</tt> </tt> <a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"><tt class="py-string">ACCESSION U49845</tt> </tt> <a name="L957"></a><tt class="py-lineno"> 957</tt> <tt class="py-line"><tt class="py-string">VERSION U49845.1 GI:1293613</tt> </tt> <a name="L958"></a><tt class="py-lineno"> 958</tt> <tt class="py-line"><tt class="py-string">KEYWORDS .</tt> </tt> <a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"><tt class="py-string">SOURCE Saccharomyces cerevisiae (baker's yeast)</tt> </tt> <a name="L960"></a><tt class="py-lineno"> 960</tt> <tt class="py-line"><tt class="py-string"> ORGANISM Saccharomyces cerevisiae</tt> </tt> <a name="L961"></a><tt class="py-lineno"> 961</tt> <tt class="py-line"><tt class="py-string"> Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes;</tt> </tt> <a name="L962"></a><tt class="py-lineno"> 962</tt> <tt class="py-line"><tt class="py-string"> Saccharomycetales; Saccharomycetaceae; Saccharomyces.</tt> </tt> <a name="L963"></a><tt class="py-lineno"> 963</tt> <tt class="py-line"><tt class="py-string">REFERENCE 1 (bases 1 to 5028)</tt> </tt> <a name="L964"></a><tt class="py-lineno"> 964</tt> <tt class="py-line"><tt class="py-string"> AUTHORS Torpey,L.E., Gibbs,P.E., Nelson,J. and Lawrence,C.W.</tt> </tt> <a name="L965"></a><tt class="py-lineno"> 965</tt> <tt class="py-line"><tt class="py-string"> TITLE Cloning and sequence of REV7, a gene whose function is required for</tt> </tt> <a name="L966"></a><tt class="py-lineno"> 966</tt> <tt class="py-line"><tt class="py-string"> DNA damage-induced mutagenesis in Saccharomyces cerevisiae</tt> </tt> <a name="L967"></a><tt class="py-lineno"> 967</tt> <tt class="py-line"><tt class="py-string"> JOURNAL Yeast 10 (11), 1503-1509 (1994)</tt> </tt> <a name="L968"></a><tt class="py-lineno"> 968</tt> <tt class="py-line"><tt class="py-string"> PUBMED 7871890</tt> </tt> <a name="L969"></a><tt class="py-lineno"> 969</tt> <tt class="py-line"><tt class="py-string">REFERENCE 2 (bases 1 to 5028)</tt> </tt> <a name="L970"></a><tt class="py-lineno"> 970</tt> <tt class="py-line"><tt class="py-string"> AUTHORS Roemer,T., Madden,K., Chang,J. and Snyder,M.</tt> </tt> <a name="L971"></a><tt class="py-lineno"> 971</tt> <tt class="py-line"><tt class="py-string"> TITLE Selection of axial growth sites in yeast requires Axl2p, a novel</tt> </tt> <a name="L972"></a><tt class="py-lineno"> 972</tt> <tt class="py-line"><tt class="py-string"> plasma membrane glycoprotein</tt> </tt> <a name="L973"></a><tt class="py-lineno"> 973</tt> <tt class="py-line"><tt class="py-string"> JOURNAL Genes Dev. 10 (7), 777-793 (1996)</tt> </tt> <a name="L974"></a><tt class="py-lineno"> 974</tt> <tt class="py-line"><tt class="py-string"> PUBMED 8846915</tt> </tt> <a name="L975"></a><tt class="py-lineno"> 975</tt> <tt class="py-line"><tt class="py-string">REFERENCE 3 (bases 1 to 5028)</tt> </tt> <a name="L976"></a><tt class="py-lineno"> 976</tt> <tt class="py-line"><tt class="py-string"> AUTHORS Roemer,T.</tt> </tt> <a name="L977"></a><tt class="py-lineno"> 977</tt> <tt class="py-line"><tt class="py-string"> TITLE Direct Submission</tt> </tt> <a name="L978"></a><tt class="py-lineno"> 978</tt> <tt class="py-line"><tt class="py-string"> JOURNAL Submitted (22-FEB-1996) Terry Roemer, Biology, Yale University, New</tt> </tt> <a name="L979"></a><tt class="py-lineno"> 979</tt> <tt class="py-line"><tt class="py-string"> Haven, CT, USA</tt> </tt> <a name="L980"></a><tt class="py-lineno"> 980</tt> <tt class="py-line"><tt class="py-string">FEATURES Location/Qualifiers</tt> </tt> <a name="L981"></a><tt class="py-lineno"> 981</tt> <tt class="py-line"><tt class="py-string"> source 1..5028</tt> </tt> <a name="L982"></a><tt class="py-lineno"> 982</tt> <tt class="py-line"><tt class="py-string"> /organism="Saccharomyces cerevisiae"</tt> </tt> <a name="L983"></a><tt class="py-lineno"> 983</tt> <tt class="py-line"><tt class="py-string"> /db_xref="taxon:4932"</tt> </tt> <a name="L984"></a><tt class="py-lineno"> 984</tt> <tt class="py-line"><tt class="py-string"> /chromosome="IX"</tt> </tt> <a name="L985"></a><tt class="py-lineno"> 985</tt> <tt class="py-line"><tt class="py-string"> /map="9"</tt> </tt> <a name="L986"></a><tt class="py-lineno"> 986</tt> <tt class="py-line"><tt class="py-string"> CDS <1..206</tt> </tt> <a name="L987"></a><tt class="py-lineno"> 987</tt> <tt class="py-line"><tt class="py-string"> /codon_start=3</tt> </tt> <a name="L988"></a><tt class="py-lineno"> 988</tt> <tt class="py-line"><tt class="py-string"> /product="TCP1-beta"</tt> </tt> <a name="L989"></a><tt class="py-lineno"> 989</tt> <tt class="py-line"><tt class="py-string"> /protein_id="AAA98665.1"</tt> </tt> <a name="L990"></a><tt class="py-lineno"> 990</tt> <tt class="py-line"><tt class="py-string"> /db_xref="GI:1293614"</tt> </tt> <a name="L991"></a><tt class="py-lineno"> 991</tt> <tt class="py-line"><tt class="py-string"> /translation="SSIYNGISTSGLDLNNGTIADMRQLGIVESYKLKRAVVSSASEA</tt> </tt> <a name="L992"></a><tt class="py-lineno"> 992</tt> <tt class="py-line"><tt class="py-string"> AEVLLRVDNIIRARPRTANRQHM"</tt> </tt> <a name="L993"></a><tt class="py-lineno"> 993</tt> <tt class="py-line"><tt class="py-string"> gene 687..3158</tt> </tt> <a name="L994"></a><tt class="py-lineno"> 994</tt> <tt class="py-line"><tt class="py-string"> /gene="AXL2"</tt> </tt> <a name="L995"></a><tt class="py-lineno"> 995</tt> <tt class="py-line"><tt class="py-string"> CDS 687..3158</tt> </tt> <a name="L996"></a><tt class="py-lineno"> 996</tt> <tt class="py-line"><tt class="py-string"> /gene="AXL2"</tt> </tt> <a name="L997"></a><tt class="py-lineno"> 997</tt> <tt class="py-line"><tt class="py-string"> /note="plasma membrane glycoprotein"</tt> </tt> <a name="L998"></a><tt class="py-lineno"> 998</tt> <tt class="py-line"><tt class="py-string"> /codon_start=1</tt> </tt> <a name="L999"></a><tt class="py-lineno"> 999</tt> <tt class="py-line"><tt class="py-string"> /function="required for axial budding pattern of S.</tt> </tt> <a name="L1000"></a><tt class="py-lineno">1000</tt> <tt class="py-line"><tt class="py-string"> cerevisiae"</tt> </tt> <a name="L1001"></a><tt class="py-lineno">1001</tt> <tt class="py-line"><tt class="py-string"> /product="Axl2p"</tt> </tt> <a name="L1002"></a><tt class="py-lineno">1002</tt> <tt class="py-line"><tt class="py-string"> /protein_id="AAA98666.1"</tt> </tt> <a name="L1003"></a><tt class="py-lineno">1003</tt> <tt class="py-line"><tt class="py-string"> /db_xref="GI:1293615"</tt> </tt> <a name="L1004"></a><tt class="py-lineno">1004</tt> <tt class="py-line"><tt class="py-string"> /translation="MTQLQISLLLTATISLLHLVVATPYEAYPIGKQYPPVARVNESF</tt> </tt> <a name="L1005"></a><tt class="py-lineno">1005</tt> <tt class="py-line"><tt class="py-string"> TFQISNDTYKSSVDKTAQITYNCFDLPSWLSFDSSSRTFSGEPSSDLLSDANTTLYFN</tt> </tt> <a name="L1006"></a><tt class="py-lineno">1006</tt> <tt class="py-line"><tt class="py-string"> VILEGTDSADSTSLNNTYQFVVTNRPSISLSSDFNLLALLKNYGYTNGKNALKLDPNE</tt> </tt> <a name="L1007"></a><tt class="py-lineno">1007</tt> <tt class="py-line"><tt class="py-string"> VFNVTFDRSMFTNEESIVSYYGRSQLYNAPLPNWLFFDSGELKFTGTAPVINSAIAPE</tt> </tt> <a name="L1008"></a><tt class="py-lineno">1008</tt> <tt class="py-line"><tt class="py-string"> TSYSFVIIATDIEGFSAVEVEFELVIGAHQLTTSIQNSLIINVTDTGNVSYDLPLNYV</tt> </tt> <a name="L1009"></a><tt class="py-lineno">1009</tt> <tt class="py-line"><tt class="py-string"> YLDDDPISSDKLGSINLLDAPDWVALDNATISGSVPDELLGKNSNPANFSVSIYDTYG</tt> </tt> <a name="L1010"></a><tt class="py-lineno">1010</tt> <tt class="py-line"><tt class="py-string"> DVIYFNFEVVSTTDLFAISSLPNINATRGEWFSYYFLPSQFTDYVNTNVSLEFTNSSQ</tt> </tt> <a name="L1011"></a><tt class="py-lineno">1011</tt> <tt class="py-line"><tt class="py-string"> DHDWVKFQSSNLTLAGEVPKNFDKLSLGLKANQGSQSQELYFNIIGMDSKITHSNHSA</tt> </tt> <a name="L1012"></a><tt class="py-lineno">1012</tt> <tt class="py-line"><tt class="py-string"> NATSTRSSHHSTSTSSYTSSTYTAKISSTSAAATSSAPAALPAANKTSSHNKKAVAIA</tt> </tt> <a name="L1013"></a><tt class="py-lineno">1013</tt> <tt class="py-line"><tt class="py-string"> CGVAIPLGVILVALICFLIFWRRRRENPDDENLPHAISGPDLNNPANKPNQENATPLN</tt> </tt> <a name="L1014"></a><tt class="py-lineno">1014</tt> <tt class="py-line"><tt class="py-string"> NPFDDDASSYDDTSIARRLAALNTLKLDNHSATESDISSVDEKRDSLSGMNTYNDQFQ</tt> </tt> <a name="L1015"></a><tt class="py-lineno">1015</tt> <tt class="py-line"><tt class="py-string"> SQSKEELLAKPPVQPPESPFFDPQNRSSSVYMDSEPAVNKSWRYTGNLSPVSDIVRDS</tt> </tt> <a name="L1016"></a><tt class="py-lineno">1016</tt> <tt class="py-line"><tt class="py-string"> YGSQKTVDTEKLFDLEAPEKEKRTSRDVTMSSLDPWNSNISPSPVRKSVTPSPYNVTK</tt> </tt> <a name="L1017"></a><tt class="py-lineno">1017</tt> <tt class="py-line"><tt class="py-string"> HRNRHLQNIQDSQSGKNGITPTTMSTSSSDDFVPVKDGENFCWVHSMEPDRRPSKKRL</tt> </tt> <a name="L1018"></a><tt class="py-lineno">1018</tt> <tt class="py-line"><tt class="py-string"> VDFSNKSNVNVGQVKDIHGRIPEML"</tt> </tt> <a name="L1019"></a><tt class="py-lineno">1019</tt> <tt class="py-line"><tt class="py-string"> gene complement(3300..4037)</tt> </tt> <a name="L1020"></a><tt class="py-lineno">1020</tt> <tt class="py-line"><tt class="py-string"> /gene="REV7"</tt> </tt> <a name="L1021"></a><tt class="py-lineno">1021</tt> <tt class="py-line"><tt class="py-string"> CDS complement(3300..4037)</tt> </tt> <a name="L1022"></a><tt class="py-lineno">1022</tt> <tt class="py-line"><tt class="py-string"> /gene="REV7"</tt> </tt> <a name="L1023"></a><tt class="py-lineno">1023</tt> <tt class="py-line"><tt class="py-string"> /codon_start=1</tt> </tt> <a name="L1024"></a><tt class="py-lineno">1024</tt> <tt class="py-line"><tt class="py-string"> /product="Rev7p"</tt> </tt> <a name="L1025"></a><tt class="py-lineno">1025</tt> <tt class="py-line"><tt class="py-string"> /protein_id="AAA98667.1"</tt> </tt> <a name="L1026"></a><tt class="py-lineno">1026</tt> <tt class="py-line"><tt class="py-string"> /db_xref="GI:1293616"</tt> </tt> <a name="L1027"></a><tt class="py-lineno">1027</tt> <tt class="py-line"><tt class="py-string"> /translation="MNRWVEKWLRVYLKCYINLILFYRNVYPPQSFDYTTYQSFNLPQ</tt> </tt> <a name="L1028"></a><tt class="py-lineno">1028</tt> <tt class="py-line"><tt class="py-string"> FVPINRHPALIDYIEELILDVLSKLTHVYRFSICIINKKNDLCIEKYVLDFSELQHVD</tt> </tt> <a name="L1029"></a><tt class="py-lineno">1029</tt> <tt class="py-line"><tt class="py-string"> KDDQIITETEVFDEFRSSLNSLIMHLEKLPKVNDDTITFEAVINAIELELGHKLDRNR</tt> </tt> <a name="L1030"></a><tt class="py-lineno">1030</tt> <tt class="py-line"><tt class="py-string"> RVDSLEEKAEIERDSNWVKCQEDENLPDNNGFQPPKIKLTSLVGSDVGPLIIHQFSEK</tt> </tt> <a name="L1031"></a><tt class="py-lineno">1031</tt> <tt class="py-line"><tt class="py-string"> LISGDDKILNGVYSQYEEGESIFGSLF"</tt> </tt> <a name="L1032"></a><tt class="py-lineno">1032</tt> <tt class="py-line"><tt class="py-string">ORIGIN</tt> </tt> <a name="L1033"></a><tt class="py-lineno">1033</tt> <tt class="py-line"><tt class="py-string"> 1 gatcctccat atacaacggt atctccacct caggtttaga tctcaacaac ggaaccattg</tt> </tt> <a name="L1034"></a><tt class="py-lineno">1034</tt> <tt class="py-line"><tt class="py-string"> 61 ccgacatgag acagttaggt atcgtcgaga gttacaagct aaaacgagca gtagtcagct</tt> </tt> <a name="L1035"></a><tt class="py-lineno">1035</tt> <tt class="py-line"><tt class="py-string"> 121 ctgcatctga agccgctgaa gttctactaa gggtggataa catcatccgt gcaagaccaa</tt> </tt> <a name="L1036"></a><tt class="py-lineno">1036</tt> <tt class="py-line"><tt class="py-string"> 181 gaaccgccaa tagacaacat atgtaacata tttaggatat acctcgaaaa taataaaccg</tt> </tt> <a name="L1037"></a><tt class="py-lineno">1037</tt> <tt class="py-line"><tt class="py-string"> 241 ccacactgtc attattataa ttagaaacag aacgcaaaaa ttatccacta tataattcaa</tt> </tt> <a name="L1038"></a><tt class="py-lineno">1038</tt> <tt class="py-line"><tt class="py-string"> 301 agacgcgaaa aaaaaagaac aacgcgtcat agaacttttg gcaattcgcg tcacaaataa</tt> </tt> <a name="L1039"></a><tt class="py-lineno">1039</tt> <tt class="py-line"><tt class="py-string"> 361 attttggcaa cttatgtttc ctcttcgagc agtactcgag ccctgtctca agaatgtaat</tt> </tt> <a name="L1040"></a><tt class="py-lineno">1040</tt> <tt class="py-line"><tt class="py-string"> 421 aatacccatc gtaggtatgg ttaaagatag catctccaca acctcaaagc tccttgccga</tt> </tt> <a name="L1041"></a><tt class="py-lineno">1041</tt> <tt class="py-line"><tt class="py-string"> 481 gagtcgccct cctttgtcga gtaattttca cttttcatat gagaacttat tttcttattc</tt> </tt> <a name="L1042"></a><tt class="py-lineno">1042</tt> <tt class="py-line"><tt class="py-string"> 541 tttactctca catcctgtag tgattgacac tgcaacagcc accatcacta gaagaacaga</tt> </tt> <a name="L1043"></a><tt class="py-lineno">1043</tt> <tt class="py-line"><tt class="py-string"> 601 acaattactt aatagaaaaa ttatatcttc ctcgaaacga tttcctgctt ccaacatcta</tt> </tt> <a name="L1044"></a><tt class="py-lineno">1044</tt> <tt class="py-line"><tt class="py-string"> 661 cgtatatcaa gaagcattca cttaccatga cacagcttca gatttcatta ttgctgacag</tt> </tt> <a name="L1045"></a><tt class="py-lineno">1045</tt> <tt class="py-line"><tt class="py-string"> 721 ctactatatc actactccat ctagtagtgg ccacgcccta tgaggcatat cctatcggaa</tt> </tt> <a name="L1046"></a><tt class="py-lineno">1046</tt> <tt class="py-line"><tt class="py-string"> 781 aacaataccc cccagtggca agagtcaatg aatcgtttac atttcaaatt tccaatgata</tt> </tt> <a name="L1047"></a><tt class="py-lineno">1047</tt> <tt class="py-line"><tt class="py-string"> 841 cctataaatc gtctgtagac aagacagctc aaataacata caattgcttc gacttaccga</tt> </tt> <a name="L1048"></a><tt class="py-lineno">1048</tt> <tt class="py-line"><tt class="py-string"> 901 gctggctttc gtttgactct agttctagaa cgttctcagg tgaaccttct tctgacttac</tt> </tt> <a name="L1049"></a><tt class="py-lineno">1049</tt> <tt class="py-line"><tt class="py-string"> 961 tatctgatgc gaacaccacg ttgtatttca atgtaatact cgagggtacg gactctgccg</tt> </tt> <a name="L1050"></a><tt class="py-lineno">1050</tt> <tt class="py-line"><tt class="py-string"> 1021 acagcacgtc tttgaacaat acataccaat ttgttgttac aaaccgtcca tccatctcgc</tt> </tt> <a name="L1051"></a><tt class="py-lineno">1051</tt> <tt class="py-line"><tt class="py-string"> 1081 tatcgtcaga tttcaatcta ttggcgttgt taaaaaacta tggttatact aacggcaaaa</tt> </tt> <a name="L1052"></a><tt class="py-lineno">1052</tt> <tt class="py-line"><tt class="py-string"> 1141 acgctctgaa actagatcct aatgaagtct tcaacgtgac ttttgaccgt tcaatgttca</tt> </tt> <a name="L1053"></a><tt class="py-lineno">1053</tt> <tt class="py-line"><tt class="py-string"> 1201 ctaacgaaga atccattgtg tcgtattacg gacgttctca gttgtataat gcgccgttac</tt> </tt> <a name="L1054"></a><tt class="py-lineno">1054</tt> <tt class="py-line"><tt class="py-string"> 1261 ccaattggct gttcttcgat tctggcgagt tgaagtttac tgggacggca ccggtgataa</tt> </tt> <a name="L1055"></a><tt class="py-lineno">1055</tt> <tt class="py-line"><tt class="py-string"> 1321 actcggcgat tgctccagaa acaagctaca gttttgtcat catcgctaca gacattgaag</tt> </tt> <a name="L1056"></a><tt class="py-lineno">1056</tt> <tt class="py-line"><tt class="py-string"> 1381 gattttctgc cgttgaggta gaattcgaat tagtcatcgg ggctcaccag ttaactacct</tt> </tt> <a name="L1057"></a><tt class="py-lineno">1057</tt> <tt class="py-line"><tt class="py-string"> 1441 ctattcaaaa tagtttgata atcaacgtta ctgacacagg taacgtttca tatgacttac</tt> </tt> <a name="L1058"></a><tt class="py-lineno">1058</tt> <tt class="py-line"><tt class="py-string"> 1501 ctctaaacta tgtttatctc gatgacgatc ctatttcttc tgataaattg ggttctataa</tt> </tt> <a name="L1059"></a><tt class="py-lineno">1059</tt> <tt class="py-line"><tt class="py-string"> 1561 acttattgga tgctccagac tgggtggcat tagataatgc taccatttcc gggtctgtcc</tt> </tt> <a name="L1060"></a><tt class="py-lineno">1060</tt> <tt class="py-line"><tt class="py-string"> 1621 cagatgaatt actcggtaag aactccaatc ctgccaattt ttctgtgtcc atttatgata</tt> </tt> <a name="L1061"></a><tt class="py-lineno">1061</tt> <tt class="py-line"><tt class="py-string"> 1681 cttatggtga tgtgatttat ttcaacttcg aagttgtctc cacaacggat ttgtttgcca</tt> </tt> <a name="L1062"></a><tt class="py-lineno">1062</tt> <tt class="py-line"><tt class="py-string"> 1741 ttagttctct tcccaatatt aacgctacaa ggggtgaatg gttctcctac tattttttgc</tt> </tt> <a name="L1063"></a><tt class="py-lineno">1063</tt> <tt class="py-line"><tt class="py-string"> 1801 cttctcagtt tacagactac gtgaatacaa acgtttcatt agagtttact aattcaagcc</tt> </tt> <a name="L1064"></a><tt class="py-lineno">1064</tt> <tt class="py-line"><tt class="py-string"> 1861 aagaccatga ctgggtgaaa ttccaatcat ctaatttaac attagctgga gaagtgccca</tt> </tt> <a name="L1065"></a><tt class="py-lineno">1065</tt> <tt class="py-line"><tt class="py-string"> 1921 agaatttcga caagctttca ttaggtttga aagcgaacca aggttcacaa tctcaagagc</tt> </tt> <a name="L1066"></a><tt class="py-lineno">1066</tt> <tt class="py-line"><tt class="py-string"> 1981 tatattttaa catcattggc atggattcaa agataactca ctcaaaccac agtgcgaatg</tt> </tt> <a name="L1067"></a><tt class="py-lineno">1067</tt> <tt class="py-line"><tt class="py-string"> 2041 caacgtccac aagaagttct caccactcca cctcaacaag ttcttacaca tcttctactt</tt> </tt> <a name="L1068"></a><tt class="py-lineno">1068</tt> <tt class="py-line"><tt class="py-string"> 2101 acactgcaaa aatttcttct acctccgctg ctgctacttc ttctgctcca gcagcgctgc</tt> </tt> <a name="L1069"></a><tt class="py-lineno">1069</tt> <tt class="py-line"><tt class="py-string"> 2161 cagcagccaa taaaacttca tctcacaata aaaaagcagt agcaattgcg tgcggtgttg</tt> </tt> <a name="L1070"></a><tt class="py-lineno">1070</tt> <tt class="py-line"><tt class="py-string"> 2221 ctatcccatt aggcgttatc ctagtagctc tcatttgctt cctaatattc tggagacgca</tt> </tt> <a name="L1071"></a><tt class="py-lineno">1071</tt> <tt class="py-line"><tt class="py-string"> 2281 gaagggaaaa tccagacgat gaaaacttac cgcatgctat tagtggacct gatttgaata</tt> </tt> <a name="L1072"></a><tt class="py-lineno">1072</tt> <tt class="py-line"><tt class="py-string"> 2341 atcctgcaaa taaaccaaat caagaaaacg ctacaccttt gaacaacccc tttgatgatg</tt> </tt> <a name="L1073"></a><tt class="py-lineno">1073</tt> <tt class="py-line"><tt class="py-string"> 2401 atgcttcctc gtacgatgat acttcaatag caagaagatt ggctgctttg aacactttga</tt> </tt> <a name="L1074"></a><tt class="py-lineno">1074</tt> <tt class="py-line"><tt class="py-string"> 2461 aattggataa ccactctgcc actgaatctg atatttccag cgtggatgaa aagagagatt</tt> </tt> <a name="L1075"></a><tt class="py-lineno">1075</tt> <tt class="py-line"><tt class="py-string"> 2521 ctctatcagg tatgaataca tacaatgatc agttccaatc ccaaagtaaa gaagaattat</tt> </tt> <a name="L1076"></a><tt class="py-lineno">1076</tt> <tt class="py-line"><tt class="py-string"> 2581 tagcaaaacc cccagtacag cctccagaga gcccgttctt tgacccacag aataggtctt</tt> </tt> <a name="L1077"></a><tt class="py-lineno">1077</tt> <tt class="py-line"><tt class="py-string"> 2641 cttctgtgta tatggatagt gaaccagcag taaataaatc ctggcgatat actggcaacc</tt> </tt> <a name="L1078"></a><tt class="py-lineno">1078</tt> <tt class="py-line"><tt class="py-string"> 2701 tgtcaccagt ctctgatatt gtcagagaca gttacggatc acaaaaaact gttgatacag</tt> </tt> <a name="L1079"></a><tt class="py-lineno">1079</tt> <tt class="py-line"><tt class="py-string"> 2761 aaaaactttt cgatttagaa gcaccagaga aggaaaaacg tacgtcaagg gatgtcacta</tt> </tt> <a name="L1080"></a><tt class="py-lineno">1080</tt> <tt class="py-line"><tt class="py-string"> 2821 tgtcttcact ggacccttgg aacagcaata ttagcccttc tcccgtaaga aaatcagtaa</tt> </tt> <a name="L1081"></a><tt class="py-lineno">1081</tt> <tt class="py-line"><tt class="py-string"> 2881 caccatcacc atataacgta acgaagcatc gtaaccgcca cttacaaaat attcaagact</tt> </tt> <a name="L1082"></a><tt class="py-lineno">1082</tt> <tt class="py-line"><tt class="py-string"> 2941 ctcaaagcgg taaaaacgga atcactccca caacaatgtc aacttcatct tctgacgatt</tt> </tt> <a name="L1083"></a><tt class="py-lineno">1083</tt> <tt class="py-line"><tt class="py-string"> 3001 ttgttccggt taaagatggt gaaaattttt gctgggtcca tagcatggaa ccagacagaa</tt> </tt> <a name="L1084"></a><tt class="py-lineno">1084</tt> <tt class="py-line"><tt class="py-string"> 3061 gaccaagtaa gaaaaggtta gtagattttt caaataagag taatgtcaat gttggtcaag</tt> </tt> <a name="L1085"></a><tt class="py-lineno">1085</tt> <tt class="py-line"><tt class="py-string"> 3121 ttaaggacat tcacggacgc atcccagaaa tgctgtgatt atacgcaacg atattttgct</tt> </tt> <a name="L1086"></a><tt class="py-lineno">1086</tt> <tt class="py-line"><tt class="py-string"> 3181 taattttatt ttcctgtttt attttttatt agtggtttac agatacccta tattttattt</tt> </tt> <a name="L1087"></a><tt class="py-lineno">1087</tt> <tt class="py-line"><tt class="py-string"> 3241 agtttttata cttagagaca tttaatttta attccattct tcaaatttca tttttgcact</tt> </tt> <a name="L1088"></a><tt class="py-lineno">1088</tt> <tt class="py-line"><tt class="py-string"> 3301 taaaacaaag atccaaaaat gctctcgccc tcttcatatt gagaatacac tccattcaaa</tt> </tt> <a name="L1089"></a><tt class="py-lineno">1089</tt> <tt class="py-line"><tt class="py-string"> 3361 attttgtcgt caccgctgat taatttttca ctaaactgat gaataatcaa aggccccacg</tt> </tt> <a name="L1090"></a><tt class="py-lineno">1090</tt> <tt class="py-line"><tt class="py-string"> 3421 tcagaaccga ctaaagaagt gagttttatt ttaggaggtt gaaaaccatt attgtctggt</tt> </tt> <a name="L1091"></a><tt class="py-lineno">1091</tt> <tt class="py-line"><tt class="py-string"> 3481 aaattttcat cttcttgaca tttaacccag tttgaatccc tttcaatttc tgctttttcc</tt> </tt> <a name="L1092"></a><tt class="py-lineno">1092</tt> <tt class="py-line"><tt class="py-string"> 3541 tccaaactat cgaccctcct gtttctgtcc aacttatgtc ctagttccaa ttcgatcgca</tt> </tt> <a name="L1093"></a><tt class="py-lineno">1093</tt> <tt class="py-line"><tt class="py-string"> 3601 ttaataactg cttcaaatgt tattgtgtca tcgttgactt taggtaattt ctccaaatgc</tt> </tt> <a name="L1094"></a><tt class="py-lineno">1094</tt> <tt class="py-line"><tt class="py-string"> 3661 ataatcaaac tatttaagga agatcggaat tcgtcgaaca cttcagtttc cgtaatgatc</tt> </tt> <a name="L1095"></a><tt class="py-lineno">1095</tt> <tt class="py-line"><tt class="py-string"> 3721 tgatcgtctt tatccacatg ttgtaattca ctaaaatcta aaacgtattt ttcaatgcat</tt> </tt> <a name="L1096"></a><tt class="py-lineno">1096</tt> <tt class="py-line"><tt class="py-string"> 3781 aaatcgttct ttttattaat aatgcagatg gaaaatctgt aaacgtgcgt taatttagaa</tt> </tt> <a name="L1097"></a><tt class="py-lineno">1097</tt> <tt class="py-line"><tt class="py-string"> 3841 agaacatcca gtataagttc ttctatatag tcaattaaag caggatgcct attaatggga</tt> </tt> <a name="L1098"></a><tt class="py-lineno">1098</tt> <tt class="py-line"><tt class="py-string"> 3901 acgaactgcg gcaagttgaa tgactggtaa gtagtgtagt cgaatgactg aggtgggtat</tt> </tt> <a name="L1099"></a><tt class="py-lineno">1099</tt> <tt class="py-line"><tt class="py-string"> 3961 acatttctat aaaataaaat caaattaatg tagcatttta agtataccct cagccacttc</tt> </tt> <a name="L1100"></a><tt class="py-lineno">1100</tt> <tt class="py-line"><tt class="py-string"> 4021 tctacccatc tattcataaa gctgacgcaa cgattactat tttttttttc ttcttggatc</tt> </tt> <a name="L1101"></a><tt class="py-lineno">1101</tt> <tt class="py-line"><tt class="py-string"> 4081 tcagtcgtcg caaaaacgta taccttcttt ttccgacctt ttttttagct ttctggaaaa</tt> </tt> <a name="L1102"></a><tt class="py-lineno">1102</tt> <tt class="py-line"><tt class="py-string"> 4141 gtttatatta gttaaacagg gtctagtctt agtgtgaaag ctagtggttt cgattgactg</tt> </tt> <a name="L1103"></a><tt class="py-lineno">1103</tt> <tt class="py-line"><tt class="py-string"> 4201 atattaagaa agtggaaatt aaattagtag tgtagacgta tatgcatatg tatttctcgc</tt> </tt> <a name="L1104"></a><tt class="py-lineno">1104</tt> <tt class="py-line"><tt class="py-string"> 4261 ctgtttatgt ttctacgtac ttttgattta tagcaagggg aaaagaaata catactattt</tt> </tt> <a name="L1105"></a><tt class="py-lineno">1105</tt> <tt class="py-line"><tt class="py-string"> 4321 tttggtaaag gtgaaagcat aatgtaaaag ctagaataaa atggacgaaa taaagagagg</tt> </tt> <a name="L1106"></a><tt class="py-lineno">1106</tt> <tt class="py-line"><tt class="py-string"> 4381 cttagttcat cttttttcca aaaagcaccc aatgataata actaaaatga aaaggatttg</tt> </tt> <a name="L1107"></a><tt class="py-lineno">1107</tt> <tt class="py-line"><tt class="py-string"> 4441 ccatctgtca gcaacatcag ttgtgtgagc aataataaaa tcatcacctc cgttgccttt</tt> </tt> <a name="L1108"></a><tt class="py-lineno">1108</tt> <tt class="py-line"><tt class="py-string"> 4501 agcgcgtttg tcgtttgtat cttccgtaat tttagtctta tcaatgggaa tcataaattt</tt> </tt> <a name="L1109"></a><tt class="py-lineno">1109</tt> <tt class="py-line"><tt class="py-string"> 4561 tccaatgaat tagcaatttc gtccaattct ttttgagctt cttcatattt gctttggaat</tt> </tt> <a name="L1110"></a><tt class="py-lineno">1110</tt> <tt class="py-line"><tt class="py-string"> 4621 tcttcgcact tcttttccca ttcatctctt tcttcttcca aagcaacgat ccttctaccc</tt> </tt> <a name="L1111"></a><tt class="py-lineno">1111</tt> <tt class="py-line"><tt class="py-string"> 4681 atttgctcag agttcaaatc ggcctctttc agtttatcca ttgcttcctt cagtttggct</tt> </tt> <a name="L1112"></a><tt class="py-lineno">1112</tt> <tt class="py-line"><tt class="py-string"> 4741 tcactgtctt ctagctgttg ttctagatcc tggtttttct tggtgtagtt ctcattatta</tt> </tt> <a name="L1113"></a><tt class="py-lineno">1113</tt> <tt class="py-line"><tt class="py-string"> 4801 gatctcaagt tattggagtc ttcagccaat tgctttgtat cagacaattg actctctaac</tt> </tt> <a name="L1114"></a><tt class="py-lineno">1114</tt> <tt class="py-line"><tt class="py-string"> 4861 ttctccactt cactgtcgag ttgctcgttt ttagcggaca aagatttaat ctcgttttct</tt> </tt> <a name="L1115"></a><tt class="py-lineno">1115</tt> <tt class="py-line"><tt class="py-string"> 4921 ttttcagtgt tagattgctc taattctttg agctgttctc tcagctcctc atatttttct</tt> </tt> <a name="L1116"></a><tt class="py-lineno">1116</tt> <tt class="py-line"><tt class="py-string"> 4981 tgccatgact cagattctaa ttttaagcta ttcaatttct ctttgatc</tt> </tt> <a name="L1117"></a><tt class="py-lineno">1117</tt> <tt class="py-line"><tt class="py-string">//"""</tt> </tt> <a name="L1118"></a><tt class="py-lineno">1118</tt> <tt class="py-line"> </tt> <a name="L1119"></a><tt class="py-lineno">1119</tt> <tt class="py-line"> <tt class="py-comment"># GenBank format protein (aka GenPept) file from:</tt> </tt> <a name="L1120"></a><tt class="py-lineno">1120</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># http://www.molecularevolution.org/resources/fileformats/</tt> </tt> <a name="L1121"></a><tt class="py-lineno">1121</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">gbk_example2</tt> <tt class="py-op">=</tt> \ </tt> <a name="L1122"></a><tt class="py-lineno">1122</tt> <tt class="py-line"><tt class="py-string">"""LOCUS AAD51968 143 aa linear BCT 21-AUG-2001</tt> </tt> <a name="L1123"></a><tt class="py-lineno">1123</tt> <tt class="py-line"><tt class="py-string">DEFINITION transcriptional regulator RovA [Yersinia enterocolitica].</tt> </tt> <a name="L1124"></a><tt class="py-lineno">1124</tt> <tt class="py-line"><tt class="py-string">ACCESSION AAD51968</tt> </tt> <a name="L1125"></a><tt class="py-lineno">1125</tt> <tt class="py-line"><tt class="py-string">VERSION AAD51968.1 GI:5805369</tt> </tt> <a name="L1126"></a><tt class="py-lineno">1126</tt> <tt class="py-line"><tt class="py-string">DBSOURCE locus AF171097 accession AF171097.1</tt> </tt> <a name="L1127"></a><tt class="py-lineno">1127</tt> <tt class="py-line"><tt class="py-string">KEYWORDS .</tt> </tt> <a name="L1128"></a><tt class="py-lineno">1128</tt> <tt class="py-line"><tt class="py-string">SOURCE Yersinia enterocolitica</tt> </tt> <a name="L1129"></a><tt class="py-lineno">1129</tt> <tt class="py-line"><tt class="py-string"> ORGANISM Yersinia enterocolitica</tt> </tt> <a name="L1130"></a><tt class="py-lineno">1130</tt> <tt class="py-line"><tt class="py-string"> Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;</tt> </tt> <a name="L1131"></a><tt class="py-lineno">1131</tt> <tt class="py-line"><tt class="py-string"> Enterobacteriaceae; Yersinia.</tt> </tt> <a name="L1132"></a><tt class="py-lineno">1132</tt> <tt class="py-line"><tt class="py-string">REFERENCE 1 (residues 1 to 143)</tt> </tt> <a name="L1133"></a><tt class="py-lineno">1133</tt> <tt class="py-line"><tt class="py-string"> AUTHORS Revell,P.A. and Miller,V.L.</tt> </tt> <a name="L1134"></a><tt class="py-lineno">1134</tt> <tt class="py-line"><tt class="py-string"> TITLE A chromosomally encoded regulator is required for expression of the</tt> </tt> <a name="L1135"></a><tt class="py-lineno">1135</tt> <tt class="py-line"><tt class="py-string"> Yersinia enterocolitica inv gene and for virulence</tt> </tt> <a name="L1136"></a><tt class="py-lineno">1136</tt> <tt class="py-line"><tt class="py-string"> JOURNAL Mol. Microbiol. 35 (3), 677-685 (2000)</tt> </tt> <a name="L1137"></a><tt class="py-lineno">1137</tt> <tt class="py-line"><tt class="py-string"> MEDLINE 20138369</tt> </tt> <a name="L1138"></a><tt class="py-lineno">1138</tt> <tt class="py-line"><tt class="py-string"> PUBMED 10672189</tt> </tt> <a name="L1139"></a><tt class="py-lineno">1139</tt> <tt class="py-line"><tt class="py-string">REFERENCE 2 (residues 1 to 143)</tt> </tt> <a name="L1140"></a><tt class="py-lineno">1140</tt> <tt class="py-line"><tt class="py-string"> AUTHORS Revell,P.A. and Miller,V.L.</tt> </tt> <a name="L1141"></a><tt class="py-lineno">1141</tt> <tt class="py-line"><tt class="py-string"> TITLE Direct Submission</tt> </tt> <a name="L1142"></a><tt class="py-lineno">1142</tt> <tt class="py-line"><tt class="py-string"> JOURNAL Submitted (22-JUL-1999) Molecular Microbiology, Washington</tt> </tt> <a name="L1143"></a><tt class="py-lineno">1143</tt> <tt class="py-line"><tt class="py-string"> University School of Medicine, Campus Box 8230, 660 South Euclid,</tt> </tt> <a name="L1144"></a><tt class="py-lineno">1144</tt> <tt class="py-line"><tt class="py-string"> St. Louis, MO 63110, USA</tt> </tt> <a name="L1145"></a><tt class="py-lineno">1145</tt> <tt class="py-line"><tt class="py-string">COMMENT Method: conceptual translation.</tt> </tt> <a name="L1146"></a><tt class="py-lineno">1146</tt> <tt class="py-line"><tt class="py-string">FEATURES Location/Qualifiers</tt> </tt> <a name="L1147"></a><tt class="py-lineno">1147</tt> <tt class="py-line"><tt class="py-string"> source 1..143</tt> </tt> <a name="L1148"></a><tt class="py-lineno">1148</tt> <tt class="py-line"><tt class="py-string"> /organism="Yersinia enterocolitica"</tt> </tt> <a name="L1149"></a><tt class="py-lineno">1149</tt> <tt class="py-line"><tt class="py-string"> /mol_type="unassigned DNA"</tt> </tt> <a name="L1150"></a><tt class="py-lineno">1150</tt> <tt class="py-line"><tt class="py-string"> /strain="JB580v"</tt> </tt> <a name="L1151"></a><tt class="py-lineno">1151</tt> <tt class="py-line"><tt class="py-string"> /serotype="O:8"</tt> </tt> <a name="L1152"></a><tt class="py-lineno">1152</tt> <tt class="py-line"><tt class="py-string"> /db_xref="taxon:630"</tt> </tt> <a name="L1153"></a><tt class="py-lineno">1153</tt> <tt class="py-line"><tt class="py-string"> Protein 1..143</tt> </tt> <a name="L1154"></a><tt class="py-lineno">1154</tt> <tt class="py-line"><tt class="py-string"> /product="transcriptional regulator RovA"</tt> </tt> <a name="L1155"></a><tt class="py-lineno">1155</tt> <tt class="py-line"><tt class="py-string"> /name="regulates inv expression"</tt> </tt> <a name="L1156"></a><tt class="py-lineno">1156</tt> <tt class="py-line"><tt class="py-string"> CDS 1..143</tt> </tt> <a name="L1157"></a><tt class="py-lineno">1157</tt> <tt class="py-line"><tt class="py-string"> /gene="rovA"</tt> </tt> <a name="L1158"></a><tt class="py-lineno">1158</tt> <tt class="py-line"><tt class="py-string"> /coded_by="AF171097.1:380..811"</tt> </tt> <a name="L1159"></a><tt class="py-lineno">1159</tt> <tt class="py-line"><tt class="py-string"> /note="regulator of virulence"</tt> </tt> <a name="L1160"></a><tt class="py-lineno">1160</tt> <tt class="py-line"><tt class="py-string"> /transl_table=11</tt> </tt> <a name="L1161"></a><tt class="py-lineno">1161</tt> <tt class="py-line"><tt class="py-string">ORIGIN </tt> </tt> <a name="L1162"></a><tt class="py-lineno">1162</tt> <tt class="py-line"><tt class="py-string"> 1 mestlgsdla rlvrvwrali dhrlkplelt qthwvtlhni nrlppeqsqi qlakaigieq</tt> </tt> <a name="L1163"></a><tt class="py-lineno">1163</tt> <tt class="py-line"><tt class="py-string"> 61 pslvrtldql eekglitrht candrrakri klteqsspii eqvdgvicst rkeilggisp</tt> </tt> <a name="L1164"></a><tt class="py-lineno">1164</tt> <tt class="py-line"><tt class="py-string"> 121 deiellsgli dklerniiql qsk</tt> </tt> <a name="L1165"></a><tt class="py-lineno">1165</tt> <tt class="py-line"><tt class="py-string">//"""</tt> </tt> <a name="L1166"></a><tt class="py-lineno">1166</tt> <tt class="py-line"> </tt> <a name="L1167"></a><tt class="py-lineno">1167</tt> <tt class="py-line"> </tt> <a name="L1168"></a><tt class="py-lineno">1168</tt> <tt class="py-line"> <tt class="py-name">swiss_example</tt> <tt class="py-op">=</tt> \ </tt> <a name="L1169"></a><tt class="py-lineno">1169</tt> <tt class="py-line"><tt class="py-string">"""ID 104K_THEAN Reviewed; 893 AA.</tt> </tt> <a name="L1170"></a><tt class="py-lineno">1170</tt> <tt class="py-line"><tt class="py-string">AC Q4U9M9;</tt> </tt> <a name="L1171"></a><tt class="py-lineno">1171</tt> <tt class="py-line"><tt class="py-string">DT 18-APR-2006, integrated into UniProtKB/Swiss-Prot.</tt> </tt> <a name="L1172"></a><tt class="py-lineno">1172</tt> <tt class="py-line"><tt class="py-string">DT 05-JUL-2005, sequence version 1.</tt> </tt> <a name="L1173"></a><tt class="py-lineno">1173</tt> <tt class="py-line"><tt class="py-string">DT 31-OCT-2006, entry version 8.</tt> </tt> <a name="L1174"></a><tt class="py-lineno">1174</tt> <tt class="py-line"><tt class="py-string">DE 104 kDa microneme-rhoptry antigen precursor (p104).</tt> </tt> <a name="L1175"></a><tt class="py-lineno">1175</tt> <tt class="py-line"><tt class="py-string">GN ORFNames=TA08425;</tt> </tt> <a name="L1176"></a><tt class="py-lineno">1176</tt> <tt class="py-line"><tt class="py-string">OS Theileria annulata.</tt> </tt> <a name="L1177"></a><tt class="py-lineno">1177</tt> <tt class="py-line"><tt class="py-string">OC Eukaryota; Alveolata; Apicomplexa; Piroplasmida; Theileriidae;</tt> </tt> <a name="L1178"></a><tt class="py-lineno">1178</tt> <tt class="py-line"><tt class="py-string">OC Theileria.</tt> </tt> <a name="L1179"></a><tt class="py-lineno">1179</tt> <tt class="py-line"><tt class="py-string">OX NCBI_TaxID=5874;</tt> </tt> <a name="L1180"></a><tt class="py-lineno">1180</tt> <tt class="py-line"><tt class="py-string">RN [1]</tt> </tt> <a name="L1181"></a><tt class="py-lineno">1181</tt> <tt class="py-line"><tt class="py-string">RP NUCLEOTIDE SEQUENCE [LARGE SCALE GENOMIC DNA].</tt> </tt> <a name="L1182"></a><tt class="py-lineno">1182</tt> <tt class="py-line"><tt class="py-string">RC STRAIN=Ankara;</tt> </tt> <a name="L1183"></a><tt class="py-lineno">1183</tt> <tt class="py-line"><tt class="py-string">RX PubMed=15994557; DOI=10.1126/science.1110418;</tt> </tt> <a name="L1184"></a><tt class="py-lineno">1184</tt> <tt class="py-line"><tt class="py-string">RA Pain A., Renauld H., Berriman M., Murphy L., Yeats C.A., Weir W.,</tt> </tt> <a name="L1185"></a><tt class="py-lineno">1185</tt> <tt class="py-line"><tt class="py-string">RA Kerhornou A., Aslett M., Bishop R., Bouchier C., Cochet M.,</tt> </tt> <a name="L1186"></a><tt class="py-lineno">1186</tt> <tt class="py-line"><tt class="py-string">RA Coulson R.M.R., Cronin A., de Villiers E.P., Fraser A., Fosker N.,</tt> </tt> <a name="L1187"></a><tt class="py-lineno">1187</tt> <tt class="py-line"><tt class="py-string">RA Gardner M., Goble A., Griffiths-Jones S., Harris D.E., Katzer F.,</tt> </tt> <a name="L1188"></a><tt class="py-lineno">1188</tt> <tt class="py-line"><tt class="py-string">RA Larke N., Lord A., Maser P., McKellar S., Mooney P., Morton F.,</tt> </tt> <a name="L1189"></a><tt class="py-lineno">1189</tt> <tt class="py-line"><tt class="py-string">RA Nene V., O'Neil S., Price C., Quail M.A., Rabbinowitsch E.,</tt> </tt> <a name="L1190"></a><tt class="py-lineno">1190</tt> <tt class="py-line"><tt class="py-string">RA Rawlings N.D., Rutter S., Saunders D., Seeger K., Shah T., Squares R.,</tt> </tt> <a name="L1191"></a><tt class="py-lineno">1191</tt> <tt class="py-line"><tt class="py-string">RA Squares S., Tivey A., Walker A.R., Woodward J., Dobbelaere D.A.E.,</tt> </tt> <a name="L1192"></a><tt class="py-lineno">1192</tt> <tt class="py-line"><tt class="py-string">RA Langsley G., Rajandream M.A., McKeever D., Shiels B., Tait A.,</tt> </tt> <a name="L1193"></a><tt class="py-lineno">1193</tt> <tt class="py-line"><tt class="py-string">RA Barrell B.G., Hall N.;</tt> </tt> <a name="L1194"></a><tt class="py-lineno">1194</tt> <tt class="py-line"><tt class="py-string">RT "Genome of the host-cell transforming parasite Theileria annulata</tt> </tt> <a name="L1195"></a><tt class="py-lineno">1195</tt> <tt class="py-line"><tt class="py-string">RT compared with T. parva.";</tt> </tt> <a name="L1196"></a><tt class="py-lineno">1196</tt> <tt class="py-line"><tt class="py-string">RL Science 309:131-133(2005).</tt> </tt> <a name="L1197"></a><tt class="py-lineno">1197</tt> <tt class="py-line"><tt class="py-string">CC -!- SUBCELLULAR LOCATION: Cell membrane; lipid-anchor; GPI-anchor</tt> </tt> <a name="L1198"></a><tt class="py-lineno">1198</tt> <tt class="py-line"><tt class="py-string">CC (Potential). In microneme/rhoptry complexes (By similarity).</tt> </tt> <a name="L1199"></a><tt class="py-lineno">1199</tt> <tt class="py-line"><tt class="py-string">DR EMBL; CR940353; CAI76474.1; -; Genomic_DNA.</tt> </tt> <a name="L1200"></a><tt class="py-lineno">1200</tt> <tt class="py-line"><tt class="py-string">DR InterPro; IPR007480; DUF529.</tt> </tt> <a name="L1201"></a><tt class="py-lineno">1201</tt> <tt class="py-line"><tt class="py-string">DR Pfam; PF04385; FAINT; 4.</tt> </tt> <a name="L1202"></a><tt class="py-lineno">1202</tt> <tt class="py-line"><tt class="py-string">KW Complete proteome; GPI-anchor; Lipoprotein; Membrane; Repeat; Signal;</tt> </tt> <a name="L1203"></a><tt class="py-lineno">1203</tt> <tt class="py-line"><tt class="py-string">KW Sporozoite.</tt> </tt> <a name="L1204"></a><tt class="py-lineno">1204</tt> <tt class="py-line"><tt class="py-string">FT SIGNAL 1 19 Potential.</tt> </tt> <a name="L1205"></a><tt class="py-lineno">1205</tt> <tt class="py-line"><tt class="py-string">FT CHAIN 20 873 104 kDa microneme-rhoptry antigen.</tt> </tt> <a name="L1206"></a><tt class="py-lineno">1206</tt> <tt class="py-line"><tt class="py-string">FT /FTId=PRO_0000232680.</tt> </tt> <a name="L1207"></a><tt class="py-lineno">1207</tt> <tt class="py-line"><tt class="py-string">FT PROPEP 874 893 Removed in mature form (Potential).</tt> </tt> <a name="L1208"></a><tt class="py-lineno">1208</tt> <tt class="py-line"><tt class="py-string">FT /FTId=PRO_0000232681.</tt> </tt> <a name="L1209"></a><tt class="py-lineno">1209</tt> <tt class="py-line"><tt class="py-string">FT COMPBIAS 215 220 Poly-Leu.</tt> </tt> <a name="L1210"></a><tt class="py-lineno">1210</tt> <tt class="py-line"><tt class="py-string">FT COMPBIAS 486 683 Lys-rich.</tt> </tt> <a name="L1211"></a><tt class="py-lineno">1211</tt> <tt class="py-line"><tt class="py-string">FT COMPBIAS 854 859 Poly-Arg.</tt> </tt> <a name="L1212"></a><tt class="py-lineno">1212</tt> <tt class="py-line"><tt class="py-string">FT LIPID 873 873 GPI-anchor amidated aspartate</tt> </tt> <a name="L1213"></a><tt class="py-lineno">1213</tt> <tt class="py-line"><tt class="py-string">FT (Potential).</tt> </tt> <a name="L1214"></a><tt class="py-lineno">1214</tt> <tt class="py-line"><tt class="py-string">SQ SEQUENCE 893 AA; 101921 MW; 2F67CEB3B02E7AC1 CRC64;</tt> </tt> <a name="L1215"></a><tt class="py-lineno">1215</tt> <tt class="py-line"><tt class="py-string"> MKFLVLLFNI LCLFPILGAD ELVMSPIPTT DVQPKVTFDI NSEVSSGPLY LNPVEMAGVK</tt> </tt> <a name="L1216"></a><tt class="py-lineno">1216</tt> <tt class="py-line"><tt class="py-string"> YLQLQRQPGV QVHKVVEGDI VIWENEEMPL YTCAIVTQNE VPYMAYVELL EDPDLIFFLK</tt> </tt> <a name="L1217"></a><tt class="py-lineno">1217</tt> <tt class="py-line"><tt class="py-string"> EGDQWAPIPE DQYLARLQQL RQQIHTESFF SLNLSFQHEN YKYEMVSSFQ HSIKMVVFTP</tt> </tt> <a name="L1218"></a><tt class="py-lineno">1218</tt> <tt class="py-line"><tt class="py-string"> KNGHICKMVY DKNIRIFKAL YNEYVTSVIG FFRGLKLLLL NIFVIDDRGM IGNKYFQLLD</tt> </tt> <a name="L1219"></a><tt class="py-lineno">1219</tt> <tt class="py-line"><tt class="py-string"> DKYAPISVQG YVATIPKLKD FAEPYHPIIL DISDIDYVNF YLGDATYHDP GFKIVPKTPQ</tt> </tt> <a name="L1220"></a><tt class="py-lineno">1220</tt> <tt class="py-line"><tt class="py-string"> CITKVVDGNE VIYESSNPSV ECVYKVTYYD KKNESMLRLD LNHSPPSYTS YYAKREGVWV</tt> </tt> <a name="L1221"></a><tt class="py-lineno">1221</tt> <tt class="py-line"><tt class="py-string"> TSTYIDLEEK IEELQDHRST ELDVMFMSDK DLNVVPLTNG NLEYFMVTPK PHRDIIIVFD</tt> </tt> <a name="L1222"></a><tt class="py-lineno">1222</tt> <tt class="py-line"><tt class="py-string"> GSEVLWYYEG LENHLVCTWI YVTEGAPRLV HLRVKDRIPQ NTDIYMVKFG EYWVRISKTQ</tt> </tt> <a name="L1223"></a><tt class="py-lineno">1223</tt> <tt class="py-line"><tt class="py-string"> YTQEIKKLIK KSKKKLPSIE EEDSDKHGGP PKGPEPPTGP GHSSSESKEH EDSKESKEPK</tt> </tt> <a name="L1224"></a><tt class="py-lineno">1224</tt> <tt class="py-line"><tt class="py-string"> EHGSPKETKE GEVTKKPGPA KEHKPSKIPV YTKRPEFPKK SKSPKRPESP KSPKRPVSPQ</tt> </tt> <a name="L1225"></a><tt class="py-lineno">1225</tt> <tt class="py-line"><tt class="py-string"> RPVSPKSPKR PESLDIPKSP KRPESPKSPK RPVSPQRPVS PRRPESPKSP KSPKSPKSPK</tt> </tt> <a name="L1226"></a><tt class="py-lineno">1226</tt> <tt class="py-line"><tt class="py-string"> VPFDPKFKEK LYDSYLDKAA KTKETVTLPP VLPTDESFTH TPIGEPTAEQ PDDIEPIEES</tt> </tt> <a name="L1227"></a><tt class="py-lineno">1227</tt> <tt class="py-line"><tt class="py-string"> VFIKETGILT EEVKTEDIHS ETGEPEEPKR PDSPTKHSPK PTGTHPSMPK KRRRSDGLAL</tt> </tt> <a name="L1228"></a><tt class="py-lineno">1228</tt> <tt class="py-line"><tt class="py-string"> STTDLESEAG RILRDPTGKI VTMKRSKSFD DLTTVREKEH MGAEIRKIVV DDDGTEADDE</tt> </tt> <a name="L1229"></a><tt class="py-lineno">1229</tt> <tt class="py-line"><tt class="py-string"> DTHPSKEKHL STVRRRRPRP KKSSKSSKPR KPDSAFVPSI IFIFLVSLIV GIL</tt> </tt> <a name="L1230"></a><tt class="py-lineno">1230</tt> <tt class="py-line"><tt class="py-string">//</tt> </tt> <a name="L1231"></a><tt class="py-lineno">1231</tt> <tt class="py-line"><tt class="py-string">ID 104K_THEPA Reviewed; 924 AA.</tt> </tt> <a name="L1232"></a><tt class="py-lineno">1232</tt> <tt class="py-line"><tt class="py-string">AC P15711; Q4N2B5;</tt> </tt> <a name="L1233"></a><tt class="py-lineno">1233</tt> <tt class="py-line"><tt class="py-string">DT 01-APR-1990, integrated into UniProtKB/Swiss-Prot.</tt> </tt> <a name="L1234"></a><tt class="py-lineno">1234</tt> <tt class="py-line"><tt class="py-string">DT 01-APR-1990, sequence version 1.</tt> </tt> <a name="L1235"></a><tt class="py-lineno">1235</tt> <tt class="py-line"><tt class="py-string">DT 31-OCT-2006, entry version 31.</tt> </tt> <a name="L1236"></a><tt class="py-lineno">1236</tt> <tt class="py-line"><tt class="py-string">DE 104 kDa microneme-rhoptry antigen precursor (p104).</tt> </tt> <a name="L1237"></a><tt class="py-lineno">1237</tt> <tt class="py-line"><tt class="py-string">GN OrderedLocusNames=TP04_0437;</tt> </tt> <a name="L1238"></a><tt class="py-lineno">1238</tt> <tt class="py-line"><tt class="py-string">OS Theileria parva.</tt> </tt> <a name="L1239"></a><tt class="py-lineno">1239</tt> <tt class="py-line"><tt class="py-string">OC Eukaryota; Alveolata; Apicomplexa; Piroplasmida; Theileriidae;</tt> </tt> <a name="L1240"></a><tt class="py-lineno">1240</tt> <tt class="py-line"><tt class="py-string">OC Theileria.</tt> </tt> <a name="L1241"></a><tt class="py-lineno">1241</tt> <tt class="py-line"><tt class="py-string">OX NCBI_TaxID=5875;</tt> </tt> <a name="L1242"></a><tt class="py-lineno">1242</tt> <tt class="py-line"><tt class="py-string">RN [1]</tt> </tt> <a name="L1243"></a><tt class="py-lineno">1243</tt> <tt class="py-line"><tt class="py-string">RP NUCLEOTIDE SEQUENCE [GENOMIC DNA].</tt> </tt> <a name="L1244"></a><tt class="py-lineno">1244</tt> <tt class="py-line"><tt class="py-string">RC STRAIN=Muguga;</tt> </tt> <a name="L1245"></a><tt class="py-lineno">1245</tt> <tt class="py-line"><tt class="py-string">RX MEDLINE=90158697; PubMed=1689460; DOI=10.1016/0166-6851(90)90007-9;</tt> </tt> <a name="L1246"></a><tt class="py-lineno">1246</tt> <tt class="py-line"><tt class="py-string">RA Iams K.P., Young J.R., Nene V., Desai J., Webster P., Ole-Moiyoi O.K.,</tt> </tt> <a name="L1247"></a><tt class="py-lineno">1247</tt> <tt class="py-line"><tt class="py-string">RA Musoke A.J.;</tt> </tt> <a name="L1248"></a><tt class="py-lineno">1248</tt> <tt class="py-line"><tt class="py-string">RT "Characterisation of the gene encoding a 104-kilodalton microneme-</tt> </tt> <a name="L1249"></a><tt class="py-lineno">1249</tt> <tt class="py-line"><tt class="py-string">RT rhoptry protein of Theileria parva.";</tt> </tt> <a name="L1250"></a><tt class="py-lineno">1250</tt> <tt class="py-line"><tt class="py-string">RL Mol. Biochem. Parasitol. 39:47-60(1990).</tt> </tt> <a name="L1251"></a><tt class="py-lineno">1251</tt> <tt class="py-line"><tt class="py-string">RN [2]</tt> </tt> <a name="L1252"></a><tt class="py-lineno">1252</tt> <tt class="py-line"><tt class="py-string">RP NUCLEOTIDE SEQUENCE [LARGE SCALE GENOMIC DNA].</tt> </tt> <a name="L1253"></a><tt class="py-lineno">1253</tt> <tt class="py-line"><tt class="py-string">RC STRAIN=Muguga;</tt> </tt> <a name="L1254"></a><tt class="py-lineno">1254</tt> <tt class="py-line"><tt class="py-string">RX PubMed=15994558; DOI=10.1126/science.1110439;</tt> </tt> <a name="L1255"></a><tt class="py-lineno">1255</tt> <tt class="py-line"><tt class="py-string">RA Gardner M.J., Bishop R., Shah T., de Villiers E.P., Carlton J.M.,</tt> </tt> <a name="L1256"></a><tt class="py-lineno">1256</tt> <tt class="py-line"><tt class="py-string">RA Hall N., Ren Q., Paulsen I.T., Pain A., Berriman M., Wilson R.J.M.,</tt> </tt> <a name="L1257"></a><tt class="py-lineno">1257</tt> <tt class="py-line"><tt class="py-string">RA Sato S., Ralph S.A., Mann D.J., Xiong Z., Shallom S.J., Weidman J.,</tt> </tt> <a name="L1258"></a><tt class="py-lineno">1258</tt> <tt class="py-line"><tt class="py-string">RA Jiang L., Lynn J., Weaver B., Shoaibi A., Domingo A.R., Wasawo D.,</tt> </tt> <a name="L1259"></a><tt class="py-lineno">1259</tt> <tt class="py-line"><tt class="py-string">RA Crabtree J., Wortman J.R., Haas B., Angiuoli S.V., Creasy T.H., Lu C.,</tt> </tt> <a name="L1260"></a><tt class="py-lineno">1260</tt> <tt class="py-line"><tt class="py-string">RA Suh B., Silva J.C., Utterback T.R., Feldblyum T.V., Pertea M.,</tt> </tt> <a name="L1261"></a><tt class="py-lineno">1261</tt> <tt class="py-line"><tt class="py-string">RA Allen J., Nierman W.C., Taracha E.L.N., Salzberg S.L., White O.R.,</tt> </tt> <a name="L1262"></a><tt class="py-lineno">1262</tt> <tt class="py-line"><tt class="py-string">RA Fitzhugh H.A., Morzaria S., Venter J.C., Fraser C.M., Nene V.;</tt> </tt> <a name="L1263"></a><tt class="py-lineno">1263</tt> <tt class="py-line"><tt class="py-string">RT "Genome sequence of Theileria parva, a bovine pathogen that transforms</tt> </tt> <a name="L1264"></a><tt class="py-lineno">1264</tt> <tt class="py-line"><tt class="py-string">RT lymphocytes.";</tt> </tt> <a name="L1265"></a><tt class="py-lineno">1265</tt> <tt class="py-line"><tt class="py-string">RL Science 309:134-137(2005).</tt> </tt> <a name="L1266"></a><tt class="py-lineno">1266</tt> <tt class="py-line"><tt class="py-string">CC -!- SUBCELLULAR LOCATION: Cell membrane; lipid-anchor; GPI-anchor</tt> </tt> <a name="L1267"></a><tt class="py-lineno">1267</tt> <tt class="py-line"><tt class="py-string">CC (Potential). In microneme/rhoptry complexes.</tt> </tt> <a name="L1268"></a><tt class="py-lineno">1268</tt> <tt class="py-line"><tt class="py-string">CC -!- DEVELOPMENTAL STAGE: Sporozoite antigen.</tt> </tt> <a name="L1269"></a><tt class="py-lineno">1269</tt> <tt class="py-line"><tt class="py-string">DR EMBL; M29954; AAA18217.1; -; Unassigned_DNA.</tt> </tt> <a name="L1270"></a><tt class="py-lineno">1270</tt> <tt class="py-line"><tt class="py-string">DR EMBL; AAGK01000004; EAN31789.1; -; Genomic_DNA.</tt> </tt> <a name="L1271"></a><tt class="py-lineno">1271</tt> <tt class="py-line"><tt class="py-string">DR PIR; A44945; A44945.</tt> </tt> <a name="L1272"></a><tt class="py-lineno">1272</tt> <tt class="py-line"><tt class="py-string">DR InterPro; IPR007480; DUF529.</tt> </tt> <a name="L1273"></a><tt class="py-lineno">1273</tt> <tt class="py-line"><tt class="py-string">DR Pfam; PF04385; FAINT; 4.</tt> </tt> <a name="L1274"></a><tt class="py-lineno">1274</tt> <tt class="py-line"><tt class="py-string">KW Complete proteome; GPI-anchor; Lipoprotein; Membrane; Repeat; Signal;</tt> </tt> <a name="L1275"></a><tt class="py-lineno">1275</tt> <tt class="py-line"><tt class="py-string">KW Sporozoite.</tt> </tt> <a name="L1276"></a><tt class="py-lineno">1276</tt> <tt class="py-line"><tt class="py-string">FT SIGNAL 1 19 Potential.</tt> </tt> <a name="L1277"></a><tt class="py-lineno">1277</tt> <tt class="py-line"><tt class="py-string">FT CHAIN 20 904 104 kDa microneme-rhoptry antigen.</tt> </tt> <a name="L1278"></a><tt class="py-lineno">1278</tt> <tt class="py-line"><tt class="py-string">FT /FTId=PRO_0000046081.</tt> </tt> <a name="L1279"></a><tt class="py-lineno">1279</tt> <tt class="py-line"><tt class="py-string">FT PROPEP 905 924 Removed in mature form (Potential).</tt> </tt> <a name="L1280"></a><tt class="py-lineno">1280</tt> <tt class="py-line"><tt class="py-string">FT /FTId=PRO_0000232679.</tt> </tt> <a name="L1281"></a><tt class="py-lineno">1281</tt> <tt class="py-line"><tt class="py-string">FT COMPBIAS 508 753 Pro-rich.</tt> </tt> <a name="L1282"></a><tt class="py-lineno">1282</tt> <tt class="py-line"><tt class="py-string">FT COMPBIAS 880 883 Poly-Arg.</tt> </tt> <a name="L1283"></a><tt class="py-lineno">1283</tt> <tt class="py-line"><tt class="py-string">FT LIPID 904 904 GPI-anchor amidated aspartate</tt> </tt> <a name="L1284"></a><tt class="py-lineno">1284</tt> <tt class="py-line"><tt class="py-string">FT (Potential).</tt> </tt> <a name="L1285"></a><tt class="py-lineno">1285</tt> <tt class="py-line"><tt class="py-string">SQ SEQUENCE 924 AA; 103626 MW; 289B4B554A61870E CRC64;</tt> </tt> <a name="L1286"></a><tt class="py-lineno">1286</tt> <tt class="py-line"><tt class="py-string"> MKFLILLFNI LCLFPVLAAD NHGVGPQGAS GVDPITFDIN SNQTGPAFLT AVEMAGVKYL</tt> </tt> <a name="L1287"></a><tt class="py-lineno">1287</tt> <tt class="py-line"><tt class="py-string"> QVQHGSNVNI HRLVEGNVVI WENASTPLYT GAIVTNNDGP YMAYVEVLGD PNLQFFIKSG</tt> </tt> <a name="L1288"></a><tt class="py-lineno">1288</tt> <tt class="py-line"><tt class="py-string"> DAWVTLSEHE YLAKLQEIRQ AVHIESVFSL NMAFQLENNK YEVETHAKNG ANMVTFIPRN</tt> </tt> <a name="L1289"></a><tt class="py-lineno">1289</tt> <tt class="py-line"><tt class="py-string"> GHICKMVYHK NVRIYKATGN DTVTSVVGFF RGLRLLLINV FSIDDNGMMS NRYFQHVDDK</tt> </tt> <a name="L1290"></a><tt class="py-lineno">1290</tt> <tt class="py-line"><tt class="py-string"> YVPISQKNYE TGIVKLKDYK HAYHPVDLDI KDIDYTMFHL ADATYHEPCF KIIPNTGFCI</tt> </tt> <a name="L1291"></a><tt class="py-lineno">1291</tt> <tt class="py-line"><tt class="py-string"> TKLFDGDQVL YESFNPLIHC INEVHIYDRN NGSIICLHLN YSPPSYKAYL VLKDTGWEAT</tt> </tt> <a name="L1292"></a><tt class="py-lineno">1292</tt> <tt class="py-line"><tt class="py-string"> THPLLEEKIE ELQDQRACEL DVNFISDKDL YVAALTNADL NYTMVTPRPH RDVIRVSDGS</tt> </tt> <a name="L1293"></a><tt class="py-lineno">1293</tt> <tt class="py-line"><tt class="py-string"> EVLWYYEGLD NFLVCAWIYV SDGVASLVHL RIKDRIPANN DIYVLKGDLY WTRITKIQFT</tt> </tt> <a name="L1294"></a><tt class="py-lineno">1294</tt> <tt class="py-line"><tt class="py-string"> QEIKRLVKKS KKKLAPITEE DSDKHDEPPE GPGASGLPPK APGDKEGSEG HKGPSKGSDS</tt> </tt> <a name="L1295"></a><tt class="py-lineno">1295</tt> <tt class="py-line"><tt class="py-string"> SKEGKKPGSG KKPGPAREHK PSKIPTLSKK PSGPKDPKHP RDPKEPRKSK SPRTASPTRR</tt> </tt> <a name="L1296"></a><tt class="py-lineno">1296</tt> <tt class="py-line"><tt class="py-string"> PSPKLPQLSK LPKSTSPRSP PPPTRPSSPE RPEGTKIIKT SKPPSPKPPF DPSFKEKFYD</tt> </tt> <a name="L1297"></a><tt class="py-lineno">1297</tt> <tt class="py-line"><tt class="py-string"> DYSKAASRSK ETKTTVVLDE SFESILKETL PETPGTPFTT PRPVPPKRPR TPESPFEPPK</tt> </tt> <a name="L1298"></a><tt class="py-lineno">1298</tt> <tt class="py-line"><tt class="py-string"> DPDSPSTSPS EFFTPPESKR TRFHETPADT PLPDVTAELF KEPDVTAETK SPDEAMKRPR</tt> </tt> <a name="L1299"></a><tt class="py-lineno">1299</tt> <tt class="py-line"><tt class="py-string"> SPSEYEDTSP GDYPSLPMKR HRLERLRLTT TEMETDPGRM AKDASGKPVK LKRSKSFDDL</tt> </tt> <a name="L1300"></a><tt class="py-lineno">1300</tt> <tt class="py-line"><tt class="py-string"> TTVELAPEPK ASRIVVDDEG TEADDEETHP PEERQKTEVR RRRPPKKPSK SPRPSKPKKP</tt> </tt> <a name="L1301"></a><tt class="py-lineno">1301</tt> <tt class="py-line"><tt class="py-string"> KKPDSAYIPS ILAILVVSLI VGIL</tt> </tt> <a name="L1302"></a><tt class="py-lineno">1302</tt> <tt class="py-line"><tt class="py-string">//</tt> </tt> <a name="L1303"></a><tt class="py-lineno">1303</tt> <tt class="py-line"><tt class="py-string">ID 108_SOLLC Reviewed; 102 AA.</tt> </tt> <a name="L1304"></a><tt class="py-lineno">1304</tt> <tt class="py-line"><tt class="py-string">AC Q43495;</tt> </tt> <a name="L1305"></a><tt class="py-lineno">1305</tt> <tt class="py-line"><tt class="py-string">DT 15-JUL-1999, integrated into UniProtKB/Swiss-Prot.</tt> </tt> <a name="L1306"></a><tt class="py-lineno">1306</tt> <tt class="py-line"><tt class="py-string">DT 01-NOV-1996, sequence version 1.</tt> </tt> <a name="L1307"></a><tt class="py-lineno">1307</tt> <tt class="py-line"><tt class="py-string">DT 31-OCT-2006, entry version 37.</tt> </tt> <a name="L1308"></a><tt class="py-lineno">1308</tt> <tt class="py-line"><tt class="py-string">DE Protein 108 precursor.</tt> </tt> <a name="L1309"></a><tt class="py-lineno">1309</tt> <tt class="py-line"><tt class="py-string">OS Solanum lycopersicum (Tomato) (Lycopersicon esculentum).</tt> </tt> <a name="L1310"></a><tt class="py-lineno">1310</tt> <tt class="py-line"><tt class="py-string">OC Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta;</tt> </tt> <a name="L1311"></a><tt class="py-lineno">1311</tt> <tt class="py-line"><tt class="py-string">OC Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons;</tt> </tt> <a name="L1312"></a><tt class="py-lineno">1312</tt> <tt class="py-line"><tt class="py-string">OC asterids; lamiids; Solanales; Solanaceae; Solanum; Lycopersicon.</tt> </tt> <a name="L1313"></a><tt class="py-lineno">1313</tt> <tt class="py-line"><tt class="py-string">OX NCBI_TaxID=4081;</tt> </tt> <a name="L1314"></a><tt class="py-lineno">1314</tt> <tt class="py-line"><tt class="py-string">RN [1]</tt> </tt> <a name="L1315"></a><tt class="py-lineno">1315</tt> <tt class="py-line"><tt class="py-string">RP NUCLEOTIDE SEQUENCE [MRNA].</tt> </tt> <a name="L1316"></a><tt class="py-lineno">1316</tt> <tt class="py-line"><tt class="py-string">RC STRAIN=cv. VF36; TISSUE=Anther;</tt> </tt> <a name="L1317"></a><tt class="py-lineno">1317</tt> <tt class="py-line"><tt class="py-string">RX MEDLINE=94143497; PubMed=8310077; DOI=10.1104/pp.101.4.1413;</tt> </tt> <a name="L1318"></a><tt class="py-lineno">1318</tt> <tt class="py-line"><tt class="py-string">RA Chen R., Smith A.G.;</tt> </tt> <a name="L1319"></a><tt class="py-lineno">1319</tt> <tt class="py-line"><tt class="py-string">RT "Nucleotide sequence of a stamen- and tapetum-specific gene from</tt> </tt> <a name="L1320"></a><tt class="py-lineno">1320</tt> <tt class="py-line"><tt class="py-string">RT Lycopersicon esculentum.";</tt> </tt> <a name="L1321"></a><tt class="py-lineno">1321</tt> <tt class="py-line"><tt class="py-string">RL Plant Physiol. 101:1413-1413(1993).</tt> </tt> <a name="L1322"></a><tt class="py-lineno">1322</tt> <tt class="py-line"><tt class="py-string">CC -!- TISSUE SPECIFICITY: Stamen- and tapetum-specific.</tt> </tt> <a name="L1323"></a><tt class="py-lineno">1323</tt> <tt class="py-line"><tt class="py-string">CC -!- SIMILARITY: Belongs to the A9/FIL1 family.</tt> </tt> <a name="L1324"></a><tt class="py-lineno">1324</tt> <tt class="py-line"><tt class="py-string">DR EMBL; Z14088; CAA78466.1; -; mRNA.</tt> </tt> <a name="L1325"></a><tt class="py-lineno">1325</tt> <tt class="py-line"><tt class="py-string">DR PIR; S26409; S26409.</tt> </tt> <a name="L1326"></a><tt class="py-lineno">1326</tt> <tt class="py-line"><tt class="py-string">DR InterPro; IPR013770; LPT_helical.</tt> </tt> <a name="L1327"></a><tt class="py-lineno">1327</tt> <tt class="py-line"><tt class="py-string">DR InterPro; IPR003612; LTP/seed_store/tryp_amyl_inhib.</tt> </tt> <a name="L1328"></a><tt class="py-lineno">1328</tt> <tt class="py-line"><tt class="py-string">DR Pfam; PF00234; Tryp_alpha_amyl; 1.</tt> </tt> <a name="L1329"></a><tt class="py-lineno">1329</tt> <tt class="py-line"><tt class="py-string">DR SMART; SM00499; AAI; 1.</tt> </tt> <a name="L1330"></a><tt class="py-lineno">1330</tt> <tt class="py-line"><tt class="py-string">KW Signal.</tt> </tt> <a name="L1331"></a><tt class="py-lineno">1331</tt> <tt class="py-line"><tt class="py-string">FT SIGNAL 1 30 Potential.</tt> </tt> <a name="L1332"></a><tt class="py-lineno">1332</tt> <tt class="py-line"><tt class="py-string">FT CHAIN 31 102 Protein 108.</tt> </tt> <a name="L1333"></a><tt class="py-lineno">1333</tt> <tt class="py-line"><tt class="py-string">FT /FTId=PRO_0000000238.</tt> </tt> <a name="L1334"></a><tt class="py-lineno">1334</tt> <tt class="py-line"><tt class="py-string">FT DISULFID 41 77 By similarity.</tt> </tt> <a name="L1335"></a><tt class="py-lineno">1335</tt> <tt class="py-line"><tt class="py-string">FT DISULFID 51 66 By similarity.</tt> </tt> <a name="L1336"></a><tt class="py-lineno">1336</tt> <tt class="py-line"><tt class="py-string">FT DISULFID 67 92 By similarity.</tt> </tt> <a name="L1337"></a><tt class="py-lineno">1337</tt> <tt class="py-line"><tt class="py-string">FT DISULFID 79 99 By similarity.</tt> </tt> <a name="L1338"></a><tt class="py-lineno">1338</tt> <tt class="py-line"><tt class="py-string">SQ SEQUENCE 102 AA; 10576 MW; CFBAA1231C3A5E92 CRC64;</tt> </tt> <a name="L1339"></a><tt class="py-lineno">1339</tt> <tt class="py-line"><tt class="py-string"> MASVKSSSSS SSSSFISLLL LILLVIVLQS QVIECQPQQS CTASLTGLNV CAPFLVPGSP</tt> </tt> <a name="L1340"></a><tt class="py-lineno">1340</tt> <tt class="py-line"><tt class="py-string"> TASTECCNAV QSINHDCMCN TMRIAAQIPA QCNLPPLSCS AN</tt> </tt> <a name="L1341"></a><tt class="py-lineno">1341</tt> <tt class="py-line"><tt class="py-string">//</tt> </tt> <a name="L1342"></a><tt class="py-lineno">1342</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt> <a name="L1343"></a><tt class="py-lineno">1343</tt> <tt class="py-line"> </tt> <a name="L1344"></a><tt class="py-lineno">1344</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"#########################################################"</tt> </tt> <a name="L1345"></a><tt class="py-lineno">1345</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"# Sequence Input Tests #"</tt> </tt> <a name="L1346"></a><tt class="py-lineno">1346</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"#########################################################"</tt> </tt> <a name="L1347"></a><tt class="py-lineno">1347</tt> <tt class="py-line"> </tt> <a name="L1348"></a><tt class="py-lineno">1348</tt> <tt class="py-line"> <tt class="py-comment">#ToDo - Check alphabet, or at least DNA/amino acid, for those</tt> </tt> <a name="L1349"></a><tt class="py-lineno">1349</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># filetype that specify it (e.g. Nexus, GenBank)</tt> </tt> <a name="L1350"></a><tt class="py-lineno">1350</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">tests</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt> <a name="L1351"></a><tt class="py-lineno">1351</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">aln_example</tt><tt class="py-op">,</tt> <tt class="py-string">"clustal"</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"HISJ_E_COLI"</tt><tt class="py-op">,</tt> </tt> <a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"> <tt class="py-string">"MKKLVLSLSLVLAFSSATAAF-------------------AAIPQNIRIG"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"> <tt class="py-string">"TDPTYAPFESKNS-QGELVGFDIDLAKELCKRINTQCTFVENPLDALIPS"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"> <tt class="py-string">"LKAKKIDAIMSSLSITEKRQQEIAFTDKLYAADSRLVVAKNSDIQP-TVE"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"> <tt class="py-string">"SLKGKRVGVLQGTTQETFGNEHWAPKGIEIVSYQGQDNIYSDLTAGRIDA"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"> <tt class="py-string">"AFQDEVAASEGFLKQPVGKDYKFGGPSVKDEKLFGVGTGMGLRKED--NE"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"> <tt class="py-string">"LREALNKAFAEMRADGTYEKLAKKYFDFDVYGG---"</tt><tt class="py-op">,</tt> <tt id="link-198" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-198', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1358"></a><tt class="py-lineno">1358</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">phy_example</tt><tt class="py-op">,</tt> <tt class="py-string">"phylip"</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"HISJ_E_COL"</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-199" class="py-name" targets="Variable Bio.EUtils.POM.False=Bio.EUtils.POM-module.html#False"><a title="Bio.EUtils.POM.False" class="py-name" href="#" onclick="return doclink('link-199', 'False', 'link-199');">False</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1359"></a><tt class="py-lineno">1359</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">nxs_example</tt><tt class="py-op">,</tt> <tt class="py-string">"nexus"</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"HISJ_E_COLI"</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-200" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-200', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1360"></a><tt class="py-lineno">1360</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">nxs_example2</tt><tt class="py-op">,</tt> <tt class="py-string">"nexus"</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-string">"Frog"</tt><tt class="py-op">,</tt> </tt> <a name="L1361"></a><tt class="py-lineno">1361</tt> <tt class="py-line"> <tt class="py-string">"ATGGCACACCCATCACAATTAGGTTTTCAAGACGCAGCCTCTCCAATTATAGAAGAATTA"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1362"></a><tt class="py-lineno">1362</tt> <tt class="py-line"> <tt class="py-string">"CTTCACTTCCACGACCATACCCTCATAGCCGTTTTTCTTATTAGTACGCTAGTTCTTTAC"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1363"></a><tt class="py-lineno">1363</tt> <tt class="py-line"> <tt class="py-string">"ATTATTACTATTATAATAACTACTAAACTAACTAATACAAACCTAATGGACGCACAAGAG"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1364"></a><tt class="py-lineno">1364</tt> <tt class="py-line"> <tt class="py-string">"ATCGAAATAGTGTGAACTATTATACCAGCTATTAGCCTCATCATAATTGCCCTTCCATCC"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1365"></a><tt class="py-lineno">1365</tt> <tt class="py-line"> <tt class="py-string">"CTTCGTATCCTATATTTAATAGATGAAGTTAATGATCCACACTTAACAATTAAAGCAATC"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1366"></a><tt class="py-lineno">1366</tt> <tt class="py-line"> <tt class="py-string">"GGCCACCAATGATACTGAAGCTACGAATATACTAACTATGAGGATCTCTCATTTGACTCT"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1367"></a><tt class="py-lineno">1367</tt> <tt class="py-line"> <tt class="py-string">"TATATAATTCCAACTAATGACCTTACCCCTGGACAATTCCGGCTGCTAGAAGTTGATAAT"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1368"></a><tt class="py-lineno">1368</tt> <tt class="py-line"> <tt class="py-string">"CGAATAGTAGTCCCAATAGAATCTCCAACCCGACTTTTAGTTACAGCCGAAGACGTCCTC"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1369"></a><tt class="py-lineno">1369</tt> <tt class="py-line"> <tt class="py-string">"CACTCGTGAGCTGTACCCTCCTTGGGTGTCAAAACAGATGCAATCCCAGGACGACTTCAT"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1370"></a><tt class="py-lineno">1370</tt> <tt class="py-line"> <tt class="py-string">"CAAACATCATTTATTGCTACTCGTCCGGGAGTATTTTACGGACAATGTTCAGAAATTTGC"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"> <tt class="py-string">"GGAGCAAACCACAGCTTTATACCAATTGTAGTTGAAGCAGTACCGCTAACCGACTTTGAA"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> <tt class="py-string">"AACTGATCTTCATCAATACTA---GAAGCATCACTA------AGA"</tt><tt class="py-op">,</tt> <tt id="link-201" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-201', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">nxs_example3</tt><tt class="py-op">,</tt> <tt class="py-string">"nexus"</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-string">"Frog"</tt><tt class="py-op">,</tt> </tt> <a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"> <tt class="py-string">'MAHPSQLGFQDAASPIMEELLHFHDHTLMAVFLISTLVLYIITIMMTTKLTNTNLMDAQE'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> <tt class="py-string">'IEMVWTIMPAISLIMIALPSLRILYLMDEVNDPHLTIKAIGHQWYWSYEYTNYEDLSFDS'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1376"></a><tt class="py-lineno">1376</tt> <tt class="py-line"> <tt class="py-string">'YMIPTNDLTPGQFRLLEVDNRMVVPMESPTRLLVTAEDVLHSWAVPSLGVKTDAIPGRLH'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1377"></a><tt class="py-lineno">1377</tt> <tt class="py-line"> <tt class="py-string">'QTSFIATRPGVFYGQCSEICGANHSFMPIVVEAVPLTDFENWSSSML-EASL--'</tt><tt class="py-op">,</tt> <tt id="link-202" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-202', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1378"></a><tt class="py-lineno">1378</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">faa_example</tt><tt class="py-op">,</tt> <tt class="py-string">"fasta"</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"HISJ_E_COLI"</tt><tt class="py-op">,</tt> </tt> <a name="L1379"></a><tt class="py-lineno">1379</tt> <tt class="py-line"> <tt class="py-string">'mkklvlslslvlafssataafaaipqnirigtdptyapfesknsqgelvgfdidlakelc'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1380"></a><tt class="py-lineno">1380</tt> <tt class="py-line"> <tt class="py-string">'krintqctfvenpldalipslkakkidaimsslsitekrqqeiaftdklyaadsrlvvak'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1381"></a><tt class="py-lineno">1381</tt> <tt class="py-line"> <tt class="py-string">'nsdiqptveslkgkrvgvlqgttqetfgnehwapkgieivsyqgqdniysdltagridaa'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1382"></a><tt class="py-lineno">1382</tt> <tt class="py-line"> <tt class="py-string">'fqdevaasegflkqpvgkdykfggpsvkdeklfgvgtgmglrkednelrealnkafaemr'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1383"></a><tt class="py-lineno">1383</tt> <tt class="py-line"> <tt class="py-string">'adgtyeklakkyfdfdvygg'</tt><tt class="py-op">,</tt> <tt id="link-203" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-203', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1384"></a><tt class="py-lineno">1384</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">sth_example</tt><tt class="py-op">,</tt> <tt class="py-string">"stockholm"</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"O31699/88-139"</tt><tt class="py-op">,</tt> </tt> <a name="L1385"></a><tt class="py-lineno">1385</tt> <tt class="py-line"> <tt class="py-string">'EVMLTDIPRLHINDPIMK--GFGMVINN------GFVCVENDE'</tt><tt class="py-op">,</tt> <tt id="link-204" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-204', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1386"></a><tt class="py-lineno">1386</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">sth_example2</tt><tt class="py-op">,</tt> <tt class="py-string">"stockholm"</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">"AE007476.1"</tt><tt class="py-op">,</tt> </tt> <a name="L1387"></a><tt class="py-lineno">1387</tt> <tt class="py-line"> <tt class="py-string">'AAAAUUGAAUAUCGUUUUACUUGUUUAU-GUCGUGAAU-UGG-CACGA-CGU'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1388"></a><tt class="py-lineno">1388</tt> <tt class="py-line"> <tt class="py-string">'UUCUACAAGGUG-CCGG-AA-CACCUAACAAUAAGUAAGUCAGCAGUGAGAU'</tt><tt class="py-op">,</tt> <tt id="link-205" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-205', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1389"></a><tt class="py-lineno">1389</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">gbk_example</tt><tt class="py-op">,</tt> <tt class="py-string">"genbank"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">"U49845.1"</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-206" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-206', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1390"></a><tt class="py-lineno">1390</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">gbk_example2</tt><tt class="py-op">,</tt><tt class="py-string">"genbank"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">'AAD51968.1'</tt><tt class="py-op">,</tt> </tt> <a name="L1391"></a><tt class="py-lineno">1391</tt> <tt class="py-line"> <tt class="py-string">"MESTLGSDLARLVRVWRALIDHRLKPLELTQTHWVTLHNINRLPPEQSQIQLAKAIGIEQ"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1392"></a><tt class="py-lineno">1392</tt> <tt class="py-line"> <tt class="py-string">"PSLVRTLDQLEEKGLITRHTCANDRRAKRIKLTEQSSPIIEQVDGVICSTRKEILGGISP"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1393"></a><tt class="py-lineno">1393</tt> <tt class="py-line"> <tt class="py-string">"DEIELLSGLIDKLERNIIQLQSK"</tt><tt class="py-op">,</tt> <tt id="link-207" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-207', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1394"></a><tt class="py-lineno">1394</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">gbk_example</tt><tt class="py-op">,</tt> <tt class="py-string">"genbank-cds"</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-string">"AAA98667.1"</tt><tt class="py-op">,</tt> </tt> <a name="L1395"></a><tt class="py-lineno">1395</tt> <tt class="py-line"> <tt class="py-string">'MNRWVEKWLRVYLKCYINLILFYRNVYPPQSFDYTTYQSFNLPQFVPINRHPALIDYIEE'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1396"></a><tt class="py-lineno">1396</tt> <tt class="py-line"> <tt class="py-string">'LILDVLSKLTHVYRFSICIINKKNDLCIEKYVLDFSELQHVDKDDQIITETEVFDEFRSS'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1397"></a><tt class="py-lineno">1397</tt> <tt class="py-line"> <tt class="py-string">'LNSLIMHLEKLPKVNDDTITFEAVINAIELELGHKLDRNRRVDSLEEKAEIERDSNWVKC'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1398"></a><tt class="py-lineno">1398</tt> <tt class="py-line"> <tt class="py-string">'QEDENLPDNNGFQPPKIKLTSLVGSDVGPLIIHQFSEKLISGDDKILNGVYSQYEEGESI'</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1399"></a><tt class="py-lineno">1399</tt> <tt class="py-line"> <tt class="py-string">'FGSLF'</tt><tt class="py-op">,</tt> <tt id="link-208" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-208', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1400"></a><tt class="py-lineno">1400</tt> <tt class="py-line"> <tt class="py-op">(</tt><tt class="py-name">swiss_example</tt><tt class="py-op">,</tt><tt class="py-string">"swiss"</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-string">"Q43495"</tt><tt class="py-op">,</tt> </tt> <a name="L1401"></a><tt class="py-lineno">1401</tt> <tt class="py-line"> <tt class="py-string">"MASVKSSSSSSSSSFISLLLLILLVIVLQSQVIECQPQQSCTASLTGLNVCAPFLVPGSP"</tt> <tt class="py-op">+</tt> \ </tt> <a name="L1402"></a><tt class="py-lineno">1402</tt> <tt class="py-line"> <tt class="py-string">"TASTECCNAVQSINHDCMCNTMRIAAQIPAQCNLPPLSCSAN"</tt><tt class="py-op">,</tt> <tt id="link-209" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-209', 'True', 'link-113');">True</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> <a name="L1403"></a><tt class="py-lineno">1403</tt> <tt class="py-line"> <tt class="py-op">]</tt> </tt> <a name="L1404"></a><tt class="py-lineno">1404</tt> <tt class="py-line"> </tt> <a name="L1405"></a><tt class="py-lineno">1405</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt id="link-210" 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-210', 'data', 'link-210');">data</a></tt><tt class="py-op">,</tt> <tt id="link-211" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-211', 'format', 'link-41');">format</a></tt><tt class="py-op">,</tt> <tt class="py-name">rec_count</tt><tt class="py-op">,</tt> <tt id="link-212" class="py-name" targets="Method BioSQL.BioSeqDatabase.Adaptor.last_id()=BioSQL.BioSeqDatabase.Adaptor-class.html#last_id,Method BioSQL.DBUtils.Generic_dbutils.last_id()=BioSQL.DBUtils.Generic_dbutils-class.html#last_id,Method BioSQL.DBUtils.Mysql_dbutils.last_id()=BioSQL.DBUtils.Mysql_dbutils-class.html#last_id,Method BioSQL.DBUtils.Pgdb_dbutils.last_id()=BioSQL.DBUtils.Pgdb_dbutils-class.html#last_id,Method BioSQL.DBUtils.Psycopg_dbutils.last_id()=BioSQL.DBUtils.Psycopg_dbutils-class.html#last_id"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-212', 'last_id', 'link-212');">last_id</a></tt><tt class="py-op">,</tt> <tt class="py-name">last_seq</tt><tt class="py-op">,</tt> <tt class="py-name">dict_check</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tests</tt><tt class="py-op">:</tt> </tt> <a name="L1406"></a><tt class="py-lineno">1406</tt> <tt class="py-line"> </tt> <a name="L1407"></a><tt class="py-lineno">1407</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"%s file with %i records"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-213" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-213', 'format', 'link-41');">format</a></tt><tt class="py-op">,</tt> <tt class="py-name">rec_count</tt><tt class="py-op">)</tt> </tt> <a name="L1408"></a><tt class="py-lineno">1408</tt> <tt class="py-line"> </tt> <a name="L1409"></a><tt class="py-lineno">1409</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Bio.SeqIO.parse(handle)"</tt> </tt> <a name="L1410"></a><tt class="py-lineno">1410</tt> <tt class="py-line"> </tt> <a name="L1411"></a><tt class="py-lineno">1411</tt> <tt class="py-line"> <tt class="py-comment">#Basic check, turning the iterator into a list...</tt> </tt> <a name="L1412"></a><tt class="py-lineno">1412</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#This uses "for x in iterator" interally.</tt> </tt> <a name="L1413"></a><tt class="py-lineno">1413</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-214" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-214', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-215" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-215', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-216" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-216', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt id="link-217" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-217', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L1414"></a><tt class="py-lineno">1414</tt> <tt class="py-line"> <tt class="py-name">as_list</tt> <tt class="py-op">=</tt> <tt id="link-218" class="py-name" targets="Method Bio.Pathway.Rep.HashSet.HashSet.list()=Bio.Pathway.Rep.HashSet.HashSet-class.html#list"><a title="Bio.Pathway.Rep.HashSet.HashSet.list" class="py-name" href="#" onclick="return doclink('link-218', 'list', 'link-218');">list</a></tt><tt class="py-op">(</tt><tt class="py-name">iterator</tt><tt class="py-op">)</tt> </tt> <a name="L1415"></a><tt class="py-lineno">1415</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">as_list</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">rec_count</tt><tt class="py-op">,</tt> \ </tt> <a name="L1416"></a><tt class="py-lineno">1416</tt> <tt class="py-line"> <tt class="py-string">"Expected %i records, found %i"</tt> \ </tt> <a name="L1417"></a><tt class="py-lineno">1417</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">rec_count</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">as_list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1418"></a><tt class="py-lineno">1418</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-219', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt id="link-220" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-220', 'last_id', 'link-212');">last_id</a></tt><tt class="py-op">,</tt> \ </tt> <a name="L1419"></a><tt class="py-lineno">1419</tt> <tt class="py-line"> <tt class="py-string">"Expected '%s' as last record ID, found '%s'"</tt> \ </tt> <a name="L1420"></a><tt class="py-lineno">1420</tt> <tt class="py-line"> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-221" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-221', 'last_id', 'link-212');">last_id</a></tt><tt class="py-op">,</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-222', 'id', 'link-100');">id</a></tt><tt class="py-op">)</tt> </tt> <a name="L1421"></a><tt class="py-lineno">1421</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">last_seq</tt> <tt class="py-op">:</tt> </tt> <a name="L1422"></a><tt class="py-lineno">1422</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-223" 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-223', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-224" class="py-name" targets="Method Bio.Crystal.Crystal.tostring()=Bio.Crystal.Crystal-class.html#tostring,Method Bio.EUtils.POM.ElementNode.tostring()=Bio.EUtils.POM.ElementNode-class.html#tostring,Method Bio.Prosite.Pattern.Prosite.tostring()=Bio.Prosite.Pattern.Prosite-class.html#tostring,Method Bio.Seq.MutableSeq.tostring()=Bio.Seq.MutableSeq-class.html#tostring,Method Bio.Seq.Seq.tostring()=Bio.Seq.Seq-class.html#tostring,Method BioSQL.BioSeq.DBSeq.tostring()=BioSQL.BioSeq.DBSeq-class.html#tostring"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-224', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">last_seq</tt> </tt> <a name="L1423"></a><tt class="py-lineno">1423</tt> <tt class="py-line"> </tt> <a name="L1424"></a><tt class="py-lineno">1424</tt> <tt class="py-line"> <tt class="py-comment">#Test iteration including use of the next() method and "for x in iterator"</tt> </tt> <a name="L1425"></a><tt class="py-lineno">1425</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-225', 'parse', 'link-89');">parse</a></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="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-226', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-227" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-227', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt id="link-228" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-228', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L1426"></a><tt class="py-lineno">1426</tt> <tt class="py-line"> <tt id="link-229" 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-229', 'count', 'link-229');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt> <a name="L1427"></a><tt class="py-lineno">1427</tt> <tt class="py-line"> <tt id="link-230" 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-230', 'record', 'link-92');">record</a></tt> <tt class="py-op">=</tt> <tt class="py-name">iterator</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-98');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1428"></a><tt class="py-lineno">1428</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-232" 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-232', 'record', 'link-92');">record</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> </tt> <a name="L1429"></a><tt class="py-lineno">1429</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-233" 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-233', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"Bio.SeqRecord.SeqRecord"</tt> </tt> <a name="L1430"></a><tt class="py-lineno">1430</tt> <tt class="py-line"> <tt class="py-comment">#print record</tt> </tt> <a name="L1431"></a><tt class="py-lineno">1431</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt id="link-234" 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-234', 'record', 'link-92');">record</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">iterator</tt> <tt class="py-op">:</tt> </tt> <a name="L1432"></a><tt class="py-lineno">1432</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-235" 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-235', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-236', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-237" 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-237', 'count', 'link-229');">count</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-238', 'id', 'link-100');">id</a></tt> </tt> <a name="L1433"></a><tt class="py-lineno">1433</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-239" 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-239', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-240" 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-240', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-241', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-242" 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-242', 'count', 'link-229');">count</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-243" 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-243', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-244', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1434"></a><tt class="py-lineno">1434</tt> <tt class="py-line"> <tt id="link-245" 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-245', 'count', 'link-229');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-246" 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-246', 'count', 'link-229');">count</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> <a name="L1435"></a><tt class="py-lineno">1435</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-247" 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-247', 'count', 'link-229');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">rec_count</tt> </tt> <a name="L1436"></a><tt class="py-lineno">1436</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-248" 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-248', 'record', 'link-92');">record</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> </tt> <a name="L1437"></a><tt class="py-lineno">1437</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-249" 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-249', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-250', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt id="link-251" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-251', 'last_id', 'link-212');">last_id</a></tt> </tt> <a name="L1438"></a><tt class="py-lineno">1438</tt> <tt class="py-line"> </tt> <a name="L1439"></a><tt class="py-lineno">1439</tt> <tt class="py-line"> <tt class="py-comment">#Test iteration using just next() method</tt> </tt> <a name="L1440"></a><tt class="py-lineno">1440</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-252" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-252', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-253" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-253', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-254" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-254', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt id="link-255" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-255', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L1441"></a><tt class="py-lineno">1441</tt> <tt class="py-line"> <tt id="link-256" 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-256', 'count', 'link-229');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L1442"></a><tt class="py-lineno">1442</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-257" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-257', 'True', 'link-113');">True</a></tt> <tt class="py-op">:</tt> </tt> <a name="L1443"></a><tt class="py-lineno">1443</tt> <tt class="py-line"> <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt> <a name="L1444"></a><tt class="py-lineno">1444</tt> <tt class="py-line"> <tt id="link-258" 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-258', 'record', 'link-92');">record</a></tt> <tt class="py-op">=</tt> <tt class="py-name">iterator</tt><tt class="py-op">.</tt><tt id="link-259" 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-259', 'next', 'link-98');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1445"></a><tt class="py-lineno">1445</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt> <tt class="py-op">:</tt> </tt> <a name="L1446"></a><tt class="py-lineno">1446</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L1447"></a><tt class="py-lineno">1447</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-260" 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-260', 'record', 'link-92');">record</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt> <a name="L1448"></a><tt class="py-lineno">1448</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-261" 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-261', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-262', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-263" 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-263', 'count', 'link-229');">count</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-264', 'id', 'link-100');">id</a></tt> </tt> <a name="L1449"></a><tt class="py-lineno">1449</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-265" 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-265', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-266" 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-266', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-267', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</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-229');">count</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-269" 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-269', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-270', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1450"></a><tt class="py-lineno">1450</tt> <tt class="py-line"> <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-229');">count</a></tt><tt class="py-op">=</tt><tt id="link-272" 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-272', 'count', 'link-229');">count</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt> <a name="L1451"></a><tt class="py-lineno">1451</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-273" 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-273', 'count', 'link-229');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">rec_count</tt> </tt> <a name="L1452"></a><tt class="py-lineno">1452</tt> <tt class="py-line"> </tt> <a name="L1453"></a><tt class="py-lineno">1453</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"parse(...)"</tt> </tt> <a name="L1454"></a><tt class="py-lineno">1454</tt> <tt class="py-line"> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-274" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-274', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-275" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-275', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-276" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-276', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt id="link-277" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-277', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L1455"></a><tt class="py-lineno">1455</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt id="link-278" 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-278', 'i', 'link-278');">i</a></tt><tt class="py-op">,</tt> <tt id="link-279" 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-279', 'record', 'link-92');">record</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">iterator</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L1456"></a><tt class="py-lineno">1456</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-280" 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-280', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-281', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-282" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-282', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-283', 'id', 'link-100');">id</a></tt> </tt> <a name="L1457"></a><tt class="py-lineno">1457</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-284" 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-284', 'record', 'link-92');">record</a></tt><tt class="py-op">.</tt><tt id="link-285" 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-285', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-286', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-287" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-287', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-288" 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-288', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-289', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1458"></a><tt class="py-lineno">1458</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-290" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-290', 'i', 'link-278');">i</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt> <tt class="py-op">==</tt> <tt class="py-name">rec_count</tt> </tt> <a name="L1459"></a><tt class="py-lineno">1459</tt> <tt class="py-line"> </tt> <a name="L1460"></a><tt class="py-lineno">1460</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"parse(handle to empty file)"</tt> </tt> <a name="L1461"></a><tt class="py-lineno">1461</tt> <tt class="py-line"> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-291" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-291', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-292" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-292', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt id="link-293" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-293', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L1462"></a><tt class="py-lineno">1462</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-294" class="py-name"><a title="Bio.Pathway.Rep.HashSet.HashSet.list" class="py-name" href="#" onclick="return doclink('link-294', 'list', 'link-218');">list</a></tt><tt class="py-op">(</tt><tt class="py-name">iterator</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">0</tt> </tt> <a name="L1463"></a><tt class="py-lineno">1463</tt> <tt class="py-line"> </tt> <a name="L1464"></a><tt class="py-lineno">1464</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">dict_check</tt> <tt class="py-op">:</tt> </tt> <a name="L1465"></a><tt class="py-lineno">1465</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"to_dict(parse(...))"</tt> </tt> <a name="L1466"></a><tt class="py-lineno">1466</tt> <tt class="py-line"> <tt class="py-name">seq_dict</tt> <tt class="py-op">=</tt> <tt id="link-295" class="py-name" targets="Function Bio.SeqIO.to_dict()=Bio.SeqIO-module.html#to_dict"><a title="Bio.SeqIO.to_dict" class="py-name" href="#" onclick="return doclink('link-295', 'to_dict', 'link-295');">to_dict</a></tt><tt class="py-op">(</tt><tt id="link-296" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-296', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-297" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-297', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-298" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-298', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt id="link-299" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-299', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1467"></a><tt class="py-lineno">1467</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">Set</tt><tt class="py-op">(</tt><tt class="py-name">seq_dict</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name" targets="Method Bio.Crystal.Crystal.keys()=Bio.Crystal.Crystal-class.html#keys,Method Bio.EUtils.MultiDict._BaseMultiDict.keys()=Bio.EUtils.MultiDict._BaseMultiDict-class.html#keys,Method Bio.GenBank.NCBIDictionary.keys()=Bio.GenBank.NCBIDictionary-class.html#keys,Method Bio.Mindy.BaseDB.DictLookup.keys()=Bio.Mindy.BaseDB.DictLookup-class.html#keys,Method Bio.Mindy.BaseDB.OpenDB.keys()=Bio.Mindy.BaseDB.OpenDB-class.html#keys,Method Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys()=Bio.Mindy.BerkeleyDB.PrimaryNamespace-class.html#keys,Method Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys()=Bio.Mindy.BerkeleyDB.SecondaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.PrimaryNamespace.keys()=Bio.Mindy.FlatDB.PrimaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.PrimaryTable.keys()=Bio.Mindy.FlatDB.PrimaryTable-class.html#keys,Method Bio.Mindy.FlatDB.SecondaryNamespace.keys()=Bio.Mindy.FlatDB.SecondaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.SecondaryTable.keys()=Bio.Mindy.FlatDB.SecondaryTable-class.html#keys,Method Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys()=Bio.PDB.AbstractPropertyMap.AbstractPropertyMap-class.html#keys,Method Bio.Prosite.ExPASyDictionary.keys()=Bio.Prosite.ExPASyDictionary-class.html#keys,Method Bio.Prosite.Prodoc.ExPASyDictionary.keys()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#keys,Method Bio.PubMed.Dictionary.keys()=Bio.PubMed.Dictionary-class.html#keys,Method Bio.SwissProt.SProt.Dictionary.keys()=Bio.SwissProt.SProt.Dictionary-class.html#keys,Method Bio.SwissProt.SProt.ExPASyDictionary.keys()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#keys,Method Bio.config.Registry.Registry.keys()=Bio.config.Registry.Registry-class.html#keys,Method BioSQL.BioSeqDatabase.BioSeqDatabase.keys()=BioSQL.BioSeqDatabase.BioSeqDatabase-class.html#keys,Method BioSQL.BioSeqDatabase.DBServer.keys()=BioSQL.BioSeqDatabase.DBServer-class.html#keys,Method Martel.Parser.MartelAttributeList.keys()=Martel.Parser.MartelAttributeList-class.html#keys"><a title="Bio.Crystal.Crystal.keys Bio.EUtils.MultiDict._BaseMultiDict.keys Bio.GenBank.NCBIDictionary.keys Bio.Mindy.BaseDB.DictLookup.keys Bio.Mindy.BaseDB.OpenDB.keys Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.PrimaryNamespace.keys Bio.Mindy.FlatDB.PrimaryTable.keys Bio.Mindy.FlatDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.SecondaryTable.keys Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys Bio.Prosite.ExPASyDictionary.keys Bio.Prosite.Prodoc.ExPASyDictionary.keys Bio.PubMed.Dictionary.keys Bio.SwissProt.SProt.Dictionary.keys Bio.SwissProt.SProt.ExPASyDictionary.keys Bio.config.Registry.Registry.keys BioSQL.BioSeqDatabase.BioSeqDatabase.keys BioSQL.BioSeqDatabase.DBServer.keys Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-300', 'keys', 'link-300');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">Set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-301', 'id', 'link-100');">id</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">as_list</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L1468"></a><tt class="py-lineno">1468</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-302" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-302', 'last_id', 'link-212');">last_id</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">seq_dict</tt> </tt> <a name="L1469"></a><tt class="py-lineno">1469</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">seq_dict</tt><tt class="py-op">[</tt><tt id="link-303" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-303', 'last_id', 'link-212');">last_id</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-304" 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-304', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-305', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-306" 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-306', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-307', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1470"></a><tt class="py-lineno">1470</tt> <tt class="py-line"> </tt> <a name="L1471"></a><tt class="py-lineno">1471</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">Set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-308" 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-308', 'seq', 'link-133');">seq</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">as_list</tt><tt class="py-op">]</tt><tt class="py-op">)</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="L1472"></a><tt class="py-lineno">1472</tt> <tt class="py-line"> <tt class="py-comment">#All the sequences in the example are the same length,</tt> </tt> <a name="L1473"></a><tt class="py-lineno">1473</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#so it make sense to try turning this file into an alignment.</tt> </tt> <a name="L1474"></a><tt class="py-lineno">1474</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">print</tt> <tt class="py-string">"to_alignment(parse(handle))"</tt> </tt> <a name="L1475"></a><tt class="py-lineno">1475</tt> <tt class="py-line"> <tt id="link-309" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-309', 'alignment', 'link-127');">alignment</a></tt> <tt class="py-op">=</tt> <tt id="link-310" class="py-name"><a title="Bio.SeqIO.to_alignment" class="py-name" href="#" onclick="return doclink('link-310', 'to_alignment', 'link-60');">to_alignment</a></tt><tt class="py-op">(</tt><tt id="link-311" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-311', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt id="link-312" class="py-name"><a title="Bio.LocusLink.web_parse.handle Bio.Ndb.handle" class="py-name" href="#" onclick="return doclink('link-312', 'handle', 'link-40');">handle</a></tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-313" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-313', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-314" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-314', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt id="link-315" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-315', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1476"></a><tt class="py-lineno">1476</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-316" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-316', 'alignment', 'link-127');">alignment</a></tt><tt class="py-op">.</tt><tt class="py-name">_records</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-name">rec_count</tt> </tt> <a name="L1477"></a><tt class="py-lineno">1477</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-317" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-317', 'alignment', 'link-127');">alignment</a></tt><tt class="py-op">.</tt><tt id="link-318" class="py-name" targets="Method Bio.Align.Generic.Alignment.get_alignment_length()=Bio.Align.Generic.Alignment-class.html#get_alignment_length"><a title="Bio.Align.Generic.Alignment.get_alignment_length" class="py-name" href="#" onclick="return doclink('link-318', 'get_alignment_length', 'link-318');">get_alignment_length</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-319" 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-319', 'seq', 'link-133');">seq</a></tt><tt class="py-op">)</tt> </tt> <a name="L1478"></a><tt class="py-lineno">1478</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-320" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-320', 'i', 'link-278');">i</a></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-name">rec_count</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L1479"></a><tt class="py-lineno">1479</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-321" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-321', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-322', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt id="link-323" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-323', 'alignment', 'link-127');">alignment</a></tt><tt class="py-op">.</tt><tt class="py-name">_records</tt><tt class="py-op">[</tt><tt id="link-324" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-324', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-325', 'id', 'link-100');">id</a></tt> </tt> <a name="L1480"></a><tt class="py-lineno">1480</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-326" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-326', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-327', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt id="link-328" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-328', 'alignment', 'link-127');">alignment</a></tt><tt class="py-op">.</tt><tt id="link-329" class="py-name" targets="Method Bio.Align.Generic.Alignment.get_all_seqs()=Bio.Align.Generic.Alignment-class.html#get_all_seqs"><a title="Bio.Align.Generic.Alignment.get_all_seqs" class="py-name" href="#" onclick="return doclink('link-329', 'get_all_seqs', 'link-329');">get_all_seqs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt id="link-330" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-330', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-331', 'id', 'link-100');">id</a></tt> </tt> <a name="L1481"></a><tt class="py-lineno">1481</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-332" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-332', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-333" 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-333', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-334', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-335" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-335', 'alignment', 'link-127');">alignment</a></tt><tt class="py-op">.</tt><tt class="py-name">_records</tt><tt class="py-op">[</tt><tt id="link-336" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-336', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-337" 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-337', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-338', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1482"></a><tt class="py-lineno">1482</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">as_list</tt><tt class="py-op">[</tt><tt id="link-339" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-339', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-340" 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-340', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-341', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt id="link-342" class="py-name"><a title="Bio.expressions.blast.ncbiblast.alignment" class="py-name" href="#" onclick="return doclink('link-342', 'alignment', 'link-127');">alignment</a></tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="Bio.Align.Generic.Alignment.get_all_seqs" class="py-name" href="#" onclick="return doclink('link-343', 'get_all_seqs', 'link-329');">get_all_seqs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt id="link-344" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-344', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-345" 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-345', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-346', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1483"></a><tt class="py-lineno">1483</tt> <tt class="py-line"> </tt> <a name="L1484"></a><tt class="py-lineno">1484</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"read(...)"</tt> </tt> <a name="L1485"></a><tt class="py-lineno">1485</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">rec_count</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt> <a name="L1486"></a><tt class="py-lineno">1486</tt> <tt class="py-line"> <tt id="link-347" 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-347', 'record', 'link-92');">record</a></tt> <tt class="py-op">=</tt> <tt id="link-348" 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-348', 'read', 'link-348');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-349" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-349', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-350" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-350', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L1487"></a><tt class="py-lineno">1487</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-351" 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-351', 'record', 'link-92');">record</a></tt><tt class="py-op">,</tt> <tt id="link-352" class="py-name"><a title="Bio.SeqRecord Bio.SeqRecord.SeqRecord Bio.builders.SeqRecord Bio.writers.SeqRecord" class="py-name" href="#" onclick="return doclink('link-352', 'SeqRecord', 'link-4');">SeqRecord</a></tt><tt class="py-op">)</tt> </tt> <a name="L1488"></a><tt class="py-lineno">1488</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L1489"></a><tt class="py-lineno">1489</tt> <tt class="py-line"> <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt> <a name="L1490"></a><tt class="py-lineno">1490</tt> <tt class="py-line"> <tt id="link-353" 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-353', 'record', 'link-92');">record</a></tt> <tt class="py-op">=</tt> <tt id="link-354" 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-354', 'read', 'link-348');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-355" class="py-name"><a title="BioSQL.BioSeq.DBSeq.data" class="py-name" href="#" onclick="return doclink('link-355', 'data', 'link-210');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-356" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-356', 'format', 'link-41');">format</a></tt><tt class="py-op">)</tt> </tt> <a name="L1491"></a><tt class="py-lineno">1491</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-357" class="py-name"><a title="Bio.EUtils.POM.False" class="py-name" href="#" onclick="return doclink('link-357', 'False', 'link-199');">False</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Should have failed"</tt> </tt> <a name="L1492"></a><tt class="py-lineno">1492</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt> <tt class="py-op">:</tt> </tt> <a name="L1493"></a><tt class="py-lineno">1493</tt> <tt class="py-line"> <tt class="py-comment">#Expected to fail</tt> </tt> <a name="L1494"></a><tt class="py-lineno">1494</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">pass</tt> </tt> <a name="L1495"></a><tt class="py-lineno">1495</tt> <tt class="py-line"> </tt> <a name="L1496"></a><tt class="py-lineno">1496</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> </tt> <a name="L1497"></a><tt class="py-lineno">1497</tt> <tt class="py-line"> </tt> <a name="L1498"></a><tt class="py-lineno">1498</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checking phy <-> aln examples agree using list(parse(...))"</tt> </tt> <a name="L1499"></a><tt class="py-lineno">1499</tt> <tt class="py-line"> <tt class="py-comment">#Only compare the first 10 characters of the record.id as they</tt> </tt> <a name="L1500"></a><tt class="py-lineno">1500</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#are truncated in the phylip file. Cannot use to_dict(parse(...))</tt> </tt> <a name="L1501"></a><tt class="py-lineno">1501</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#on the phylip file as there is a repeared id.</tt> </tt> <a name="L1502"></a><tt class="py-lineno">1502</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">aln_list</tt> <tt class="py-op">=</tt> <tt id="link-358" class="py-name"><a title="Bio.Pathway.Rep.HashSet.HashSet.list" class="py-name" href="#" onclick="return doclink('link-358', 'list', 'link-218');">list</a></tt><tt class="py-op">(</tt><tt id="link-359" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-359', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">aln_example</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-360" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-360', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-string">"clustal"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1503"></a><tt class="py-lineno">1503</tt> <tt class="py-line"> <tt class="py-name">phy_list</tt> <tt class="py-op">=</tt> <tt id="link-361" class="py-name"><a title="Bio.Pathway.Rep.HashSet.HashSet.list" class="py-name" href="#" onclick="return doclink('link-361', 'list', 'link-218');">list</a></tt><tt class="py-op">(</tt><tt id="link-362" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-362', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">phy_example</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-363" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-363', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-string">"phylip"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1504"></a><tt class="py-lineno">1504</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">aln_list</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">phy_list</tt><tt class="py-op">)</tt> </tt> <a name="L1505"></a><tt class="py-lineno">1505</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">Set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-364', 'id', 'link-100');">id</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">10</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">aln_list</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">Set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-365', 'id', 'link-100');">id</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">phy_list</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L1506"></a><tt class="py-lineno">1506</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-366" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-366', 'i', 'link-278');">i</a></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-name">len</tt><tt class="py-op">(</tt><tt class="py-name">aln_list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L1507"></a><tt class="py-lineno">1507</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">aln_list</tt><tt class="py-op">[</tt><tt id="link-367" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-367', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-368', 'id', 'link-100');">id</a></tt><tt class="py-op">[</tt><tt class="py-number">0</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">phy_list</tt><tt class="py-op">[</tt><tt id="link-369" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-369', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-370', 'id', 'link-100');">id</a></tt> </tt> <a name="L1508"></a><tt class="py-lineno">1508</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">aln_list</tt><tt class="py-op">[</tt><tt id="link-371" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-371', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-372" 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-372', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-373', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">phy_list</tt><tt class="py-op">[</tt><tt id="link-374" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-374', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-375" 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-375', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-376', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1509"></a><tt class="py-lineno">1509</tt> <tt class="py-line"> </tt> <a name="L1510"></a><tt class="py-lineno">1510</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checking nxs <-> aln examples agree using parse"</tt> </tt> <a name="L1511"></a><tt class="py-lineno">1511</tt> <tt class="py-line"> <tt class="py-comment">#Only compare the first 10 characters of the record.id as they</tt> </tt> <a name="L1512"></a><tt class="py-lineno">1512</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#are truncated in the phylip file. Cannot use to_dict(parse(...))</tt> </tt> <a name="L1513"></a><tt class="py-lineno">1513</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#on the phylip file as there is a repeared id.</tt> </tt> <a name="L1514"></a><tt class="py-lineno">1514</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">aln_iter</tt> <tt class="py-op">=</tt> <tt id="link-377" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-377', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">aln_example</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-378" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-378', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-string">"clustal"</tt><tt class="py-op">)</tt> </tt> <a name="L1515"></a><tt class="py-lineno">1515</tt> <tt class="py-line"> <tt class="py-name">nxs_iter</tt> <tt class="py-op">=</tt> <tt id="link-379" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-379', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">nxs_example</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-380" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-380', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-string">"nexus"</tt><tt class="py-op">)</tt> </tt> <a name="L1516"></a><tt class="py-lineno">1516</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-381" class="py-name"><a title="Bio.EUtils.POM.True" class="py-name" href="#" onclick="return doclink('link-381', 'True', 'link-113');">True</a></tt> <tt class="py-op">:</tt> </tt> <a name="L1517"></a><tt class="py-lineno">1517</tt> <tt class="py-line"> <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt> <a name="L1518"></a><tt class="py-lineno">1518</tt> <tt class="py-line"> <tt class="py-name">aln_record</tt> <tt class="py-op">=</tt> <tt class="py-name">aln_iter</tt><tt class="py-op">.</tt><tt id="link-382" 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-382', 'next', 'link-98');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1519"></a><tt class="py-lineno">1519</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt> <tt class="py-op">:</tt> </tt> <a name="L1520"></a><tt class="py-lineno">1520</tt> <tt class="py-line"> <tt class="py-name">aln_record</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L1521"></a><tt class="py-lineno">1521</tt> <tt class="py-line"> <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt> <a name="L1522"></a><tt class="py-lineno">1522</tt> <tt class="py-line"> <tt class="py-name">nxs_record</tt> <tt class="py-op">=</tt> <tt class="py-name">nxs_iter</tt><tt class="py-op">.</tt><tt id="link-383" 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-383', 'next', 'link-98');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1523"></a><tt class="py-lineno">1523</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt> <tt class="py-op">:</tt> </tt> <a name="L1524"></a><tt class="py-lineno">1524</tt> <tt class="py-line"> <tt class="py-name">nxs_record</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> <a name="L1525"></a><tt class="py-lineno">1525</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">aln_record</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">nxs_record</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt> <a name="L1526"></a><tt class="py-lineno">1526</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">aln_record</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> </tt> <a name="L1527"></a><tt class="py-lineno">1527</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">nxs_record</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> </tt> <a name="L1528"></a><tt class="py-lineno">1528</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt> <a name="L1529"></a><tt class="py-lineno">1529</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">aln_record</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-384', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt class="py-name">nxs_record</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-385', 'id', 'link-100');">id</a></tt> </tt> <a name="L1530"></a><tt class="py-lineno">1530</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">aln_record</tt><tt class="py-op">.</tt><tt id="link-386" 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-386', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-387', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">nxs_record</tt><tt class="py-op">.</tt><tt id="link-388" 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-388', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-389', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1531"></a><tt class="py-lineno">1531</tt> <tt class="py-line"> </tt> <a name="L1532"></a><tt class="py-lineno">1532</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checking faa <-> aln examples agree using to_dict(parse(...)"</tt> </tt> <a name="L1533"></a><tt class="py-lineno">1533</tt> <tt class="py-line"> <tt class="py-comment">#In my examples, aln_example is an alignment of faa_example</tt> </tt> <a name="L1534"></a><tt class="py-lineno">1534</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">aln_dict</tt> <tt class="py-op">=</tt> <tt id="link-390" class="py-name"><a title="Bio.SeqIO.to_dict" class="py-name" href="#" onclick="return doclink('link-390', 'to_dict', 'link-295');">to_dict</a></tt><tt class="py-op">(</tt><tt id="link-391" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-391', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">aln_example</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-392" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-392', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-string">"clustal"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1535"></a><tt class="py-lineno">1535</tt> <tt class="py-line"> <tt class="py-name">faa_dict</tt> <tt class="py-op">=</tt> <tt id="link-393" class="py-name"><a title="Bio.SeqIO.to_dict" class="py-name" href="#" onclick="return doclink('link-393', 'to_dict', 'link-295');">to_dict</a></tt><tt class="py-op">(</tt><tt id="link-394" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-394', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">faa_example</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-395" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-395', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-string">"fasta"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1536"></a><tt class="py-lineno">1536</tt> <tt class="py-line"> </tt> <a name="L1537"></a><tt class="py-lineno">1537</tt> <tt class="py-line"> <tt id="link-396" class="py-name" targets="Variable Bio.expressions.fasta.ids=Bio.expressions.fasta-module.html#ids"><a title="Bio.expressions.fasta.ids" class="py-name" href="#" onclick="return doclink('link-396', 'ids', 'link-396');">ids</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Set</tt><tt class="py-op">(</tt><tt class="py-name">aln_dict</tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="Bio.Crystal.Crystal.keys Bio.EUtils.MultiDict._BaseMultiDict.keys Bio.GenBank.NCBIDictionary.keys Bio.Mindy.BaseDB.DictLookup.keys Bio.Mindy.BaseDB.OpenDB.keys Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.PrimaryNamespace.keys Bio.Mindy.FlatDB.PrimaryTable.keys Bio.Mindy.FlatDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.SecondaryTable.keys Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys Bio.Prosite.ExPASyDictionary.keys Bio.Prosite.Prodoc.ExPASyDictionary.keys Bio.PubMed.Dictionary.keys Bio.SwissProt.SProt.Dictionary.keys Bio.SwissProt.SProt.ExPASyDictionary.keys Bio.config.Registry.Registry.keys BioSQL.BioSeqDatabase.BioSeqDatabase.keys BioSQL.BioSeqDatabase.DBServer.keys Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-397', 'keys', 'link-300');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1538"></a><tt class="py-lineno">1538</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-398" class="py-name"><a title="Bio.expressions.fasta.ids" class="py-name" href="#" onclick="return doclink('link-398', 'ids', 'link-396');">ids</a></tt> <tt class="py-op">==</tt> <tt class="py-name">Set</tt><tt class="py-op">(</tt><tt class="py-name">faa_dict</tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="Bio.Crystal.Crystal.keys Bio.EUtils.MultiDict._BaseMultiDict.keys Bio.GenBank.NCBIDictionary.keys Bio.Mindy.BaseDB.DictLookup.keys Bio.Mindy.BaseDB.OpenDB.keys Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.PrimaryNamespace.keys Bio.Mindy.FlatDB.PrimaryTable.keys Bio.Mindy.FlatDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.SecondaryTable.keys Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys Bio.Prosite.ExPASyDictionary.keys Bio.Prosite.Prodoc.ExPASyDictionary.keys Bio.PubMed.Dictionary.keys Bio.SwissProt.SProt.Dictionary.keys Bio.SwissProt.SProt.ExPASyDictionary.keys Bio.config.Registry.Registry.keys BioSQL.BioSeqDatabase.BioSeqDatabase.keys BioSQL.BioSeqDatabase.DBServer.keys Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-399', 'keys', 'link-300');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1539"></a><tt class="py-lineno">1539</tt> <tt class="py-line"> </tt> <a name="L1540"></a><tt class="py-lineno">1540</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-400" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-400', 'id', 'link-100');">id</a></tt> <tt class="py-keyword">in</tt> <tt id="link-401" class="py-name"><a title="Bio.expressions.fasta.ids" class="py-name" href="#" onclick="return doclink('link-401', 'ids', 'link-396');">ids</a></tt> <tt class="py-op">:</tt> </tt> <a name="L1541"></a><tt class="py-lineno">1541</tt> <tt class="py-line"> <tt class="py-comment">#The aln file contains gaps as "-", and this fasta file does not</tt> </tt> <a name="L1542"></a><tt class="py-lineno">1542</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">assert</tt> <tt class="py-name">aln_dict</tt><tt class="py-op">[</tt><tt id="link-402" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-402', 'id', 'link-100');">id</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-403" 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-403', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-404', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"-"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> \ </tt> <a name="L1543"></a><tt class="py-lineno">1543</tt> <tt class="py-line"> <tt class="py-name">faa_dict</tt><tt class="py-op">[</tt><tt id="link-405" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-405', 'id', 'link-100');">id</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-406" 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-406', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-407', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1544"></a><tt class="py-lineno">1544</tt> <tt class="py-line"> </tt> <a name="L1545"></a><tt class="py-lineno">1545</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> </tt> <a name="L1546"></a><tt class="py-lineno">1546</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"#########################################################"</tt> </tt> <a name="L1547"></a><tt class="py-lineno">1547</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"# Sequence Output Tests #"</tt> </tt> <a name="L1548"></a><tt class="py-lineno">1548</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"#########################################################"</tt> </tt> <a name="L1549"></a><tt class="py-lineno">1549</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> </tt> <a name="L1550"></a><tt class="py-lineno">1550</tt> <tt class="py-line"> </tt> <a name="L1551"></a><tt class="py-lineno">1551</tt> <tt class="py-line"> <tt class="py-name">general_output_formats</tt> <tt class="py-op">=</tt> <tt id="link-408" class="py-name"><a title="Bio.AlignIO._FormatToWriter Bio.SeqIO._FormatToWriter" class="py-name" href="#" onclick="return doclink('link-408', '_FormatToWriter', 'link-35');">_FormatToWriter</a></tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="Bio.Crystal.Crystal.keys Bio.EUtils.MultiDict._BaseMultiDict.keys Bio.GenBank.NCBIDictionary.keys Bio.Mindy.BaseDB.DictLookup.keys Bio.Mindy.BaseDB.OpenDB.keys Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.PrimaryNamespace.keys Bio.Mindy.FlatDB.PrimaryTable.keys Bio.Mindy.FlatDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.SecondaryTable.keys Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys Bio.Prosite.ExPASyDictionary.keys Bio.Prosite.Prodoc.ExPASyDictionary.keys Bio.PubMed.Dictionary.keys Bio.SwissProt.SProt.Dictionary.keys Bio.SwissProt.SProt.ExPASyDictionary.keys Bio.config.Registry.Registry.keys BioSQL.BioSeqDatabase.BioSeqDatabase.keys BioSQL.BioSeqDatabase.DBServer.keys Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-409', 'keys', 'link-300');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1552"></a><tt class="py-lineno">1552</tt> <tt class="py-line"> <tt class="py-name">alignment_formats</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"phylip"</tt><tt class="py-op">,</tt><tt class="py-string">"stockholm"</tt><tt class="py-op">,</tt><tt class="py-string">"clustal"</tt><tt class="py-op">]</tt> </tt> <a name="L1553"></a><tt class="py-lineno">1553</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">in_data</tt><tt class="py-op">,</tt> <tt class="py-name">in_format</tt><tt class="py-op">,</tt> <tt class="py-name">rec_count</tt><tt class="py-op">,</tt> <tt id="link-410" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-410', 'last_id', 'link-212');">last_id</a></tt><tt class="py-op">,</tt> <tt class="py-name">last_seq</tt><tt class="py-op">,</tt> <tt class="py-name">unique_ids</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tests</tt><tt class="py-op">:</tt> </tt> <a name="L1554"></a><tt class="py-lineno">1554</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">unique_ids</tt> <tt class="py-op">:</tt> </tt> <a name="L1555"></a><tt class="py-lineno">1555</tt> <tt class="py-line"> <tt class="py-name">in_list</tt> <tt class="py-op">=</tt> <tt id="link-411" class="py-name"><a title="Bio.Pathway.Rep.HashSet.HashSet.list" class="py-name" href="#" onclick="return doclink('link-411', 'list', 'link-218');">list</a></tt><tt class="py-op">(</tt><tt id="link-412" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-412', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">in_data</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-413" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-413', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-name">in_format</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1556"></a><tt class="py-lineno">1556</tt> <tt class="py-line"> <tt class="py-name">seq_lengths</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-414" 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-414', 'seq', 'link-133');">seq</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">in_list</tt><tt class="py-op">]</tt> </tt> <a name="L1557"></a><tt class="py-lineno">1557</tt> <tt class="py-line"> <tt class="py-name">output_formats</tt> <tt class="py-op">=</tt> <tt class="py-name">general_output_formats</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt> <a name="L1558"></a><tt class="py-lineno">1558</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">seq_lengths</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">seq_lengths</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L1559"></a><tt class="py-lineno">1559</tt> <tt class="py-line"> <tt class="py-name">output_formats</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name" targets="Method Bio.EUtils.POM.ElementNode.extend()=Bio.EUtils.POM.ElementNode-class.html#extend,Method Bio.SCOP.Raf.SeqMap.extend()=Bio.SCOP.Raf.SeqMap-class.html#extend,Method Bio.Seq.MutableSeq.extend()=Bio.Seq.MutableSeq-class.html#extend"><a title="Bio.EUtils.POM.ElementNode.extend Bio.SCOP.Raf.SeqMap.extend Bio.Seq.MutableSeq.extend" class="py-name" href="#" onclick="return doclink('link-415', 'extend', 'link-415');">extend</a></tt><tt class="py-op">(</tt><tt class="py-name">alignment_formats</tt><tt class="py-op">)</tt> </tt> <a name="L1560"></a><tt class="py-lineno">1560</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checking conversion from %s (including to alignment formats)"</tt> <tt class="py-op">%</tt> <tt class="py-name">in_format</tt> </tt> <a name="L1561"></a><tt class="py-lineno">1561</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L1562"></a><tt class="py-lineno">1562</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checking conversion from %s (excluding alignment formats)"</tt> <tt class="py-op">%</tt> <tt class="py-name">in_format</tt> </tt> <a name="L1563"></a><tt class="py-lineno">1563</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">out_format</tt> <tt class="py-keyword">in</tt> <tt class="py-name">output_formats</tt> <tt class="py-op">:</tt> </tt> <a name="L1564"></a><tt class="py-lineno">1564</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Converting %s iterator -> %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">in_format</tt><tt class="py-op">,</tt> <tt class="py-name">out_format</tt><tt class="py-op">)</tt> </tt> <a name="L1565"></a><tt class="py-lineno">1565</tt> <tt class="py-line"> <tt class="py-name">output</tt> <tt class="py-op">=</tt> <tt id="link-416" class="py-name" targets="Function Bio.Mindy.FlatDB.open()=Bio.Mindy.FlatDB-module.html#open,Function Bio.Mindy.open()=Bio.Mindy-module.html#open"><a title="Bio.Mindy.FlatDB.open Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-416', 'open', 'link-416');">open</a></tt><tt class="py-op">(</tt><tt class="py-string">"temp.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt> <a name="L1566"></a><tt class="py-lineno">1566</tt> <tt class="py-line"> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-417" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-417', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">in_data</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-418" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-418', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-name">in_format</tt><tt class="py-op">)</tt> </tt> <a name="L1567"></a><tt class="py-lineno">1567</tt> <tt class="py-line"> <tt class="py-comment">#I am using an iterator here deliberately, as some format</tt> </tt> <a name="L1568"></a><tt class="py-lineno">1568</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#writers (e.g. phylip and stockholm) will have to cope with</tt> </tt> <a name="L1569"></a><tt class="py-lineno">1569</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#this and get the record count.</tt> </tt> <a name="L1570"></a><tt class="py-lineno">1570</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt> <a name="L1571"></a><tt class="py-lineno">1571</tt> <tt class="py-line"> <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt> <a name="L1572"></a><tt class="py-lineno">1572</tt> <tt class="py-line"> <tt id="link-419" class="py-name"><a title="Bio.AlignAce.Motif.Motif.write Bio.AlignIO.write Bio.EUtils.sourcegen.SourceFile.write Bio.EUtils.sourcegen.SourceGen.write Bio.NeuralNetwork.Gene.Pattern.PatternIO.write Bio.SeqIO.write Bio.Writer.Writer.write Bio.writers.SeqRecord.embl.WriteEmbl.write Bio.writers.SeqRecord.fasta.WriteFasta.write" class="py-name" href="#" onclick="return doclink('link-419', 'write', 'link-59');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">iterator</tt><tt class="py-op">,</tt> <tt class="py-name">output</tt><tt class="py-op">,</tt> <tt class="py-name">out_format</tt><tt class="py-op">)</tt> </tt> <a name="L1573"></a><tt class="py-lineno">1573</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-420" class="py-name" targets="Variable Bio.Affy.CelFile.e=Bio.Affy.CelFile-module.html#e,Variable Bio.LogisticRegression.e=Bio.LogisticRegression-module.html#e,Variable Bio.MarkovModel.e=Bio.MarkovModel-module.html#e,Variable Bio.MaxEntropy.e=Bio.MaxEntropy-module.html#e,Variable Bio.NaiveBayes.e=Bio.NaiveBayes-module.html#e,Variable Bio.Statistics.lowess.e=Bio.Statistics.lowess-module.html#e,Variable Bio.distance.e=Bio.distance-module.html#e,Variable Bio.kNN.e=Bio.kNN-module.html#e"><a title="Bio.Affy.CelFile.e Bio.LogisticRegression.e Bio.MarkovModel.e Bio.MaxEntropy.e Bio.NaiveBayes.e Bio.Statistics.lowess.e Bio.distance.e Bio.kNN.e" class="py-name" href="#" onclick="return doclink('link-420', 'e', 'link-420');">e</a></tt><tt class="py-op">:</tt> </tt> <a name="L1574"></a><tt class="py-lineno">1574</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"FAILED: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-421" class="py-name"><a title="Bio.Affy.CelFile.e Bio.LogisticRegression.e Bio.MarkovModel.e Bio.MaxEntropy.e Bio.NaiveBayes.e Bio.Statistics.lowess.e Bio.distance.e Bio.kNN.e" class="py-name" href="#" onclick="return doclink('link-421', 'e', 'link-420');">e</a></tt><tt class="py-op">)</tt> </tt> <a name="L1575"></a><tt class="py-lineno">1575</tt> <tt class="py-line"> <tt class="py-comment">#Try next format instead...</tt> </tt> <a name="L1576"></a><tt class="py-lineno">1576</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">continue</tt> </tt> <a name="L1577"></a><tt class="py-lineno">1577</tt> <tt class="py-line"> </tt> <a name="L1578"></a><tt class="py-lineno">1578</tt> <tt class="py-line"> <tt class="py-name">output</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name" targets="Method Bio.FilteredReader.FilteredReader.close()=Bio.FilteredReader.FilteredReader-class.html#close,Method Bio.Mindy.BerkeleyDB.BerkeleyDB.close()=Bio.Mindy.BerkeleyDB.BerkeleyDB-class.html#close,Method Bio.Mindy.FlatDB.MemoryFlatDB.close()=Bio.Mindy.FlatDB.MemoryFlatDB-class.html#close,Method BioSQL.BioSeqDatabase.Adaptor.close()=BioSQL.BioSeqDatabase.Adaptor-class.html#close,Method Martel.Parser.Parser.close()=Martel.Parser.Parser-class.html#close,Method Martel.Parser.RecordParser.close()=Martel.Parser.RecordParser-class.html#close"><a title="Bio.FilteredReader.FilteredReader.close Bio.Mindy.BerkeleyDB.BerkeleyDB.close Bio.Mindy.FlatDB.MemoryFlatDB.close BioSQL.BioSeqDatabase.Adaptor.close Martel.Parser.Parser.close Martel.Parser.RecordParser.close" class="py-name" href="#" onclick="return doclink('link-422', 'close', 'link-422');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1579"></a><tt class="py-lineno">1579</tt> <tt class="py-line"> </tt> <a name="L1580"></a><tt class="py-lineno">1580</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"Checking %s <-> %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">in_format</tt><tt class="py-op">,</tt> <tt class="py-name">out_format</tt><tt class="py-op">)</tt> </tt> <a name="L1581"></a><tt class="py-lineno">1581</tt> <tt class="py-line"> <tt class="py-name">out_list</tt> <tt class="py-op">=</tt> <tt id="link-423" class="py-name"><a title="Bio.Pathway.Rep.HashSet.HashSet.list" class="py-name" href="#" onclick="return doclink('link-423', 'list', 'link-218');">list</a></tt><tt class="py-op">(</tt><tt id="link-424" class="py-name"><a title="Bio.Affy.CelFile.CelParser.parse Bio.AlignAce.Parser.AlignAceParser.parse Bio.AlignAce.Parser.CompareAceParser.parse Bio.AlignIO.parse Bio.Blast.NCBIStandalone.BlastErrorParser.parse Bio.Blast.NCBIStandalone.BlastParser.parse Bio.Blast.NCBIStandalone.PSIBlastParser.parse Bio.Blast.NCBIWWW.BlastParser.parse Bio.Blast.NCBIXML.BlastParser.parse Bio.Blast.NCBIXML.parse Bio.CDD.RecordParser.parse Bio.Compass.RecordParser.parse Bio.Decode.parse Bio.ECell.RecordParser.parse Bio.EUtils.POM.POMDocument.parse Bio.EUtils.parse Bio.Emboss.Primer.Primer3Parser.parse Bio.Emboss.Primer.PrimerSearchParser.parse Bio.Enzyme.RecordParser.parse Bio.Fasta.RecordParser.parse Bio.Fasta.SequenceParser.parse Bio.GenBank.FeatureParser.parse Bio.GenBank.LocationParser.parse Bio.GenBank.RecordParser.parse Bio.GenBank.Scanner.InsdcScanner.parse Bio.Geo.parse Bio.Gobase.RecordParser.parse Bio.IntelliGenetics.RecordParser.parse Bio.InterPro.InterProParser.parse Bio.KEGG.Compound.parse Bio.KEGG.Enzyme.parse Bio.KEGG.Map.parse Bio.LocusLink.RecordParser.parse Bio.LocusLink.web_parse.LocusLinkParser.parse Bio.MEME.Parser.MASTParser.parse Bio.MEME.Parser.MEMEParser.parse Bio.Medline.RecordParser.parse Bio.MetaTool.RecordParser.parse Bio.NBRF.RecordParser.parse Bio.Ndb.NdbParser.parse Bio.ParserSupport.AbstractParser.parse Bio.Parsers.spark.GenericParser.parse Bio.PopGen.FDist.RecordParser.parse Bio.PopGen.GenePop.RecordParser.parse Bio.PopGen.GenePop.parse Bio.Prosite.Prodoc.RecordParser.parse Bio.Prosite.Prodoc.parse Bio.Prosite.RecordParser.parse Bio.Prosite.parse Bio.Rebase.RecordParser.parse Bio.SCOP.Cla.Parser.parse Bio.SCOP.Cla.parse Bio.SCOP.Des.Parser.parse Bio.SCOP.Des.parse Bio.SCOP.Dom.Parser.parse Bio.SCOP.Dom.parse Bio.SCOP.Hie.Parser.parse Bio.SCOP.Hie.parse Bio.SCOP.Raf.Parser.parse Bio.SCOP.Raf.parse Bio.Saf.RecordParser.parse Bio.SeqIO.parse Bio.Sequencing.Ace.ACEParser.parse Bio.Sequencing.Ace.RecordParser.parse Bio.Sequencing.Phd.RecordParser.parse Bio.SwissProt.KeyWList.ListParser.parse Bio.SwissProt.KeyWList.parse Bio.SwissProt.SProt.RecordParser.parse Bio.SwissProt.SProt.SequenceParser.parse Bio.SwissProt.parse Bio.UniGene.RecordParser.parse Bio.Wise.psw.parse Martel.Parser.HeaderFooterParser.parse Martel.Parser.Parser.parse Martel.Parser.RecordParser.parse Martel.msre_parse.parse" class="py-name" href="#" onclick="return doclink('link-424', 'parse', 'link-89');">parse</a></tt><tt class="py-op">(</tt><tt id="link-425" class="py-name"><a title="Bio.Mindy.FlatDB.open Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-425', 'open', 'link-416');">open</a></tt><tt class="py-op">(</tt><tt class="py-string">"temp.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"rU"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-426" class="py-name"><a title="Bio.Restriction.Restriction.RestrictionBatch.format Bio.expressions.blast.ncbiblast.format Bio.expressions.blast.wublast.format Bio.expressions.blocks.format Bio.expressions.embl.embl65.format Bio.expressions.fasta.format Bio.expressions.genbank.format Bio.expressions.hmmpfam.format Bio.expressions.swissprot.ipi.format Bio.expressions.swissprot.speclist.format Bio.expressions.swissprot.sprot38.format Bio.expressions.swissprot.sprot40.format Bio.expressions.transfac.format Martel.test.test_swissprot38.format Martel.test.testformats.swissprot38.format" class="py-name" href="#" onclick="return doclink('link-426', 'format', 'link-41');">format</a></tt><tt class="py-op">=</tt><tt class="py-name">out_format</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L1582"></a><tt class="py-lineno">1582</tt> <tt class="py-line"> </tt> <a name="L1583"></a><tt class="py-lineno">1583</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">rec_count</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">out_list</tt><tt class="py-op">)</tt> </tt> <a name="L1584"></a><tt class="py-lineno">1584</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">last_seq</tt> <tt class="py-op">:</tt> </tt> <a name="L1585"></a><tt class="py-lineno">1585</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">last_seq</tt> <tt class="py-op">==</tt> <tt class="py-name">out_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-427" 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-427', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-428', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1586"></a><tt class="py-lineno">1586</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">out_format</tt><tt class="py-op">==</tt><tt class="py-string">"phylip"</tt> <tt class="py-op">:</tt> </tt> <a name="L1587"></a><tt class="py-lineno">1587</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-429" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-429', 'last_id', 'link-212');">last_id</a></tt><tt class="py-op">[</tt><tt class="py-number">0</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">out_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-430', 'id', 'link-100');">id</a></tt> </tt> <a name="L1588"></a><tt class="py-lineno">1588</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L1589"></a><tt class="py-lineno">1589</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-431" class="py-name"><a title="BioSQL.BioSeqDatabase.Adaptor.last_id BioSQL.DBUtils.Generic_dbutils.last_id BioSQL.DBUtils.Mysql_dbutils.last_id BioSQL.DBUtils.Pgdb_dbutils.last_id BioSQL.DBUtils.Psycopg_dbutils.last_id" class="py-name" href="#" onclick="return doclink('link-431', 'last_id', 'link-212');">last_id</a></tt> <tt class="py-op">==</tt> <tt class="py-name">out_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-432', 'id', 'link-100');">id</a></tt> </tt> <a name="L1590"></a><tt class="py-lineno">1590</tt> <tt class="py-line"> </tt> <a name="L1591"></a><tt class="py-lineno">1591</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-433" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-433', 'i', 'link-278');">i</a></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-name">rec_count</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt> <a name="L1592"></a><tt class="py-lineno">1592</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">in_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-434" 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-434', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-435', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">out_list</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-436" 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-436', 'seq', 'link-133');">seq</a></tt><tt class="py-op">.</tt><tt id="link-437" class="py-name"><a title="Bio.Crystal.Crystal.tostring Bio.EUtils.POM.ElementNode.tostring Bio.Prosite.Pattern.Prosite.tostring Bio.Seq.MutableSeq.tostring Bio.Seq.Seq.tostring BioSQL.BioSeq.DBSeq.tostring" class="py-name" href="#" onclick="return doclink('link-437', 'tostring', 'link-224');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L1593"></a><tt class="py-lineno">1593</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">out_format</tt><tt class="py-op">==</tt><tt class="py-string">"phylip"</tt> <tt class="py-op">:</tt> </tt> <a name="L1594"></a><tt class="py-lineno">1594</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">in_list</tt><tt class="py-op">[</tt><tt id="link-438" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-438', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-439', 'id', 'link-100');">id</a></tt><tt class="py-op">[</tt><tt class="py-number">0</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">out_list</tt><tt class="py-op">[</tt><tt id="link-440" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-440', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-441', 'id', 'link-100');">id</a></tt> </tt> <a name="L1595"></a><tt class="py-lineno">1595</tt> <tt class="py-line"> <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt> <a name="L1596"></a><tt class="py-lineno">1596</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">in_list</tt><tt class="py-op">[</tt><tt id="link-442" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-442', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-443" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-443', 'id', 'link-100');">id</a></tt> <tt class="py-op">==</tt> <tt class="py-name">out_list</tt><tt class="py-op">[</tt><tt id="link-444" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-444', 'i', 'link-278');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-445" class="py-name"><a title="Bio.Data.CodonTable.id Bio.Encodings.IUPACEncoding.id Bio.GFF.Feature.id" class="py-name" href="#" onclick="return doclink('link-445', 'id', 'link-100');">id</a></tt> </tt> <a name="L1597"></a><tt class="py-lineno">1597</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> </tt> <a name="L1598"></a><tt class="py-lineno">1598</tt> <tt class="py-line"> </tt> <a name="L1599"></a><tt class="py-lineno">1599</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"#########################################################"</tt> </tt> <a name="L1600"></a><tt class="py-lineno">1600</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"# SeqIO Tests finished #"</tt> </tt> <a name="L1601"></a><tt class="py-lineno">1601</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"#########################################################"</tt> </tt> <a name="L1602"></a><tt class="py-lineno">1602</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:58 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>