問題タブ [biopython]

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.

0 投票する
3 に答える
1579 参照

python - それぞれ独自のサブプロセスを持つPythonマルチプロセッシング(Kubuntu、Mac)

デフォルトで1つのマルチプロセッシングプロセスを作成するスクリプトを作成しました。その後、正常に動作します。複数のプロセスを開始すると、ハングし始めますが、常に同じ場所にあるとは限りません。プログラムのコードは約700行なので、何が起こっているのかを要約してみます。DNA配列を整列させるという最も遅いタスクを並列化することにより、マルチコアを最大限に活用したいと思います。そのために、サブプロセスモジュールを使用してコマンドラインプログラム'hmmsearch'を呼び出します。これは、/ dev / stdinを介してシーケンスをフィードし、次に/ dev/stdoutを介して整列されたシーケンスを読み取ります。stdout / stdinから読み取り/書き込みを行うこれらの複数のサブプロセスインスタンスが原因でハングが発生することを想像しますが、これを実行する最善の方法が本当にわかりません... os.fdopen(...)&osを調べていました.tmpfile()、データをフラッシュできる一時的なファイルハンドルまたはパイプを作成します。ただし、これまで使用したことがなく、サブプロセスモジュールでそれを行う方法を想像することはできません。パイプは高スループットのデータ処理ではるかに優れているため、理想的にはハードドライブの使用を完全にバイパスしたいと思います。これでどんな助けでもとても素晴らしいでしょう!

これをデバッグするのにしばらく時間を費やした後、私は常にそこにあり、まだ完全には解決されていない問題を見つけましたが、(デバッグの)プロセスにおける他のいくつかの非効率性を修正しました。2つの初期フィーダー関数があります。このalign_seqクラスと、位置固有のスコア行列(PSM)をディクショナリにロードするファイルパーサーparseHMM()です。次に、メインの親プロセスは、各残基に関連するスコアへのポインターとして(辞書の)辞書を使用して、アラインメントをPSMと比較します。必要なスコアを計算するために、2つの別々のmultiprocessing.Processクラスがあります。1つのクラスlogScore()は、対数オッズ比を計算します(math.exp()を使用)。これを並列化します。計算されたスコアを最後のプロセスsumScore()にキューイングしますこれは、これらのスコアを(math.fsumで)合計し、合計とすべての位置固有のスコアを辞書として親プロセスに返します。ie Queue.put([sum、{残基位置:位置固有のスコア、...}])これは頭を動かすのに非常に混乱しているので(キューが多すぎます!)、読者がなんとかフォローしていることを願っています。 。上記のすべての計算が完了したら、累積スコアをタブ区切りの出力として保存するオプションを提供します。これは、スコアがあるはずのすべての位置のスコアを確実に出力するため、現在(昨夜から)時々壊れている場所です。レイテンシー(コンピューターのタイミングが同期していない)のために、logScoreの最初にキューに入れられたものがsumScoreに到達しないことがあると思います最初。sumScoreがいつタリーを返し、再開するかを知るために、計算を実行した最後のlogScoreプロセスのキューに「endSEQ」を入れました。それなら最後にsumScoreに到達するはずだと思いましたが、常にそうであるとは限りません。たまにしか壊れません。そのため、デッドロックは発生しなくなりましたが、結果を印刷または保存するときにKeyErrorが発生します。KeyErrorが発生することがある理由は、logScoreプロセスごとにキューを作成するためだと思いますが、代わりに、すべて同じキューを使用する必要があります。今、私は次のようなものを持っています:-

一方、すべてのlogScoreインスタンス間で共有するキューを1つだけ作成する必要があります。すなわち

0 投票する
1 に答える
392 参照

python - Biopython CodonTableエラー?

あいまいなDNAコードを可能なアミノ酸に翻訳することを目的としたコードを書いていますが、Biopython1.56パッケージから奇妙な翻訳が見られます。あいまいなDNAコードを「J」に変換しているようですが、これは何のコードとしても存在しません。MacOS10.6.6でpython2.6.1を実行しています。

