Я на самом деле исследователь биоинформатики, и я жду, пока запустится его собственный код биоинформатики, поэтому я попытаюсь ответить на ваш вопрос, хотя он довольно плохо сформулирован.
Я не уверен, почему вы думаете, что вам нужно "изменить" алгоритм Смита-Уотермана. Единственное, что алгоритму Смита-Уотермана нужно для выравнивания белков вместо ДНК, это матрица замещения для белков. Посмотрите в BLOSUM или PAM. Они основаны на частотах замещения различных аминокислотных пар в последовательностях, выровненных вручную некоторыми биологами давным-давно.
Построение матрицы замещения для белковых последовательностей намного сложнее, чем для ДНК-последовательностей. Например, вы ожидаете, что одна гидрофильная аминокислота будет заменять другую относительно часто, потому что она часто может сделать это без потери функции белка. Однако вы не ожидаете, что гидрофобная аминокислота заменит гидрофильную аминокислоту так часто, потому что это приведет к более резкому изменению структуры белка.
Если вы рассматриваете матрицу замещения как входные данные вместо части алгоритма, алгоритм Смита-Уотермана, хотя обычно применяется к ДНК или белкам, технически является общим алгоритмом выравнивания строк.