Recent Releases of Dnaapler

Dnaapler - v1.3.0

Thanks to @mbhall88 the functionality of --ignore has been extended

If your input FASTA or GFA is mixed (e.g. has chromosome and plasmids), you can also use dnaapler all, with the option to ignore some contigs with the --ignore parameter. The --ignore parameter now accepts either:

  1. A file path containing contig names to ignore (one per line)
  2. A comma-separated list of contig names (e.g., chr1,chr2,chr3)
  3. to read contig names from stdin (one per line) using -

e.g.

dnaapler all -i input.fasta -o output_directory_path -p my_genome_name --ignore list_of_contigs_to_ignore.txt

dnaapler all -i input.fasta -o output_directory_path -p my_genome_name --ignore chr1,chr2,chr3

echo -e "chr1\nchr2\nchr3" | dnaapler all -i input.fasta -o output_directory_path -p my_genome_name --ignore -

Scientific Software - Peer-reviewed - Python
Published by gbouras13 9 months ago

Dnaapler - v1.2.0

  • Thanks to the one and only @rrwick, Dnaapler now supports the GFA format as input. This was done to ensure support for Ryan's new bacterial genome assembly tool Autocycler, the successor to Trycycler, but may also be useful if you have GFA files from e.g. Unicycler, Flye, Spades or other assemblers.
    • If you run dnaapler with GFA input, you will get a GFA output as well.
    • If you run dnaapler with GFA input, only circular contigs will be reoriented
  • Relaxes the MMSeqs2 dependency to >=13.45111

Scientific Software - Peer-reviewed - Python
Published by gbouras13 about 1 year ago

Dnaapler - v1.1.0

  • Adds support for reorienting contigs where the gene of interest spands the contig ends #90. Thanks @marade @oschwengers.
  • Specifically, this is done by rotating each contig in the input by half the genome length, then running MMseqs2 for both the original and rotated contigs. The MMseqs2 hit with the highest bitscore across the original and rotated contigs will be chosen as the top hit to rotate by, therefore enabling detection of partial hits (on the original contig) that span the contig ends.
  • This has only been implemented for dnaapler all (this should be the command used by 99% of users).

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 1 year ago

Dnaapler - v1.0.1

  • Thanks to the inimitable @rrwick , v1.0.1 is a patch fixing a string-parsing bug.
  • If your contig headers were integers, dnaapler did not rotate the found BLAST/MMseqs2 hits. This was a pre-existing issue (not introduced by v1.0.0).

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 1 year ago

Dnaapler - v 1.0.0

  • BREAKING CHANGE - dnaapler now uses MMseqs2 v13.45111 rather than BLAST. You will need to install MMseqs2 if you upgrade (if you use conda, it should be handled for you). The CLI is identical.
  • There are 2 reasons for this:
    1. Users reported problems installing BLAST on MacOS with Apple Silicon (see e.g. here). MMseqs2 works on all platforms and is dilligently maintained.
    2. MMseqs2 is much much faster than BLAST (what took BLAST a few minutes takes MMseqs2 seconds). We probably should have written dnaapler with MMseqs2 to begin with. MMSeqs2 v13.45111 was chosen specifically to ensure interoperability with pharokka
  • The alignment results may not be identicial to dnaapler v0.8.1 (i.e. they might find different top hits), but the actual reorientation is likely to be identical (at least in my tests). Please reach out or make an issue if you notice any discrepancies

For example - on my machine (Ubuntu 20.04, Intel i9 13th gen 13900 CPU with 32 threads), for a Staphylococcus aureus genome with 1 small plasmid, dnaapler -i staph.fasta -o staph_dnaapler -t 8 took ~129 seconds wallclock with v0.8.1 using BLAST, while it took ~3 seconds wallclock with v1.0.0 using MMseqs2.

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 1 year ago

Dnaapler - v0.8.1

Minor release - adds --db dnaa,repa,cog1474 as an option for dnaapler all to allow for archaea reorientation with hybracter's next version

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 1 year ago

