<html><head></head><body><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:10px;"><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:10px;">Dear all,</div><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:10px;"><br></div><div>While sequence objects in Biopython have an associated alphabet, the purpose of alphabets in Biopython is currently not well-defined.</div><div><span>I can imagine these three interpretations of their purpose:
<ol><li>To define how the sequence data is stored internally in a Seq object (i.e. what kind of objects are in seq.data);</li><li>To define conceptually what the Seq object contains (e.g. this is a
protein, or this is DNA, or this is DNA with or without methylation);</li><li>To define how a Seq object should be presented to the user (e.g. as a
single-letter string, a three-letter string, or something else).</li></ol></span><span></span><div>(and there may be others that I have overlooked).<br></div><div><br></div><div>To justify having alphabets as a part of Biopython, their purpose should be clearly defined.<span><p><span><span>Because of the
complexity of alphabets and their use in Biopython, we felt that it may
be a good idea to have a PEP (Python Enhancement Proposal)-like
discussion to define the purpose of alphabets and their technical
implementation in Biopython.<span><span> This would mean that somebody who is in
favor of having alphabets in Biopython would work out a proposal with
all the details to allow developers and users to think through the
implications.</span></span></span></span></p></span></div><div><div><div><span><p><span><span><span><span>Here you can find a description of PEPs and what should go in them: </span></span></span></span></p></span></div><div><a href="https://www.python.org/dev/peps/pep-0001/" rel="nofollow" target="_blank" class="">https://www.python.org/dev/peps/pep-0001/</a></div><div><br></div><div>Not all of it is applicable to Biopython, but it may serve as a general guideline.</div><div><br></div><div>The Alphabet BEP (Biopython Enhancement Proposal) could be hosted on the Biopython website so that everybody can follow the discussion.<br></div><div><span><p><span><span><span><span>Since alphabets have been under discussion for more than
10 years, we are thinking to put a time limit to the proposal (e.g.,
until January 1st, 2020), meaning that if no agreement on the proposal
is reached by then, alphabets would be removed from Biopython. This
would give people who are in favor of alphabets to make their case,
while guaranteeing that a conclusion will be reached (either a
well-defined and usable alphabet, or no alphabet) within the next ~1.5
years. <br></span></span></span></span></p></span><div><span><p><span><span><span></span></span></span>Any volunteers? Seq objects and therefore their alphabets are a key feature of Biopython, and working through a BEP can give you the opportunity to help design a major part of Biopython.</p></span><span></span><div><br></div><div><br></div><div>Best,</div><div>-Michiel<br></div></div><div><span></span><br></div><div><br></div></div><div><span><p><span><span><span><span></span></span></span></span></p></span><br></div><div><br></div></div></div></div><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:10px;"><div><br></div><div><br></div><div><br></div><div><br></div></div><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:10px;"><span><br></span></div><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:10px;"><span><br></span></div><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:10px;"><br></div></div></body></html>