問題タブ [rosalind]
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 - 文字で置き換えるとうまくいくのに、削除しようとするとインデックスエラーが発生し続けるのはなぜですか?
newb/python newb のプログラミング、私の仕事は非常に要求が厳しいので、コーディング方法を独学するための自由な時間をたくさん見つけました。
私はこのrosalind.infoの問題に取り組んでいます。
これまでの私のコードは次のとおりです。
何らかの理由で、
IndexError (範囲外のリスト割り当て) を返しますが、
2 つおきのリスト メンバーを文字 'k' に変換します。どうしてこれなの?
参考までに、私が今やろうとしているのは、すべてのヌクレオチドをリストに入れ、それらを 3 でグループ化し、次の 2 つのリスト メンバーを最初のリストに組み込んだ後に削除し、次のコドンに移動することです。
例: ['A', 'U', 'G'] -> [['AUG'], 'U', 'G'] -> ['AUG'], ['GCC' (次のコドン) 』など…
python - 可変繁殖力を持つフィボナッチ死のうさぎ
年齢に応じてウサギの繁殖力を変えるために、フィボナッチ死のウサギのpythonコードを変更しようとしています。例を挙げましょう。
私のウサギは 3 か月で成熟し、6 か月で死亡します。繁殖期の4か月の間に、年齢に応じて異なる数の子孫を産みます。生後3ヶ月で2組、4ヶ月で3組というように6ヶ月まで続きます。うさぎの各ペアは、雌と雄によって形成されます。結局、個人の数ではなくペアの数を数えます。誕生から死までの繁殖力の値:
私が使用している python コード ( https://github.com/jschendel/Rosalind/blob/master/011_FIBD.py ) は次のとおりです。
繁殖力のバリエーションを実装する方法がわかりません。どんな助けでも大歓迎です!
ありがとう、ヴァレンティーナ
ruby - Rosalind: SUBS は指定されたケースに失敗しました
この回答に基づいて、この課題の解決策を書きました。指定された例のケースは正常に処理されますが、実際のケースは処理されません。
チャレンジ:
s
2 つの文字列とが与えられた場合t
、t
は の部分文字列です(結果として、は に連続したシンボルのコレクションとして含まれている必要があります)。s
t
s
t
s
文字列内の記号の位置は、それ自体を含め、その左側にある記号の総数です (たとえば、「AUGCUUCAGAAAGGUCUUACG」の「U」のすべての出現位置は、2、5、6、15、17、および 18 です)。 )。
i
の位置の記号s
は で示されs[i]
ます。の部分文字列は
s
として表すことができますs[j:k]
。ここで、j
とk
は の部分文字列の開始位置と終了位置を表しs
ます。たとえば、ifs = "AUGCUUCAGAAAGGUCUUACG"
、 thens[2:5] = "UGCU"
。部分文字列の位置
s[j:k]
はその開始位置j
です。の部分文字列として複数回出現する場合t
は、 に複数の場所があることに注意してください (以下のサンプルを参照)。s
s
与えられた:
2 つの DNA ストリング
s
およびt
(それぞれの長さが最大 1 kbp)。
戻る:
t
の部分文字列としての のすべての場所s
。
サンプル データセット:
サンプル出力:
サンプルでは、動作します。確かに、手動で書式設定をトリミングする必要がありますが、それはほんの数秒の作業です。
実際のデータと生成された出力は受け入れられません。
実際のデータセット:
実際の出力 (トリミング):
コード:
どこで私は間違えましたか?順調のようです。
編集: 問題は環境の問題であることがわかりました。再起動後、問題を再現できませんでした。
rosalind - ランタイムが GC スキューに対して長すぎます
現在、スキューの違いを分析するスクリプトに取り組んでいます。残念ながら、私の問題は、文字列の長さが長くなると実行時間が長くなりすぎて、答えを計算できないように見えることです。
基本的に、このスクリプトは G と C (DNA のヌクレオチドに対応) の数を計算し、各位置での差を取得し、最小のインデックスを見つけようとしています。ファイルの長さ (入力文字列) が短い場合は問題なく動作しますが、長さが大きくなると (90000 以上のように)、スクリプトは実行されますが、適切な時間 (~4-5 分) で回答を解決できません。
より速くするために私ができることを誰かに教えてもらえますか? 差(diffGtoC)を求めてそれを最小値として設定し、それぞれの差を再計算して何か違うことがわかるまで、その間に最小値も置き換えた方がよいかどうかを考えました。
しかし、このアプローチで私が懸念していたのは、最小のインデックスを見つけて保持することです。私が言うなら、値を持つ配列がありました:
[-4,-2,-5,-6,-5,-6]
最小値を (-4 から -5 に、次に -6 に) 変更すると、アルゴリズムの実行時間が短縮されることがわかりますが、両方の -6 の位置を維持するにはどうすればよいでしょうか? これが完全に理にかなっているのかどうかはわかりません。
python - Python: 複数のコンセンサス シーケンス
DNA配列のリストから始めて、可能なすべてのコンセンサス(各位置で最高のヌクレオチド頻度を持つ結果の配列)配列を返さなければなりません。いくつかの位置でヌクレオチドが同じ最高頻度を持つ場合、最高頻度で可能なすべての組み合わせを取得する必要があります。見返りとして、プロファイル マトリックス (各配列の各ヌクレオチドの頻度を含むマトリックス) も必要です。
これはこれまでの私のコードです (ただし、コンセンサス シーケンスは 1 つしか返されません)。
(ご覧のとおり、4 位では、C と G が同じ最高スコアを持っています。つまり、2 つのコンセンサス シーケンスを取得する必要があります)
このコードを変更して、考えられるすべてのシーケンスを取得することは可能ですか? または、正しい結果を取得するロジック (疑似コード) を説明していただけますか?
事前にどうもありがとうございました!
python - Rosalind コンセンサスとプロファイル python
私は、Rosalind Bioinformatics Web サイト ( http://rosalind.info/problems/cons/ ) で「Consensus nd Profile」という問題に取り組んでいます。Web サイトのサンプル入力を使用してコードを試したところ、出力がサンプル出力と一致しました。しかし、より大きなデータセットを試してみると、ウェブサイトは私の出力が間違っていると言っていました. 私の問題がどこにあるかを特定するのを手伝ってくれる人はいますか? ありがとうございました!
サンプル入力:
DNA 文字列を抽出し、文字列と呼ばれるリストに保存しました (このステップではより大きなデータセットを使用した試行が正しいため、ここではコードを省略しました)。
その後の私のコード:
M は、サンプル入力では次のようになります。
その後の私のコード:
これらのコードは、正しいサンプル出力を提供します。
しかし、より大きなデータセットを試してみると、ウェブサイトは私の答えが間違っていると言っていました.誰かが私が間違っているところを指摘できますか? (初心者ですがよろしくお願いします!)