<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Chris,<div class=""><br class=""></div><div class="">This is the documentation I’m familiar with, but there may be more:</div><div class=""><br class=""></div><div class=""><a href="http://www.ncbi.nlm.nih.gov/genbank/structuredcomment" class="">http://www.ncbi.nlm.nih.gov/genbank/structuredcomment</a></div><div class=""><br class=""></div><div class="">Peter, I can definitely separate these using ‘comment’ and ‘structured_comment’ keys in the record.annotations dict.</div><div class=""><br class=""></div><div class="">If there’s no structured comment in the Genbank file, would there simply be an empty dict in the SeqRecord?&nbsp;</div><div class=""><br class=""></div><div class="">E.g.</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 14px; font-family: Courier; background-color: rgb(179, 187, 255);" class="">&gt;&gt;&gt; record.annotations[‘structured_comment']</div><div style="margin: 0px; font-size: 14px; font-family: Courier; background-color: rgb(179, 187, 255);" class="">{}</div></div><div class=""><br class=""></div><div class="">Brian O.</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 9, 2015, at 11:18 AM, Fields, Christopher J &lt;<a href="mailto:cjfields@illinois.edu" class="">cjfields@illinois.edu</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">

<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Is there any particular standard for these comment types? &nbsp;I see these within WGS master records all the time (denotes basic metadata on assembly).</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://www.ncbi.nlm.nih.gov/nuccore/635626163" class="">http://www.ncbi.nlm.nih.gov/nuccore/635626163</a></div>
<div class=""><a href="http://www.ncbi.nlm.nih.gov/nuccore/AFTI00000000.1" class="">http://www.ncbi.nlm.nih.gov/nuccore/AFTI00000000.1</a></div>
<div class=""><br class="">
</div>
<div class="">(you can’t tell I’m working on a mussel assembly, right?)</div>
<div class=""><br class="">
</div>
<div class="">chris</div>
<div class=""><br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Sep 9, 2015, at 12:08 PM, Peter Cock &lt;<a href="mailto:p.j.a.cock@googlemail.com" class="">p.j.a.cock@googlemail.com</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">That's ... nasty. How about record.features["comment"] for the old style<br class="">
plain text (as a Python string) and record.features["structured_comment"]<br class="">
as a (sorted) Python dict?<br class="">
<br class="">
This might make GenBank output easier too...<br class="">
<br class="">
Peter<br class="">
<br class="">
On Wed, Sep 9, 2015 at 6:01 PM, Brian Osborne &lt;<a href="mailto:bosborne11@verizon.net" class="">bosborne11@verizon.net</a>&gt; wrote:<br class="">
<blockquote type="cite" class="">Peter,<br class="">
<br class="">
That is an interesting idea. What would be returned if the COMMENT has both plain and “structured comments” in it? Here’s one:<br class="">
<br class="">
<a href="http://www.ncbi.nlm.nih.gov/nuccore/FJ966082" class="">http://www.ncbi.nlm.nih.gov/nuccore/FJ966082</a><br class="">
<br class="">
Thanks again,<br class="">
<br class="">
Brian O.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<blockquote type="cite" class="">On Sep 9, 2015, at 7:27 AM, Peter Cock &lt;<a href="mailto:p.j.a.cock@googlemail.com" class="">p.j.a.cock@googlemail.com</a>&gt; wrote:<br class="">
<br class="">
This sounds good - would you turn these into a Python dict?<br class="">
<br class="">
Peter<br class="">
<br class="">
On Wed, Sep 9, 2015 at 2:56 PM, Brian Osborne &lt;<a href="mailto:bosborne11@verizon.net" class="">bosborne11@verizon.net</a>&gt; wrote:<br class="">
<blockquote type="cite" class="">All,<br class="">
<br class="">
I noticed that BioPython, like the versions of BioPerl in CPAN, does not<br class="">
handle GenBank structured comments<br class="">
(<a href="http://www.ncbi.nlm.nih.gov/genbank/structuredcomment" class="">http://www.ncbi.nlm.nih.gov/genbank/structuredcomment</a>) in the ideal way.<br class="">
Here’s an example structured comment:<br class="">
<br class="">
COMMENT &nbsp;&nbsp;&nbsp;&nbsp;##FluData-START##<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EPI_ISOLATE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: EPI_ISL_77637<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NAME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: A/California/07/2009<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: H1N1<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Segment_name &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: M'<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HOST_AGE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 54<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HOST_GENDER &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: F'<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PASSAGE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: M1/C1 (2009-04-24)<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOCATION &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: United States / California'<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COLLECT_DATE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 09-Apr-2009<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lineage &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: A(H1N1)pdm09<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RESIST_TO_ADAMANTANES :: Resistant'<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RESIST_TO_OSELTAMIVIR :: Sensitive'<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RESIST_TO_ZANAMVIR &nbsp;&nbsp;&nbsp;:: Sensitive'<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPECIMEN_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: H13596<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SENDER_LAB &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: Naval Health Research Center'<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEQLAB_SAMPLE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 2009712111<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EPI_SEQUENCE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: EPI273604<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##FluData-END##<br class="">
<br class="">
Or here: <a href="http://www.ncbi.nlm.nih.gov/nuccore/291609868" class="">http://www.ncbi.nlm.nih.gov/nuccore/291609868</a><br class="">
<br class="">
A table, with tag/value pairs. A fair number of bacterial genomes in GenBank<br class="">
use the structured comment to hold MIGS/MIMS data. The comment() method<br class="">
should return something like this, which is easily parsed:<br class="">
<br class="">
##FluData-START##<br class="">
EPI_ISOLATE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: EPI_ISL_77637<br class="">
NAME &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: A/California/07/2009<br class="">
TYPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: H1N1<br class="">
Segment_name &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: M'<br class="">
HOST_AGE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 54<br class="">
HOST_GENDER &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: F'<br class="">
PASSAGE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: M1/C1 (2009-04-24)<br class="">
LOCATION &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: United States / California'<br class="">
COLLECT_DATE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 09-Apr-2009<br class="">
Lineage &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: A(H1N1)pdm09<br class="">
RESIST_TO_ADAMANTANES :: Resistant'<br class="">
RESIST_TO_OSELTAMIVIR :: Sensitive'<br class="">
RESIST_TO_ZANAMVIR &nbsp;&nbsp;&nbsp;:: Sensitive'<br class="">
SPECIMEN_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: H13596<br class="">
SENDER_LAB &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: Naval Health Research Center'<br class="">
SEQLAB_SAMPLE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 2009712111<br class="">
EPI_SEQUENCE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: EPI273604<br class="">
##FluData-END##<br class="">
<br class="">
Rather than this, which is what it currently returns:<br class="">
<br class="">
##FluData-START## EPI_ISOLATE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: EPI_ISL_77637 NAME<br class="">
:: A/California/07/2009 TYPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: H1N1 Segment_name<br class="">
:: M' HOST_AGE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 54 HOST_GENDER &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: F' PASSAGE<br class="">
:: M1/C1 (2009-04-24) LOCATION &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: United States / California'<br class="">
COLLECT_DATE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: 09-Apr-2009 Lineage &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: A(H1N1)pdm09<br class="">
RESIST_TO_ADAMANTANES :: Resistant' RESIST_TO_OSELTAMIVIR :: Sensitive'<br class="">
RESIST_TO_ZANAMVIR &nbsp;&nbsp;&nbsp;:: Sensitive' SPECIMEN_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: H13596<br class="">
SENDER_LAB &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: Naval Health Research Center' SEQLAB_SAMPLE_ID<br class="">
:: 2009712111 EPI_SEQUENCE_ID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:: EPI273604 ##FluData-END##<br class="">
<br class="">
Are there any objections to me putting in a pull request with this change? I<br class="">
made this same fix in BioPerl. Of course, if the comment is a “normal” one,<br class="">
it will be treated the same as it is treated now. Another words, the vast<br class="">
majority of comments stay the same.<br class="">
<br class="">
I’ll also add tests.<br class="">
<br class="">
Thanks again,<br class="">
<br class="">
Brian O.<br class="">
<br class="">
_______________________________________________<br class="">
Biopython-dev mailing list<br class="">
<a href="mailto:Biopython-dev@mailman.open-bio.org" class="">Biopython-dev@mailman.open-bio.org</a><br class="">
<a href="http://mailman.open-bio.org/mailman/listinfo/biopython-dev" class="">http://mailman.open-bio.org/mailman/listinfo/biopython-dev</a><br class="">
</blockquote>
</blockquote>
<br class="">
</blockquote>
<br class="">
_______________________________________________<br class="">
Biopython-dev mailing list<br class="">
<a href="mailto:Biopython-dev@mailman.open-bio.org" class="">Biopython-dev@mailman.open-bio.org</a><br class="">
<a href="http://mailman.open-bio.org/mailman/listinfo/biopython-dev" class="">http://mailman.open-bio.org/mailman/listinfo/biopython-dev</a></div>
</blockquote>
</div>
<br class="">
</div>
</div>

</div></blockquote></div><br class=""></div></body></html>