flowcraft icon indicating copy to clipboard operation
flowcraft copied to clipboard

unicycler: Add parameter --long_reads

Open sjackman opened this issue 5 years ago • 2 comments

Porechop

Add a porechop component. It accepts long reads from either a --long_reads parameter or from a raw_long_reads secondary channel. It produces long to the long_reads secondary channel. It takes short reads from the input primary channel and passes them through unmodified to the output primary channel.

Unicycler

Assemble only short reads when long reads are not provided. Assemble short reads and long reads when long reads are provided from either the --long_reads parameter or from a long_reads secondary channel. Assembling only long reads is not supported by this component, but is supported by Unicycler.

See the original question at https://github.com/assemblerflow/flowcraft/issues/157


This change is Reviewable

sjackman avatar Oct 22 '18 22:10 sjackman

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@001a4f6). Click here to learn what that means. The diff coverage is 100%.

Impacted file tree graph

@@          Coverage Diff           @@
##             dev     #158   +/-   ##
======================================
  Coverage       ?   43.46%           
======================================
  Files          ?       63           
  Lines          ?     5899           
  Branches       ?        0           
======================================
  Hits           ?     2564           
  Misses         ?     3335           
  Partials       ?        0
Impacted Files Coverage Δ
flowcraft/generator/engine.py 90.96% <ø> (ø)
...raft/generator/components/reads_quality_control.py 100% <100%> (ø)
flowcraft/generator/components/assembly.py 100% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 001a4f6...f41791f. Read the comment docs.

codecov-io avatar Oct 22 '18 22:10 codecov-io

Some questions…

Is there any way to avoid porechop having to accept and pass-through the short reads unmodified? What if it's primary input and output were type None, meaning that it only operated on secondary data streams?

Do the input and output secondary channels of porechop need different names? I've named them raw_long_reads and long_reads. Let's say though that we wanted to first run filtlong, which filters long reads and selects the best reads. How do we connect the output of filtlong which produces a secondary channel named long_reads to the input of porechop which consumes a secondary channel named raw_long_reads?

sjackman avatar Oct 23 '18 00:10 sjackman