<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div class="" style="" id="yui_3_16_0_1_1423752989843_6608">Hi Paolo, Andreas,</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6609"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6610">I am sorry if I sounded disrespectful.&nbsp;</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6611"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6612">I would like to point out that a new user gets confused by what has been published about the biojava library. There are several places where you strongly indicate that concatenated sequences are the intended design (see citations below).</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6613"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6614">I interpreted the below citations, that the library is aimed at concatenated sequences. However the actual reading reads only one record. I thought it to be very helpful to correct this discrepancy and submit a patch. Usually patches are reviewed by a maintainer who either accepts or rejects the pull request. And I would like to mention, that I also spent a lot of time to understand and correct the issue.</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6615"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6616">I would be glad if you find a way how to include contributions.</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6617"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6647">I would also like to mention, that there are errors during Genbank reading/writing. When I compare an original Genbank sequence to one which has been first read and then written, I can see that there are several differences between the two files. The most urgent of which is that the Location start of each feature is incremented by one for each read/write cycle. There are also some minor issues like: the version field is shortened, references and organism are dropped, keywords and source are not copied etc. So it seems you are in need of additional contributions.</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6645"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6646">citations:</div><div class="" style=""><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6648">from the cookbook:</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6649"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6650"><span class="" style="white-space:pre">        </span>/*</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6651"><span class="" style="white-space:pre">        </span> * Method 2: With the GenbankReaderHelper</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6652"><span class="" style="white-space:pre">        </span> */</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6653"><span class="" style="white-space:pre">        </span>//Try with the GenbankReaderHelper</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6654"><span class="" style="white-space:pre">        </span>File dnaFile = new File("src/test/resources/NM_000266.gb");<span class="" style="white-space:pre">                </span></div><div class="" style=""><span class="" style="white-space:pre">        </span>File protFile = new File("src/test/resources/BondFeature.gb");</div><div class="" style="">&nbsp;</div><div class="" style=""><span class="" style="white-space:pre">        </span>LinkedHashMap&lt;String, DNASequence&gt; dnaSequences = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GenbankReaderHelper.readGenbankDNASequence( dnaFile );</div><div class="" style=""><span class="" style="white-space:pre">        </span>for (DNASequence sequence : dnaSequences.values()) {</div><div class="" style=""><span class="" style="white-space:pre">        </span> &nbsp; &nbsp;<span class="" style="white-space:pre">        </span>System.out.println( sequence.getSequenceAsString() );</div><div class="" style=""><span class="" style="white-space:pre">        </span>}</div><div class="" style="">&nbsp;</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6498">without knowing the contents of 'NM_000266.gb' the reader must assume, that there are several sequences in the file as first: &nbsp;The LinkedHashMap is called 'dnaSequences" with emphasis on the plural. Second if you read only one DNASequence why would you have a LinkedHashMap and why would you loop over one! sequence? Correct me if I am wrong, but in my opinion the cookbook expects concatenated sequences per single file.</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6499"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6500">For non concatenated sequences speaks, that the method itself is named 'readGenbankDNASequences'. So I looked into the method to gain more clarity.</div><div class="" style=""><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6501">from the source code of GenbankReader:</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6502">/**</div><div class="" style="">* This method tries to parse maximum &lt;code&gt;max&lt;/code&gt; records from</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6503">* the open File or InputStream, and leaves the underlying resource open.&lt;br&gt;</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6504">.</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6505">.</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6506">.</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6507"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1423752989843_6508">The introducing comment of the method clearly speaks of multiple records. The</div><div class="" style="" id="yui_3_16_0_1_1423752989843_6509">method is called with a parameter 'max=-1' to indicate that all records of the</div><div class="" style="">file should be read. Interestingly the parameter max is not mentioned again in the following code&nbsp;</div><div class="" style="">and thus not implemented.&nbsp;</div><div class="" style=""><br class="" style=""></div><div class="" style="">So do you not agree, that the design discussion of whether or not concatenated</div><div class="" style="">sequence files are expected is not decided in your library?</div><div class="" style=""><br class="" style=""></div><div class="" style="">Best regards</div><div class="" style="">Stefan</div><div class="" style=""><br class="" style=""></div></div></body></html>