Releases: hivdb/nucamino
Interface Upgrade
New features were introduced in this version:
- New alignment profile system allows custom references, genes, and scores.
- New built-in alignment profiles for HCV (genotypes 1a, 1b, 2, 3, 4, 5, and 6).
- New interface implements sub-commands:
align
to align sequences using a built-in alignment profilealign-with
to align sequences using a custom alignment profileprofile
, which has subcommands for working with alignment profilesprofile check
to verify that nucamino can load a custom alignment profilelist
to list built-in profileslist-genes
to list the genes available in a built-in profileprint
to print a YAML representation of a built-in profile
Major interface upgrade
New features were introduced in this version:
- New alignment profile system allows custom references, genes, and scores.
- New built-in alignment profile "hcv1a".
- New interface implements with new subcommands
align
,align-with
,profile check
,profile list
andprofile print
(seenucamino <subcommand> --help
for detail usage).
Stable release
This released the final stable version used by the Sierra project. Several changes was made in this version to increase the performance and fine-tune the alignment results.
- Identify simple alignment during the boundary detecting process. An alignment was called "simple" if there was not a single indel or frameshift. A simple alignment reduced the space complexity from
O(mn)
toO(n)
by tracing back the alignment path arithmetically without using any matrix. - Reduce matrix space usage by half by removing the not used scores.
- Semiglobal alignment was introduced to the core algorithm by not penalizing gaps at the beginning and the end of the alignment.
- Implement continuous integration with TravisCI and CodeCov.
- Fine-truning of the RT69 indel scores for HIV-1 pol sequences.
Unittest, coverage and bugfix
- Implement continuous integration with TravisCI and CodeCov.
- Fixed a bug caused fatal error when sequence was misaligned.
Minor improvements
- Identify simple alignment during the boundary detecting process. An alignment was called "simple" if there was not a single indel or frameshift. A simple alignment reduced the space complexity from
O(mn)
toO(n)
by tracing back the alignment path arithmetically without using any matrix. - Reduce matrix space usage by half by removing the not used scores.
- Semiglobal alignment was introduced to the core algorithm by not penalizing gaps at the beginning and the end of the alignment.
Optimization release
Since this version, NucAmino is capable to be a replacement of the LAP program used by the Sierra production environment. Major changes were made in this version:
- Partially resolved a major issue which caused huge memory usage (> 15GB) by detecting the boundary of input sequence before creating the O(n*m) matrix. After the optimization, the memory usage dropped ~10x for the same set of test sequences.
- New output format "json" was added to provide more verbose alignment result.
- Fixed a bug that missing NAs were replaced to "N" in "partial" mutation.
- In hiv1b subcommand, the three genes PR, RT and IN were combined into a single gene POL. This change resolved the "overlapping alignment" issue.
- Bumped Go version from 1.7.4 to 1.9.0 to take the advance of the new optimizations of Go compiler.
As usual, to list all available parameters of command line tool, type following command:
Linux and MacOS:
./nucamino-linux-amd64 --help
./nucamino-linux-amd64 hiv1b --help
Windows:
nucamino-windows-amd64 --help
nucamino-windows-amd64 hiv1b --help
Bugfix version 0.1.1
This version fixed a serious bug that cause the concurrency ineffective.
We published a single executable file for every mainstream system (Windows, MacOS and Linux). The executable file is a command line program. The instruction of its usage can be retrieved by the following command.
Linux and MacOS:
./nucamino-linux-amd64 --help
./nucamino-linux-amd64 hiv1b --help
Windows:
nucamino-windows-amd64 --help
nucamino-windows-amd64 hiv1b --help
Version 0.1 released
This is an initial release of NucAmino. We published a single executable file for mainstream systems (Windows, MacOS and Linux). The executable file is a command line program. The instruction of its usage can be retrieved by the following command.
Linux and MacOS:
./nucamino-linux-amd64 --help
./nucamino-linux-amd64 hiv1b --help
Windows:
nucamino-windows-amd64 --help
nucamino-windows-amd64 hiv1b --help