code: public static Alignment<NucleotideSequence> align(LinearGapAlignmentScoring scoring, NucleotideSequence seq1, NucleotideSequence seq2,
                                                        int offset1, int length1, int offset2, int length2, int width) {
          try {
              MutationsBuilder<NucleotideSequence> mutations = new MutationsBuilder<>(NucleotideSequence.ALPHABET);
              float score = align0(scoring, seq1, seq2, offset1, length1, offset2, length2, width,
                      mutations, AlignmentCache.get());
              return new Alignment<>(seq1, mutations.createAndDestroy(),
                      new Range(offset1, offset1 + length1), new Range(offset2, offset2 + length2), score);
          } finally {
              AlignmentCache.release();
          }
      }
docs: Classical Banded Alignment
  <p/>
  <p>Both sequences must be highly similar</p> <p>Align 2 sequence completely (i.e. while first sequence will be
  aligned against whole second sequence)</p>
  
  @param scoring scoring system
  @param seq1    first sequence
  @param seq2    second sequence
  @param offset1 offset in first sequence
  @param length1 length of first sequence's part to be aligned
  @param offset2 offset in second sequence
  @param length2 length of second sequence's part to be aligned
  @param width   width of banded alignment matrix. In other terms max allowed number of indels