以下に、図面を参照して、本願に係る発明を実施するための最良の形態について説明する。図1は本発明の一実施形態であるゲノム情報表示システムの概略構成図、図2はそのゲノム情報表示システムのサーバの概略ブロック図、図3はそのゲノム情報表示システムの各端末の概略ブロック図である。
本実施形態のゲノム情報表示システムは、図1に示すように、サーバ10と、複数の端末60,60,・・・とを備える。サーバ10と複数の端末60,60,・・・とは、ネットワークを介して接続されている。これにより、サーバ10と複数の端末60,60,・・・との間でデータ通信を行うことができる。ここで、ネットワークとしては、例えばインターネットが用いられる。
サーバ10は、ゲノムを構成する遺伝子等のエレメントについての位置データを含む複数種類のマップ表示用データ等を管理するものである。サーバ10は、例えば、当該システムを利用する社内又は当該システムを管理する管理会社に設置される。また、各端末60は、サーバ10から送られた所定の一まとまりのマップ表示用データに基づいて、各エレメントをグラフィカルに示すマップ画面を作成し、それを表示手段の画面上に表示するものである。各端末60は、遺伝子研究を行う研究所や製薬会社等に設置される。
サーバ10は、図2に示すように、データ群格納手段21と、検索手段31と、データ管理手段41とを備える。データ群格納手段21には、複数種類のマップ表示用データ、キーワードデータ、設定データ等が格納されている。このデータ群格納手段21の構成については後に詳述する。検索手段31は、各端末60からデータ群格納手段21内のデータを検索するための検索データが送られたときに、当該検索データに基づいてデータ群格納手段21内のデータを検索するものである。
データ管理手段41は、データ群格納手段21に格納されたデータを管理するものであり、図2に示すように、通信制御部45と、マップ表示用データ登録処理部46と、キーワードデータ登録処理部47と、認証処理部48とを有する。通信制御部45は、検索手段31により検索して得られた検索結果データを当該端末60に送信すると共に、各端末60からある検索結果データに関するマップ画面の表示要求が送られたときに、当該検索結果データに関するマップ画面を作成するのに必要な一まとまりのマップ表示用データをデータ群格納手段21から取得して当該端末60に送信するものである。また、通信制御部45は、各端末60から最初にアクセスされたときに、所定の表示用プログラムを当該端末60に送信する。かかる表示用プログラムはデータ群格納手段21に格納されている。
マップ表示用データ登録処理部46は、公共のゲノムデータやユーザが個人的に所有しているゲノムデータを所定のデータ形式に変換し、その変換したデータをマップ表示用データとしてデータ群格納手段21に登録するものである。キーワードデータ登録処理部47は、マップ表示用データに含まれるエレメントの名称をキーワードとして抽出し、その抽出したキーワードを用いて作成されたキーワードデータをデータ群格納手段21に登録するものである。認証処理部48は、各端末60からユーザIDとパスワードが送られたときに、かかるユーザIDとパスワードに基づいて認証処理を行うものである。
次に、データ群格納手段21の構成について説明する。データ群格納手段21は、図2に示すように、複数のマップ表示用データ格納部25,25,・・・と、キーワードデータ格納部26と、設定データ格納部27と、ユーザ管理データ格納部28とを備える。複数のマップ表示用データ格納部25,25,・・・にはそれぞれ、各種のマップ表示用データが格納される。各マップ表示用データは、ゲノムを構成する各エレメントの位置データを含むものであり、マップ表示用データ登録処理部46によって、例えば公共のゲノムデータに基づいて作成される。公共のゲノムデータとしては、例えば、RefSeq Genes、GenScan Gene Predictions、Clone Coverage/Fragment Position等がある。RefSeq Genesは、NCBI(National Center for Biotechnology Information)のReference Sequence プロジェクトによって管理されているmRNAシーケンスに基づいて、UCSCで作られたヒトゲノム遺伝子配列データである。GenScan Predictionsは、Clone Coverageに、GenScanと呼ばれる遺伝子予測プログラム(ツール)を使用して得られた遺伝子の予測データである。Clone Coverage/Fragment Positionは、染色体を実験で利用できる単位まで断片化し、その断片化したそれぞれについての遺伝子配列データである。これらGenScan Predictions、Clone Coverage/Fragment PositionもUCSCで作られたデータである。このとき、RefSeq Genesに基づいて作成されたマップ表示用データ、GenScan Gene Predictionsに基づいて作成されたマップ表示用データ、Clone Coverage/Fragment Positionに基づいて作成されたマップ表示用データ等はそれぞれ、別のマップ表示用データ格納部25に格納される。このため、データ管理手段41は、例えばマップ表示用データの名称が指定されると、その名称に対するマップ表示用データ格納部25を認識し、当該名称を有するマップ表示用データにアクセスすることができる。ここで、マップ表示用データはゲノムデータに基づいて作成されるので、本実施形態では、マップ表示用データの名称として、元のゲノムデータの名称を用いることにする。以下では、RefSeq Genesに基づいて作成されたマップ表示用データを「RefSeq」、GenScan Gene Predictionsに基づいて作成されたマップ表示用データを「GenScan」、Clone Coverage/Fragment Positionに基づいて作成されたマップ表示用データを「Coverage」と称することにする。
図4は各マップ表示用データ格納部25に格納されているデータの内容を説明するための図である。各マップ表示用データ格納部25は、図4に示すように、エレメントデータ格納領域25aと、エクソンデータ格納領域25bと、塩基配列データ格納領域25cと、サイトデータ格納領域25dと、特性値データ格納領域25eとからなる。
エレメントデータ格納領域25aには、各エレメントについてのデータがテーブル形式で格納される。ここで、エレメントとは、マップ画面に表示する上で意味のある塩基配列の単位である。具体的には、遺伝子、クローン、コンティグ等がエレメントである。これに対し、エクソンはエレメントではない。マップ表示用データ毎にエレメントとして何を用いるかが決められている。例えば、RefSeqの場合、エレメントとして遺伝子を用いており、Coverageの場合、エレメントとしてクローンを用いている。エレメントデータには、図4に示すように、「エレメントID」、「エレメント名」、「染色体番号」、「開始位置」、「終了位置」、「ストランド」、「コメント」が含まれる。「エレメントID」は、当該エレメントに付与された識別情報である。異なる種類のマップ表示用データとの関係では、エレメントIDは重複しても構わない。「エレメント名」は、当該エレメントの名称である。通常、エレメント名としては、元のゲノムデータに含まれていた名称がそのまま用いられる。特に、エレメントがコンティグである場合には、エレメント名として、例えば当該コンティグに付されたコード名等が用いられる。
「染色体番号」、「開始位置」、「終了位置」は、当該エレメントの位置データである。「染色体番号」は、当該エレメントを含んでいる染色体の番号である。もしゲノムに染色体が含まれない場合には、当然、染色体番号はエレメントデータに含まれない。「開始位置」は、当該エレメントの存在するゲノム上の範囲の開始位置であり、「終了位置」は、当該エレメントの存在するゲノム上の範囲の終了位置である。ここで、ゲノムに染色体がある場合には、開始位置及び終了位置としては、当該エレメントを含んでいる染色体を基準とした位置が用いられる。具体的に、本実施形態では、染色体毎に、その塩基配列に順番に番号を付与し、その付与した番号によって各塩基の位置を特定している。そして、かかる塩基の位置により、エレメントの開始位置及び終了位置を指定している。したがって、染色体番号と開始位置及び終了位置とが指定されると、当該エレメントの存在するゲノム上の範囲がユニークに特定される。尚、以下では、ゲノムに染色体が含まれる場合を考えることにする。
ところで、DNAは二本の鎖が絡み合った二重らせん構造を有しており、両鎖は相補的な塩基配列となっている。遺伝子の塩基配列データは、一方の鎖についての塩基配列を5’末端から3’末端への方向に沿って読み取った配列データと、他方の鎖についての塩基配列を5’末端から3’末端への方向に沿って読み取った配列データとに区別される。そして、これらの二つの塩基配列データについては、染色体の短腕から長腕に向かう方向に沿って読み取られた配列データを+とし、他方の配列データを−として符号表現がなされる。かかる二つの塩基配列データを識別する符号情報が「ストランド」である。また、「コメント」は、元のゲノムデータに含まれていた、当該エレメントに関するテキスト情報である。
エクソンデータ格納領域25bには、各エレメントに含まれるエクソンのデータがテーブル形式で格納されている。エクソンデータには、図4に示すように、「エレメントID」、「Alternative番号」、「エクソン番号」、「開始位置」、「終了位置」が含まれる。「エレメントID」は、当該エクソンが含まれるエレメントに付与された識別情報である。「Alternative番号」は、Alternative splicingを識別するために付与された番号である。「エクソン番号」は、当該エクソンに付与された番号である。エクソン番号により、そのエレメントの中で当該エクソンをユニークに識別することができる。「開始位置」は、当該エクソンの存在するゲノム上の範囲の開始位置であり、「終了位置」は、当該エクソンの存在するゲノム上の範囲の終了位置である。ここで、ゲノムに染色体が含まれる場合には、開始位置及び終了位置としては、当該エレメントを含んでいる染色体を基準とした位置が用いられる。
塩基配列データ格納領域25cには、各エレメントの塩基配列データがテーブル形式で格納されている。エレメントの塩基配列データには、図4に示すように、「エレメントID」、「シーケンス」が含まれる。「エレメントID」は、当該エレメントに付与された識別情報である。「シーケンス」は、当該エレメントの塩基配列を表すデータ、すなわち、A(アデニン)、G(グアニン)、C(シトシン)、T(チミン)の配列を表すデータである。
サイトデータ格納領域25dには、各エレメントに関連する情報を提供する一又は複数のサイトのデータがテーブル形式で格納されている。かかるサイトとしては、例えば、元のゲノムデータを管理しているサイト、当該エレメントについてのデータ又はそれに関連するデータを管理しているサイト等がある。サイトデータには、図4に示すように、「エレメントID」、「サイト名称」、「サイトURL」、「サイト別固有ID」が含まれる。「エレメントID」は、当該サイトと関連のあるエレメントに付与された識別情報である。また、「サイト名称」は当該サイトの名称であり、「サイトURL」は当該サイトのURLである。「サイト別固有ID」は、当該サイトの固有IDである。例えば、元のゲノムデータを管理しているサイトにアクセスする場合、当該サイトが自己の管理するデータに固有のIDを付与し、ユーザがその固有IDを入力しなければ、データを見ることができないことがある。このような固有IDがサイト別固有IDである。かかるサイト別固有IDをサイトURLと共にデータ群格納手段21に格納しておくことにより、端末60は、サイトデータを用いて当該サイトにアクセスすると、所望のデータを確実に取得し、表示手段の画面上に表示することができる。
特性値データ格納領域25eには、各エレメントの特性値データがテーブル形式で格納されている。かかる特性値データには、図4に示すように、「エレメントID」、「特性値」が含まれる。「エレメントID」は、当該エレメントに付与された識別情報である。「特性値」は、元のゲノムデータにおいて当該エレメントに付与されていた特性値である。特性値の例としては、例えば、BLASTという相同性検索プログラム(ツール)を利用して得られる、「スコア」、「期待値」、「類似度」等を挙げることができる。
このように、エレメントデータ、エクソンデータ、塩基配列データ、サイトデータ、特性値データにはすべて、エレメントIDが含まれている。このため、データ管理手段41は、マップ表示用データの名称とエレメントIDとが指定されると、当該マップ表示用エレメントのうち、当該エレメントIDが付与されたエレメントについての、エレメントデータ、エクソンデータ、塩基配列データ、サイトデータ、特性値データをユニークに特定することができる。
上述したように、マップ表示用データには、エレメントデータと、エクソンデータと、塩基配列データと、サイトデータと、特性値データとが含まれる。このうち、マップ画面と直接関連があるのは、位置データを含むエレメントデータ及びエクソンデータである。これに対し、塩基配列データ、サイトデータ、特性値データは、マップ画面と直接関連がないが、マップ表示用データに含まれている。これは、本実施形態では、マップ画面のメニュー操作により、これらのデータを用いた各種の表示を行うことにしているからである。また、元のゲノムデータによっては、マップ表示用データに、エクソンデータ、サイトデータ、特性値データのすべて又はいずれかが含まれないことがある。マップ表示用データは、少なくともエレメントデータを含むものであればよい。
図5はキーワードデータ格納部26に格納されているキーワードデータの内容を説明するための図である。キーワードデータ格納部26は、各キーワードデータをテーブル形式で格納するものである。かかるキーワードデータは、キーワードデータ登録処理部47によって作成されたものである。キーワードデータには、図5に示すように、「データ名」、「エレメントID」、「キーワード」が含まれる。「キーワード」は、エレメントの名称である。すなわち、このキーワードは、キーワードデータ登録処理部47によって各マップ表示用データから抽出されたものである。また、「データ名」は、そのキーワードを抽出したマップ表示用データの名称であり、「エレメントID」は、そのキーワードに対応するエレメントの識別情報である。かかるデータ名とエレメントIDとにより、キーワードデータは、エレメントデータと関連付けられている。
本実施形態では、各マップ表示用データからキーワードを抽出し、その抽出したキーワードを含むキーワードデータを一つのキーワードデータ格納部26に格納している。そして、これらのキーワードデータが検索手段31による検索の対象となる。すなわち、検索手段31は、各端末60から検索データが送られると、まず、キーワードデータ格納部26に格納されているキーワードデータに対して、その検索データに該当するキーワードを見つけ出す。そして、その見つけ出したキーワードに対応するデータ名とエレメントIDとに基づいて、当該キーワードに関連するエレメントデータを特定する。こうして特定されたエレメントデータが検索結果データである。ところで、検索手段31は、複数のマップ表示用データ格納部25,25,・・・に格納されているエレメントデータに対して直接、検索を行うことも可能である。しかし、これでは検索に長い時間がかかるという問題がある。このため、本実施形態では、キーワードデータ格納部26を設け、そのキーワードデータ格納部26に格納されているキーワードデータに対して検索を行うことにより、検索処理の迅速化を図っている。
ユーザ管理データ格納部28は、各ユーザのユーザID及びパスワードを格納するものである。認証処理部48は、各端末60から認証要求と共にユーザID及びパスワードが送られたときに、その送られたユーザID及びパスワードがユーザ管理データ格納部28に格納されているものと一致するかどうかを調べる。そして、ユーザID及びパスワードが一致すると判断すると、認証処理部48は、当該ユーザを認証し、通信制御部45が認証OKフラグを当該端末60に送信する。こうして認証がなされると、当該端末60はサーバ10とデータのやり取りを行える状態となる。
設定データ格納部27は、マップ画面を作成する際に用いられる設定データを格納するものである。かかる設定データには、画面構成スクリプト、レイアウトスクリプトという二種類のデータが含まれている。画面構成スクリプトは、マップ画面の画面構成を設定するためのものである。本実施形態では、マップ画面の画面構成を、シングル画面構成、同期画面構成、非同期画面構成の中から選択することができる。かかる三種類の画面構成に対応して、画面構成スクリプトも三つ用意している。これらの画面構成については後に詳述する。一方、レイアウトスクリプトは、マップ画面のレイアウトを設定するためのものである。かかるレイアウトスクリプトにより、マップ画面内に表示するマップ表示用データの名称、数及び表示順番等を指定することができる。かかる画面構成スクリプトやレイアウトスクリプトは、通常、サーバ10の管理者によって予め用意されている。
また、設定データは、XMLというデータ形式で作成されている。このXMLでは、HTMLと同様にタグを使って、データが階層構造で記述される。もちろん、マップ画面の画面構成やレイアウトの内容は、マップ画面の作成プログラムの中で指定することも可能である。しかし、それでは、マップ画面の画面構成やレイアウトを変更しようとした場合に、プログラムそのものを書き換えなければならなくなる。実際、マップ画面の画面構成やレイアウトについては、ユーザの要望等に応じて変更する機会が多いと考えられる。このため、本実施形態では、マップ画面の画面構成やレイアウトを設定する設定データをプログラムから切り離し、プログラムを改変することなく、設定データだけを改変することにより、マップ画面の画面構成やレイアウトを容易に変更することができるようにしている。画面構成スクリプト及びレイアウトスクリプトは、マップ画面を作成するのに必要な一まとまりのマップ表示用データとともに端末60に送信される。
次に、各端末60の構成について説明する。各端末60は、図3に示すように、キーボードやマウス等の入力手段61と、液晶表示装置等の表示手段62と、制御手段63と、記憶手段64とを備える。記憶手段64は、サーバ10から送られた、マップ画面を作成するのに必要な一まとまりのマップ表示用データと、所定の画面構成スクリプトと、所定のレイアウトスクリプトとを一時的に格納するものである。
制御手段63は、端末60の各部を統括して制御するものである。この制御手段63は、認証画面表示制御手段63aと、検索画面表示制御手段(第一表示制御手段)63bと、マップ画面表示制御手段(第二表示制御手段)63cと、通信制御手段63dとを有する。
認証画面表示制御手段63aは、所定の認証画面を表示手段62の画面上に表示するものである。ここで、認証画面はウェブブラウザの画面に埋め込まれて表示される。図6は認証画面の一例を示す図である。この認証画面110には、「User Name」と記されたユーザIDの入力部111と、パスワードの入力部112とが設けられている。ユーザがユーザIDとパスワードを入力し、「OK」ボタン113をクリックすると、通信制御手段63dは、認証要求と共にその入力したユーザID及びパスワードをサーバ10に送信する。
検索画面表示制御手段63bは、サーバ10から認証OKフラグが送られたときに、データ群格納手段21内のデータを検索するための検索データを入力する検索入力画面とサーバ10から送られた検索結果データを表示する検索結果表示画面とを、表示手段62の画面上に表示するものである。ここで、検索入力画面と検索結果表示画面とはウェブブラウザの画面に埋め込まれて表示される。図7は検索入力画面及び検索結果表示画面の一例を示す図である。図7において、その上部が検索入力画面120であり、下部が検索結果表示画面130である。以下では、この検索入力画面120と検索結果表示画面130とを合わせて検索画面とも称することにする。
検索入力画面120には、図7に示すように、「Select Display Data」と記されたマップ表示用データ選択部121と、「Input Query」と記された検索条件入力部122と、「Select Display Pattern」と記された画面構成選択部123と、「Search」ボタン124と、「Clear」ボタン125とが設けられている。マップ表示用データ選択部121は、マップ画面に表示しようとするマップ表示用データを選択するためのものである。このマップ表示用データ選択部121で選択されたマップ表示用データが、検索手段31による検索の対象となる。実際、マップ表示用データ選択部121のコンボボックスには、レイアウトスクリプトのタイトルの一覧が表示され、ユーザがその一覧から所望のタイトルを選択することにより、マップ表示用データ選択部121にその選択したタイトルが入力される。レイアウトスクリプトには、マップ画面に表示するマップ表示用データの名称が記述されているので、本実施形態では、マップ画面に表示しようとするマップ表示用データを、レイアウトスクリプトのタイトルによって指定することにしているのである。したがって、マップ表示用データ選択部121は、本発明のレイアウトスクリプト選択手段に該当する。図7の例では、マップ表示用データ選択部121に、レイアウトスクリプトのタイトルである「UCSC Golden Path」が入力されている。「UCSC Golden Path」というレイアウトスクリプトには、マップ画面に表示するマップ表示用データの名称として、RefSeq、GenScan、Coverageが記述されている。
検索条件入力部122は、検索しようとするエレメントの名称を文字列で入力するためのものである。文字列を入力する際に、ワイルドカード(*)を使用することができる。図7の例では、「rb*」が入力されている。また、染色体番号を入力することもできる。例えば「chr13」と入力すると、これは13番染色体に含まれるすべてのエレメントということを意味する。マップ表示用データ選択部121に入力されたデータと検索条件入力部122に入力されたデータとが検索データとなる。尚、「Clear」ボタン125は、検索条件入力部122に入力されたデータを消去するためのものである。
また、画面構成選択部123は、マップ画面の画面構成を選択するためのものである。この画面構成選択部123には、「Single」、「Sync」、「Non Sync」の三つの選択欄が設けられている。「Singe」を選択するとシングル画面構成が選択され、「Sync」を選択すると同期画面構成が選択され、「Non Sync」を選択すると非同期画面構成が選択される。マップ画面表示制御手段63cは、マップ画面を表示する際に、画面構成選択部123で選択された画面構成のマップ画面を作成することになる。この画面構成選択部123で選択された内容は検索データではないが、ユーザの操作の便宜上、この時点でマップ画面の画面構成を指定することにしている。
ユーザが検索データを入力し、「Search」ボタン124をクリックすると、通信制御手段63dは、検索要求と共にその入力した検索データをサーバ10に送信する。サーバ10の検索手段31は、マップ表示用データ選択部121で選択されたレイアウトスクリプトのタイトルを含む検索データが各端末60から送られたときに、当該タイトルに対応するレイアウトスクリプトをデータ群格納手段21から取得し、その取得したレイアウトスクリプトの記述内容から検索対象となるマップ表示用データの種類を決定する。
検索結果表示画面130には、サーバ10から送られた検索結果データが一覧表示される。各検索結果データは、「Name」、「Chrom」、「Strand」、「Chrom Start」、「Chrom End」、「Comment」の各項目に分けて表示される。サーバ10は、検索データに該当するエレメントについてのエレメントデータを、検索結果データとして端末60に送信する。このため、上記の各表示項目はエレメントデータの内容と略同じである。すなわち、「Name」の欄には、検索データに該当したエレメントの名称が表示される。「Chrom」の欄には、そのエレメントを含んでいる染色体の番号が表示される。「Strand」の欄には、そのエレメントを含んでいるエレメントデータのストランドが表示される。「Chrom Start」の欄には、その染色体における当該エレメントの開始位置が表示され、「Chrom End」の欄には、その染色体における当該エレメントの終了位置が表示される。また、「Comment」の欄には、所定のコメントが記載される。ユーザが、検索結果表示画面130における検索結果データの一覧から、一の検索結果データを選択すると、通信制御手段63dは、その選択された検索結果データに関するマップ画面の表示要求と共に、当該選択した検索結果データに含まれる染色体番号、マップ表示用データ選択部121に入力されたレイアウトスクリプトのタイトル、画面構成選択部123で選択された画面構成の内容をサーバ10に送信する。
マップ画面表示制御手段63cは、サーバ10から送られたマップ画面を作成するのに必要な一まとまりのマップ表示用データと、所定の画面構成スクリプト及びレイアウトスクリプトとに基づいて、所定のマップ画面を作成し、表示手段42の画面上に表示するものである。マップ画面はウェブブラウザの画面とは別の画面に表示される。
図8はマップ画面の一例を示す図である。具体的に、図8に示すマップ画面140は、図7の検索入力画面120及び検索結果表示画面130において、検索結果データとして「RB1」(ガン抑制遺伝子)が、レイアウトスクリプトとして「UCSC Golden Path」が、画面構成スクリプトとしてシングル画面構成がそれぞれ選択されたときに表示されたものである。マップ画面140は、メニュー領域151と、キャンバス領域161とに分けられる。メニュー領域151は、マップ画面140を制御するメニューを表示する領域である。キャンバス領域161は、ゲノム情報を表示する領域であり、第一領域165、第二領域166、第三領域167の三つの領域に分けられる。第一領域165はキャンバス領域161の中央部に、第二領域166はキャンバス領域161の上部に、第三領域167はキャンバス領域161の下部にそれぞれ設けられている。
第一領域165には、マップ表示用データの種類毎に、検索結果表示画面130上で選択された検索結果データに対応するエレメントが略中央に位置するように各エレメントの存在するゲノム上の範囲をグラフィカルに示した拡大マップが表示される。図8では、拡大マップの中央部に、遺伝子「RB1」が所定の表示倍率で表示されている。拡大マップにおいて「Scale」と書かれた部分には、染色体を基準とした位置の目盛りが示されている。すなわち、拡大マップの横軸は染色体上の位置を表している。また、拡大マップの左側には、上下方向に沿って、各マップ表示用データの名称が表示される。ここで、マップ表示用データがストランドを含む場合には、当該マップ表示用データをストランドにより二つに区別して表示している。図8の例では、RefSeq(+)、GenScan(+)、Coverage、GenScan(−)、RefSeq(−)という五つのマップ表示用データの名称が表示されている。
各マップ表示用データの名称が表示された部分に対応するレーン(行)上には、当該マップ表示用データに含まれる各エレメントの存在するゲノム上の範囲がグラフィカルに表示される。具体的には、各エレメントの存在するゲノム上の範囲を帯状の図形で表したグラフィカル表示がなされる。但し、マップ画面表示制御手段63cは、拡大マップを作成する場合、拡大マップ上におけるエレメントの表示範囲が所定の大きさよりも大きく、且つ、所定種類のマップ表示用データにエクソンデータが含まれているときに、エクソンデータを含むマップ表示用データに対する当該エレメントの表示範囲においては、当該エレメントの存在するゲノム上の範囲をグラフィカルに示す代わりに、当該エレメントの各エクソンの存在するゲノム上の範囲をグラフィカルに示す。具体的には、各エクソンの存在するゲノム上の範囲を帯状の図形で表すと共にそれらのエクソンを直線で繋いだグラフィカル表示がなされる。図8の例では、RefSeq(+)に対する遺伝子「RB1」がエクソン構造でグラフィカルに表示されている。このように、本実施形態では、各マップ表示用データに含まれる各エレメントを、マップ表示用データの種類毎にグラフィカルに表示することができるので、各マップ表示用データの内容を容易に比較することができる。
第二領域166には、サーバ10から送られた一まとまりのマップ表示用データに対応するゲノム上の範囲をバンド構造で示す全体マップ166aと、拡大マップに表示されているゲノム上の範囲を全体マップ166a上で指し示すラバーバンド(指示手段)166bとが表示される。図8の例では、ヒトゲノムの13番染色体に関する所定種類のマップ表示用データがサーバ10から送られているので、全体マップ166aとして、ヒトゲノムの13番染色体のバンド構造図が表示されている。また、第二領域166の左上には、全体マップ166aの名称が表示され、第二領域166の右下には、拡大マップに表示されているゲノム上の範囲が数値(塩基の位置)で表示されている。図8の例では、全体マップ166aの名称として「Chromosome13」が表示され、拡大マップに表示されているゲノム上の範囲として「46449023−47484841」が表示されている。
また、マウスを用いて全体マップ166a上の所定位置をクリックすることにより、ラバーバンド166bをそのクリックした位置に移動すると共に、拡大マップに表示されているゲノム上の範囲を、その移動後のラバーバンド166bが指し示す範囲に移動することができる。すなわち、マップ画面表示制御手段63cは、マウスを用いて全体マップ166a上の所定位置がクリックされたときに、そのクリックした位置にラバーバンド166bを移動する。そして、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、当該移動後のラバーバンド166bが指し示す範囲についての拡大マップを作成して、第一領域165に表示する。
このように、全体マップ166a上の所定位置をクリックすることにより、拡大マップに表示されるゲノム上の範囲を変更することができるが、別の操作方法を用いて拡大マップに表示されるゲノム上の範囲を変更することも可能である。例えば、全体マップ166a上において、ラバーバンド166bをドラッグし所定位置にドロップすることにより、マップ画面表示制御手段63cが、そのドロップされたラバーバンド166bが指し示す範囲についての拡大マップを作成して、第一領域165に表示するようにしてもよい。
第三領域167には、拡大マップに表示されるゲノム上の範囲を操作するための三つの操作手段が設けられている。すなわち、移動操作手段167aと、拡大・縮小操作手段167bと、ジャンプ操作手段167cとである。
移動操作手段167aは、拡大マップに表示されるゲノム上の範囲を移動するためのものである。この移動操作手段167aには、図8に示すように、「Left」と「Right」の二つのボタンが設けられている。マップ画面表示制御手段63cは、「Left」ボタンが押されたときに、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、「Left」ボタンが押されている間、表示されるゲノム上の範囲が一定速度で左側に移動するような拡大マップを作成して、第一領域165に表示する。一方、マップ画面表示制御手段63cは、「Right」ボタンが押されたときに、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、「Right」ボタンが押されている間、表示されるゲノム上の範囲が一定速度で右側に移動するような拡大マップを作成して、第一領域165に表示する。
拡大・縮小操作手段167bは、拡大マップに表示されるゲノム上の範囲を拡大又は縮小するためのものである。この拡大・縮小操作手段167bには、図8に示すように、「In」と「Out」の二つのボタンが設けられている。マップ画面表示制御手段63cは、「In」ボタンが押されたときに、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、「In」ボタンが押されている間、表示されるゲノム上の範囲が一定速度で拡大するような拡大マップを作成して、第一領域165に表示する。一方、マップ画面表示制御手段63cは、「Out」ボタンが押されたときに、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、「Out」ボタンが押されている間、表示されるゲノム上の範囲が一定速度で縮小するような拡大マップを作成して、第一領域165に表示する。
ジャンプ操作手段167cは、ゲノム上の範囲を数値で指定し、その指定されたゲノム上の範囲についての拡大マップを第一領域165に表示するためのものである。このジャンプ操作手段167cには、ゲノム上の範囲の左端の位置と右端の位置とを指定するための二つの位置入力欄と、「Jump」ボタンとが設けられている。マップ画面表示制御手段63cは、二つの位置入力欄に所定の数値が入力されて、「Jump」ボタンが押されたときに、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、二つの位置入力欄に入力された数値で指定されたゲノム上の範囲についての拡大マップを作成して、第一領域165に表示する。
尚、各操作手段167a,167b,167cにより、拡大マップに表示されるゲノム上の範囲が変更されると、それに対応して、第二領域166に示されているラバーバンド166bの位置・大きさや、拡大マップに表示されているゲノム上の範囲を示す数値も変更される。
図8に示したマップ画面はシングル画面構成のマップ画面である。本実施形態では、マップ画面の画面構成として、シングル画面構成の他に、同期画面構成と、非同期画面構成とを用意している。図9は同期画面構成のマップ画面の一例を示す図、図10は非同期画面構成のマップ画面の一例を示す図である。ここで、図9及び図10では拡大マップ及び全体マップの内容等を省略して示している。シングル画面構成とは、図8に示すように、一つのキャンバス領域161を有し、そのキャンバス領域161内に第一領域165、第二領域166及び第三領域167がそれぞれ一つだけ含まれる画面構成である。同期画面構成とは、図9に示すように、一つのキャンバス領域161を有し、そのキャンバス領域161内に二つの第一領域165,165と一つの第二領域166と一つの第三領域167とが含まれている画面構成である。このとき、二つの第一領域165,165にはそれぞれ、同一の一まとまりのマップ表示用データに基づいて異なる表示倍率で作成された拡大マップが表示される。同期画面構成のマップ画面でも、全体マップは一つしか表示されず、また、操作手段も一組しか設けられていない。この同期画面構成のマップ画面では、操作手段の操作を行うと、二つの第一領域165,165の表示内容が同時に変化する。また、非同期画面構成とは、図10に示すように、二つのキャンバス領域161,161を有し、各キャンバス領域161内に第一領域165、第二領域166及び第三領域167がそれぞれ一つだけ含まれる画面構成である。すなわち、マップ画面内に二つのシングル画面構成の画面が含まれる画面構成である。非同期画面構成のマップ画面では、二つのキャンバス領域161,161は互いに独立している。したがって、各キャンバス領域161については、操作手段の操作を行うと、その操作手段に対応するキャンバス領域161内の第一領域165の表示内容だけが変化する。かかる非同期画面構成のマップ画面を用いると、例えば、別の生物種のゲノム情報を並べて表示することができる。
尚、マップ画面の画面構成は、上述したように、検索入力画面120の画面構成選択部123において選択される。同期画面を選択した場合には、上の第一領域に表示される拡大マップに対する下の第一領域に表示される拡大マップの表示倍率を指定する必要がある。この表示倍率は、例えば図7に示すように、2倍、5倍、10倍の中から選択される。また、非同期画面を選択した場合には、今回の表示内容を上下のキャンバス領域のうちいずれに表示するのかを選択する必要がある。例えば図7に示すように、上のキャンバス領域に表示するときには「Upper」を、下のキャンバス領域に表示するときには「Lower」を選択する。
マップ画面140のメニュー領域151には、「Edit」、「View」、「Settings」、「Bookmarks」、「Tools」、「Help」の六つのメニューが表示される。「Edit」メニューは、エレメントデータの編集、追加処理を行うためのものであり、「Add annotation」、「Add element」、「Element style」の三つのサブメニューを含んでいる。「Add annotation」サブメニューは、選択されたエレメントに対してアノテーションを付与し、そのアノテーションの情報をデータ群格納手段21に登録するものである。ここで、アノテーションとは、エレメントに付けられた注釈情報である。「Add element」サブメニューは、新規エレメントをデータ群格納手段21に登録するものである。「Element style」サブメニューは、拡大マップ上の所定のエレメントに対して、表示属性(色及び形状)を変更するものである。「View」メニューは、配列情報、アノテーション情報を表示するためのものであり、「Nucleotide sequence」、「Amino acid sequence」、「Annotation」の三つのサブメニューを含んでいる。「Nucleotide sequence」サブメニューは、選択されたエレメントに関する塩基配列を表示するものであり、「Amino acid sequence」サブメニューは、選択されたエレメントに関するアミノ酸配列のデータがデータ群格納手段21に登録されている場合に、そのアミノ酸配列を表示するものである。「Annotation」サブメニューは、選択されたエレメントに関するアノテーション情報を閲覧するためのものである。
また、「Settings」メニューは、表示制御等を行うものであり、「Lane」、「Filter」の二つのサブメニューを含んでいる。「Lane」サブメニューは、拡大マップにおいて各レーンの表示・非表示やレーンの入れ替えを設定するためのものである。「Filter」サブメニューは、各エレメントの持っている特性値に基づいて表示を制御するためのものである。例えば、複数種類のマップ表示用データのうちから所定のマップ表示用データが選択され、特性値の範囲が指定されると、マップ画面表示制御部63cは、記憶手段64に格納されている一まとまりのマップ表示用データに含まれる特性値データに基づいて、当該選択したマップ表示用データについて、当該指定した範囲の特性値を有するエレメントだけを表示するような拡大マップを作成して、第一領域165に表示する。このように、「Filter」サブメニューでは、表示対象の絞込みができる。「Bookmarks」メニューは、お気に入りの表示画面を登録したり、登録されている画面にジャンプしたりするためのものであり、「Bookmark」のサブメニューを含んでいる。「Tools」メニューには、相同性検索を行うための「BLAST」のサブメニューが含まれている。「Help」メニューには、当該システムの機能や使用方法を説明するための「About This Application」のサブメニューが含まれている。
ここで、特に、サブメニュー「Nucleotide sequence」を選択したときに表示される塩基配列の表示画面について説明する。図11は塩基配列の表示画面の一例を示す図である。この塩基配列の表示画面170を表示するには、拡大マップ上で、配列を表示したいエレメントを選択する。その後、「View」メニューをクリックしたときに表示されるサブメニューの中から「Nucleotide sequence」を選択すると、マップ画面表示制御手段63cは、記憶手段64に格納されている一まとまりのマップ表示用データに含まれる塩基配列データに基づいて、当該選択されたエレメントについての塩基配列の表示画面170を作成し、それをマップ画面とは別の画面に表示する。この塩基配列の表示画面170には、当該選択されたエレメントについての塩基配列が一ラインに50個ずつ表示される。各ラインの左側には、当該ラインの先頭に表示された塩基についての、当該染色体上における位置と当該エレメント内における位置とが表示される。ここで、当該エレメントについてのエクソンデータが、記憶手段64に格納されている一まとまりのマップ表示用データに含まれている場合には、エクソン部分の表示色とエクソン以外の部分の表示色とが区別される。また、塩基配列の表示画面170の左下には、「Upper」ボタン171と、「Lower」ボタン172とが設けられている。「Upper」ボタン171を一回押す度に、当該エレメントの上流にある500個の塩基配列を付加的に表示することができ、「Lower」ボタン172を一回押す度に、当該エレメントの下流にある500個の塩基配列を付加的に表示することができる。
通信制御手段63dは、認証画面110上で入力されたユーザID及びパスワードや、検索入力画面120上で入力された検索データをサーバ10に送信するものである。また、通信制御手段63dは、検索結果表示画面130に表示された検索結果データのうち一の検索結果データが選択されたときに、当該選択された検索結果データに関するマップ画面の表示要求と共に、当該選択された検索結果データに含まれる染色体番号、マップ表示用データ選択部121に入力されたレイアウトスクリプトのタイトル、画面構成選択部123で選択された画面構成の内容をサーバ10に送信する。
ところで、本実施形態では、認証画面表示制御手段63a、検索画面表示制御手段63b、マップ画面表示制御手段63c、通信制御手段63dの各機能を各端末60に実現させるための表示用プログラムを、サーバ10のデータ群格納手段21に格納している。サーバ10の通信制御部45は、各端末60から最初にアクセスされたときに表示用プログラムを当該端末60に送信する。そして、各端末60は、サーバ10から表示用プログラムが送られたときにその表示用プログラムをローディングする。例えば、各端末60では、ウェブブラウザにJava(登録商標) Plug−inが組み込まれており、そのJava(登録商標) Plug−inの中でその表示用プログラムが実行される。これにより、各端末60には、認証画面表示制御手段63a、検索画面表示制御手段63b、マップ画面表示制御手段63c、通信制御手段63dの各機能が付加される。ウェブブラウザを終了すると、通常、そのプログラムはJava(登録商標) Plug−inにキャッシュされる。このため、各端末60は次回、サーバ10にアクセスした際に、再度、表示用プログラムをダウンロードする必要はない。但し、ウェブブラウザを終了する度に、そのローディングした表示用プログラムがキャッシュされないようにJava(登録商標) Plug−inを設定してもよい。この場合は、各端末60は次回、サーバ10にアクセスしたときに、再び表示用プログラムをダウンロードすることになる。尚、Java(登録商標) Plug−inは、サンマイクロシステムズ社が提供する公知のプログラムの一つである。
次に、画面構成スクリプトの内容について詳しく説明する。図12はシングル画面構成の画面構成スクリプトの一例を示す図、図13は同期画面構成の画面構成スクリプトの一例を示す図、図14は非同期画面構成の画面構成スクリプトの一例を示す図である。
画面構成スクリプトでは、タグを使って、マップ画面の画面構成とメニュー構成とを指定する。すなわち、画面構成スクリプトに記述する内容により、マップ画面の画面構成をシングル画面構成、同期画面構成、非同期画面構成のうちいずれにするかの設定や、マップ画面のメニュー領域151に表示する各メニューの表示タイトル、各メニューをクリックしたときに表示されるサブメニューの表示タイトル等の設定が行われる。画面構成スクリプトで使用されるタグには、例えば、Windowタグ、Menuタグ、MenuItemタグ、Textタグ、Mnemonicタグ、Acceleratorタグ、Commandタグ、Controlタグ、Canvasタグ等がある。Windowタグは、最上位のルートタグである。Menuタグは、メニュー領域151に表示するメニューを指定するものである。MenuItemタグは、メニュー内にサブメニューの追加を指定するものである。Textタグは、メニュー又はサブメニューの表示タイトルを指定するものである。Mnemonicタグは、メニューにキーボードニーモニックを指定するものであり、Acceleratorタグは、サブメニューにキーボードアクセラレータを指定するものである。Commandタグは、サブメニューがクリックされた際に起動するコマンドを指定するものである。Controlタグは、操作手段の追加を指定するものである。Canvasタグは、キャンバス領域の追加を指定するものであり、Controlタグの下層に設けられる。ControlタグとCanvasタグの指定方法に応じて、シングル画面、同期画面、非同期画面が指定される。
図12、図13、図14の画面構成スクリプトでは、Windowタグの下層に六つのMenuタグが設けられているが、それらの記述内容は全く同じである。かかる三つの画面構成スクリプトの違いは、Windowタグの下層の最後に設けられたCanvasタグの数及びその記述内容のみである。これらの画面構成スクリプトに基づいてマップ画面の画面構成を決定した場合、当該マップ画面のメニュー領域151には、「Edit」、「View」、「Setting」、「Bookmarks」、「Tools」、「Help」の各メニューが表示される。例えば、各画面構成スクリプトにおいて、「Edit」を指定したMenuタグの下層には、三つのMenuItemタグが設けられている。このため、これらMenuItemタグの記述内容にしたがって、マップ画面においては、「Edit」のメニュー内に、「Add annotation」、「Add element」、「Element style」の各サブメニューが表示される。同様に、その他のメニュー内にも、当該Menuタグの下層に設けられたMenuItemタグの記述内容にしたがって、所定のサブメニューが表示される。
図12の画面構成スクリプトでは、Windowタグの下層にControlタグを一つだけ設け、そのControlタグの下層にCanvasタグを一つだけ設けている。すなわち、これは、操作手段を一組だけ表示し、かかる操作手段により一つのキャンバス領域内の表示範囲を操作するという設定である。したがって、図12の画面構成スクリプトは、マップ表示画面の画面構成としてシングル画面構成を設定したものである。一方、図13の画面構成スクリプトでは、Windowタグの下層にControlタグを一つだけ設け、そのControlタグの下層に二つのCanvasタグを設けている。これは、操作手段を一組だけ表示し、かかる操作手段により二つのキャンバス領域内の表示範囲を操作するという設定である。したがって、図13の画面構成スクリプトは、マップ表示画面の画面構成として同期画面構成を設定したものである。そして、図14の画面構成スクリプトでは、Windowタグの下層に二つのControlタグを設け、各Controlタグの下層にCanvasタグを一つだけ設けている。すなわち、これは、二組の操作手段を表示し、各組の操作手段によりそれに対応する一つのキャンバス領域内の表示範囲を操作するという設定である。したがって、図14の画面構成スクリプトは、マップ表示画面の画面構成として非同期画面構成を設定したものである。
このような画面構成スクリプトは、データ群格納手段21の設定データ格納部27に格納されている。サーバ10のデータ管理手段41は、マップ画面の表示要求と共に画面構成選択手段123で選択された内容が各端末60から送られたときに、当該選択された内容に対応する画面構成スクリプトをデータ群格納手段21の設定データ格納部27から取得して当該60に送信する。そして、各端末60のマップ画面表示制御手段63cは、マップ画面を作成するのに必要な一まとまりのマップ表示用データと共に所定の画面構成スクリプトがサーバ10から送られたときに、その送られた画面構成スクリプトに基づいてマップ画面の画面構成を決定する。
次に、レイアウトスクリプトの内容について詳しく説明する。図15はレイアウトスクリプトの一例を示す図である。
レイアウトスクリプトでは、タグを使って、拡大マップのレイアウトの内容を指定する。すなわち、レイアウトスクリプトに記述する内容により、拡大マップに表示するマップ表示用データの種類、表示するマップ表示用データの順番、各マップ表示用データについての表示領域の大きさ、エレメントを表す図形の色等についての設定が行われる。レイアウトスクリプトで使用されるタグには、例えば、Canvasタグ、DbUrlタグ、ScriptTitleタグ、MapUrlタグ、SeqPathタグ、Organismタグ、Baseタグ、Lineタグ、Scaleタグ、Titleタグ、DataNameタグ、Strandタグ、Heightタグ、Colorタグ、Typeタグ、Formタグ、Visibleタグ等がある。Canvasタグは、最上位タグである。DbUrlタグは、データ群格納手段21への接続URLを指定するものである。ScriptTitleタグは、検索入力画面120において、マップ表示用データ選択部121のコンボボックスに表示されるタイトルを指定するものである。MapUrlタグは、マップ画面の第二領域166に表示される全体マップの画像が格納されているURLを指定するものである。SeqPathタグは、マップ画面を作成する際に必要なマップ表示用データが格納されたディレクトリパスを指定するものである。このディレクトリパスをプログラムの中に記述してしまうと、その変更が容易でないので、本実施形態では、マップ表示用データが格納されたディレクトリパスをレイアウトスクリプトの中に記述することにしている。
Organismタグは、そのマップ表示用データがどのような生物種であるかを指定するものである。この例では、Organismタグに「HS」が指定されている。この「HS」はヒトゲノムであることを意味している。Baseタグは、マップ画面を作成するのに必要なマップ表示用データの基本単位を指定するものである。この例では、Baseタグに「chromosome」が指定されている。これは、マップ画面を作成するには、染色体を基本単位とした一まとまりのマップ表示用データが必要であることを意味している。また、Baseタグに「contig」を指定することも可能である。この場合には、マップ画面を作成するには、コンティグを基本単位とした一まとまりのマップ表示用データが必要であることを意味する。
Lineタグは、拡大マップに表示されるマップ表示用データを指定するものである。このLineタグの下層に記述される内容により、当該マップ表示用データの表示方法等が指定される。Scaleタグは、拡大マップに表示されるスケール(位置の目盛り)を指定するものである。Canvasタグの中には、複数のLineタグ、複数のScaleタグを記述することができる。Canvasタグ内に記述されているLineタグ及びScaleタグの順番にしたがって、それらに対応するマップ表示用データ及びスケールが拡大マップに表示される。
Titleタグは、拡大マップの左側に表示されるマップ表示用データの名称(タイトル)を指定するものである。DataNameタグは、レーンに表示するデータを抽出するための論理名称である。Strandタグは、表示するマップ表示用データのストランドを指定するものである。「+」又は「−」を指定することができる。本実施形態では、マップ表示用データの名称が同じであっても、ストランドが異なれば、それらを別のレーンに描画することにしている。Heightタグは、マップ表示用データ又はスケールを表示する高さを数値で指定するものである。Colorタグは、マップ表示用データ又はスケールの表示色を指定するものである。その指定は16進数値で行われる。Typeタグは、各エレメントの存在するゲノム上の範囲をグラフィカルに表示する際に、そのグラフィカル表示の描画タイプを指定するものである。例えば、描画タイプとして、「line」又は「fill」を指定することができる。「line」はグラフィカル表示をする範囲を線で囲む描画タイプであり、「fill」はグラフィカル表示をする範囲を塗り潰す描画タイプである。Formタグは、各エレメントの存在するゲノム上の範囲をグラフィカルに表示する際に、そのグラフィカル表示の描画形式を指定するものである。例えば、描画形式として、「box」又は「arrow」を指定することができる。「box」はグラフィカル表示をする範囲を帯状の図形で表示する描画形式であり、「arrow」はグラフィカル表示をする範囲を帯状の図形とストランドの方向に向かう矢印とにより表示する描画形式である。Visibleタグは、マップ画面を最初に表示する際に、レーン又はスケールを表示するか(「true」)、表示しないか(「false」)を指定するものである。
このようなレイアウトスクリプトは、データ群格納手段21の設定データ格納部27に格納されている。サーバ10のデータ管理手段41は、マップ画面の表示要求と共にマップ表示用データ選択部121で選択されたレイアウトスクリプトのタイトルが各端末60から送られたときに、当該選択されたレイアウトスクリプトのタイトルに対応するレイアウトスクリプトをデータ群格納手段21の設定データ格納部27から取得して当該60に送信する。そして、各端末60のマップ画面表示制御手段63cは、マップ画面を作成するのに必要な一まとまりのマップ表示用データと共に所定のレイアウトスクリプトがサーバ10から送られたときに、その送られたレイアウトスクリプトに基づいてマップ画面の第一領域165のレイアウトを決定する。実際、図8に示す拡大マップのレイアウトは、図15に示すレイアウトスクリプトに基づいて決定されたものである。
次に、本実施形態のゲノム情報表示システムにおいてマップ表示用データ及びキーワードデータをデータ群格納手段21に登録する処理手順について説明する。図16はマップ表示用データ及びキーワードデータをデータ群格納手段21に登録する処理手順を説明するためのフローチャートである。
マップ表示用データの登録はマップ表示用データ登録処理部46によって行われ、キーワードデータの登録はキーワードデータ登録処理部47によって行われる。まず、マップ表示用データ登録処理部46は、公共データベースから所定のゲノムデータをダウンロードする(S11)。当然のことであるが、個人の所有するゲノムデータに基づいてマップ表示用データを作成する場合には、かかるダウンロード処理は省略される。次に、マップ表示用データ登録処理部46は、そのダウンロードしたゲノムデータについて所定の編集処理を行う(S12)。具体的に、マップ表示用データ登録処理部46は、そのゲノムデータに含まれる各エレメントにエレメントIDを付与する。そして、エレメント毎に、エレメントの名称、位置、ストランド、コメント、塩基配列、特性値等の各データをゲノムデータから抽出する。また、ゲノムデータにエクソンに関するデータが含まれている場合には、マップ表示用データ登録処理部46は、エレメントに含まれる各エクソンにエクソン番号を付与し、エクソン毎に位置データをゲノムデータから抽出する。ところで、かかる抽出されたエレメントやエクソンの位置データについては、エレメントやエクソンの位置が、例えばコンティグを基準として指定されていることがある。かかる場合、マップ表示用データ登録処理部46は、例えば、コンティグを基準とする位置を染色体を基準とする位置に変換し、エレメントやエクソンの位置を、染色体番号、染色体上の開始位置、染色体上の終了位置によって特定する。その後、マップ表示用データ登録処理部46は、上述の編集処理によって得られたデータに基づいて、マップ表示用データ、すなわち、エレメントデータ、エクソンデータ、塩基配列データ、サイトデータ、特性値データを作成し、データ群格納手段21のマップ表示用データ格納部25に登録する(S13)。
次に、キーワードデータ登録処理部47は、マップ表示用データ登録処理部46によって得られたマップ表示用データに基づいてキーワードデータを作成する(S14)。具体的には、キーワードデータ登録処理部47は、そのマップ表示用データのエレメントデータから、各エレメントについて、名称と、エレメントIDとを抽出すると共に、その抽出した各エレメントの名称にキーワード番号を付与する。そして、これらの抽出したデータ及びキーワード番号を用いて、キーワードデータを作成する。その後、キーワードデータ登録処理部47は、こうして作成された各エレメントについてのキーワードデータをデータ群格納手段21のキーワードデータ格納部26に登録する(S15)。
次に、本実施形態のゲノム情報表示システムにおいて各端末60の表示手段62の画面上にマップ画面を表示する際の処理手順を説明する。図17は各端末60の表示手段62の画面上にマップ画面を表示する際の当該端末60における処理手順を説明するためのフローチャートである。
まず、ユーザは、自己の端末60においてウェブブラウザを立ち上げる。そして、そのウェブブラウザ上でサーバ10のトップページに対するURLを入力して、サーバ10にアクセスする(S21)。サーバ10は端末60からアクセスされると、その端末60に表示用プログラムを送信する。次に、その端末60は、サーバ10から表示用プログラムを受け取ると(S22)、それをローディングする(S23)。これにより、その表示用プログラムの機能がその端末60に組み込まれる。すなわち、その端末60には、認証画面や検索画面の表示機能、マップ画面の作成・表示機能等が付加される。尚、当該端末60に既に表示用プログラムがキャッシュされている場合には、上記のステップS22及びS23の処理は行われず、端末60は、ステップS21の処理に対するサーバ10からの応答を受けると、ステップS24の処理を行うことになる。
次に、端末60の認証画面表示制御手段63aは、認証画面110を表示手段62の画面上に表示する(S24)。ユーザは、その認証画面110上でユーザID及びパスワードを入力する。そして、「OK」ボタン113を押すと、端末60の通信制御手段63dは、認証要求と共にそのユーザID及びパスワードをサーバ10に送信する(S25)。
サーバ10は、端末60から送られたユーザID及びパスワードに基づいて認証処理を行う。具体的に、サーバ10は、その送られたユーザID及びパスワードがデータ群格納手段21のユーザ管理データ格納部28に登録されているかどうかを判断する。サーバ10は、当該ユーザID及びパスワードが登録されていると判断すると、そのユーザを認証し、そのユーザからのアクセスを許可する。そして、その端末60に対して、認証OKフラグを送信する。これにより、サーバ10と当該端末60とは、データを通信できる状態になる。一方、サーバ10は、当該ユーザID及びパスワードが登録されていないと判断すると、当該端末60に対して、認証FAILフラグを送信する。
こうして端末60がサーバ10から認証OKフラグを受け取ると(S26)、端末60の検索画面表示制御手段63bは、検索入力画面120及び検索結果表示画面130を表示手段62の画面上に表示する(S27)。ユーザは、検索入力画面120において、マップ表示用データ選択部121の左端のボタンを押し、レイアウトスクリプトのタイトル一覧を表示させた後、所定のレイアウトスクリプトを選択する。また、検索条件入力部122に、表示したいエレメントの名称(検索条件)を入力する。更に、ユーザは、画面構成選択部123においてマップ画面の画面構成を選択する。その後、ユーザが「Search」ボタン124を押すと、通信制御手段63dは、検索要求と共に、マップ表示用データ選択部121に入力されたレイアウトスクリプトのタイトルと、検索条件入力部122に入力された検索条件とをサーバ10に送信する(S28)。
端末60から検索要求と共にレイアウトスクリプトのタイトル及び検索条件が送られると、サーバ10の検索手段31は検索処理を行う。具体的に、サーバ10の検索手段31は、そのレイアウトスクリプトのタイトルと同じタイトルを有するレイアウトスクリプトをデータ群格納手段21の設定データ格納部27から取得する。そして、その取得したレイアウトスクリプトに記述されている内容に基づいて、検索対象となるマップ表示用データの種類(名称)を認識する。次に、検索手段31は、キーワードデータの中から、その検索条件に該当するキーワードを有するものを検索する。このとき、上記認識したマップ表示用データの名称と同じデータ名を含むキーワードデータが検索の対象となる。その後、検索手段31は、その検索して得られた各キーワードデータに含まれるデータ名及びエレメントIDを抽出し、その抽出したデータ名及びエレメントIDによって関連付けられているエレメントデータを複数のマップ表示用データ格納部25から取得する。こうして取得された各エレメントデータと当該エレメントデータが含まれるマップ表示用データのデータ名とが検索結果データとなる。すなわち、検索結果データには、検索条件に該当するエレメント毎に、データ名、エレメントID、エレメント名、染色体番号、開始位置、終了位置、ストランド、コメントが含まれる。サーバ10の通信制御部45は、かかる検索結果データを当該端末60に送信する。
サーバ10から端末60に検索結果データが送られると(S29)、検索画面表示制御手段63bは、その検索結果データの一覧を検索結果表示画面130に表示する(S30)。ユーザはその一覧表示されたものの中から、所定の検索結果データを選択する。すると、通信制御手段63dは、その選択された検索結果データに関するマップ画面の表示要求と共に、その選択された検索結果データに含まれる染色体番号と、マップ表示用データ選択部121に入力されたレイアウトスクリプトのタイトルと、画面構成選択部123で選択された画面構成の内容とをサーバ10に送信する(S31)。
次に、サーバ10は、端末60からある検索結果データに関するマップ画面の表示要求を受けると、所定のデータをデータ群格納手段21から取得する。すなわち、サーバ10のデータ管理手段41は、まず、その表示要求とともに送られた画面構成の内容に対応する画面構成スクリプトを設定データ格納部27から取得する。次に、データ管理手段41は、その表示要求と共に送られたレイアウトスクリプトのタイトルと同じタイトルを有するレイアウトスクリプトを設定データ格納部27から取得する。そして、データ管理手段41は、そのレイアウトスクリプトのBaseタグに記述されている内容を認識する。いま、Baseタグに「chromosome」が指定されていたとする。このとき、データ管理手段41は、マップ画面を作成する際に染色体を基本単位とした一まとまりのマップ表示用データが必要であることを認識する。その後、データ管理手段41は、そのレイアウトスクリプトの各「Line」タグに記述されているマップ表示用データの名称を認識する。そして、その認識した各名称のマップ表示用データが格納されているマップ表示用データ格納部25から、端末60から送られた染色体番号と同じ染色体番号を有するエレメントデータをすべて抽出すると共に、その抽出したエレメントデータに含まれるエレメントIDと同じエレメントIDを有するエクソンデータ、塩基配列データ、サイトデータ、特性値データをすべて抽出する。こうして抽出されたデータが、当該選択された検索結果データに関するマップ画面を作成するのに必要な一まとまりのマップ表示用データである。
その後、データ管理手段41は、当該選択された検索結果データに関するマップ画面を作成するのに必要な一まとまりのマップ表示用データと、当該取得した画面構成スクリプトと、当該取得したレイアウトスクリプトとを当該端末60に送信する。但し、マップ表示用データの種類によっては、エクソンデータ、サイトデータ又は特性値データが存在しない場合がある。この場合には、当然、その存在しないデータは送られない。マップ画面を作成するためには、少なくともエレメントデータが必要であり、一まとまりのマップ表示用データには必ずエレメントデータが含まれる。
端末60は、サーバ10からマップ画面を作成するのに必要な一まとまりのマップ表示用データ、所定の画面構成スクリプト、所定のレイアウトスクリプトを受け取ると(S32)、それらのデータを記憶手段64に格納する(S33)。そして、端末60のマップ画面表示制御手段63cは、それらのデータに基づいてマップ画面を作成し、表示手段62の画面上に表示する(S34)。具体的に、マップ画面表示制御手段63cは、まず、サーバ10から送られた画面構成スクリプトに基づいてマップ画面の画面構成をシングル画面構成、同期画面構成、非同期画面構成のいずれにするかを決定すると共に、サーバ10から送られたレイアウトスクリプトに基づいて拡大マップのレイアウトを決定する。次に、マップ画面表示制御手段63cは、上記決定した画面構成にしたがってマップ画面を構成すると共に、サーバ10から送られた一まとまりのマップ表示用データと上記決定したレイアウトに基づいて、マップ表示用データの種類毎に、検索結果表示画面130で選択された検索結果データに対応するエレメントが略中央に位置するような拡大マップを作成し、マップ画面の第一領域に表示する。また、マップ画面表示制御手段63cは、レイアウトスクリプトの記述内容を参照して、全体マップの画像データが格納されている場所のURLを認識した後、当該場所から全体マップの画像データを取得する。そして、検索結果表示画面130で選択された検索結果データに含まれる染色体番号に対応する全体マップの画像データをマップ画面の第二領域に表示する。このとき、マップ画面表示制御手段63cは、第一領域に表示されているゲノム上の範囲を全体マップの画像上にラバーバンド166bで指示すると共に、その範囲を示す数値を第二領域の右下に表示する。更に、マップ画面表示制御手段63cは、マップ画面の第三領域に移動操作手段167a、拡大・縮小操作手段167b、ジャンプ操作手段167cを表示する。こうして、図8に示すようなマップ画面が当該端末60の画面上に表示される。
次に、マップ画面140で行うことができる各操作の手順について説明する。マップ画面140で行うことができる操作には、キャンバス領域161で行うことができる操作と、メニュー領域151で行うことができる操作とがある。本実施形態では、予めサーバ10からマップ画面を作成するのに必要な一まとまりのマップ表示用データを端末60に送信し、端末60がその送信された一まとまりのマップ表示用データを記憶手段64に格納している。このため、ユーザがマップ画面140で所定の操作を行う場合に、端末60は、サーバ10とデータの通信を行う必要がなく、記憶手段64に格納された一まとまりのマップ表示用データに基づいてユーザの操作に対応する処理を迅速に行うことができる。
キャンバス領域161で行うことができる操作には、拡大マップの表示範囲を移動、拡大・縮小する操作がある。かかる操作は、第三領域に表示されている移動操作手段167a、拡大・縮小操作手段167b、ジャンプ操作手段167c等により行うことができる。例えば、ユーザが移動操作手段167aの「Left」ボタン(又は「Right」ボタン)を押すと、そのボタンが押されている間、拡大マップに表示されるゲノム上の範囲が一定の速度で左側(又は右側)に移動する。すなわち、マップ画面表示制御手段63cは、そのボタンが押されている間、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、表示されるゲノム上の範囲が一定の速度で左側(又は右側)に移動するような拡大マップを作成して、第一領域に表示する。また、ユーザが拡大・縮小操作手段63bの「In」ボタン(又は「Out」ボタン)を押すと、そのボタンが押されている間、拡大マップに表示されるゲノム上の範囲が一定の速度でズームイン(又はズームアウト)する。すなわち、マップ画面表示制御手段63cは、そのボタンが押されている間、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、表示されるゲノム上の範囲が一定の速度でズームイン(又はズームアウト)するような拡大マップを作成して、第一領域に表示する。更に、ユーザがジャンプ操作手段167cにおける二つの入力欄に所定の数値を入力し、「Jump」ボタンを押すと、その入力された数値で指定されたゲノム上の範囲を表す拡大マップが瞬時に表示される。すなわち、マップ画面表示制御手段63cは、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、当該入力された数値で指定されたゲノム上の範囲についての拡大マップを作成して、第一領域に表示する。
また、ラバーバンド166bを利用して、拡大マップの表示範囲を移動することができる。ユーザがマウスを用いて全体マップ166a上の所定位置をクリックすると、そのクリックした位置にラバーバンド166bが移動されると共に、その移動後のラバーバンド166bが指し示す範囲を表す拡大マップが瞬時に表示される。すなわち、マップ画面表示制御手段63cは、マウスを用いて全体マップ166a上の所定位置がクリックされたときに、そのクリックした位置にラバーバンド166bを移動すると共に、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、当該移動後のラバーバンド166bが指し示す範囲についての拡大マップを作成して、第一領域に表示する。
また、キャンバス領域161で行うことができる操作として、リンク情報の表示操作がある。ユーザが拡大マップ上において所定のエレメントにマウスのカーソルを合わせて、右クリックすると、マップ画面表示制御手段63cは、記憶手段64に格納されている一まとまりのマップ表示用データから当該エレメントについてのサイトデータを取得し、当該エレメントに関するURLリンク情報を表示する。そして、ユーザが所定のURLリンク情報を選択すると、通信制御手段63dはその選択されたURLリンク情報に対するサイトデータに基づいて、当該サイトにアクセスし、当該サイトのウェブページが画面上に表示される。このように、ユーザは、当該エレメントに関連する情報を容易に取得することができる。
次に、メニュー領域151で行うことができる操作には、塩基配列の表示、特性値による表示制御等、さまざまな操作がある。例えば、塩基配列の表示を行う場合には、ユーザは、マップ画面140上で所定のエレメントをクリックして、エレメントを選択する。その後、ユーザは、「View」メニューをクリックしたときに現れるサブメニューの中から「Nucleotide sequence」をクリックする。すると、マップ画面表示制御手段63cは、記憶手段64に格納されている一まとまりのマップ表示用データから、当該選択されたエレメントに対応する塩基配列データを取り出し、図11に示すような塩基配列の表示画面を表示する。
また、特性値による表示制御を行う場合には、ユーザは、「Setting」メニューをクリックしたときに現れるサブメニューの中から「Filter」をクリックする。すると、マップ画面表示制御手段63cは、拡大マップの各レーンに表示されているマップ表示用データの名称の一覧を示す画面を表示する。ユーザがこの画面において所定のマップ表示用データの名称を選択すると、マップ画面表示制御手段63cは、特性値の範囲を設定する画面を表示する。次に、ユーザがその画面において特性値の範囲を設定すると、マップ画面表示制御手段63cは、記憶手段64に格納されている一まとまりのマップ表示用データに基づいて、当該選択されたマップ表示用データについて当該設定された範囲内の特性値を有するエレメントだけを表示した拡大マップを作成し、第一領域に表示する。尚、かかる特性値による表示制御は、特性値データを有しないマップ表示用データについては無効である。
尚、マップ画面140において右上の閉じるボタンをクリックすると、当該マップ画面140が終了する。そして、ウェブブラウザ画面のファイルメニューから「閉じる」を選択するか、又はウェブブラウザ画面の右上の閉じるボタンをクリックすることにより、ウェブブラウザを終了すると、当該端末60とサーバ10との通信状態が切断される。サーバ10との通信状態が切断されると、端末60では、サーバ10と通信状態にあるときにサーバ10から送られたすべてのデータが記憶手段64から消去される。ゲノムに関するデータの量はとても膨大であるので、端末60の記憶手段64を無駄に浪費しないようにするためである。
本実施形態のゲノム情報表示システムでは、サーバは端末からマップ画面の表示要求を受けたときに、当該端末に対してマップ画面を作成するのに必要な一まとまりのマップ表示用データを送信する。このため、例えば、ユーザがマップ画面上で拡大マップの表示範囲を移動、拡大・縮小等する操作を行ったときに、端末は、サーバとデータ通信することなく、記憶手段に格納されている一まとまりのマップ表示用データに基づいて当該操作後の表示範囲を表す拡大マップを迅速に作成して、ユーザの操作に合わせて高速に表示することができる。また、本実施形態では、サーバがマップ表示用データ及びキーワードデータ等を管理し、端末からアクセスがある度に適切なデータを当該端末に送信するので、データ管理を効率よく行うことができ、端末の資源を無駄に使用することはない。
尚、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内において種々の変形が可能である。
例えば、上記の実施形態において、ユーザが自己の端末上でマップ画面の第一領域についてのレイアウトの内容を自由に設定し、その設定した内容をサーバに送信してデータ群格納手段にレイアウトスクリプトとして登録するようにしてもよい。これにより、ユーザは自分が使いやすいようにマップ画面のレイアウトをカスタマイズすることができる。ここで、ユーザが設定したレイアウトスクリプトはユーザ毎に登録しておくことが望ましい。これにより、かかるレイアウトスクリプトは、それを設定したユーザだけが用いることができる。
また、上記の実施形態では、認証画面表示制御手段、検索画面表示制御手段、マップ画面表示制御手段の各機能を各端末に実現させるための表示用プログラムを、サーバのデータ群格納手段に格納しておき、サーバが、各端末から最初にアクセスされたときに表示用プログラムを当該端末に送信する場合について説明した。例えば、表示用プログラムとしては、検索画面表示制御手段、マップ画面表示制御手段の各機能だけを各端末に実現させるためのものを用いてもよい。この場合、認証に関するプログラムは予め端末にインストールしておくことになる。そして、その表示用プログラムは、サーバで認証処理が行われた後、サーバから端末に送信すればよい。また、表示用プログラムとしては、マップ画面表示制御手段の機能だけを各端末に実現させるためのものを用いてもよい。この場合、認証や検索に関するプログラムは予め端末にインストールしておくことになる。そして、その表示用プログラムは、端末からマップ画面の表示要求が送られたときに、サーバから、マップ画面を作成するのに必要な一まとまりのマップ表示用データと共に端末に送信すればよい。更に、表示用プログラムをサーバから各端末に送信せず、認証画面表示制御手段、検索画面表示制御手段、マップ画面表示制御手段の各機能を予め各端末に組み込んでおくようにしてもよい。
また、上記の実施形態では、検索入力画面に、シングル画面構成、同期画面構成、非同期画面構成の中からマップ画面の画面構成を選択するための画面構成選択手段を設けた場合について説明したが、例えば、画面構成選択手段は、シングル画面構成及び同期画面構成の中からマップ画面の画面構成を選択するものであってもよく、また、シングル画面構成及び非同期画面構成の中からマップ画面の画面構成を選択するものであってもよい。
更に、上記の実施形態では、マップ画面の画面構成に関する内容を、マップ画面の作成プログラムから切り離し、画面構成スクリプトとしてデータ群格納手段に格納した場合について説明したが、画面構成に関する内容をマップ画面の作成プログラムの中で指定するようにしてもよい。また、上記の実施形態では、拡大マップのレイアウトに関する内容を、マップ画面の作成プログラムから切り離し、レイアウトスクリプトとしてデータ群格納手段に格納した場合について説明したが、拡大マップのレイアウトに関する内容をマップ画面の作成プログラムの中で指定するようにしてもよい。
また、上記の実施形態では、主に、染色体を基本単位とした一まとまりのマップ表示用データを、サーバから端末に送信する場合について説明したが、例えば、コンティグを基本単位とした一まとまりのマップ表示用データをサーバから端末に送信するようにしてもよい。上述したように、一まとまりのマップ表示用データとして何を基本単位とするかは、レイアウトスクリプトのBaseタグで指定することができる。ここで、レイアウトスクリプトのBaseタグで「contig」を指定した場合には、例えば、図7に示す検索結果表示画面130における「Chrom」欄は「contig」という欄に変更され、この「contig」欄には、当該エレメントの属するコンティグの番号が表示されることになる。また、ゲノム全体を基本単位とした一まとまりのマップ表示用データをサーバから端末に送信することも可能である。
本発明の目的は、上述した実施形態の装置の機能を実現するソフトウェアのプログラムコード(実行形式を含む)を、その全体あるいは一部を記録した記録媒体により、本実施形態の装置に供給し、その装置のコンピュータ(又はCPU、MPU)が記録媒体に格納されたプログラムコードを読み出して、動作の全部あるいは一部を実行することによっても達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が本実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、ROM、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード等を用いることができる。さらに、通信回線を介してダウンロードすることによってプログラムコードを供給するようにしてもよいし、JAVA(登録商標)などの技術を利用してプログラムコードを供給して実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、本実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によって本実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータが接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって本実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
加えて、本発明はコンピュータに上記の実施形態の装置の機能を実現させるためのプログラムを含むプログラム・プロダクトであってもよい。ここで、プログラム・プロダクトというのは、コンピュータ・プログラムだけでなく、プログラムを記録した記録媒体あるいはコンピュータを含むものである。