<html>
<head>
<style>
body {
  font-family: Verdana, sans-serif;
  font-size: 0.8em;
  color:#484848;
}
h1, h2, h3 { font-family: "Trebuchet MS", Verdana, sans-serif; margin: 0px; }
h1 { font-size: 1.2em; }
h2, h3 { font-size: 1.1em; }
a, a:link, a:visited { color: #2A5685;}
a:hover, a:active { color: #c61a1a; }
a.wiki-anchor { display: none; }
fieldset.attachments {border-width: 1px 0 0 0;}
hr {
  width: 100%;
  height: 1px;
  background: #ccc;
  border: 0;
}
span.footer {
  font-size: 0.8em;
  font-style: italic;
}
</style>
</head>
<body>
Issue #3236 has been updated by Peter Cock.

<ul>
  <li><strong>Status</strong> changed from <i>In Progress</i> to <i>Closed</i></li>
  <li><strong>% Done</strong> changed from <i>20</i> to <i>100</i></li>
</ul>

<p>Biopython has been working pretty well on PyPy 2.4 onwards (a combination of some fixes on our side but mostly progress on the PyPy side), closing this issue.</p>
<hr />
<h1><a href="https://redmine.open-bio.org/issues/3236#change-15294">Feature #3236: Make Biopython work in PyPy 1.5</a></h1>

<ul><li>Author: Eric Talevich</li>
<li>Status: Closed</li>
<li>Priority: Low</li>
<li>Assignee: Biopython Dev Mailing List</li>
<li>Category: </li>
<li>Target version: </li>
<li>URL: </li></ul>

<p>PyPy is now roughly as production-ready as Jython:<br /><a class="external" href="http://morepypy.blogspot.com/2011/04/pypy-15-released-catching-up.html">http://morepypy.blogspot.com/2011/04/pypy-15-released-catching-up.html</a></p>


        <p>Let's make Biopython work on PyPy 1.5.</p>


        <p>To make the pure-Python core of Biopython work, I did this:</p>


        <ul>
        <li>Download and unpack the pre-compiled Linux tarball from pypy.org</li>
                <li>Copy the header file <code>marshal.h</code> from the CPython 2.X installation into the <code>pypy-c-.../include/</code> directory</li>
                <li>pypy setup.py build; pypy setup.py install</li>
                <li>Delete pypy-c-.../site-packages/Bio/cpairwise2*.so</li>
        </ul>


        <p>Benchmarking a script that leans heavily on Bio.pairwise2, I see about a 2x speedup between Pypy 1.5 and CPython 2.6 -- yes, that's with the compiled C extension <code>cpairwise2</code> in the CPython 2.6 installation.</p>


        <p>Numpy isn't available on PyPy yet, and it may be some time before it does.</p>


        <p>Observations from <code>pypy setup.py test</code>:</p>


        <ul>
        <li>test_BioSQL triggers tons of RuntimeWarnings related to sqlite3 functions</li>
                <li>test_BioSQL_SeqIO fails -- attempts to retrieve P01892 instead of Q29899 (?)</li>
                <li>test_Restriction triggers a TypeError, somehow (also causing test_CAPS to err)</li>
                <li>test_Entrez fails with many noisy errors -- looks related to expat, may be just my installation</li>
                <li>importing <code>Bio.trie</code> fails, probably due to a <code>marshal.h</code> issue with compilation</li>
        </ul>

  <fieldset class="attachments"><legend>Files</legend>
    <a href="https://redmine.open-bio.org/attachments/download/1647/pypy1.5-setup.diff">pypy1.5-setup.diff</a>
    (1.15 KB)<br />
  </fieldset>


<hr />
<span class="footer"><p>You have received this notification because you have either subscribed to it, or are involved in it.<br />To change your notification preferences, please click here and login: <a class="external" href="http://redmine.open-bio.org">http://redmine.open-bio.org</a></p></span>
</body>
</html>