Skip to content

Releases: VerisimilitudeX/DNAnalyzer

DNAnalyzer v3.5.0-beta.0

24 Dec 23:28
921f63c
Compare
Choose a tag to compare

Introduction

This release introduces full batch FASTA file support, quantitative insights into disease-associated gene expression sites, annotations for CFTR sequences, and parallelized codon mapping for even faster data processing. Additionally, it addresses several major compatibility bugs on Linux and uses Multi-Task Learning (MTL) to further improve performance by learning multiple machine learning tasks at the same time.

DNAnalyzer currently takes just 11 minutes to conduct analyses on a full human genome running on an M4 Max MacBook Pro, a 47% reduction on average from v3.0.0-beta.0. The end goal for DNAnalyzer is to be able to run on a mobile device in mere seconds.

Of course, this release would not have been possible without contributions from the computational biology research community, and we are grateful to the 43 returning and first-time contributors for their commits, discussion posts, and issues. Please continue reading for more updates and the full change log.

Updates to Citations

If you utilize this software for personal, institutional, or company purposes, please cite DNAnalyzer using:

Acharya, P. (2022). Democratizing ML-powered DNA analysis through efficient on-device analysis and interpretive tools. (Version 3.5.0-beta.0) [Computer software]. https://github.com/VerisimilitudeX/DNAnalyzer

What's Changed

Features

Fixes

Code Improvements

Documentation Updates

Styling and Formatting

  • Style: format code with Autopep8 and Google Java Format by @deepsource-autofix in #450 and other PRs.
  • [ImgBot] Optimize images by @imgbot in #396

Miscellaneous


New Contributors


Full Changelog: v3.0.0-beta.0...v3.5.0-beta.0

Meet DNAI: A ML-Based Analysis of DNA

15 May 21:23
f8656df
Compare
Choose a tag to compare

Note: Some features mentioned below will be rolling out to users over the next couple of weeks as we haven't finished verifying its reliability

Today, we are proud to introduce DNA.I., a groundbreaking open source project that brings the power of machine learning to DNA analysis. DNAnalyzer is the first and only tool that lets you explore, understand, and discover the secrets of your DNA sequences with ease and elegance. DNAnalyzer is built on DNA.I., a revolutionary ML-based framework that can reveal the hidden patterns and properties of DNA sequences, such as gene expression, methylation, transcription factors, and more.

DNA.I. uses cutting-edge deep learning models and techniques to learn from massive genomic data and generate stunning insights. DNA.I. can also do amazing things like sequence alignment, motif discovery, and annotation. DNA.I. is designed to be flexible and modular, so you can tailor your analysis pipelines and integrate your own data sources.

Some of the amazing features of DNAnalyzer v3.0.0-beta.0 are:

  • A beautiful and intuitive graphical user interface (GUI) that lets you easily upload your DNA sequences, choose the analysis options, and see the results in gorgeous visualizations.
  • A powerful command-line interface (CLI) that gives you more control and functionality for those who love to work in a terminal environment.
  • A rich collection of pre-trained models and datasets that cover a wide range of DNA analysis tasks, such as gene expression prediction, methylation detection, transcription factor binding site identification, and more.
  • A comprehensive documentation that guides you through how to install, use, and extend DNAnalyzer and DNA.I.
  • A community forum where you can connect with other users, ask questions, share feedback, report issues, and contribute to the development of the project.
  • We believe that DNAnalyzer will be an invaluable and delightful resource for researchers, students, educators, and enthusiasts who want to explore the fascinating world of DNA. We welcome any suggestions, comments, or contributions that can help us make our project better and more accessible and beneficial for everyone.

To download the new DNAnalyzer, please visit our GitHub repository: https://github.com/VerisimilitudeX/DNAnalyzer/releases

To learn more about DNA.I. and how it works, please read our upcoming research paper (releasing on 8/31/2023): A ML-Based Analysis of DNA

As always, thank you for your support and interest in DNAnalyzer! 🧬

What's Changed

New Contributors

Full Changelog: v2.1.1...v3.0.0-beta.0

Website v2, Configure Sentry API, Other Minor Enhancements

29 Dec 08:20
b6feb13
Compare
Choose a tag to compare

What's Changed

  • Change tutorial video from OneDrive to Youtube by @LimesKey in #312
  • Update style.css by @a5a7 in #316
  • New web UI by @Verisimilitude11 in #317
  • Refactor Junit test classes and methods to be package-private by @Ravina-Deogadkar in #319
  • Add copyright headers and modify to 2023 by @Verisimilitude11 in #333

