<?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.Seq.MutableSeq</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> :: <a href="Bio.Seq-module.html">Module Seq</a> :: Class MutableSeq </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.Seq.MutableSeq-class.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <!-- ==================== CLASS DESCRIPTION ==================== --> <h1 class="epydoc">Class MutableSeq</h1><p class="nomargin-top"><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq">source code</a></span></p> <pre class="base-tree"> object --+ | <strong class="uidshort">MutableSeq</strong> </pre> <hr /> <p>An editable sequence object (with an alphabet).</p> <p>Unlike normal python strings and our basic sequence object (the Seq class) which are immuatable, the MutableSeq lets you edit the sequence in place. However, this means you cannot use a MutableSeq object as a dictionary key.</p> <pre class="py-doctest"> <span class="py-prompt">>>> </span><span class="py-keyword">from</span> Bio.Seq <span class="py-keyword">import</span> MutableSeq <span class="py-prompt">>>> </span><span class="py-keyword">from</span> Bio.Alphabet <span class="py-keyword">import</span> generic_dna <span class="py-prompt">>>> </span>my_seq = MutableSeq(<span class="py-string">"ACTCGTCGTCG"</span>, generic_dna) <span class="py-prompt">>>> </span>my_seq <span class="py-output">MutableSeq('ACTCGTCGTCG', DNAAlphabet())</span> <span class="py-output"></span><span class="py-prompt">>>> </span>my_seq[5] <span class="py-output">'T'</span> <span class="py-output"></span><span class="py-prompt">>>> </span>my_seq[5] = <span class="py-string">"A"</span> <span class="py-prompt">>>> </span>my_seq <span class="py-output">MutableSeq('ACTCGACGTCG', DNAAlphabet())</span> <span class="py-output"></span><span class="py-prompt">>>> </span>my_seq[5] <span class="py-output">'A'</span> <span class="py-output"></span><span class="py-prompt">>>> </span>my_seq[5:8] = <span class="py-string">"NNN"</span> <span class="py-prompt">>>> </span>my_seq <span class="py-output">MutableSeq('ACTCGNNNTCG', DNAAlphabet())</span> <span class="py-output"></span><span class="py-prompt">>>> </span>len(my_seq) <span class="py-output">11</span></pre> <p>Note that the MutableSeq object does not support as many string-like or biological methods as the Seq object.</p> <!-- ==================== INSTANCE METHODS ==================== --> <a name="section-InstanceMethods"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Instance Methods</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-InstanceMethods" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">data</span>, <span class="summary-sig-arg">alphabet</span>=<span class="summary-sig-default">Alphabet()</span>)</span><br /> x.__init__(...) initializes x; see help(type(x)) for signature</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__init__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br /> Returns a (truncated) representation of the sequence for debugging.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__repr__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br /> Returns the full sequence as a python string.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__str__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#__cmp__" class="summary-sig-name">__cmp__</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">other</span>)</span><br /> Compare the sequence to another sequence or a string (README).</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__cmp__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="__len__"></a><span class="summary-sig-name">__len__</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__len__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="__getitem__"></a><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">index</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__getitem__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="__setitem__"></a><span class="summary-sig-name">__setitem__</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">index</span>, <span class="summary-sig-arg">value</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__setitem__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="__delitem__"></a><span class="summary-sig-name">__delitem__</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">index</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__delitem__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#__add__" class="summary-sig-name">__add__</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">other</span>)</span><br /> Add another sequence or string to this sequence.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__add__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="__radd__"></a><span class="summary-sig-name">__radd__</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">other</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__radd__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="append"></a><span class="summary-sig-name">append</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">c</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.append">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="insert"></a><span class="summary-sig-name">insert</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">i</span>, <span class="summary-sig-arg">c</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.insert">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="pop"></a><span class="summary-sig-name">pop</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">i</span>=<span class="summary-sig-default">-1</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.pop">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="remove"></a><span class="summary-sig-name">remove</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">item</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.remove">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#count" class="summary-sig-name">count</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">sub</span>, <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">0</span>, <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">9223372036854775807</span>)</span><br /> Non-overlapping count method, like that of a python string.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.count">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="index"></a><span class="summary-sig-name">index</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">item</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.index">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#reverse" class="summary-sig-name">reverse</a>(<span class="summary-sig-arg">self</span>)</span><br /> Modify the mutable sequence to reverse itself.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.reverse">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#complement" class="summary-sig-name">complement</a>(<span class="summary-sig-arg">self</span>)</span><br /> Modify the mutable sequence to take on its complement.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.complement">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#reverse_complement" class="summary-sig-name">reverse_complement</a>(<span class="summary-sig-arg">self</span>)</span><br /> Modify the mutable sequence to take on its reverse complement.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.reverse_complement">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="extend"></a><span class="summary-sig-name">extend</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">other</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.extend">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#tostring" class="summary-sig-name">tostring</a>(<span class="summary-sig-arg">self</span>)</span><br /> Returns the full sequence as a python string (semi-obsolete).</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.tostring">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.Seq.MutableSeq-class.html#toseq" class="summary-sig-name">toseq</a>(<span class="summary-sig-arg">self</span>)</span><br /> Returns the full sequence as a new immutable Seq object.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.toseq">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__delattr__</code>, <code>__format__</code>, <code>__getattribute__</code>, <code>__hash__</code>, <code>__new__</code>, <code>__reduce__</code>, <code>__reduce_ex__</code>, <code>__setattr__</code>, <code>__sizeof__</code>, <code>__subclasshook__</code> </p> </td> </tr> </table> <!-- ==================== PROPERTIES ==================== --> <a name="section-Properties"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Properties</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-Properties" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__class__</code> </p> </td> </tr> </table> <!-- ==================== METHOD DETAILS ==================== --> <a name="section-MethodDetails"></a> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Method Details</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-MethodDetails" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> </table> <a name="__init__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, <span class="sig-arg">data</span>, <span class="sig-arg">alphabet</span>=<span class="sig-default">Alphabet()</span>)</span> <br /><em class="fname">(Constructor)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__init__">source code</a></span> </td> </tr></table> <p>x.__init__(...) initializes x; see help(type(x)) for signature</p> <dl class="fields"> <dt>Overrides: object.__init__ <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="__repr__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span> <br /><em class="fname">(Representation operator)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__repr__">source code</a></span> </td> </tr></table> <p>Returns a (truncated) representation of the sequence for debugging.</p> <dl class="fields"> <dt>Overrides: object.__repr__ </dt> </dl> </td></tr></table> </div> <a name="__str__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span> <br /><em class="fname">(Informal representation operator)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__str__">source code</a></span> </td> </tr></table> <p>Returns the full sequence as a python string.</p> <p>Note that Biopython 1.44 and earlier would give a truncated version of repr(my_seq) for str(my_seq). If you are writing code which needs to be backwards compatible with old Biopython, you should continue to use my_seq.tostring() rather than str(my_seq).</p> <dl class="fields"> <dt>Overrides: object.__str__ </dt> </dl> </td></tr></table> </div> <a name="__cmp__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__cmp__</span>(<span class="sig-arg">self</span>, <span class="sig-arg">other</span>)</span> <br /><em class="fname">(Comparison operator)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__cmp__">source code</a></span> </td> </tr></table> <p>Compare the sequence to another sequence or a string (README).</p> <p>Currently if compared to another sequence the alphabets must be compatible. Comparing DNA to RNA, or Nucleotide to Protein will raise an exception. Otherwise only the sequence itself is compared, not the precise alphabet.</p> <p>A future release of Biopython will change this (and the Seq object etc) to use simple string comparison. The plan is that comparing sequences with incompatible alphabets (e.g. DNA to RNA) will trigger a warning but not an exception.</p> <p>During this transition period, please just do explicit comparisons:</p> <pre class="py-doctest"> <span class="py-prompt">>>> </span>seq1 = MutableSeq(<span class="py-string">"ACGT"</span>) <span class="py-prompt">>>> </span>seq2 = MutableSeq(<span class="py-string">"ACGT"</span>) <span class="py-prompt">>>> </span>id(seq1) == id(seq2) <span class="py-output">False</span> <span class="py-output"></span><span class="py-prompt">>>> </span>str(seq1) == str(seq2) <span class="py-output">True</span></pre> <p>This method indirectly supports ==, < , etc.</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="__add__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__add__</span>(<span class="sig-arg">self</span>, <span class="sig-arg">other</span>)</span> <br /><em class="fname">(Addition operator)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.__add__">source code</a></span> </td> </tr></table> <p>Add another sequence or string to this sequence.</p> <p>Returns a new MutableSeq object.</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="count"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">count</span>(<span class="sig-arg">self</span>, <span class="sig-arg">sub</span>, <span class="sig-arg">start</span>=<span class="sig-default">0</span>, <span class="sig-arg">end</span>=<span class="sig-default">9223372036854775807</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.count">source code</a></span> </td> </tr></table> <p>Non-overlapping count method, like that of a python string.</p> <p>This behaves like the python string method of the same name, which does a non-overlapping count!</p> <p>Returns an integer, the number of occurrences of substring argument sub in the (sub)sequence given by [start:end]. Optional arguments start and end are interpreted as in slice notation.</p> <p>Arguments:</p> <ul> <li> sub - a string or another Seq object to look for </li> <li> start - optional integer, slice start </li> <li> end - optional integer, slice end </li> </ul> <p>e.g.</p> <pre class="py-doctest"> <span class="py-prompt">>>> </span><span class="py-keyword">from</span> Bio.Seq <span class="py-keyword">import</span> MutableSeq <span class="py-prompt">>>> </span>my_mseq = MutableSeq(<span class="py-string">"AAAATGA"</span>) <span class="py-prompt">>>> </span><span class="py-keyword">print</span> my_mseq.count(<span class="py-string">"A"</span>) <span class="py-output">5</span> <span class="py-output"></span><span class="py-prompt">>>> </span><span class="py-keyword">print</span> my_mseq.count(<span class="py-string">"ATG"</span>) <span class="py-output">1</span> <span class="py-output"></span><span class="py-prompt">>>> </span><span class="py-keyword">print</span> my_mseq.count(Seq(<span class="py-string">"AT"</span>)) <span class="py-output">1</span> <span class="py-output"></span><span class="py-prompt">>>> </span><span class="py-keyword">print</span> my_mseq.count(<span class="py-string">"AT"</span>, 2, -1) <span class="py-output">1</span></pre> <p>HOWEVER, please note because that python strings, Seq objects and MutableSeq objects do a non-overlapping search, this may not give the answer you expect:</p> <pre class="py-doctest"> <span class="py-prompt">>>> </span><span class="py-string">"AAAA"</span>.count(<span class="py-string">"AA"</span>) <span class="py-output">2</span> <span class="py-output"></span><span class="py-prompt">>>> </span><span class="py-keyword">print</span> MutableSeq(<span class="py-string">"AAAA"</span>).count(<span class="py-string">"AA"</span>) <span class="py-output">2</span></pre> <p>A non-overlapping search would give the answer as three!</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="reverse"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">reverse</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.reverse">source code</a></span> </td> </tr></table> <p>Modify the mutable sequence to reverse itself.</p> <p>No return value.</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="complement"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">complement</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.complement">source code</a></span> </td> </tr></table> <p>Modify the mutable sequence to take on its complement.</p> <p>Trying to complement a protein sequence raises an exception.</p> <p>No return value.</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="reverse_complement"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">reverse_complement</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.reverse_complement">source code</a></span> </td> </tr></table> <p>Modify the mutable sequence to take on its reverse complement.</p> <p>Trying to reverse complement a protein sequence raises an exception.</p> <p>No return value.</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="tostring"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">tostring</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.tostring">source code</a></span> </td> </tr></table> <p>Returns the full sequence as a python string (semi-obsolete).</p> <p>Although not formally deprecated, you are now encouraged to use str(my_seq) instead of my_seq.tostring().</p> <p>Because str(my_seq) will give you the full sequence as a python string, there is often no need to make an explicit conversion. For example,</p> <p>print "ID={%s}, sequence={%s}" % (my_name, my_seq)</p> <p>On Biopython 1.44 or older you would have to have done this:</p> <p>print "ID={%s}, sequence={%s}" % (my_name, my_seq.tostring())</p> <dl class="fields"> </dl> </td></tr></table> </div> <a name="toseq"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">toseq</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.Seq-pysrc.html#MutableSeq.toseq">source code</a></span> </td> </tr></table> <p>Returns the full sequence as a new immutable Seq object.</p> <pre class="py-doctest"> <span class="py-prompt">>>> </span><span class="py-keyword">from</span> Bio.Seq <span class="py-keyword">import</span> Seq <span class="py-prompt">>>> </span><span class="py-keyword">from</span> Bio.Alphabet <span class="py-keyword">import</span> IUPAC <span class="py-prompt">>>> </span>my_mseq = MutableSeq(<span class="py-string">"MKQHKAMIVALIVICITAVVAAL"</span>, <span class="py-more">... </span> IUPAC.protein) <span class="py-prompt">>>> </span>my_mseq <span class="py-output">MutableSeq('MKQHKAMIVALIVICITAVVAAL', IUPACProtein())</span> <span class="py-output"></span><span class="py-prompt">>>> </span>my_mseq.toseq() <span class="py-output">Seq('MKQHKAMIVALIVICITAVVAAL', IUPACProtein())</span></pre> <p>Note that the alphabet is preserved.</p> <dl class="fields"> </dl> </td></tr></table> </div> <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 Thu Aug 18 18:22:16 2011 </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>