問題タブ [dna-sequence]
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.
python - Python を使用して Newick 形式から枝の長さを抽出する
以下のように、Newick Format で記述されたツリーである 1 つの項目で構成される Python のリストがあります。
ツリー形式では、これは次のように表示されます。
リスト アイテムを調べて ID (BMNHxxxxxx) を返すコードを作成しようとしています。ID (BMNHxxxxxx) は枝の長さ 0 (または <0.001 など) で結合されます (赤で強調表示)。次のような正規表現を使用することを考えました。
別の StackOverflow 回答から取得したように、項目 A は常に : の後に分岐の長さが表示されるため、項目 A は「:」になり、項目 B は「,」または「)」または「;」のいずれかになります。これらはそれを区切る3文字ですが、正規表現でこれを行うのに十分な経験がありません。
この場合、分岐長 0 を使用することで、コードに ['BMNH703458a', 'BMNH703458b'] を出力させたいと考えています。これを変更して、たとえば 0.01 のユーザー定義値のブランチ長で結合された ID も含めることができれば、非常に便利です。
誰かが意見を持っているか、有用な答えを教えてくれるなら、私はそれを高く評価します.
java - DNA 配列決定プログラムが機能しない
さて、動的プログラミングを使用して DNA 文字列を並べ替え、ギャップを挿入して最適な数のペアリングを作成するこのプログラムを作成しました。以下のコードは私が書いたものであり、理論的には動作するはずです。しかし、そうではありません。コンパイルはしますが、実行すると無限に実行されます。コード内にチェックを挿入しようとしましたが、見たところ、2 次元マトリックスは初期化もフィルも行われず、バックトラック プログラムを実行するポイントでスタックしてしまいました。これをデバッグし、コードが機能しない理由を見つけるために何を使用できますか?
java - Java で単純なシーケンスの繰り返しを見つける効率的な方法
シンプルなシーケンスの繰り返しを見つけて、それぞれの一意の繰り返しをその位置とともに保存する必要があります。私はすでにそれを行うためのperlコードを書いています(五量体までの繰り返しを見つけるためのifとforがたくさんあります)。私の質問は、Javaでこれを行う簡単な方法はありますか?
更新: シンプル シーケンス リピート (SSR) は、二量体 (つまり、2 つの異なる文字が一緒に繰り返される) から始まる、途切れることなく繰り返される文字列です。それは、言葉が文章の中で途切れることなく繰り返されているようなものです。DNAの場合は、次のようになります。
ここで、AT と TGA は単純な配列の繰り返し、AT は二量体、TGA は三量体です。私が見つけなければならないのは、シーケンスリピートの開始位置、それが繰り返されている回数(つまり長さ)、およびどのシーケンスであるか(つまり、ATはたとえば位置6から始まり、10回繰り返され、TGAは25 位から開始など)
私のperlコード:(そして、それは一種のバグです)
python - 3 つの異なるフレームでの読み取り
だから私は、3 つの異なるフレームで DNA 文字列を読み取るクラスを作成しようとしています。ポジション2(三塁)。これまでのところ、これは私が遊んでいたものです:
この時点でかなりばかげていると思いますが、最善を尽くしました。このクラスでどこから修正を開始できるかについて誰かが私にアイデアを与えることができれば、それは素晴らしいことです.
k-means - DNA シーケンス (データセット) の 10 進エンコードを行う方法は?
FASTA 形式でダウンロードした DNA 配列 (ヌクレオチド) 配列の K-means クラスタリングと階層的クラスタリングを実行する必要があります。したがって、クラスタリングを実行する前に、bases(a、t、c、g) の DECIMAL ENCODING を実行する必要があります。その方法は.. MATLAB でこの入力を行列形式で取得できるようにするためです。
python - Python を使用した DNA 鎖の逆相補
DNA 配列があり、Python を使用して逆補数を取得したいと考えています。これは CSV ファイルの列の 1 つにあり、同じファイルの別の列に逆補数を書きたいと思います。トリッキーな部分は、A、T、G、および C 以外のセルがいくつかあることです。次のコードで逆補数を得ることができました。
ただし、次のコードを使用して、補数辞書に存在しない項目を見つけようとすると、最後のベースの補数が得られます。反復しません。どうすれば修正できるか知りたいです。
algorithm - string2 がサブシーケンスである string1 の最小長ウィンドウ
主な DNA シーケンス (文字列) が与えられ (文字列 1 とします)、検索する別の文字列 (文字列 2 とします) が与えられます。string2 がサブシーケンスである string1 で最小長のウィンドウを見つける必要があります。
string1 = "abcdefababaef"
string2 = "abf"
私が考えたが、機能していないように見えるアプローチ:
1. 最長共通サブシーケンス (LCS) アプローチを使用し、(LCS の長さ = string2 の長さ) かどうかを確認します。しかし、これにより、string2 がサブシーケンスとして string1 に存在するかどうかがわかりますが、最小のウィンドウではありません。
2. KMP アルゴリズムですが、変更方法がわかりません。
3. string2 にある string1 の {characters: pos of characters} のマップを準備します。次のように: { a : 0,6,8,10
b : 1,7,9
f : 5,12 }
そして、最小ウィンドウを見つけて「abf」の順序を維持するためのいくつかのアプローチ
自分が正しい方向に考えているのか、それとも完全に間違っているのか、よくわかりません。
これには既知のアルゴリズムがありますか、または誰かがアプローチを知っていますか? よろしくお願いします。
前もって感謝します。