例えば:

また

Bio.Data.CodonTableソースとBio.Seqソースを調べましたが、これが発生する理由がわかりません。何か案は?

ありがとう!

マーク

0 投票する
1 に答える
541 参照

sqlite - ネストされたディクショナリ/xml を sqlite のフラット ファイルに変換する

私はネットを精査しましたが、適切な例を見つけることができないようです.

問題: 公開された引用データの bio/python ネストされた辞書 (または xml) をフラットな (正規化された) 構造 (sqlite など) に変換しようとしています。引用データは、biopython を使用して pubmed から取得され、辞書に解析されましたが、必要に応じて xml として取得することもできます。

すべての引用にすべてのフィールド/キーがあるわけではなく、すべてのフィールド/キーに同じ数のアイテム (著者、メッシュ用語、参考文献など) があるわけではありません。これは正規化プロセスの一部であることを理解してください。

これは、私の実際の理解がどこで終わるかについてです。

とは言っても、プロセスは次のようにする必要があると思います。最初にすべての一意のフィールドを削除/正規化します(タイトル、要約、日付、引用など、論文ごとに1つあるフィールドなど)。ただし、所属は言わないでください。最初の著者にリンクされています)。アブストラクトのない論文はヌルとして記入できますか?

次に、たとえば著者に移動し、PMID を fk として使用して別のテーブルを再度作成し、別のテーブルの他のさまざまなフィールド/キー/アイテム (メッシュ見出し、EC 番号、ref など) に対して同じことを行います。

マスター辞書からキー/アイテムを削除(ポップ?)して、何が行われたか/行う必要があるかを視覚的に確認できるようにする方法はありますか(明らかにPMIDを残します)?

繰り返しになりますが、私が初心者に盲目的に明白な質問をしている場合は、事前にお詫び申し上げます-そして、ネストされた構造を平らなスペースに収めることができないことは理解しています-これについて最も骨の折れる方法を探しているだけで、うまくいけば1つこれにより、すべてが適切にキャプチャされたことを確認できます。

どうもありがとう、クリス

0 投票する
2 に答える
338 参照

python - Pythonでhtmlを使用してシーケンス内の突然変異位置をマークアップする

Pythonまたはbiopythonに、htmlでシーケンスをマークアップできる方法があるかどうか疑問に思っていました。

その位置が既知のsnp/indelなどであるかどうかに応じて、配列上の位置をマークしたい(つまり、異なる色の塩基)

配列内の突然変異位置のリストを持つ(データベースから読み取る)

変異位置 = [10,20,30,40]

次のようなものを使用して、影響を受けるベースの大文字と小文字を変更できます。

しかし、いくつかの html コードを追加することは可能ですか。たとえば、変異位置ごとにタグ pos を追加します。(html マークアップがシーケンスに追加されると、シーケンスの長さが変更されるため、ループの各反復中に突然変異位置が新しくマークアップされたシーケンスと一致しません!)

これが理にかなっていることを願っています!

ありがとう。

0 投票する
2 に答える
1980 参照

python - 「モジュール」オブジェクトは呼び出し可能ではありません - Bio.IUPAC

試してみると、

次のエラーが発生するのはなぜですか。

PS: これは BioPython のクックブックの例です

0 投票する
2 に答える
997 参照

python - Python で公開データベースから生物学的配列を解析するためのスクリプト

stackoverflow コミュニティへのご挨拶

私は現在、生物医学の学位の一部として生物情報学モジュールをフォローしています (私は基本的に Python の初心者です)。次のタスクは、Python プログラミングの割り当ての一部として必要です。

モチーフ配列 (アミノ酸配列、基本的にはプログラムで言えば文字列) を抽出します。これは、複数の配列アラインメントを実装するアルゴリズムから切り出され、その後データベースを繰り返しスキャンして、最適な保存配列を生成します。究極のアイデアは、そのようなものから機能的重要性を推測することです。モチーフ」)。

