<section begin=features/>
* The [https://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm Needleman-Wunsch sequence alignment algorithm ] now calculates an alignment score.
* Implementation of the central star multiple sequence alignment (MSA) algorithm.
* Implementation of a reside number based multiple sequence alignment (MSA) algorithm.
* Sequence alignments are now saved in the relax data store.
* Important formatting improvement for the description in the GUI user function windows, removing excess empty lines after lists.
* Creation of the [http://www.nmr-relax.com/manual/structure_sequence_alignment.html structure.sequence_alignment user function]. The [https://en.wikipedia.org/wiki/Multiple_sequence_alignment MSA algorithm ] can be set to either 'Central Star' or 'residue number', the pairwise sequence alignment algorithm to 'NW70' for the [https://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm Needleman-Wunsch algorithm], and the substitution matrix to one of [https://en.wikipedia.org/wiki/BLOSUM 'BLOSUM62'], [https://en.wikipedia.org/wiki/Point_accepted_mutation 'PAM250'], or 'NUC 4.4'.
* More advanced support for different numpy number types in the [http://www.nmr-relax.com/api/3.3/lib.xml-module.html lib.xml relax library module]. This allows numpy int16, int32, float32, and float64 objects to be saved in the relax data store and retrieved from relax XML save and results files.
* Merger of structure.align into the [http://www.nmr-relax.com/manual/structure_superimpose.html structure.superimpose user function].
* Import fix for the [http://www.nmr-relax.com/api/3.3/test_suite.unit_tests._lib._sequence_alignment.test_align_protein.Test_align_protein-class.html _lib._sequence_alignment.test_align_protein unit test module].
* Added the verbosity argument to [http://www.nmr-relax.com/api/3.3/lib.sequence_alignment.align_protein-module.html#align_pairwise lib.sequence_alignment.align_protein.align_pairwise()]. If set to zero, all printouts are suppressed.
* The [https://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm Needleman-Wunsch sequence alignment algorithm ] now calculates and returns an alignment score. This is in the [http://www.nmr-relax.com/api/3.3/lib.sequence_alignment.needleman_wunsch-module.html#needleman_wunsch_align lib.sequence_alignment.needleman_wunsch.needleman_wunsch_align() function]. The score is calculated as the sum of the Needleman-Wunsch matrix elements along the traceback path.* The protein pairwise sequence alignment function now returns the alignment score. This is in the [http://www.nmr-relax.com/api/3.3/lib.sequence_alignment.align_protein-module.html#align_pairwise lib.sequence_alignment.align_protein.align_pairwise() function]. The score from the [https://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm Needleman-Wunsch sequence alignment algorithm ] is simply passed along.
* Fix for the [http://www.nmr-relax.com/api/3.3/test_suite.unit_tests._lib._sequence_alignment.test_msa.Test_msa-class.html#test_central_star Test_msa.test_central_star unit test]. This is from the [http://www.nmr-relax.com/api/3.3/test_suite.unit_tests._lib._sequence_alignment.test_msa-module.html _lib._sequence_alignment.test_msa unit test module]. Some of the real gap matrix indices were incorrect.
* Complete implementation of the central star multiple sequence alignment algorithm. This includes all the four major steps - pairwise alignment between all sequence pairs, finding the central sequence, iteratively aligning the sequences to the gapped central sequence, and introducing gaps in previous alignments during the iterative alignment. The correctness of the implementation is verified by the [http://www.nmr-relax.com/api/3.3/test_suite.unit_tests._lib._sequence_alignment.test_msa.Test_msa-class.html#test_central_star Test_msa.test_central_star unit test] of the [http://www.nmr-relax.com/api/3.3/test_suite.unit_tests._lib._sequence_alignment.test_msa-module.html _lib._sequence_alignment.test_msa module].