問題タブ [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.
sequence-alignment - ギャップペナルティ関数を使用したグローバルアライメント
次の問題で私を助けることができる体はありますか?!
パラメーター k について、2 つの文字列間のグローバル アラインメントを計算します。ただし、アラインメントに含まれるギャップ (連続するインデルのブロック) は最大で k 個であるという制約に従います。
python - Waterman-Eggert アルゴリズムの実装
最適ではないローカル シーケンス アラインメントを見つけるための Waterman-Eggert アルゴリズムを実装しようとしていますが、個々のグループのアラインメントを「デクランプ」する方法を理解するのに苦労しています。基本的な Smith-Waterman アルゴリズムが正常に動作しています。
次のシーケンスをそれ自体に対してアラインする簡単なテスト:
次のように fMatrix を生成します。
次善のアラインメントを見つけるために、例えば
最初に最適な配置を削除し (つまり、主対角線に沿って)、fMatrix を再計算する必要があります。これは「デクランプ」として知られており、アラインメントの「クランプ」は、アラインメントされた残基の 1 つまたは複数のペアと交差/共有するパスを持つアラインメントとして定義されます。fMatrix に加えて、fMatrix が構築された方向に関する情報を含む二次マトリックスがあります。
fMatrix とバックトラッキング マトリックスを作成するコードのスニペットは次のとおりです。
この最適な配置を削除するために、この backMatrix を使用して fMatrix をバックトラックし (元の Smith-Waterman アルゴリズムに従って)、設定fMatrix[i][j] = 0
を行ってみましたが、これは塊全体を削除するのではなく、その塊の正確な配置のみを削除します.
いくつかの背景情報については、Smith-Waterman アルゴリズムのウィキペディアのページで fMatrix の構築方法が説明されており、バックトラッキングのしくみについての説明がここにあります。Waterman-Eggert アルゴリズムについては、こちらで大まかに説明しています。
ありがとう。
python - 複数配列アラインメント - アラインメントへの追加
私はすでに複数の配列アラインメントを行った 520 のインフルエンザ配列のセットを持っており、ペアごとの同一性マトリックスを計算しました。別のシーケンスを追加したい場合は、すべてを再調整し、PWI マトリックス全体を再計算する必要があります。この他のシーケンスをアラインメントに「追加」し、他のすべてのシーケンスに対してのみ PWI を計算するために使用できるプログラムはありますか?
簡単な例は次のようになります。次のスコアの 2x2 アライメントがあります。
完全なアラインメントを再実行せずに、他のすべての配列に対して「SeqC」を実行するだけで、次のマトリックスを取得したいと思います。
私は BioPython パッケージを使用しており、Python が好みの言語ですが、必要に応じて Java でも問題ありません。
[BioStars に参加していない専門家がここにいる場合に備えて、BioStars からの相互投稿であることをここでは断言します。BioStars の投稿はhttp://www.biostars.org/p/77607/ですが、内容はまったく同じです。]
python - バイオインフォマティクス クエリ用の Python スクリプトを改良する方法
私はPythonにまったく慣れていないので、可能であれば助けていただければ幸いです。私は 2 つの近縁生物 [E_C & E_F] のゲノムを比較し、いくつかの基本的な挿入と削除を特定しようとしています。両方の生物の配列を使用して、FASTA ペアワイズ アラインメント (glsearch36) を実行しました。
以下は、私の python スクリプトのセクションで、1 つのシーケンス (データベース) で 7 ヌクレオチド (ヘプタマー) を特定できましたが、これは他のシーケンス (クエリ) のギャップに対応しています。これは私が持っているものの例です:
ギャップが 9 位にあると仮定します。スクリプトを改良して、両方の配列で 20 ヌクレオチド以上離れており、周囲のヌクレオチドも一致する場合にのみギャップを選択しようとしています。
これは私のスクリプトのセクションで、上半分はさまざまなファイルを開く処理です。また、最後に各シーケンスのカウントを含む辞書も出力します。
基本的に、基本的な挿入/削除分析を行うために、ペアワイズ アラインメントの結果を編集して、クエリ シーケンスとデータベース シーケンスの両方でギャップの反対側のヌクレオチドを特定しようとしていました。
以前の問題の 1 つは、ノイズを減らすためにギャップ "-" 間の距離を 20 nt に増やすことで解決できました。これにより、結果が改善されました。上で編集されたスクリプト。
これは私の結果の例であり、最後に各シーケンスの出現回数をカウントする辞書があります。
ただし、ギャップの周りのヌクレオチドをこのように正確に一致させるスクリプトを修正しようとしています。各シーケンスで一致するntを表示するだけです:
これについて何か助けていただければ幸いです。
r - R ゲノム アラインメント ビューアー
現在、genbankのpttファイルを読み込んで、genoplotRを使用してRでゲノムをプロットするために使用しました
また、対応するソートされたbamファイルを読み込み、rbamtoolsを使用してカバレッジプロットを作成しました
これらの 2 つの図を 1 つのグラフに重ねて、R で基本的なゲノム アラインメント ビューアーを作成したいと思います。
どんな助けでも大歓迎です!
ありがとう
string - Rで同様の文字列をグループ化するにはどうすればよいですか?
私は、約 5,000 の地域名を含むデータベースを持っています。そのほとんどは、タイプミス、順列、略語などの繰り返しです。さらに処理を高速化するために、それらを類似性によってグループ化したいと考えています。最良の方法は、各バリエーションを「プラトニック形式」に変換し、元の形式とプラトニック形式で 2 つの列を並べて配置することです。Multiple sequencealignmentについて読んだことがありますが、これは主にバイオインフォマティクスで DNA/RNA/ペプチドの配列に使用されているようです。地名でうまくいくかどうかはわかりません。Rでそれを行うのに役立つライブラリを知っている人はいますか? または、多くのアルゴリズムのバリエーションのうち、どれが適応しやすいでしょうか?
編集:Rでそれを行うにはどうすればよいですか? これまで、私は adist() 関数を使用していました。これは、文字列の各ペア間の距離のマトリックスを提供してくれました (ただし、転座を本来あるべき方法で処理していません。以下のコメントを参照してください)。私が現在取り組んでいる次のステップは、このマトリックスを十分に類似した値のグループ化/クラスタリングに変えることです。前もって感謝します!
編集:転座の問題を解決するために、2 文字を超えるすべての単語を取得し、それらを並べ替え、残っている句読点を削除し、文字列に再度貼り付ける小さな関数を実行しました。
次に、これをテーブルのすべての行に適用します
最後に adist() を適用して類似度テーブルを作成します。
warnings - Emboss needle() 警告: 「ajSeqCvtKS にシーケンス文字が見つかりません」...?
ペアワイズ グローバル アラインメントを実行する EMBOSSwin の needle() コマンド ライン関数を使用していますが、奇妙な警告が表示されます。
したがって、アラインメントが必要なアミノ酸配列のペアが 24 あります。「subprocess.call()」を使用して Python から needle() コマンドを実行します。このプロセスが発生している間 (一見スムーズに)、次の警告が表示されます。
追加の手がかり:
この奇妙な警告にもかかわらず...ご覧のとおり、アラインメントはneedle()によって.fasta形式で正常に生成されます...
...しかし...これらのアライメントをPythonに読み戻そうとすると、説明のつかない「AssertionErrors」が発生します-biopythonのAlignIO.read()関数を使用します(直接関連する私の質問については、http ://bit.ly/1aHK9w7を参照してください)このAssertionError )...
*明確にするために: これらの AlignIO() AssertionErrors は、needle() 警告に関連していない可能性がありますが、私はこの警告を調査の主要な手がかりとして扱っています...!