これらのモチーフは、各タンパク質に対応する複数のデータ フィールド (uniprot ID、アクセッション番号、ハイパーリンクの .seq ファイルに格納されているアラインメント自体) を持つファイルの公開データベースに格納されています。データ フィールドは「抽出されたモチーフ セット」と呼ばれます。

私の質問は、基本的に「モチーフ文字列」を解析してファイルに出力するスクリプトを作成する方法です。次のようにスクリプトをコーディングしました (まだ結果をファイルに書き込んでいません)。

問題は、私のコードが urllib モジュールを使用して公開データベースに接続する代わりに生のデータベース ファイル (prints41_!.kdat) をループしている間、以下の Simon Cockell によって提案されているように、スクリプトの出力が単純に "none" であるということです。 [AAYIGIEVLI、AAYIGIEVLI、AAYIGIEVLIなど..]

論理エラーがどこにあるのか誰にも分かりませんか? どんな入力でも大歓迎です!! 長い文章で申し訳ありませんが、できるだけ明確にしたいと思っています。助けてくれてありがとう!

0 投票する
2 に答える
12452 参照

python - アラインメントパラメーターを指定して、アラインメントされた配列のスコアを計算できる関数はありますか?

すでにアラインメントされたシーケンスをスコアリングしようとします。言いましょう

与えられたパラメータで

私はbiopythonクックブックを調べましたが、取得できるのは置換マトリックスblogsum62だけですが、誰かがこの種のライブラリをすでに実装している必要があると感じています。

それで、誰かが私の問題を解決できるライブラリまたは最短のコードを提案できますか?

事前にThx

0 投票する
1 に答える
843 参照

python - BCBio による GFF パーサーの問題

BCBio GFF パーサーを使用して GFF ファイルを解析しようとすると、次のエラーが発生します。誰でもこの問題を解決するのを手伝ってもらえますか?

トレースバック (最新の呼び出しが最後):

これが私のコードです:

ありがとうトゥリカ

0 投票する
4 に答える
457 参照

python - Python で ASCII ファイル内の注釈付きの部分文字列を検索/置換する

私が取り組んでいるバイオインフォマティクス プロジェクトでコーディングに少し問題があります。基本的に、私の仕事は、データベースからモチーフ配列を抽出し、その情報を使用して配列アラインメント ファイルに注釈を付けることです。アラインメント ファイルはプレーン テキストであるため、アノテーションは精巧なものではなく、せいぜいアラインメント ファイル自体で抽出された配列をアスタリスクに置き換えるだけです。

データベース ファイルをスキャンし、必要なすべてのシーケンスを抽出し、それらを出力ファイルに書き込むスクリプトがあります。私が必要とするのは、クエリが与えられた場合、これらのシーケンスを読み取り、ASCII アライメント ファイル内の対応する部分文字列と一致させることです。最後に、モチーフ シーケンス (非常に大きな文字列の部分文字列) が出現するたびに、モチーフ シーケンス XXXXXXX を一連のアスタリスク*に置き換えます。

私が使用しているコードは次のようになります (11SGLOBULIN はデータベース内のタンパク質エントリの名前です)。

ただし、各文字列を一連のアスタリスクに置き換える代わりに、ファイル全体を削除します。なぜこれが起こっているのか誰にもわかりますか?

問題は、私の ASCII ファイルが基本的にアミノ酸の非常に長いリストの 1 つにすぎず、Python が非常に長い文字列内に隠されている特定の部分文字列を置き換える方法を認識できないという事実にあると思われます。

0 投票する
3 に答える
4928 参照

python - renumber residues in a protein structure file (pdb)

Hi
I am currently involved in making a website aimed at combining all papillomavirus information in a single place. As part of the effort we are curating all known files on public servers (e.g. genbank) One of the issues I ran into was that many (~50%) of all solved structures are not numbered according to the protein. I.e. a subdomain was crystallized (amino acid 310-450) however the crystallographer deposited this as residue 1-140. I was wondering whether anyone knows of a way to renumber the entire pdb file. I have found ways to renumber the sequence (identified by seqres), however this does not update the helix and sheet information. I would appreciate it if you had any suggestions…<br> Thanks