問題タブ [sequence-alignment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - 配列アラインメント
配列アラインメントについて次の質問があります。
グローバル アラインメントアルゴリズムは、2 つの配列をその全長にわたって強制的にアラインさせたい場合に役立ちます。ローカル アラインメントは、2 つの配列間で類似性が最も高い領域を見つけて、そこから外側に向かってアラインメントを構築します。
非常に長い 1 つのシーケンスと小さなシーケンスのライブラリがある場合、アライメント コストを最小化するライブラリ内の小さなシーケンスの連結を見つけるための最適なアルゴリズムは何ですか?
python - 複数配列アラインメント (最長共通部分配列)?
OKこれは私がやりたいことです:
2 つ以上の文字列を取得し、それらを「整列」します (DNA/RNA シーケンスなどはなく、それぞれに 1000 個ほどのアイテムがない通常の文字列のみ)。
ペアワイズ アラインメント (2 つの文字列をアラインする) については既にいくつかの作業を行っていますが、複数のペアをアラインしようとすると、「ギャップ」が問題を引き起こします。
例(私が現在テストしているもの):
そして別の(より説明的な)例:
私が現在していること:
- 文字列を並べ替える (長い文字列がリストの最初に来る)
- 最初のペア : AB を整列させ、結果を取得します (たとえば
R1
) - 次に、2 番目のペア :
R1
とC
(結果はR2
)を揃えます。 - 次に、3 番目のペア
R2
を揃えます。D
- 等々...
それで、あなたの心の中には何がありますか?どうすればそれを手に入れることができますか?より良い方法はありますか?(もちろんあるはず…)
私はPerl/Pythonまたはこれらの行に沿った何かでそれを行いたいと思っていますが、あらゆるタイプのコード/リファレンスは大歓迎です! :-)
r - 配列アラインメントをファイルに出力
BioconductorのBiostringsパッケージのpairwiseAlignmentを使用して、単純なペアワイズDNA配列アラインメントを実行します。
出力は次のようになります。
非常に長いシーケンスの場合、出力は切り捨てられ、1行のみが表示されます。
完全な配置をテキストファイルに出力するにはどうすればよいですか?
bioinformatics - MultipleSeqAlignment オブジェクトの印刷
によって生成された3つのシーケンスのアラインメントがありますclustalx
Biopython で定義済みのインデックス付けを使用してアライメントをスライスできますalign[:,:4]
ただし、結果を印刷すると、次のようになります。
以下に示すように、名前を出力せずにサブアラインメントをキャプチャするにはどうすればよいですか?
align[:,:4].seq
探している出力が得られません。
java - タンパク質配列表示
大学の研究プロジェクトの Java アプリケーションでタンパク質配列のアラインメントを表示しようとしています。各セルで JLabel を含む JTable を使用して、シーケンス内のアミノ酸を保持するというアイデアがありました。背景色、テキスト色を変更し、各セル イベントを駆動できるようにする必要があります。これを行うより良い方法はありますか?
r - ロングペアワイズヌクレオチドアラインメントを行うアルゴリズムを探しています
私は可能性をスキャンしようとしてSNPs
おりindels
、足場を参照ゲノムのサブシーケンスに整列させています。(生の読み取りは利用できません)。R/bioconductor
Biostrings パッケージの「pairwiseAlignment」関数を使用しています。これは小さなスキャフォールドでは問題なく機能していましたが、56kbp スキャフォールドとして整列しようとすると失敗し、次のエラー メッセージが表示されました。
QualityScaledXStringSet.pairwiseAlignment のエラー (パターン = パターン、: サイズ 17179869183.7 Gb のメモリ ブロックを割り当てることができません
これがバグかどうかわかりませんか?; Needleman-Wunsch algorithm
私は、 used bypairwiseAlignment
は、計算の要求がoperationsO(n*m)
の順序にあることを意味すると私が考えたであるという印象を受けました。同様に、類似度マトリックスも 3.1 ギガのメモリを占めるようです。big-o表記を正しく覚えていないのか、それとも環境のオーバーヘッドを考慮してアライメントを構築するために実際に必要なメモリオーバーヘッドなのかはわかりません。3.1E9
(56K * 56k ~= 3.1E9)
Needleman-Wunsch
R scripting
より長いシーケンスのアラインメントに使用するより良いアラインメント アルゴリズムの提案はありますか? 最初のアラインメントは、BLAST を使用してすでに行われており、アラインメントする参照ゲノムの領域を見つけています。インデルを正しく配置するための の信頼性に完全に自信があるわけでBLAST
はなく、生の BLAST アラインメントを解析するためのバイオストリングによって提供されるものと同じくらい良い API をまだ見つけることができませんでした。
ところで、問題を再現するコード スニペットを次に示します。
このエラーは、短いアラインメント (数百の塩基) では発生しません。エラーが発生し始める長さのカットオフをまだ見つけていません
algorithm - 最小サブシーケンス長制約によるシーケンスアラインメント
最小のサブシーケンス長の制約でシーケンスアラインメントを実装するにはどうすればよいですか。たとえば、これらの入力の最小サブシーケンス長を3とします。Smith-Watermanを使用すると、次のような出力が得られます。
しかし、代わりに私は以下のようにする必要があります。
このための既知のアルゴリズムはありますか、それともアプローチを知っていますか?
前もって感謝します。
python - 再帰呼び出しによるパスの検索: 最適な文字列配置
それで、前にこれを尋ねてみましたが、私が探していたものについて十分に明確ではなかったと思います. 私は最適な文字列配置アルゴリズムを作成しています。これは実際には動的プログラミングの問題です。なので、再帰的に書くことにしました。このプログラムは、次の 2 つの部分で構成されています。
- 関連するコストに基づいてアラインメントを最小化する、2 つの単語間の「編集距離」を見つける。たとえば、同じ文字を並べるとコストは 0、2 つの母音を並べるとコストは 0.5 ですが、ギャップのある文字を並べるとコストは 1 になります。
- アラインメントの視覚化: つまり、文字列とギャップの最適なアラインメントを使用して文字列を相互に重ねます。
私の編集距離は機能すると思います。私は同僚と同じ値を取得しており、差し迫った問題はないようです。ただし、一致、挿入、および削除のシーケンスを復元してアライメントを視覚化する方法を理解するのに苦労しています。私の問題は、最低 3 回の再帰呼び出しを行う再帰関数があるという事実に起因しています。そのため、再帰呼び出しごとに「移動」(一致、挿入、削除) が追加されるため、必要以上に長いシーケンスになってしまいます。これは、最もコストがかからないため使用されない可能性があります。
これが私のコードです:
そうそう、私は自分が持っているものが機能していないことを知っています。newseq
再帰呼び出し中に発生するすべての追加を削除してリセットしようとするため、現在のグローバル変数の長さは 1 です。この再帰アルゴリズムで最適なアライメントを構成する一連の「移動」を記録する方法を設定するにはどうすればよいですか?
編集:これが私の memoize デコレータ関数です:
r - Rで一度に10列をループする
1000列のデータフレームがあります。一度に 10 列をループしてseqdef()
、パッケージの関数を使用しTraMineR
て、それらの列のデータ全体でシーケンス アラインメントを実行しようとしています。したがって、この関数を最初の周回では列 1 ~ 10 に適用し、2 回目の周回では列 11 ~ 20 に 1000 まで適用します。
これは私が使用しているコードです。
ただし、これは最初の 10 をループしてから停止します。10列のチャンクでループするにはどうすればよいですか?