<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; }
hr {
  width: 100%;
  height: 1px;
  background: #ccc;
  border: 0;
}
.footer {
  font-size: 0.8em;
  font-style: italic;
}
</style>
</head>
<body>
<span class="header"></span>
Issue #2578 has been updated by Peter Cock.

<ul>

    <li>Status changed from New to Closed</li>

    <li>% Done changed from 0 to 100</li>

</ul>

<p>Closing in favour of the GitHub issue tracker, see <a class="external" href="https://github.com/biopython/biopython/issues/363">https://github.com/biopython/biopython/issues/363</a></p>
<hr />
<h1><a href="https://redmine.open-bio.org/issues/2578">Bug #2578: The GenBank SeqRecord parser does not record molecule type or if circular</a></h1>

<ul>
<li>Author: Peter Cock</li>
<li>Status: Closed</li>
<li>Priority: Normal</li>
<li>Assignee: Biopython Dev Mailing List</li>
<li>Category: Main Distribution</li>
<li>Target version: 1.47</li>

  <li>URL: </li>

</ul>

<p>Filing this bug after discussion on the mailing list, where the issue was raised by Chris Lasher:<br /><a class="external" href="http://lists.open-bio.org/pipermail/biopython/2008-September/004474.html">http://lists.open-bio.org/pipermail/biopython/2008-September/004474.html</a><br /><a class="external" href="http://lists.open-bio.org/pipermail/biopython/2008-September/004475.html">http://lists.open-bio.org/pipermail/biopython/2008-September/004475.html</a><br /><a class="external" href="http://lists.open-bio.org/pipermail/biopython/2008-September/004476.html">http://lists.open-bio.org/pipermail/biopython/2008-September/004476.html</a></p>


        <p>The LOCUS line at the start of a GenBank record can record the molecule type (DNA, RNA, mRNA, protein etc) and also if the sequence is linear or circular, e.g.</p>


        <p>LOCUS       NC_002678            7036071 bp    DNA     circular BCT 22-JUL-2008</p>


        <p>Currently Bio.SeqIO (and Bio.GenBank.FeatureParser if called directly) do not record these two bits of information in the SeqRecord.</p>


        <p>Bio.SeqIO uses the Bio.GenBank.FeatureParser, which gets passed this information from the Scanner via the residue_type event.  This is a combined lump of data containing both the sequence type (DNA, RNA etc) and if it is linear or circular.  It is currently only used to determine the Seq alphabet, and has never been recorded.  So in addition to not recording if the LOCUS line said the sequence was circular, if the LOCUS line contained cDNA, mRNA, ... this fine detail is also currently lost in the SeqRecord representation.  On the other hand, the Bio.GenBank.RecordParser stores all this as the record's residue_type property (a single combined field, presumably reflecting the layout of early GenBank files).</p>


        <p>It would be a logical improvement to record the sequence data (molecule type and if circular) in the SeqRecord's annotations dictionary - perhaps as two fields but we'd need to check if that would be straight forward for EMBL files too.  Alternatively, if Biopython included a native CircularSeq object, we could use that explicitly when the sequence is declared as circular.  This might be considered a little surprising though.</p>


<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>