Release notes during the development of Sequenceserver BLAST

SequenceServer BLAST Release Notes


2024-02-14 SequenceServer BLAST 3.0 Release Notes

This marks a significant update to SequenceServer, introducing a plethora of features, improvements, and bug fixes aimed at enhancing the bioinformatics analysis experience. The full list of commits and detailed changes can be accessed on the GitHub repository.

New Features and Enhancements

Maintenance Updates

User Interface and Usability Improvements

Performance Optimizations

Security and Stability Fixes

Small List of Changes


2023-10-04 SequenceServer BLAST 2.2

Noteworthy Feature Enhancements

User Experience Improvements

Infrastructure and Compatibility


2023-08-01 SequenceServer BLAST 2.1

User Experience and Collaboration

Code Quality and Security


2020-12-11 Many improvements due to Hacktoberfest and other initiatives

We are pleased to announce the next candidate release of SequenceServer 2.0.

  1. Automatically check for incompatible databases on startup and prompt users to reformat them.
  2. Upgrading from the older (V4) to the newer (V5) database now preserves any taxonomy information embedded in the database.
  3. Add ability to use -taxids_map of makeblastdb during database creation. To use it, add a ‘.taxids_map.txt’ file next to the FASTA file (e.g. “/db/ants.taxids_map.txt” for “/db/ants.fa”)
  4. Add option in the search form to open BLAST results in a new tab.
  5. Add ‘Edit search’ and ‘New search’ links to the report page. (thanks to Tomas-Pluskal & TomMD for the push)
  6. Search form can now be cleared by reloading the page. Relevant if you use your web browser’s back button or ‘Edit search’ link and want to clear the form to start over.
  7. Make it easier to pass command line arguments to Docker image. For example, number of BLAST threads can now be set as “docker run … wurmlab/sequenceserver sequenceserver -n 4” instead of “docker run … wurmlab/sequenceserver bundle exec bin/sequenceserver -d /db -n4” (yeah!)
  8. Reduce size of Docker image 3-fold. (credit: Nathan Weeks, Neel Kamath)
  9. Reduce size of gem file 3-fold. (credit: Nathan Weeks)
  10. Fix a bug that prevented query textarea from being resized veritcally. (credit: Iain-S)
  11. Fix a bug that prevented search form from rendering query sequences sent to it via POST request. (credit: Sam Hokin)
  12. Fix a bug that prevented the use of keyboard shortcut ‘Ctrl-Enter’ to submit the search form.
  13. Fix a bug that would cause an infinite loop on search form if the user had only one database.
  14. Fix a bug that could cause new users to be prompted more than once to join the announcements list.
  15. Fix a bug that was causing Travis builds to fail.

Special thanks to Iain-S for introducing us to hacktoberfest. It was incredibly productive, leading to changes 8-10 above.


2020-06-23 Support for NCBI BLAST’s v5 database format

