Giter Site home page Giter Site logo

Comments (12)

rpetit3 avatar rpetit3 commented on July 28, 2024 1

This is the one that I couldn't remember, but found it again: https://github.com/gbouras13/dnaapler

This one might do the trick

from dragonflye.

dfornika avatar dfornika commented on July 28, 2024 1

Looks great! I wasn't aware of dnaapler. One other feature that unicycler includes is to put the start-gene (repA) on the positive strand. We've also seen some plasmids coming out of our hybrid assemblies that are the reverse-complement of plasmids from other assemblies. I just took a quick look at dnaapler and didn't see if it supports that but I hope that could be included.

from dragonflye.

rpetit3 avatar rpetit3 commented on July 28, 2024 1

Hi @dfornika,

I added support for dnaapler in the latest commit of Dragonflye. If you want to give it a try go for it, otherwise I can push a version release.

Cheers,
Robert

from dragonflye.

rpetit3 avatar rpetit3 commented on July 28, 2024 1

Yo! @incoherentian

Easiest would be to build a dragonflye env with dnaapler, then download the latest commit from here.

mamba create -n dragonflye-dev202311 -c rpetit3 -c bioconda -c conda-forge dragonflye dnaapler
conda activate dragonflye-dev202311

# Download latest commit
wget https://raw.githubusercontent.com/rpetit3/dragonflye/main/bin/dragonflye

# Replace conda version with latest commit version
chmod dragonflye
mv dragonflye $(which dragonflye)

I'll have to think about Unicycler, most likely use dnaapler by default with an option to fall back on Unicyler's method, or the opposite.

from dragonflye.

rpetit3 avatar rpetit3 commented on July 28, 2024

Hi Dan,

Thanks for reaching out! I think this is definitely within the scope of Dragonflye. Maybe as a optional step.

I saw they recommend circulator, any other stand-alone tools come to mind for you? I know Trycycler has a step as well but it depends on the previous steps.

I can also look into this on my end

Robert

from dragonflye.

dfornika avatar dfornika commented on July 28, 2024

Oh great, I'm glad to hear you're open to the idea. I'm not aware of any other stand-alone tools. I did notice that the circlator repo says it's no longer maintained, and honestly I haven't tried it out. We've had generally good experience with unicycler's plasmid rotation, but for overall quality and completeness of hybrid assemblies we've seen that dragonflye is giving better results. So if dragonflye could do the plasmid rotation step too, it would be the best of both worlds!

from dragonflye.

incoherentian avatar incoherentian commented on July 28, 2024

wasn't aware of dnaapler

Nor I! Looks like a great addition though. Agree that mirroring the Unicycler-implemented functionality in flye assemblies (preferably using same start IMO) would be great.

from dragonflye.

dfornika avatar dfornika commented on July 28, 2024

Hi @rpetit3 that's great, thanks for implementing that. I'm not sure how quickly I'll be able to set up a test run so please don't let me block you from pushing out a release if you're satisfied with the results you're seeing.

from dragonflye.

incoherentian avatar incoherentian commented on July 28, 2024

Thought I'd have a go testing from your dev channel using the new changelog version 1.2.0 (since I gave my two cents here) but this didn't work:
mamba create -n dragonflye-dev202311 -c rpetit3 -c bioconda -c conda-forge dragonflye=1.2.0

When this hits the bactopia assembler, do you think you'll disable unicycler rotation and process both outputs with dnaapler for unified no_rotate = false or no_rotate = true params?

from dragonflye.

incoherentian avatar incoherentian commented on July 28, 2024

Thanks for the mini-tutorial! Was not aware I could just download and chmod a change like that without confusing conda.

Dragonflye actively logs dnaapler progress after polypolish:

[...]
[dragonflye] Writing final assembly file => 'contigs.fa'
[dragonflye] Reorienting contigs with dnaapler
[dragonflye] Running: dnaapler all --input contigs.fa --output flye/reorient --threads 12 --prefix contigs --force  2>&1 | sed 's/^/[dnaapler] /' | tee -a dragonflye.log
[dnaapler] 2023-11-13 15:34:26.192 | INFO     | dnaapler.utils.validation:instantiate_dirs:23 - Checking the output directory flye/reorient
[dnaapler] 2023-11-13 15:34:26.205 | INFO     | dnaapler.utils.util:begin_dnaapler:71 - You are using dnaapler version 0.4.0
[...]

& dnaapler summary highlighting relevant useful info

$ cat /scratch/c.medib/bactopia_out/d57_jing_trimgalore_merged/JING1_merged_ont_dflye-dev_out_job64418956/contigs.dnaapler.summary.tsv
Contig  Gene_Reoriented Start   Strand  Top_Hit Top_Hit_Length  Covered_Length  Coverage        Identical_AAs   Identity_Percentage
contig00001 len=4685696 cov=37.0 origname=contig_1_polypolish polish=racon:1 round(s);medaka:2 round(s);polypolish:short_reads,1 round(s); sw=dragonflye-flye/1.2.0 date=20231113 circular=Y       dnaA    821920  forward sp|Q3YWB2|DNAA_SHISS    467     467     100.0   466     99.79
contig00002 len=252722 cov=34.0 origname=contig_2_polypolish polish=racon:1 round(s);medaka:2 round(s);polypolish:short_reads,1 round(s); sw=dragonflye-flye/1.2.0 date=20231113 circular=Y        repA    221900  reverse UniRef90_A0A077W3J7     291     291     100.0   290     99.66

Appears to be working perfectly :)

from dragonflye.

rpetit3 avatar rpetit3 commented on July 28, 2024

Hi all!

I finally got around to a proper release, v1.2.0 is now available with this feature: https://github.com/rpetit3/dragonflye/releases/tag/v1.2.0

Going to close this for now, please feel free to reopen!

from dragonflye.

MrTomRod avatar MrTomRod commented on July 28, 2024

Dear @rpetit3

I went through your code a bit and have a question: what happens if there is a linear contig? Does dragonflye use Dnaapler to reorient that, too?

from dragonflye.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.