問題タブ [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.
java - パラレル シーケンス アラインメント アルゴリズム
Java で並列処理を使用して効率的なシーケンス アラインメント アルゴリズムを実装する作業を行っています。シーケンスのすべての可能な位置を返したいです。
これが実行可能なアルゴリズムを提案できますか? Needem-Wunsch an Smith-Waterman を調べましたが、もう少し複雑なものを探していますが、それでも効率的です。並列処理を使い始めたばかりなので、複雑になりすぎることはありません。
ありがとう。
python - biopythonの位置のリストに基づいてアライメント列をフィルタリングする方法は?
ここの biopython ヘルプ ページに基づいて、最初または最後の 10 に基づいて配置列をフィルター処理できます。
align
を使用して生成された MSA オブジェクトである
しかし、位置のリストに基づいて列を抽出すると言うことは可能ですか。たとえば、次のリストがあるとします。
これらの列だけを配置から抽出する方法はありますかalign
。
と呼ばれるR
パッケージbio3d
は、リストを入力として提供することでアライメントをフィルター処理するのに便利ですが (実行することによりfiltered_align = align[, a]
)、Python からこれを使用できると便利です。
ありがとうございました
string - 一定のギャップ ペナルティでグローバル アラインメントを見つけるための動的計画法のアルゴリズムに関するガスフィールドの説明に誤りはありますか?
Gusfield (Algorithms on Strings, Trees, and Sequences, Section 11.8.6) は、2 つのシーケンス A と B の間の最適なアラインメントを見つけるための動的計画法アルゴリズムについて説明しています。シーケンスは、定数 R および S に対して R+Sx の形式です。S=0 の特殊なケースでは、ギャップを開始することにはペナルティがありますが、それを長くすることにはペナルティはありません。ガスフィールドの式には誤りがあるように思われます。誰かが私に本当の状況を理解するのを手伝ってくれることを願っています.
Gusfield は、次のプロパティを持つ 4 つの関数 V(i,j)、G(i,j)、E(i,j)、および F(i,j) を定義します。
- V(i,j) は、プレフィックス A[1..i] と B[1..j] のアラインメントで可能な最高のスコアです。
- E(i,j) は、B[j] が A のギャップに対してペアになっているという条件の下で、これらの接頭辞のアラインメントの可能な最高のスコアです。
- F(i,j) は、A[i] が B のギャップに対してペアになっているという条件の下で、これらの接頭辞のアラインメントの可能な最高のスコアです。
- G(i,j) は、A[i] と B[j] をペアにするアラインメントの可能な最高のスコアです。
1 以上の i と j の再帰は次のとおりです。
最後に、境界条件は次のように与えられます。
準備として、それぞれ長さが 1 のシーケンスが 2 つあり、A=p および B=q である状況を考えてみましょう。この状況で可能なアラインメントは 3 つだけです。
これらには、それぞれ w(p,q)、-2R、-2R のスコアがあります。特に、E(0,1)=F(1,0)=-2R とする必要があります。ただし、反復により、E(0,1) と F(1,0) は両方とも -R 以上になります。
境界条件のこのエラーは結果をもたらします。たとえば、A=pppppp...p および B=qqqq...q で、p と q が異なるとします。A を B から完全に離す配置:
スコアは -2R (ギャップが 2 つある) であるため、w(p,q)<0 と仮定すると、このアライメントは最終的に最適になります。
Gusfield のアルゴリズムは、このケースを正しく処理していないようです。
実際の状況では、これはおそらく問題ではありません。典型的な文字列には多くの一致があり、境界ケースは解決に寄与しないためです。
コメント/批評を歓迎します。
matlab - 12種の複数配列アラインメント
私はMSAを実行する必要があります(12の小麦品種のヌクレオチド配列で複数の配列アラインメント。これらの品種はすべて異なる長さのbps(塩基対)を持っています。私はMATLAB http://www.mathworks.in/help/bioinfo/refのこのドキュメントに従いました/multialign.html。しかし、これを入力すると "
エラーが発生します:
助けてください
bioperl - BioPerl: アラインメントの不一致に注釈を付ける
私はかなり perl に不慣れで、BioPerl に非常に慣れていないので、これが些細な質問のように思えたら、申し訳ありません。Bio::AlignIO と Bio::SimpleAlign を使用して、参照配列 (この場合はヒト mtDNA 参照配列) に対する目的の配列のペアワイズ アラインメントを生成します。アラインメントを fasta 形式で問題なく生成できますが、ウェブツール Haplogrep ( http://haplogrep.uibk.ac .at/index.html)。これをループとして実行することを想像できます。これにより、参照配列の各塩基を調べ、参照内の位置がクエリ配列と一致しない場合は、クエリ配列に存在する位置とヌクレオチドを記録します. ただし、アライメントの一部として生成された Bio::AlignIO オブジェクトからこれを行う方法がわかりません。これが私がこれまでに持っているコードです:
簡単な例を挙げると、次のようなアラインメントを生成したとします。
次に、次のような出力を生成します。
その方法を理解するのを手伝ってくれる人はいますか?これを行うためのより良い/簡単な方法に関する一般的なコメントも大歓迎です。
algorithm - インデルのみを使用したグローバルな複数配列アラインメントのアルゴリズム
Sublime Text スクリプトを作成して、数行のコードを整列させています。スクリプトは各行を取得し、定義済みの区切り文字 ( ,;:=
) のセットで分割し、同じ幅にパディングされた「列」内の各セグメントと再結合します。これは、すべての行に同じ区切り記号のセットがある場合にうまく機能しますが、一部の行には余分なセグメントや末尾のオプションのカンマなどがある場合があります。
私の考えは、区切り文字の標準的なリストを考え出すことです。具体的には、いくつかの区切り文字列が与えられた場合、挿入のみを使用して、与えられた文字列のいずれかから形成できる最短の文字列を見つけたいと思います。いくつかの調査の後、これはグローバルな複数配列アラインメントのよく知られた問題であることがわかりました。ただし、ミスマッチはなく、一致とインデルのみが存在します。
残念ながら、動的プログラミングのアプローチは、少なくとも一般的なケースでは、文字列の数が指数関数的です。不一致が許可されていない場合、より迅速な解決策の希望はありますか?
r - R EnvironmentError: パス上に Ghostscript が見つかりませんでした。RWebロゴ
どうにも修正できない奇妙な問題に遭遇しました。
RWebLogo パッケージを使用できません。同じ Ghostscript エラーが見つからないため、最も単純な例を実行することさえできません。
例:実行中:
このエラーをスローします:
ターミナルに configure/make/install で Ghostscript ver 9.15 をインストールし、bash プロファイルに PATH を追加して実行しました。ターミナルで gs を実行すると動作し、システム パスに設定されていることを確認しますが、それでも同じエラーが発生します。再起動後も。
Rの環境にgsを直接追加してみました:
これも役に立ちませんでした...まったく同じエラーが発生します。R 環境を検索すると、gs があることがわかります。
重要なバージョン情報:
この問題を引き起こした可能性のある問題を知っていますか? 私はプログラミングが初めてなので、基本的なものが欠けているのではないかと心配しています。アドバイスをいただければ幸いです。ありがとうございました!
bioinformatics - 複数配列アラインメント。複数行形式を単一行形式に変換しますか?
clustal やその他の一般的な複数配列アラインメント ツールによって出力される形式のように、異なる配列からの行が散在している複数配列アラインメント ファイルがあります。次のようになります。
各行はシーケンス ID で始まり、次に一連の文字 (この場合はタンパク質のアミノ酸配列を記述) で始まります。各シーケンスは複数の行に分割されているため、最初のシーケンス ( ID をTGFb3_human_used_for_docking
持つ) には 2 つの行があることがわかります。これを、次のように、各シーケンスが 1 行で構成される形式に変換したいと考えています。
(この特定の例では、シーケンスはほとんど同じですが、一般的にはそうではありません!)
複数行の複数配列アラインメント形式から単一行に変換するにはどうすればよいですか?