public IEnumerable <KeyValuePair <string, string> > AlignedSequence()
        {
            var rmIncr       = 0;
            var seq1Incr     = 0;
            var seq2Incr     = 0;
            var resultMatrix = new List <KeyValuePair <string, string> >();

            TracebackPath.Reverse();
            foreach (var tracebackItem in TracebackPath)
            {
                if (tracebackItem == Move.DiagonalMove) // match
                {
                    resultMatrix.Add(new KeyValuePair <string, string>(
                                         Sequence1[seq1Incr].ToString(),
                                         Sequence2[seq2Incr].ToString()));
                    seq1Incr++;
                    seq2Incr++;
                }
                else if (tracebackItem == Move.VerticalMove)
                {
                    resultMatrix.Add(new KeyValuePair <string, string>(
                                         "-", Sequence2[seq2Incr].ToString()));
                    seq2Incr++;
                }
                else
                {
                    resultMatrix.Add(new KeyValuePair <string, string>(
                                         Sequence1[seq1Incr].ToString(), "-"));
                    seq1Incr++;
                }

                rmIncr++;
            }
            return(resultMatrix);
        }