Dnaapler - v0.8.0

  • Adds dnaapler archaea and adds archaeal reorientation functionality into dnaapler all - thanks @richardstoeckl
  • Specifically, this uses 403 COG1474 genes COG1474
  • Relaxes (to warning) where no BLAST hits are found - pipeline will still complete (requested in a number of issues #74 #76 #77 )

Scientific Software - Peer-reviewed - Python
Published by gbouras13 almost 2 years ago

Dnaapler - v0.7.0

  • Adds -c/--custom_db with dnaapler all to allow specifying custom databases with dnaapler all.

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 2 years ago

Dnaapler - v 0.6.0

  • Fixes bug where if the starting gene (dnaA/terL/repA) was on the reverse strand, and the top BLAST hit did not find the start codon, it would reorient the genome to begin at the end of the starting gene, not the start as desired i.e. the terL would be the last gene in the output, not the first. Thanks @susiegriggo

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 2 years ago

Dnaapler - v0.5.2

  • Updates dnaapler citation and documentation to include the JOSS citation

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 2 years ago

Dnaapler - v0.5.1

  • With dnaapler all, adds the reoriented gene to the header (thanks @ammaraziz #67 )
  • Adds --db parameter to dnaapler all allowing specifying a subset of genes to make up the database. In particular, if you have bacteria and plasmids, --db dnaa,repa should speed up Dnaapler's runtime quite a bit (thanks @oschwengers #63 )

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 2 years ago

Dnaapler - v0.5.0

v0.5.0 is the JOSS Release, as published in the Journal of Open-Source Software.

Add some changes with error and logging, and other minor improvements.

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 2 years ago

Dnaapler - 0.4.0

  • Implements a modification to the logic for all cases where the top blastx hit alignment does not begin with a start codon. Instead of erroring (or skipping in all) as of v0.4.0 dnaapler will now choose the CDS (predicted by pyrodigal) that has the most overlap with the top hit alignment. Thanks @simone-pignotti for this suggestion here #44 .
  • Changes dnaapler all output FASTA name to _reoriented.fasta instead of _all_reoriented.fasta for consistency with all other commands (except dnaapler bulk).
  • Adds -a or --autocomplete option with dnaapler all.
  • Adds dnaapler largest and -a largest as an option to orient your sequence beginning with the largest CDS.

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 2 years ago

Dnaapler - 0.3.2

  • Changes Orffinder to Genefinder to support pyrodigal v3.
  • Updates dependency to pyrodigal >=v3.

Scientific Software - Peer-reviewed - Python
Published by gbouras13 over 2 years ago

Dnaapler - v0.3.1

Minor release to fix an error with dnaapler all #38 thanks @samnooij

Full Changelog: https://github.com/gbouras13/dnaapler/compare/v0.3.0...v0.3.1

Scientific Software - Peer-reviewed - Python
Published by gbouras13 almost 3 years ago

Dnaapler - v0.3.0

What's Changed

  • dnaapler all subcommand added thanks @alexweisberg
  • dnaapler all implements --ignore to ignore some contigs

New Contributors

  • @Vini2 made their first contribution in https://github.com/gbouras13/dnaapler/pull/30

Full Changelog: https://github.com/gbouras13/dnaapler/compare/v0.2.0...v0.3.0

Scientific Software - Peer-reviewed - Python
Published by gbouras13 almost 3 years ago

Dnaapler - v0.2.0

What's Changed

  • dnaapler nearest subcommand added
  • dnaapler bulk subcommand added
  • dnaA database filtered to keep only bona-file dnaA genes (i.e. GN=dnaA)
  • Adds -e parameter to vary BLAST evalue if desired
  • Adds -a autocomplete parameter if user wants to reorient sequences with mystery or nearest methods in case the BLAST based method fails

New Contributors

  • @beardymcjohnface made their first contribution in https://github.com/gbouras13/dnaapler/pull/19

Full Changelog: https://github.com/gbouras13/dnaapler/compare/v0.1.0...v0.2.0

Scientific Software - Peer-reviewed - Python
Published by gbouras13 almost 3 years ago

Dnaapler - v0.1.0

  • Completely overhauled
  • First stable released with pypi and conda
  • plassembler chromosome added
  • plassembler custom added
  • plassembler mystery added
  • plassembler phage added
  • plassembler plasmid added

Scientific Software - Peer-reviewed - Python
Published by gbouras13 about 3 years ago