私が働いている研究室のウェブフロントエンドでrRNA配列データベースを作成したいのですが、生物学ではBLASTやHMMERなどのアラインメントアルゴリズムを使用して多数の配列を検索したいのが一般的です。 Webサイト検索フォームを使用して一般的な配列データベースを簡単に作成できる既存のphp/python / railsプロジェクトはありますか?
更新:GMODは私が探していたサーバーのタイプです。同様の機能を持っているように見えるBioMartも見るように提案されました。
http://gmod.org/は、もう少し必要最低限のものです 。最も簡単なインストールでは、ブラストフォームと「シーケンスブラウザ」インターフェイスが提供されます。まだhmmerフォームがあるかどうかわからない...
(かなりうまくスケーリングします-単純なsqliteから実際のデータベースまで)
または、銀河サーバーを調べることもできます。http://main.g2.bx.psu.edu/
最初の目的は、計算を行わない人々が複雑なゲノムクエリを簡単に行えるようにすることですが、箱から出してすぐに使えるかどうかはわかりません。
乾杯、ヤニック
更新-この投稿に一部触発されて、wwwblastの代わりにデプロイしやすいシンプルなローカルblastサーバーを開発しています。http://www.sequenceserver.comで進行中の作業。デモサーバーを使用すると、アリのゲノムを爆破できます。
NCBIBLASTパッケージとともに配布される単純なCGIフロントエンドもあります。あなたはここにある彼らのFTPサイトからそれをダウンロードすることができます:
バイオインフォマティクスコミュニティに連絡することを強くお勧めします。最も重要なことは、データベースを設計し、その目的を決定することです。あなたはタイトルでDNAに言及していますが、テキストではrRNAに言及しています-これらは完全に異なるものです。タイプミスだけの場合は問題ありませんが、違いがわからない場合は、コミュニティの人々と話し合ってください。
私はコミュニティに参加しているので、MyExperimentコミュニティ(http://en.wikipedia.org/wiki/MyExperiment)に連絡して、必要に応じて私の名前を伝えてください。あなたはたくさんの友好的な人々を見つけて助けてくれるでしょう。
更新あなたがマンチェスター出身であり、それがMyExperimentのハブであることに気づきました。そのため、ここから始めるのは明らかです。
それはあなたが話している言語のどちらでもありませんが、DNAとRNAおよび他の酸とタンパク質の塩基の「プログラミング」のために特別に作られた機能のコレクションであるBioPERLがあります
CPAN.orgでそれを探してください
GMODに関して:GMODはあなたのアプリケーションにとって完全にやり過ぎだと私は比較的確信しています。GMODはサーバーではなく、ツールのコレクションであり、データベーススキーマ(CHADO)もその1つです。また、Chadoは、ほとんどの場合シーケンスとIDを持つ人向けではありません。BioMartもサーバーではなく、モデルデータベースの非正規化を可能にし、全ゲノムクエリを十分に高速に実行できるようにするツールです。BioMartクライアントの1つ(MartView)は、Webインターフェイスとして提供されます。現時点では間違いなくBiomartを使用したくないと思いますが、詳細はメールで説明できます。最初に始めるには、むしろWebベースのBLASTクライアントが必要だという印象があります。
Galaxy:Galaxyはデータベースではなく、さまざまなゲノムの(主にDNA)配列を操作するためのツールを備えたWebサイトです。Galaxyは、UCSCゲノムブラウザーのシーケンス、ツール、およびファイル形式と緊密にリンクされています。したがって、まったく新しいシーケンスのデータベースを作成したい場合、ギャラクシーは適していません。BLASTサーバーも含まれていません。シーケンスのデータベースを作成したい場合は、GMODの一部としてのCHADOが近づきますが、開始するにはテキストファイルの使用を開始したいと思います。上記の私の投稿を参照してください。
多分あなたはPlone4Bioを見ることができます。
PloneはPythonで書かれた拡張コンテンツ管理エンジンであり、多くの機能と使いやすいアプリケーションを備えているため、フォーラムやニュース用製品などのモジュールのコレクションを使用してWebサイトを作成できます...(ご存知のとおり)これはすでにですが、少し背景を説明するだけです)。
Plone4Bioは、バイオインフォマティクス用のいくつかのploneアプリケーションを提供することを目的としています...プロジェクトがどれだけ進んでいるかはわかりません。まだ使用していませんが、少なくともシーケンスオブジェクトとそれを視覚化するためのアプリがあるようです。 、そしておそらくそれらを検索するためのいくつかのアプリケーション。(ps彼らはuniprotでそれを使用します-膜タンパク質の「サードパーティデータ」セクションを見てください)
バイオインフォマティクスを目的とした他のCMSアプリは知りませんが、あまり労力をかけなくてもdjangoで簡単に実装できるかもしれません。
同意します。質問はbbb@bioinformatics.orgまたはbioperlメーリングリストに投稿する必要があります。
「ウェブサイト検索フォームを使用して一般的な配列データベースを簡単に作成する」という質問は、一般的すぎるようです。シーケンスデータベースは(id、sequence)のリストであり、それ自体はツールのサポートを必要としません。少なくとも、そのためのツールが必要になる理由はわかりません。
あなたの質問は、ローカルにインストールできるWebフォームとしてのBLASTクライアントはありますか?いくつかあります。PLANを実行したことはありませんが、試してみる価値があるかもしれません。BioPerlにはスタンドアロンBLAST実行用のオブジェクトがあり(http://doc.bioperl.org/releases/bioperl-1.0/Bio/Tools/Run/StandAloneBlast.html)、結果をグラフィカルに表示できます。Debian / Ubuntu Medにはncbi-tools-binとncbi-rrna-dataがあり、必要なツールとデータベースを数秒でインストールします。
ツールのサポートについて熟考する代わりに、入力シーケンスを使用してblastを実行する10行のCGIスクリプトを、所有しているFastaファイルにハックして、ユーザーがまだ満足していないかどうかを確認したいと思います。
プログラミング言語についての懸念:必要に応じて、シェルスクリプト(*)を使用してこれを行うことができます。それはstackoverflowへの投稿よりも時間がかからないかもしれません...;-)
(*)パラノイドコンピュータサイエンスの同僚への注意:オペレーティングシステムと演算子のオーバーロードの違いを知らない生物学者のための内部アプリケーションになるため、SQLインジェクションはほとんどありません...
これは、単純なタスクには複雑すぎるシステムを設計することで多くの時間を失う可能性があるという意味で、時期尚早の最適化が十分に悪である例だと思います。アジャイルプログラミングの精神で、ソフトウェアエンジニアリングの流行語が好きな場合は、アーキテクチャについて考える前に、何かを一緒にハックして、ユーザーに試してみることができます。
情報がどの形式で保存されるか、またはDNA配列がどのように表示されるか(長い文字列ですか?)がわからない場合は、各DNA配列をMySQLデータベースに挿入してから、次のような単純なクエリ:
SELECT * FROM `dna_table` WHERE `sequence` = $sequence;
エスケープ文字列またはパラメーター化されたクエリ(SQLインジェクションを防ぐため)を使用するようにしてください。ただし、それ以外の点では、これは約100行を超えることのない非常に単純なDBプログラムのように聞こえます。