Based on your feedback we have fixed bugs affecting docker and sub-URI deployments, updated documentation for HPC-integration, and most importantly, we have created a path for migrating to NCBI’s newer V5 database format (see release notes below).

  1. Running ‘sequenceserver -m’ will now automatically detect older V4 databases, and those created without the ‘-parse_seqids’ option of makeblastdb, and offer to rebuild them. This works even if you deleted the original FASTA files. Database titles are preserved when rebuilding, however, taxonomy information in the database is unfortunately not preserved.
  2. If you do not wish to rebuild your databases yet, you can now run SequenceServer with BLAST+ 2.9.0 instead. The tradeoff is that you would have to manually download BLAST+ 2.9.0 and indicate its location in the configuration file. SequenceServer will only download 2.10 by default.
  3. If building BLAST databases fails for some reason, the command that was tried and the resulting output is properly relayed to the user so that the problem can be diagnosed (#469). Thanks to mjcoynejr for testing the fix.
  4. BLASTing a mix of older V4 and newer V5 databases causes error. SequenceServer now catches and informs the user of this error. Thanks to Massimiliano babbucci for reporting this issue.
  5. On sub-URI deployments, clicking the back button would result in no databases to be displayed in the search form (#462). Fixed that. Thanks to Xiang Zhang for reporting the issue and testing the fix.
  6. The list of databases in the search form should be alphabetically sorted. This behaviour was lost in the rewrite leading to version 2.0 and has now been fixed. Thanks to Loraine Guéguen for reporting the issue.
  7. Docker-related optimisations: SequenceServer no longer prompts to join the mailing list when running under Docker (#468). Thanks to Matt for reporting the issue. Furthermore, we have updated the docker base image and reduced the image size by ~100 Mb.
  8. Documentation for HPC integration was out of date with regard to how to invoke the wrapper script (#445). Thanks to Loraine Guéguen for reporting the issue, testing the fix.

Thanks to Niek Art, Matt Yoder, Massimiliano babbucci, Bjoernsen, and Eric Y for reporting database compatibility issues that prompted us to create a path for migrating to the new database format.

2020-04-22 Release candidate 2

  1. A programming error prevented databases from being deselected when you go back to the search form after submitting a query. That’s now fixed. Thanks to Norman Johnson for reporting the issue.
  2. Database creation step could skip FASTA files containing too many Ns at the beginning of the file. Fixed that. Thanks to Michał T. Lorenc for reporting the issue.
  3. During the initial setup SequenceServer would print the message ‘config file not found’ multiple times. Fixed that.
  4. Results page would fail to load completely if the submitted queries resulted in no hits. Fixed that.
  5. Give users an option to sign up for release and other important announcements during the initial setup.
  6. Highlight the use of non-default parameters by changing the background of advanced parameters field to yellow when filled.
  7. Include SequenceServer version and a link to our paper in the search summary at the top of the results page.

New documentation

We have also been able to make many of the required changes to the website for the 2.0 release and are testing it locally: https://github.com/wurmlab/sequenceserver/tree/gh-pages2.0.

2020-03-15 New architecture for improved flexibility: 2.0 release candidate 1

Dear colleagues,

We are pleased to announce a candidate release of SequenceServer 2.0. This completes the rearchitecting of SequenceServer 1.0 that we announced almost two years ago: https://groups.google.com/d/msg/sequenceserver/2G4_jdAr4-k/2yxQKixVBQAJ

We have made many changes since version 1.0. The key features are:

  1. Support for BLAST 2.10.0 and the new BLAST database format.
  2. Results now open in a new page. You can share the link with colleagues or bookmark the page and return to it at a later date. Results are saved for 30 days.
  3. We have integrated three new visualisations that facilitate interpretation of BLAST results: Length distribution (histogram) of all hits of a query. This is inspired from our work with GeneValidator (https://academic.oup.com/bioinformatics/article/32/10/1559/1742817) and can, for example, help quality-assessment of gene predictions. Kablammo visualisation (https://academic.oup.com/bioinformatics/article/31/8/1305/212772) for each query-hit pair indicates clearly which parts of the query match which part of the hits. Circos-style plot of queries and their top hits. This is similar to the circoletto tool (https://academic.oup.com/bioinformatics/article/26/20/2620/194655). For example, it can help visually testing for conserved synteny or gene duplication.
  4. We provide a command-line mechanism for importing a BLAST XML file and visualising it in SequenceServer. This works for DIAMOND as well.
  5. The 30 hit limit for FASTA download has been removed. In addition, you can now download raw pairwise alignments.
  6. Better support for long-running BLAST searches, for rendering large BLAST results (thousands of hits), and for integrating as part of other websites.
  7. Improved error handling, security enhancements, and a new look!

Compared to the beta releases, the biggest remaining limitations were SequenceServer’s handling of large BLAST results and back button of browsers. We have addressed those.

We request you to try out the “candidate” release of version 2.0 and report any issues you encounter with your setup (or give us a thumbs up). We will update the documentation at http://sequenceserver.com over the next few weeks. In the meantime, please feel free to ask any question here or on GitHub.

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

Please report any issues here: https://github.com/wurmlab/sequenceserver/issues.

You can also send us pull-requests. We welcome any help you may be able to provide in terms of improving test coverage and making code style checkers happy.

Kind regards, Priyam & Yannick

2019-12-21 Announcing 2.0.0beta4

Dear all,

We are pleased to announce the last beta release of this series. In this release, we have added a few features based on popular demand and fixed tons of bugs.

Overall, the new architecture now feels quite robust and has seen a growing adoption within the community. We have incremented the version number to 2.0 to reflect this milestone. We thank you for your patience, encouragement, and support.

New features since 1.1.0-beta12

Bug fixes and refinements

Circos visualisation:

Length distribution of all hits for each query:

Code quality improvements

2018-12-20 Announcing the last release of the SequenceServer beta series, and version 2.0

Dear all,

We are pleased to announce the last beta release of this series. In this release, we have added a few features based on popular demand and fixed tons of bugs.

You can find a detailed list of changes on our GitHub release page: https://github.com/wurmlab/sequenceserver/releases/tag/2.0.0.beta4.

Overall, the new architecture now feels quite robust and has seen a growing adoption within the community. We have incremented the version number to 2.0 to reflect this milestone. We thank you for your patience, encouragement, and support.

We invite you to try it out and help us get to stable version by sending us a pull-request or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-09-10 Announcing a 12th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 12th beta release of SequenceServer 1.1.0. This release includes a few small enhancements and several code-style improvements.

Changelog

We invite you to try out the beta releases and help us get to stable version by sending us a pull-request or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-07-10 Announcing a 11th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 11th beta release of SequenceServer 1.1.0. This release includes many small-small bug fixes and enhancements.

Changelog

Roadmap

https://docs.google.com/document/d/1Vt2MmaD5h5oN8XrmokLVnjUfRLWqKVWeEja3w9SIeBw (comments welcome)

We invite you to try out the beta releases and help us get to stable version by sending us a pull-request or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-06-19 Announcing a 10th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 10th beta release of SequenceServer 1.1.0. Based on popular demand we added a button to select all databases. We have further made several visual and speed improvements to the results page and fixed an important bug.

Features

Bug fixes

Roadmap

https://docs.google.com/document/d/1Vt2MmaD5h5oN8XrmokLVnjUfRLWqKVWeEja3w9SIeBw (comments welcome)

We invite you to try out the beta releases and help us get to stable version by sending us a pull-request or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-05-30 Announcing a 8th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 8th beta release of SequenceServer 1.1.0. This is a small release that fixes an issue introduced by the previous release.

Changelog

We invite you to try out the beta releases and help us get to stable version by sending us a pull-request or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

Roadmap: https://docs.google.com/document/d/1Vt2MmaD5h5oN8XrmokLVnjUfRLWqKVWeEja3w9SIeBw (comments welcome)

2018-05-26 Announcing a 7th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 7th beta release of SequenceServer 1.1.0. In this release we have addressed inconsistencies created by asynchronous rendering of results that was introduced in previous release, made a few enhancements and bug fixes, and introduced one final visualisation.

Changelog

What’s next

The idea is to continue with optimising results page and individual visualisations. Apart from optimisations, only a few more small-small features remain to be implemented before the final release.

Roadmap: https://docs.google.com/document/d/1Vt2MmaD5h5oN8XrmokLVnjUfRLWqKVWeEja3w9SIeBw (comments welcome)

We invite you to try out this release and help us get to a stable version by sending us a pull-request or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-05-21 Announcing a 6th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 6th beta release of SequenceServer 1.1.0 for testing. In this release we have enabled one more visualisation, focused on optimising the results page, and fixed some bugs.

Changelog

What’s next (comments welcome)

https://docs.google.com/document/d/1Vt2MmaD5h5oN8XrmokLVnjUfRLWqKVWeEja3w9SIeBw

We invite you to try out this release and help us get to a stable version by sending us a pull-request or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-04-27 Announcing a 5th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 5th beta release of SequenceServer 1.1.0. This release activates the circos visualisation for testing and fixes a few other bugs. Detailed changelog and a rough roadmap to stable release below.

Changelog

Roadmap (comments welcome)

https://docs.google.com/document/d/1Vt2MmaD5h5oN8XrmokLVnjUfRLWqKVWeEja3w9SIeBw

We invite you to try out this release and help us get to a stable version by sending us a pull-rquest or reporting any bugs on our issue tracker: https://github.com/wurmlab/sequenceserver/issues

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-04-20 Announcing a 4th Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 4th beta release of SequenceServer 1.1.0 for testing.

Changelog

We invite you to try out this release and help us get to a stable version by reporting any bugs on our issue tracker (https://github.com/wurmlab/sequenceserver/issues) or sending us a pull-request.

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-04-12 Announcing a 3rd Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 3rd beta release of SequenceServer 1.1.0 for testing.

Changelog

For those interested in using SequenceServer API to run BLAST searches using curl or so,

We invite you to try out this release and help us get to a stable version by reporting any bugs on our issue tracker (https://github.com/wurmlab/sequenceserver/issues) or sending us a pull-request. Some standing issues:

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-03-30 Announcing a 2nd Beta release of SequenceServer 1.1.0 for testing

Hello,

We are pleased to announce 2nd beta release of SequenceServer 1.1.0 for testing.

Changelog

We invite you to try out this release and help us get to a stable version by reporting any bugs on our issue tracker (https://github.com/wurmlab/sequenceserver/issues) or sending us a pull-request.

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

2018-03-22 Announcing a major new version of Sequenceserver 1.1.0-beta

Dear all,

We are pleased to announce a “beta” release of the next major version of SequenceServer - 1.1.0-beta for testing.

We have fundamentally restructured how SequenceServer works in order to achieve two goals.

  1. Most importantly, with the approach used to date, we were limited in what we could do with visualisations and filtering. The new approach overcomes all of this.
  2. We felt it was important to be able to bookmark and share BLAST results, and be able to return to them at a later date.

This new version incorporates multiple new minor features (full list below for details), but the biggest change is the “under the hood” restructuring. Today’s beta release is experimental - it has some limitations we know about, and we hope that you can help us find those that remain unknown. We expect this release to be the first of a series of small regular improvements each incorporating additional new features.

While we have begun using this version for real things, we consider it a “development” rather than a “production” release. Please use with care and report any problems on the github tracker or on this thread.

Features

Bugfixes

Known issues

As this is beta software, a few things may not work as expected. Following is a list of known issues that we are currently working on:

Technical explanation of changes

We invite you to try out this release and help us get to a stable version by reporting any bugs on our issue tracker (https://github.com/wurmlab/sequenceserver/issues) or sending us a pull-request.

Upgrading is simple. If you have Ruby 2.3 or later, run:

gem install --pre sequenceserver

This does not remove your current sequenceserver installation. Instead, it changes the default. If something breaks, you can rollback by running:

gem uninstall sequenceserver

We welcome any help you may be able to provide in terms of code review, improving test coverage, and making code style checkers happy.

Kind regards, Priyam & Yannick

https://wurmlab.com Evolutionary genomics @ Queen Mary U London