New Contributors

  • @a5a7 made their first contribution in #316

What's Next?

The project may seem to have been relatively quiet for the past couple of weeks, but in reality, the team has been hard at work revamping the project and recruiting new contributors. Stay tuned for more updates as we continue to incorporate machine learning into DNAnalyzer. Expect the next release to be a big one!

Downloading

To download the source files, expand the "Assets" section below and choose either the zip or tar.gz file, depending on your operating system. Once downloaded, you can run the program using the command line interface (CLI) commands explained in the README or via the new GUI.

Video tutorial on installation and usage: https://youtu.be/dOwkInn6eDw

As always, thanks everyone for your contributions! I'll see you all in the next release. 👋

Full Changelog: v2.1.0...v2.1.1

Introducing An All-New GUI & Website

11 Nov 21:45
Compare
Choose a tag to compare

GUI

Thanks, @frankschmitt for implementing a cross-platform GUI application for DNAnalyzer. Currently, it supports the following features:

  • Set the name of the DNA file to analyze
  • Set minimum and maximum number of reading frames
  • Run analysis

The Met CLI continues to be the best way to run the program, with more features to be added to both in the future.

Website

Thanks, @krishnabiradar310802 for developing a website that creates awareness for DNAnalyzer and outlines the main features. It is accessible via https://www.dnanalyzer.live/ and is hosted on GitHub Pages. We are currently working on linking the backend to the frontend with the help of @aryanagrawal8808. @zackwebster and @BLUE-DEVIL1134 who are working on improving the frontend code.

As always, thanks, everyone for your contributions! I'll see you all in the next release.

What's Changed

New Contributors

Full Changelog: v2.0.0...v2.1.0

Introducing a CLI and Gradle Support

11 Oct 16:11
Compare
Choose a tag to compare

What's Changed

  • Use user input filename for analysis by @Kit-p in #85
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #86
  • Test DNA From GDV by @Verisimilitude11 in #87
  • Create codeql-analysis.yml by @Verisimilitude11 in #88
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #89
  • added Contributing_Guidelines.md file by @sumitbishti in #92
  • Update ProteinFinder.java by @aakash232 in #93
  • resolves #90: added and update java docs by @iamHrithikRaj in #100
  • Refactor for Utility classes - Issue #84 by @B4CKF1SH in #98
  • resolves #80: Refactor CoreExecutor.createProteinList(String,String) by @iamHrithikRaj in #101
  • Fixed formatting inconsistencies by @Verisimilitude11 in #102
  • Refactor CodonData class #69 by @shubhwip in #94
  • Revert "Refactor CodonData class #69" by @Verisimilitude11 in #110
  • Separate constants from static functions by @shubhwip in #109
  • Refactor ProteinFinder.getProtein with many args by @shubhwip in #99
  • Refactor ReadingFrames constructor by @shubhwip in #111
  • added min and max count User input at beginning of program. by @Lumary2 in #113
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #114
  • Get ReadingFrame from user input by @klurpicolo in #115
  • #74 refactoring of Properties.countNucleotides method by @Speedro in #116
  • Refactor getAminoAcid method with reduced branches by @androlover98 in #118
  • Fixed broken link for DNA Generator by @Verisimilitude11 in #120
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #119
  • Refactor getAminoAcid by @shubhwip in #112
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #124
  • resolves #68 : updated README.md by @iamHrithikRaj in #127
  • Closes #128 : handled infinite loop when file-path is incorrect by @iamHrithikRaj in #129
  • Switch to picocli by @Nv7-GitHub in #123
  • Move CoreExecutor code into CmdArgs by @Nv7-GitHub in #155
  • Protein finding by @Nv7-GitHub in #158
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #159
  • Reformatted by @Verisimilitude11 in #163
  • Updates readme to include cli by @aminisonya in #162
  • Fix #95: added code conventions by @sumitbishti in #161
  • Configure Gradle build. Implements #117. by @frankschmitt in #125
  • Make compile work + picocli as external dependency + fat jar by @Nv7-GitHub in #164
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #166
  • Document the CmdArgs class, resolves #169 by @bufutda in #172
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #174
  • Reverse option by @Nv7-GitHub in #167
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #177
  • Adding Gradle instructions in Read Me by @Saket2 in #175
  • removed instantiation of class with only static methods by @AbbasSalloum in #171
  • Updated contributors in main readme.md by @sb-decoder in #180
  • Added inline video, removed markdown by @zackrhodes86 in #192
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #179

New Contributors

Full Changelog: v1.2.2...v2.0.0

[MINOR] Introducing A Slightly Refined Algorithm

24 Sep 06:49
ddf1017
Compare
Choose a tag to compare

A major release is coming up soon, currently slated for a mid-October release. This is going to be the last stable release before the major update. Thorough testing was conducted on this refined algorithm to ensure its accuracy.

What's Changed

  • Add .deepsource.toml by @deepsource-autofix in #39
  • Update .deepsource.toml by @deepsource-autofix in #40
  • Format code with prettier and google-java-format by @deepsource-autofix in #41
  • Update .deepsource.toml by @deepsource-autofix in #52
  • Update .deepsource.toml by @deepsource-autofix in #54
  • Update .deepsource.toml by @deepsource-autofix in #53
  • [ImgBot] Optimize images by @imgbot in #58
  • Update .deepsource.toml by @deepsource-autofix in #55
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #57
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #56
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #64
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #62
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #63
  • Format code with autopep8 and google-java-format by @deepsource-autofix in #66

New Contributors

  • @deepsource-autofix made their first contribution in #39

Full Changelog: v1.2.1...v1.2.2

Introducing Major Performance Boost

25 Aug 19:51
Compare
Choose a tag to compare

What's Changed

New Contributors

Known Issues

  • Gene(s) with the highest coverage doesn't work as expected in #11

How to download

  1. Download and extract DNAnalyzer.jar / DNAnalyzer.rar / DNAnalyzer.zip
  2. Open the extracted folder through an IDE
  3. Make sure that you have JDK 11 or above
  4. Run Main.java which can be found under the files folder

Full Changelog: v1.1.0...v1.2.0

Introducing Performance Tests

25 Aug 19:55
Compare
Choose a tag to compare
Pre-release

What's Changed

Known Issues

  • Gene(s) with the highest coverage doesn't work as expected in #11

How to download

  1. Download and extract DNAnalyzer.jar / DNAnalyzer.rar / DNAnalyzer.zip
  2. Open the extracted folder through an IDE
  3. Make sure that you have JDK 11 or above
  4. Run Main.java which can be found under the files folder

Full Changelog: v1.1.0...v1.1.5

Note: This release is for testing purposes only

Introducing Reduced External Dependencies

18 Aug 18:51
d45bd0e
Compare
Choose a tag to compare

What's Changed

  • Create dependabot.yml in #14
  • Create codeql.yml in #15
  • Create maven.yml in #16
  • Delete ideas.txt in #20
  • Removed all dependencies on the Duke Software Library as it wasn't fully compatible in #22

Known Issues

  • #11
  • FASTA file compatibility isn't fully tested in this build as it shifted to directly using a StringBuilder from a StorageResource.

How to download

  1. Download and extract Algorithm-for-Analyzing-Genes-in-DNA.zip
  2. Open the extracted folder through an IDE
  3. Make sure that you have JDK 11 or above
  4. Run entrypoint.java which can be found under the files folder

Full Changelog: v1.0.0...v1.1.0

Introducing FASTA File Compatibility

10 Aug 18:56
Compare
Choose a tag to compare

What's Changed

  • Update README.md to add citations and more content by @Verisimilitude11 in #4
  • Create CODE_OF_CONDUCT.md by @Verisimilitude11 in #5
  • Create LICENSE by @Verisimilitude11 in #6
  • Added issue templates by @Verisimilitude11 in #7
  • StorageResource and FASTA file compatibility check by @Verisimilitude11 in #9

Improvements

This release introduces the capability to parse .fa (FASTA files). In bioinformatics, the FASTA format is a text-based format for representing either nucleotide sequences or amino acid (protein) sequences, in which nucleotides or amino acids are represented using single-letter codes. The format also allows for sequence names and comments to precede the sequences. The format originates from the FASTA software package, but has now become a near universal standard in the field of bioinformatics.

How to download

  1. Download and extract files.jar and docs.zip
  2. Open the extracted folder through an IDE
  3. Make sure that you have JDK 11 or above
  4. Run entrypoint.java

Full Changelog: v1.0.0-beta.0...v1.0.0