SequenceAlignment

SequenceAlignment[s1,s2]

文字列,リストあるいは生体分子配列 s1s2中の一連の要素の選択的なアライメントを求め,連続して一致する文字列と異なる文字列のリストを返す.

詳細とオプション

  • SequenceAlignment[s1,s2]{seg1,seg2,}の形式のリストを返す.ただし,segiはマッチするセグメントを表す単一の文字列かリスト要素の連続 usi間で異なるセグメントを表すペアの{u1,u2}である.
  • 次は,使用可能なオプションである.
  • GapPenalty 0各アラインメントギャップについての追加コスト
    IgnoreCase False文字列中の大文字小文字の違いを無視するかどうか
    MergeDifferences True隣接する差分を結合するかどうか
    Method "Global"使用するアラインメントアルゴリズム
    SimilarityRules Automatic要素間の類似度についての規則
  • SequenceAlignmentは,全体的な類似度スコアを最大にするようなアラインメントを求めようとする.
  • SequenceAlignmentは,デフォルトで,完全な文字列またはリスト s1とリスト s2の大域的NeedlemanWunsch 配列を求める.
  • オプション設定をMethod->"Local"とすると,局所的SmithWaterman配列が求まる.
  • 十分によく似ている文字列またはリストの場合,局所的配列法と大域的配列法は同じ結果を返す.
  • SequenceAlignmentは,GapPenaltyMergeDifferencesSimilarityRulesがすべてそれぞれのデフォルトに設定されていることを条件に,"AlignByLongestCommonSequence"法と"AlignByLongestSubsequences"法もサポートする.
  • "Global"法と"Local"法はどちらも類似度スコアを最大にするのに対し,"AlignByLongestCommonSequence"は両方の文字列に共通の文字数またはリスト要素の数を最大にする.
  • "AlignByLongestSubsequences"は,事実上,分離統括ヒューリスティック近似で(必ずしも隣接ではない)最長の共通文字列を並べるもので,高速化するために確実さを犠牲にする.文字列がかなり近い場合はアラインメントの質がよくなり,速度も他の方法に比べて最大2桁速くなる.
  • デフォルト設定のSimilarityRules->Automaticでは,2つの要素間の各マッチは全体的な類似度スコアを1大きくし,ミスマッチ,挿入,削除はそれぞれスコアを1小さくする.
  • SimilarityRulesのノートで指摘されているように,さまざまな名前付き類似行列がサポートされている.

例題

すべて開くすべて閉じる

  (2)

類似した2つの文字列を大域的に整列させる:

BioSequenceの2例の大域的アライメント:

オプション  (8)

GapPenalty  (1)

デフォルトで,アライメントには2つのギャップが伴う:

ギャップの追加コストを増すと,他のアライメントのギャップが少なくなる:

IgnoreCase  (1)

SequenceAlignmentは,文字列の大文字小文字の違いを考慮する:

IgnoreCaseTrueとすると,SequenceAlignmentはアラインメントの前に両方の文字列の文字を小文字に変換する:

MergeDifferences  (1)

これは,挿入,削除,置換を別々の差異で与える:

Method  (3)

2つの文字列のデフォルトの大域的アラインメント:

同じ文字列の局所的アラインメント:

2つの生体分子配列を取る:

"AlignByLongestCommonSequence"法は,両方の配列に共通する文字数またはリスト要素数を最大にする:

2つのテキストの付加記号を削除して小文字に変換する:

"AlignByLongestSubsequences"法は,類似度が高い文字列に対してはかなり速いが,一致する文字集合は非常に小さい可能性がある:

SimilarityRules  (2)

2つの短いタンパク質配列のアライメントを与える:

"V"の削除に負のスコアを割り当てると異なる配列になる:

縮重記号のアライメントを求める型特有の類似度規則でアライメントを求める:

縮重類似度規則がないと,完全な縮重アライメントが見逃されてしまう:

アプリケーション  (4)

次は,2つの等しい文字列の大域的アライメントを与える:

これは,大域的文字列アライメントと局所的文字列アライメントを示している:

ヒトとチンパンジーの参照BRCA1遺伝子配列を入手する:

長さが似ていることを確認する:

デフォルトの"Global"法を使って両者を並べ,ByteCountを使って結果の大きさを確認する:

"Local"法は遅くなるが,より簡潔な結果を与える:

両方のペアに共通する最長配列を使って並べる:

この場合は"AlignByLongestSubsequences"法が最も速く,最小の結果を与える:

一致する部分の合計の長さは近く,最も長い共通配列を使用したアラインメントでは最大の一致部分がある:

2つのスカンジナビア言語による国連世界人権宣言を入手する:

デフォルトメソッドと最長共通文字列メソッドの両方を使って並べ,バイト数で比較する:

大域法には一致する部分の文字の60%が含まれる:

より速いヒューリスティック法にも,一致する部分の文字の57%近くが含まれる:

考えられる問題  (1)

ネストしたリストのアラインメントの際は,レベル1のリストを入力リストの共通要素としてよい:

レベル1のリストが2つの入力リストの相違を示してもよい:

2つの出力は等しいので,2つのケースを区別するために出力を使うことはできない:

おもしろい例題  (1)

非常に似ている2つの遺伝子を比較する:

Diffを使って違いをグラフィカルに見る:

Wolfram Research (2008), SequenceAlignment, Wolfram言語関数, https://reference.wolfram.com/language/ref/SequenceAlignment.html (2024年に更新).

テキスト

Wolfram Research (2008), SequenceAlignment, Wolfram言語関数, https://reference.wolfram.com/language/ref/SequenceAlignment.html (2024年に更新).

CMS

Wolfram Language. 2008. "SequenceAlignment." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/SequenceAlignment.html.

APA

Wolfram Language. (2008). SequenceAlignment. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SequenceAlignment.html

BibTeX

@misc{reference.wolfram_2024_sequencealignment, author="Wolfram Research", title="{SequenceAlignment}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/SequenceAlignment.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_sequencealignment, organization={Wolfram Research}, title={SequenceAlignment}, year={2024}, url={https://reference.wolfram.com/language/ref/SequenceAlignment.html}, note=[Accessed: 17-November-2024 ]}