[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: In what version of Jellyfish has the database output format changed (Was: Kraken requires jellyfish version 1)



On Fri, Nov 20, 2015 at 3:05 AM, Andreas Tille <andreas@an3as.eu> wrote:
Hi again,

to summarise my last mail it boils down to two questions:

To kraken author:
   Would kraken rund with jellyfish 1.5.5?

I think it should.
 

To jellyfish author:
   In what jellyfish version was the output format changed?


The format changed with version 2.0. Truth be told, the formats are very close to one another. Only the header has changed. It used to be a fixed number of fields in binary, it changed to a JSON formatted header, containing much more information. But the rest of the file, past the header, should be identical. Changing one file format to the other should be easy.

Guillaume.
 
Kind regards

     Andreas.

On Tue, Nov 17, 2015 at 09:52:24AM +0100, Andreas Tille wrote:
> Hi Guillaume,
>
> as you might know the Debian Med team is packaging Jellyfish for a
> couple of releases.  After discussion with Derrick Wood the author of
> Kraken[1] I learned that Jellyfish 2 has changed its output format.  To
> enable Kraken working properly I decided to also package the latest
> Jellyfish version 1 with the old output format.
>
> So I checked out the latest jellyfish 1 version which is 1.5.5.  When
> doing so I noticed that it contains a file
>
>    jellyfish-2.0.pc.in
>
> which leads to the installation of the following dynamic library
>
>    /usr/lib/libjellyfish-2.0.so.2.0.0
>
> Since I was not able to find any documentation about a change in the
> output format (I admit I was seeking only inside the source code README
> files not the web or the code itself) I'm now wondering in what exact
> version the format change happened.  The bumped library version to 2.0
> inside the Jellyfish 1.5.5 source package looks a bit suspicious to
> me and before I do something wrong I'd like to ask.
>
> Kind regards
>
>         Andreas.
>
> [1] http://ccb.jhu.edu/software/kraken/
>
> On Mon, Nov 16, 2015 at 09:08:05PM -0500, Derrick Wood wrote:
> >
> > On Mon, Nov 16, 2015 at 10:59 AM, Andreas Tille <andreas@an3as.eu> wrote:
> >
> > > Hi Derrick,
> > >
> > > On Mon, Nov 16, 2015 at 10:20:07AM -0500, Derrick Wood wrote:
> > > > I'm pleased to hear that Kraken's got a Debian package.
> > >
> > > You are welcome. :-)
> > >
> > > > As for Jellyfish
> > > > v1, unfortunately, JF v2 changed the output file format,
> > >
> > > That's an unfortunate choice. :-(
> > >
> > > > and so Kraken will
> > > > need a bit of work to handle the new files properly. I'm working on
> > > Kraken
> > > > 2 at the moment, and that does not use Jellyfish at all.
> > >
> > > Could you provide any time scale (like will take some weeks or several
> > > monthes) until there might be some test candidates for Kraken 2?
> > >
> > > > I may be able to
> > > > modify a few things in the Kraken 1 code to handle JF2 files, but I
> > > haven't
> > > > done enough work with JF2 to ensure that it will work properly in all
> > > > situations that Kraken needs it to.
> > >
> > > I could imagine that its not fun to support this while working on a new
> > > version without any Jellyfish.
> > >
> > > > I have actually just thought of
> > > > distributing JF1 (either compiled or source, I'm undecided) with Kraken
> > > so
> > > > that Kraken's build will use its own Jellyfish program regardless of what
> > > > is installed system-wide.
> > >
> > > Hmmm, that would not help much from a Debian perspective.  We do not
> > > really like code copies.  My alternative suggestion would be the
> > > following:
> > >
> > >    1. Create a jellyfish1 package providing
> > >        /usr/lib/jellyfish1/jellyfish
> > >       (and provide the binary via
> > >        ln -s /usr/lib/jellyfish1/jellyfish /usr/bin/jellyfish1
> > >        but that should be irrelevant for kraken)
> > >
> > >    2. Use wrapper scripts for kraken like /usr/bin/kraken-build:
> > >
> > >       #!/bin/sh
> > >       export PATH=/usr/lib/jellyfish1/jellyfish:$PATH
> > >       /usr/lib/kraken/kraken-build $@
> > >
> > > This way Kraken will find jellyfish version 1 first in the PATH and
> > > should work as expected.
> > >
> > > If you consider that it takes some time until you might finish Kraken 2
> > > I could implement this for the time beeing.
> > >
> > > Kind regards
> > >
> > >         Andreas.
> > >
> > > --
> > > http://fam-tille.de
> > >
>
> --
> http://fam-tille.de

--
http://fam-tille.de


Reply to: