問題タブ [bioinformatics]
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.
perl - 座標がわかっている場合、UCSCからPerlスクリプトを使用してDNAシーケンスを抽出するにはどうすればよいですか?
座標がわかっている場合、ゲノムブラウザー(UCSC)からPerlスクリプトを使用してDNAシーケンスを抽出するにはどうすればよいですか?
c++ - 文字列キーを持つマトリックスの Boost (または他の一般的な lib) タイプはありますか?
インデックスが遺伝子に対応する密な行列があります。遺伝子識別子は多くの場合整数ですが、連続した整数ではありません。代わりに文字列にすることもできます。
ある種のブースト疎行列を整数キーで使用できると思いますが、それらが連続しているかどうかは問題ではありません。それとも、特に一部の遺伝子が 9 桁の識別子を持っている場合、これはまだ多くのスペースを占めるのでしょうか?
さらに、これはすべてのマトリックスであるため、スパースストレージが適切ではないことを懸念しています(遺伝子が存在する場合、すべてのセルに距離があります)。
行列演算 (行列の乗算など) を実行する必要はほとんどありません。行列 (スライス) からベクトルを引き出す必要があります。
Boost unordered_map (ハッシュ マップ)、あるいは単純に STL マップでキーを設定するのが最適なタイプのマトリックスのようです。
私はこれを間違った方法で見ていますか?本当に自分でロールする必要がありますか? そんな授業、どこかで見た気がした。
ありがとう!
python - SQLite に保存されたデータを調整する - 複数の連絡先を結合するには?
異なる要素間の連絡先を保存しています。特定のタイプの要素を削除し、削除された要素によって相互接続された要素の新しい接点を保存したいと考えています。
問題の背景
この問題を想像してみてください。他の分子と接触している水分子があります (接触が水素結合の場合、水の周りに他の 4 つの分子が存在する可能性があります)。次の図のように (A、B、C、D は他の原子であり、ドットは接触を意味します)。
すべてのドットに関する情報があり、中央の水を除去して、AC、AD、AB、BC、BD、および CD の接触を説明する記録を作成する必要があります。
データベース構造
現在、データベースには次の構造があります。
表atoms
:
"id" integer PRIMARY KEY,
"amino" char(3) NOT NULL,
(水または他の値の HOH)- 原子を識別する他の列
表contacts
:
"acceptor_id" integer NOT NULL,
(私の水素に近い原子、ここでは C または D)"donor_id" integer NOT NULL,
(ここではAかB)"directness" char(1) NOT NULL,
(これは、直接の場合は D、水媒介の場合は W にする必要があります)- 距離など、連絡先に関するその他の列
編集:前に示した場合のデータはどのように見えるでしょうか。
atoms
:
contacts
:
私が作る必要があるものから
contacts
:
現在のソリューション (不十分)
今、私は持っているすべての連絡先を調べていますdonor.amino = "HOH"
。このサンプル ケースでは、C と D から連絡先が選択されます。これらの選択された連絡先のそれぞれについて、現在選択されているacceptor_id
連絡先と同じ連絡先を検索します。donor_id
この情報から、新しい連絡先を作成します。最後に、HOH との間のすべての連絡先を削除します。
この方法では、明らかに CD と AB の連絡先を作成できません (他の 4 つは問題ありません)。
同様のアプローチを試してみると、同じdonor_idを持つ2つの連絡先を見つけようとすると、連絡先が重複してしまいます(CDとDC)。
重複することなく 6 つの連絡先すべてを取得する簡単な方法はありますか?
これらの 6 つの必要な行だけを取得する 1 ページの長さの SQL クエリを夢見ています。:-)
ただし、他のアイデアは大歓迎です。
誰がドナーであるかに関する情報を保存することが望ましいですが (可能な場合)、厳密に必要というわけではありません。
この質問をここまで読んでくださった皆様、本当にありがとうございました。
python - スクリプトを使用して大きな XML ファイルを解析するか、BioPython API を使用しますか?
やあ皆さん、これは私の最初の質問です。SQL で UniprotKB のローカル コピーを作成しようとしています。
UniprotKB は 2.1GB で、XML と SwissProt で使用される特別なテキスト形式で提供されます。
ここに私のオプションがあります:
1) SAX パーサー (XML) を使用します。Ruby と Nokogiri を選択しました。パーサーの作成を開始しましたが、最初の反応は、XML スキーマを SAX パーサーにマップするにはどうすればよいかということでした。
2) BioPython - 私はすでに BioSQL/Biopython をインストールしており、文字通り SQL スキーマを作成してくれました.1 つの SwissProt/Uniprot txt ファイルをデータベースに挿入することができました.
私は現在、2.1GB全体で実行しています(指を交差させます)。ここに私が実行しているコードがあります:
編集:トランザクションがロックされているため (テーブルが Innodb であるため)、現在クラッシュしています エラー番号: 1205 ロック待機タイムアウトを超えました。トランザクションを再開してみてください。MySQL のバージョンを使用しています: 5.1.43
データベースを Postgrelsql に切り替える必要がありますか?
matlab - バイオインフォマティクスに最適な言語は何だと思いますか?
私はバイオインフォマティクスでいくつかの研究を行っており、Matlab を使用しています。Matlab には多くの強力なツールがあり、使いやすかったです。私はゲノム配列決定と代謝経路の予測について考えました。他の人が一番いいと思うものは何だろう?または、1 つの特定の言語ではなく、数学が重く大量のデータを扱うバイオインフォマティクスの作業に最適な言語がいくつかある場合があります。
python - 仕様値による科学データの依存関係グラフを管理するための Python ソリューション
私は一般的な科学データ管理の問題を抱えていますが、既存の解決策やその説明さえも見つけることができず、長い間頭を悩ませてきました。私は大規模な書き直し(python)に着手しようとしていますが、既存のソリューションに最後にもう一度キャストすると思ったので、自分自身を破棄して生物学に戻るか、少なくとも適切な言語を学んでグーグルを改善することができます.
問題: 通常、1 つまたは複数の他のデータ属性の変換として構築される、高価な (計算に数時間から数日かかる) 大きな (GB の) データ属性があります。このデータがどのように構築されたかを正確に追跡する必要があるため、問題に適合する場合 (正しい仕様値で構築された場合) に別の変換の入力として再利用したり、必要に応じて新しいデータを構築したりできます。それは問題ではありませんが、私は通常、「付加価値のある」やや異種の分子生物学情報から始めます。たとえば、他の研究者による他のプロセスによって注釈が付けられた遺伝子とタンパク質を含むゲノムです。これらのデータを組み合わせて比較し、独自の推論を行う必要があります。多くの場合、多くの中間ステップが必要であり、これらは費用がかかる可能性があります。さらに、最終結果は、追加の変換の入力になる可能性があります。これらの変換はすべて複数の方法で行うことができます。たとえば、異なる初期データで制限する (たとえば、異なる生物を使用する)、同じ推論で異なるパラメーター値を使用する、または異なる推論モデルを使用するなどです。分析は頻繁に変更され、他のものに基づいて構築されます。計画外の方法で。自分が持っているデータ (それを完全に定義するパラメータまたは仕様) を知る必要があるため、必要に応じてデータを再利用したり、一般的な科学的整合性を保つことができます。
一般的な私の取り組み: 記述の問題を念頭に置いて Python クラスを設計しています。クラス オブジェクトによって作成されたすべてのデータ属性は、1 つのパラメータ値のセットによって記述されます。これらの定義パラメータまたは仕様を「def_specs」と呼び、値を持つこれらの def_specs をデータ属性の「形状」と呼びます。プロセスの全体的なグローバル パラメータ状態は非常に大きくなる可能性があります (たとえば、100 個のパラメータ) が、いずれかのクラスによって提供されるデータ属性は、少なくとも直接的には少数のこれらの属性のみを必要とします。目標は、形状がグローバル パラメータ状態のサブセットであるかどうかをテストすることにより、以前に構築されたデータ属性が適切かどうかを確認することです。
クラス内では、コードを調べることで形状を定義する必要な def_specs を簡単に見つけることができます。モジュールが別のモジュールからのデータ属性を必要とする場合、摩擦が発生します。これらのデータ属性には独自の形状があり、おそらく呼び出し元のオブジェクトによって引数として渡されますが、グローバル パラメーターの状態からフィルター処理されることがよくあります。呼び出しクラスは、そのデータ属性の完全な記述を維持するために、その依存関係の形で拡張する必要があります。理論的には、これは依存関係グラフを調べることで手動で行うことができますが、このグラフは深くなる可能性があり、多くのモジュールがあり、常に変更および追加しています...手動で行うには怠惰で不注意です.
そのため、プログラムは、他のクラス属性への呼び出しを追跡し、管理された呼び出しスタックを介してその形状を呼び出し元にプッシュすることにより、データ属性の完全な形状を動的に検出し__get__
ます。書き直していくと、ビルダー クラスへの属性アクセスを厳密に制御して、任意の情報がデータ属性に影響を与えないようにする必要があることがわかりました。幸いなことに、Python は記述子を使用してこれを容易にしています。
データ属性の形状を db に保存して、適切なデータ (つまり、その形状が現在のパラメーター状態のサブセット) が既に存在するかどうかを照会できるようにします。私の書き直しでは、偉大な SQLAlchemy を介して mysql からオブジェクト db (ZODB またはカウチデータベース?) に移行しています。これは、追加の def_spec が発見されたときに各クラスのテーブルを変更する必要があるためです。これは苦痛であり、一部の def_spec はPython のリストまたは辞書。これは SQL に変換するのが面倒です。
可能な限りそうしようとはしていますが、厳密な属性制御が必要なため、このデータ管理をデータ変換コードから切り離すことはできないと思います。def_specs をクラス属性として提供するクラスで既存のクラスをラップし、記述子を介してデータベースを管理することで、既存のクラスを使用できますが、これらのクラスは、追加の依存関係の形状をそれ以上検出できないという点で、最終的なものです。
データ管理をデータ構築から簡単に切り離すことができない場合、すぐに使用できるソリューションはなく、特定のソリューションは数千あるとは考えにくいと思います。該当するパターンがあるのではないでしょうか?問題を調べたり、よりよく説明したりする方法についてのヒントをいただければ幸いです。私には一般的な問題のように思えますが、深く階層化されたデータを管理することは、おそらく Web の一般的な風向きとは相容れないものです。
c# - C#でFASTAファイルを読み取るための最良の方法
いくつかのタンパク質配列を含むFASTAファイルがあります。フォーマットは次のようなものです
このファイルを読み込んでシーケンスを個別に保存する良い方法はありますか?
ありがとう
image-processing - 画像処理ビデオ講義またはその他の学習リソース?
画像処理初心者です。医用画像には画像処理を使用します。ビデオ講義やその他の優れた学習リソースを探していますか? どんな助けでも。前もって感謝します。
よろしく、 サガル・アヤズ
javascript - ユーザー定義のリンクを開き、ユーザー定義フォームのドロップダウン ボックスを選択するブックマークレット
ユーザー定義の Web リンクを開くためのブックマーレットを作成しました。この特定のケースでは、UCSC ゲノム ブラウザー内の特定のゲノム位置です。
表示できるヒトゲノムには 24 の染色体があり、次のことを行いたいと考えています。
1) ユーザーが入力した文字列から染色体を解析します
java スクリプトで正規表現を使用して、chr22:213243007-213243247 から 22 を解析するか、chrX:213243007-213243247 から X を解析します。
2) ユーザー入力に基づいて、UCSC のフォームのドロップダウン オプションで選択を行います。
22 個の染色体のそれぞれについて、合計 88 個の 4 つのトラックまたはデータ セットが表示されます。これらは、上で選択したリンクに従って、UCSC ゲノム ブラウザーのカスタム トラックセクションで選択できます。
HS0356_chr_ CHROMOSOME _duplicates_standard_len_triangle HS0445_dpwg_chr_chr CHROMOSOME _duplicates_standard_len_triangle HS1328_chr_ CHROMOSOME _duplicates_standard_len_triangle HS1329_dpwg_chr_chr CHROMOSOME _duplicates_standard_len_triangle
次に、 CHROMOSOMEがパート 1 で定義されている上記のドロップダウン メニューをHideからFullに変更して、目的の染色体のデータのみが表示されるようにしたいと思います。
おそらく、次のようなものが役立つでしょう: http://www.codeproject.com/KB/scripting/autoselect.aspx
python - Pythonでゲノム配列を効率的に取得しますか?
Pythonを使用してゲノム配列を効率的にフェッチするにはどうすればよいですか?たとえば、.faファイルやその他の簡単に入手できる形式からですか?基本的に、指定されたストランドの指定された染色体上のシーケンス[start、end]を返すインターフェイスfetch_seq(chrom、strand、start、end)が必要です。
同様に、phastConsスコアを取得するためのプログラムによるPythonインターフェースはありますか?
ありがとう。