У меня есть некоторые данные, которые описывают упорядоченный набор дискретных событий (или состояний).Существует 34 возможных состояния, которые могут встречаться в любом порядке и могут повторяться.Каждая последовательность событий может содержать любое количество событий, и, что особенно важно, существует более 2 последовательностей событий.Моя конечная цель - объединить эти последовательности в похожие подмножества, но я догадываюсь, что это не может быть значимым, если эти последовательности не выровнены так, чтобы эквивалентные события занимали одинаковое положение во всех последовательностях.
Я очень хорошо знаком смножественное выравнивание биологических последовательностей, но все программное обеспечение, с которым я сталкивался для этого (MUSCLE, MAFFT, T-COFFEE, Clustal * и т. д.), требует последовательности ДНК, РНК или АА, и у меня больше состояний, чем у любого из них, поэтомуЯ не могу заставить их работать.
Я нашел различные реализации алгоритмов выравнивания попарно , такие как Needleman-Wunsch в R, но до сих пор не встречал каких-либо общих(небиологические) реализации любых множественных алгоритмов выравнивания последовательностей.
Например, скажем, мои данные выглядят так:
1: ABCDEFG
2: ACDGH
3: BDEFEGI
4: AH
5: DEGHI
Моя цель - получить ихвыглядеть следующим образом:
1: ABCDEF-G--
2: A-CD---GH-
3: -B-DEFE--I
4: A-------H-
5: ---DE--GHI
Где символ -
обозначает отсутствие события в этой последовательности.Это упрощенный пример, на самом деле я ищу что-то, что штрафует за открытие пробелов (-
) так же, как это делают алгоритмы MSA с биологической последовательностью.
Единственное программное обеспечение, которое у меня естьобнаружил, что, возможно, это возможно, это Alphamalig (http://alggen.lsi.upc.es/recerca/align/alphamalig/intro-alphamalig.html), но он старый, и я не могу заставить его работать на моей машине. В идеале я хотел бы что-то, что может быть реализовано в R.