<div dir="ltr">Thanks for pointing this out, Stefan. The problem is that the NucleotideCompound class does not have a zero-args constructor. That means you need to tweak kryo a bit. Kryo can be configured to use an InstantiatorStrategy to handle creating instances of a class. <a href="https://github.com/EsotericSoftware/kryo/blob/master/README.md">https://github.com/EsotericSoftware/kryo/blob/master/README.md</a><div><br></div><div>Having said that, we need to improve the API and make something like this easier. </div><div><br></div><div>Andreas</div><div><br><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 4, 2015 at 2:54 AM, stefan harjes <span dir="ltr">&lt;<a href="mailto:stefanharjes@yahoo.de" target="_blank">stefanharjes@yahoo.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"><div dir="ltr"><span>I finally had some time to try the serialization/deserialization library  (Kryo) you mentioned, but I do not seem to get it to work. I can not even save a DNASequence:</span></div><div dir="ltr"><br><span></span></div><div dir="ltr"><span>void test() {<br>    Kryo kryo = new Kryo();<br>    DNASequence dna=null;<br>    try {<br>        dna = new DNASequence(&quot;AGCT&quot;);<br>    } catch (CompoundNotFoundException e1) {<br>        // TODO Auto-generated catch block<br>        e1.printStackTrace();<br>    }<br>    try {<br>        Output output = new Output(new FileOutputStream(&quot;test.ser&quot;));<br>         kryo.writeObject(output, dna);<br>        output.close();    <br>    } catch (FileNotFoundException e) {<br>        // TODO Auto-generated catch block<br>        e.printStackTrace();<br>    }<br>    try {<br>        Input input = new Input(new FileInputStream(&quot;test.ser&quot;));<br>        dna = kryo.readObject(input, DNASequence.class);<br>        input.close();<br>    } catch (FileNotFoundException e) {<br>        // TODO Auto-generated catch block<br>        System.out.println(&quot;file not found&quot;);<br>        e.printStackTrace();<br>    }<br>}<br></span></div><div dir="ltr"><span>I tried several calls of Kryo and also registration, but I can not get it to work.... Any ideas?</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><br><span></span></div><div dir="ltr"><span>Cheers</span></div><div dir="ltr"><span>Stefan</span></div><div dir="ltr"><span></span></div> <div><br><br></div><div style="display:block"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"> <font face="Arial"> Andreas Prlic &lt;<a href="mailto:andreas@sdsc.edu" target="_blank">andreas@sdsc.edu</a>&gt; schrieb am 3:47 Samstag, 31.Januar 2015:<br> </font> </div><div><div class="h5">  <br><br> <div><div><div><div dir="ltr">Hi Stefan,<div><br clear="none"></div><div>for your use case (save and load at server start/stop) I&#39;d recommend the Kryo library.  It will store your data as a binary. Should be only two lines of code each to persist and load the data. <a rel="nofollow" shape="rect" href="https://github.com/EsotericSoftware/kryo" target="_blank">https://github.com/EsotericSoftware/kryo</a></div><div><br clear="none"></div><div>You are right, writing is not very well developed, but then there are so many utility libraries in Java that can be used for efficient serialization/deserialization in many ways, once you have an object in memory.</div><div><br clear="none"></div><div>Andreas</div><div><br clear="none"></div><div><br clear="none"></div><div><div><br clear="none"><div>On Fri, Jan 30, 2015 at 3:01 AM, stefan harjes <span dir="ltr">&lt;<a rel="nofollow" shape="rect" href="mailto:stefanharjes@yahoo.de" target="_blank">stefanharjes@yahoo.de</a>&gt;</span> wrote:<br clear="none"><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="color:rgb(0,0,0);font-family:HelveticaNeue,&#39;Helvetica Neue&#39;,Helvetica,Arial,&#39;Lucida Grande&#39;,sans-serif;font-size:16px;background-color:rgb(255,255,255)">Hi biojava-l<div><br clear="none"><br clear="none"></div><div style="display:block"><div style="font-family:HelveticaNeue,&#39;Helvetica Neue&#39;,Helvetica,Arial,&#39;Lucida Grande&#39;,sans-serif;font-size:16px"><div style="font-family:HelveticaNeue,&#39;Helvetica Neue&#39;,Helvetica,Arial,&#39;Lucida Grande&#39;,sans-serif;font-size:16px"><div><div><div><div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,&#39;Helvetica Neue&#39;,Helvetica,Arial,&#39;Lucida Grande&#39;,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><div style="display:block"><div style="font-family:HelveticaNeue,&#39;Helvetica Neue&#39;,Helvetica,Arial,&#39;Lucida Grande&#39;,sans-serif;font-size:16px"><div style="font-family:HelveticaNeue,&#39;Helvetica Neue&#39;,Helvetica,Arial,&#39;Lucida Grande&#39;,sans-serif;font-size:16px"><div><div><div><div style="color:rgb(0,0,0);font-family:HelveticaNeue,&#39;Helvetica Neue&#39;,Helvetica,Arial,&#39;Lucida Grande&#39;,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><div><br clear="none"></div><div dir="ltr">I have a huge number of small sequences in an Array (ListArray&lt;Sequence&lt;?&gt;&gt;) which for server start and stop I would like to store on disk. Unfortunately Sequence is not serilizable, so I searched and found that GenbankWriterHelper.writeSequences(OutputStream os, Collection&lt;Sequence&lt;?&gt;&gt; seqs) should be able to do the job. <br clear="none"></div><div dir="ltr"><div>However when looking at GenbankReaderHelper, there are no methods which correspond to the above writer method. Am I on the wrong track completely? <br clear="none"></div><div><br clear="none"></div><div dir="ltr">When looking at the writer/reader helpers, I think I remember reading that they are rudimentary and save only the sequence (fasta)? I would expect in such an advanced verision of biojava (4.0 is being prepared?) that there must be a standard way to serialize rich sequences/arrays of them in order to send them around on streams/Json etc?<br clear="none"></div><div><br clear="none"></div><div>Any help would be appreciated</div></div><div dir="ltr"><br clear="none"></div><div dir="ltr">Cheers</div><span><font color="#888888"></font></span><div dir="ltr">Stefan</div><br clear="none"></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote></div><div><br clear="none"></div>
</div></div></div></div></div><br><br></div>  </div></div></div> </div>  </div> </div></div></blockquote></div><br><div><br></div>
</div></div>