kbaseattic / assembly

An extensible framework for genome assembly.
MIT License
12 stars 14 forks source link

Handle multiple PE libs in IDBA plugin #272

Closed levinas closed 9 years ago

levinas commented 9 years ago

How to get just the paired end libs in the wasp engine?

This recipe was trying to be conscious of the fact that IDBA needs paired libs to work with:

      (if (has_paired READS)
        (prog
          (define id (idba pp))
          (define assemblies (list id sp vt)))
        (define assemblies (list sp vt)))

But it still fails when a mixed library containing single end reads are passed. Is there a way to do something like the following?

    pe = get_paired READS
    (if (not_empty pe)
         (idba pp)...
cbun commented 9 years ago

Hmm, I thought we fixed this in the idba plugin. This sort of granularity should be handled in the plugin by using the data.paired_files property.

We can implement a method like that in wasp too, if we want to take that route.

I'll look into it, can you give me an example of a failing dataset?

On Mon, Dec 8, 2014, 8:30 AM Fangfang Xia notifications@github.com wrote:

How to get just the paired end libs in the wasp engine?

This recipe was trying to be conscious of the fact that IDBA needs paired libs to work with:

  (if (has_paired READS)
    (prog
      (define id (idba pp))
      (define assemblies (list id sp vt)))
    (define assemblies (list sp vt)))

But it still fails when a mixed library containing single end reads are passed. Is there a way to do something like the following?

pe = get_paired READS
(if (not_empty pe)
     (idba pp)...

— Reply to this email directly or view it on GitHub https://github.com/kbase/assembly/issues/272.

levinas commented 9 years ago

Example: https://github.com/kbase/assembly/blob/master/test/arast.t#L158

You can launch this with: ./arast.t mixed_input_with_smart

Yeah I kind of remember we fixed that, but this input is quite "mixed".

cbun commented 9 years ago

IDBA complains that there is more than 1 paired library.

Assuming we want this to do the right thing, what should the behavior be? We could take the first library and discard the rest? Or maybe concatenate?

levinas commented 9 years ago

Ah I see. Perhaps concatenation, but let's move this out of the current milestone.

On Dec 8, 2014, at 5:31 PM, Christopher Bun notifications@github.com wrote:

IDBA complains that there are more than 1 paired library.

Assuming we want this to do the right thing, what should the behavior be? We could take the first library and discard the rest? Or maybe concatenate?

— Reply to this email directly or view it on GitHub.

levinas commented 9 years ago

IDBA now takes the first PE lib, if there is one, and ignores the rest libs. https://github.com/kbase/assembly/commit/9d423424295de40afe2895465534dbc3e931ea73