[Biojava-l] file i/o with ArrayList
Andreas Prlic
andreas at sdsc.edu
Wed Feb 4 15:13:44 UTC 2015
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.
https://github.com/EsotericSoftware/kryo/blob/master/README.md
Having said that, we need to improve the API and make something like this
easier.
Andreas
On Wed, Feb 4, 2015 at 2:54 AM, stefan harjes <stefanharjes at yahoo.de> wrote:
> 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:
>
> void test() {
> Kryo kryo = new Kryo();
> DNASequence dna=null;
> try {
> dna = new DNASequence("AGCT");
> } catch (CompoundNotFoundException e1) {
> // TODO Auto-generated catch block
> e1.printStackTrace();
> }
> try {
> Output output = new Output(new FileOutputStream("test.ser"));
> kryo.writeObject(output, dna);
> output.close();
> } catch (FileNotFoundException e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> try {
> Input input = new Input(new FileInputStream("test.ser"));
> dna = kryo.readObject(input, DNASequence.class);
> input.close();
> } catch (FileNotFoundException e) {
> // TODO Auto-generated catch block
> System.out.println("file not found");
> e.printStackTrace();
> }
> }
> I tried several calls of Kryo and also registration, but I can not get it
> to work.... Any ideas?
>
>
> Cheers
> Stefan
>
>
> Andreas Prlic <andreas at sdsc.edu> schrieb am 3:47 Samstag, 31.Januar
> 2015:
>
>
> Hi Stefan,
>
> for your use case (save and load at server start/stop) I'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.
> https://github.com/EsotericSoftware/kryo
>
> 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.
>
> Andreas
>
>
>
> On Fri, Jan 30, 2015 at 3:01 AM, stefan harjes <stefanharjes at yahoo.de>
> wrote:
>
> Hi biojava-l
>
>
>
> I have a huge number of small sequences in an Array
> (ListArray<Sequence<?>>) 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<Sequence<?>> seqs) should be able to do the job.
> However when looking at GenbankReaderHelper, there are no methods which
> correspond to the above writer method. Am I on the wrong track completely?
>
> 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?
>
> Any help would be appreciated
>
> Cheers
> Stefan
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.open-bio.org/pipermail/biojava-l/attachments/20150204/1cea8c0b/attachment.html>
More information about the Biojava-l
mailing list