以下に、図面を参照して、本発明にかかる情報処理装置、表示制御方法、および表示制御プログラムの実施の形態を詳細に説明する。
化学や薬学などの分野において、ユーザは、シミュレーションによって化合物の構造解析を行って得られた化合物の3Dモデルを画面に表示して、表示した化合物の3Dモデルのブロックを選択して、属性や計算パラメータなどを設定、または確認する。そして、ユーザは、化合物の3Dモデルに基づいて、量子化学計算などのシミュレーションを行い、化合物の研究や開発を行う。
化合物とは、複数の原子を組み合わせた物質である。化合物とは、例えば、生体高分子である。ブロックとは、化合物の3Dモデルの部分構造である。ブロックとは、例えば、アミノ酸の残基の3Dモデルである。ブロックとは、例えば、核酸の塩基の3Dモデルであってもよいし、Chainの3Dモデルであってもよい。
ここで、ユーザが、画面上の奥行き方向に重なって配置された複数のブロックのうちの奥側に配置された所望のブロックを選択しようとしたときに、最も手前側に配置されたブロックが選択されてしまい、所望のブロックを選択することができない場合がある。また、ユーザが、画面上の奥行き方向に重なって配置された複数のブロックのうちの奥側に配置された所望のブロックを選択しようとしたときに、複数のブロックが全て選択されてしまい、所望のブロックとは異なるブロックまで選択されてしまう場合がある。一方で、ユーザが、所望のブロックが最も手前側に配置されたブロックになるように、または所望のブロックが他のブロックと重なって配置されないように、視点方向や表示倍率を変更すると、所望のブロックを見失ってしまう場合がある。
このように、化合物の3Dモデルが複雑であると、化合物の3Dモデルから所望のブロックを選択することが難しい場合がある。結果として、ユーザの作業効率が低下してしまう。そこで、本実施の形態では、所望のブロックを選択しやすくすることができる表示制御方法について説明する。
(表示制御方法の一例)
図1は、表示制御方法の一例を示す説明図である。情報処理装置100は、実施の形態にかかる表示制御プログラムを実行するコンピュータである。
(1)情報処理装置100は、化合物の3Dモデルを画面110に表示し、マウスやキーボードなどの入力装置を用いたユーザからの操作入力に基づいて、化合物の3Dモデルに対して指定された範囲を受け付ける。図1の例では、情報処理装置100は、画面110に表示された化合物の3Dモデルに対して指定された範囲111を受け付ける。以下の説明では、指定された範囲111を「選択範囲111」と表記する場合がある。
(2)情報処理装置100は、選択範囲111に少なくとも1つの原子が含まれるブロックを、化合物の3Dモデルから抽出する。図1の例では、情報処理装置100は、選択範囲111に少なくとも1つの原子が含まれるブロックとして、No「1」が割り振られたアミノ酸の残基「アスパラギン(ASN:Asparagine)」を抽出する。
また、情報処理装置100は、同様に、No「2」〜「7」のそれぞれが割り振られたアミノ酸の残基「アスパラギン酸(ASP:Aspartic Acid)」、「リシン(LYS:Lysine)」、「フェニルアラニン(PHE:Phenylalanine)」、「セリン(SER:Serine)」、「トレオニン(THR:Threonine)」、「トリプトファン(TRP:Tryptophan)」を抽出する。以下の説明では、アミノ酸の残基の名称を、上述したアルファベット3文字の略称によって表記する場合がある。
(3)情報処理装置100は、複数のブロックを抽出した場合、複数のブロックのそれぞれについて、当該ブロックの全ての原子の数に対する、当該ブロックの、選択範囲111に含まれる原子の数の割合を算出する。以下の説明では、ブロックの全ての原子の数を「全原子数」と表記する場合がある。以下の説明では、ブロックの、選択範囲111に含まれる原子の数を「範囲内原子数」と表記する場合がある。
図1の例では、情報処理装置100は、小数第2位で四捨五入した、アミノ酸の残基「ASN」の全原子数「8」に対する範囲内原子数「7」の割合「87.5%」を算出する。また、情報処理装置100は、同様に、アミノ酸の残基「ASP」、「LYS」、「PHE」のそれぞれについての割合「12.5%」、「22.2%」、「100.0%」を算出する。また、情報処理装置100は、同様に、アミノ酸の残基「SER」、「THR」、「TRP」のそれぞれについての割合「50.0%」、「28.6%」、「57.1%」を算出する。
ここで、ユーザは、所望のブロックを選択しようとすると、所望のブロックのうちの大部分が含まれるように選択範囲を指定することが多い。また、ユーザは、所望のブロックを選択しようとするにもかかわらず、所望のブロックのうちの極一部しか含まれないように選択範囲を指定することが少ない。したがって、ブロックは、当該ブロックについての全原子数に対する範囲内原子数の割合が大きいほど、ユーザの所望のブロックとして尤もらしくなる。
一方で、ユーザは、所望のブロックを選択しようとすると、所望のブロックとは異なる他のブロックのうちの極一部しか含まれないように選択範囲を指定することが多い。したがって、ブロックは、当該ブロックについての全原子数に対する範囲内原子数の割合が小さいほど、ユーザの所望のブロックとして尤もらしくなくなる。換言すれば、あるブロックについての全原子数に対する範囲内原子数の割合は、当該ブロックについてのユーザの所望のブロックとしての尤もらしさの指標になる。
(4)情報処理装置100は、抽出した複数のブロックのそれぞれについての割合に基づいて、ユーザが所望のブロックを選択しやすくするための支援を行う。図1の例では、情報処理装置100は、割合が最大のブロックを、ユーザの所望のブロックとして尤もらしいと判断して、自動で選択する。
これにより、情報処理装置100は、ユーザの所望の部分構造としての尤もらしさの指標になる割合に基づいて、最も手前に配置されたブロックに限らずに、ユーザの所望のブロックの候補を自動選択することができる。このため、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されている場合であっても、最も手前側に配置されたブロックに限らずに複数のブロックのうちの所望のブロックを選択しやすくなる。このとき、ユーザは、視点方向や表示倍率を変更しなくてもよく、作業効率を向上することができる。
また、情報処理装置100は、選択範囲にユーザの所望のブロックの全てが含まれていなくても、所望のブロックを選択することができる。このため、ユーザは、所望のブロックの全てが含まれるように選択範囲を厳密に指定しなくてもよくなり、所望のブロックを選択しやすくなる。
ここでは、情報処理装置100が、割合が最大のブロックを、ユーザの所望のブロックとして尤もらしいと判断して、自動で選択する場合について説明したが、これに限らない。例えば、情報処理装置100は、複数のブロックのうちの割合が閾値以上のブロックを、ユーザの所望のブロックとして一定以上に尤もらしいと判断して、画面110に表示して、ユーザからの所望のブロックの選択を受け付けてもよい。
(情報処理装置100のハードウェア構成例)
図2は、情報処理装置100のハードウェア構成例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、ROM(Read−Only Memory)202と、RAM(Random Access Memory)203とを有する。
また、情報処理装置100は、ディスクドライブ204と、ディスク205と、I/F(Interface)206と、ディスプレイ207と、キーボード208と、マウス209とを有する。また、各構成部はバス200によってそれぞれ接続される。
ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。ディスクドライブ204は、CPU201の制御に従ってディスク205に対するデータのリード/ライトを制御する。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する。ディスク205は、例えば、磁気ディスク、または光ディスクである。
ROM202、RAM203、またはディスク205は、図3に後述する座標ファイル300、図4に後述する原子数テーブル400を記憶する。座標ファイル300は、化合物の原子の座標を示すファイルである。座標ファイル300は、化合物の3Dモデルを画面110に表示するために用いられるファイルである。原子数テーブル400は、化合物の3Dモデルに含まれる複数のブロックのそれぞれの全原子数をまとめたテーブルである。
I/F206は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、I/F206は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F206は、例えば、モデムやLANアダプタなどである。
ディスプレイ207は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ207は、例えば、CRT(Cathode Ray Tube)、TFT(Thin Film Transistor)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード208は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。キーボード208は、例えば、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス209は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。情報処理装置100は、上述した構成部の他に、例えば、スキャナ、プリンタなどを有してもよい。
(座標ファイル300の記憶内容)
次に、図3を用いて、座標ファイル300の記憶内容の一例について説明する。座標ファイル300は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶領域によって実現される。
図3は、座標ファイル300の記憶内容の一例を示す説明図である。図3に示すように、座標ファイル300は、通し番号項目に対応付けて、原子名項目と、残基名項目と、ChainID項目と、残基番号項目と、X座標項目と、Y座標項目と、Z座標項目と、Occupancy項目と、温度因子項目と、元素名項目とを有する。
座標ファイル300は、原子ごとに各項目に情報が設定されることにより、レコードを記憶する。座標ファイル300は、例えば、PDB書式に従って記述されたファイルである。
通し番号項目には、化合物に含まれる原子に割り振られた通し番号が記憶される。原子名項目には、通し番号項目に設定された通し番号が割り振られた原子の名称が記憶される。原子の名称は、例えば、α炭素(CA)、β炭素(CB)などである。
残基名項目には、通し番号項目に設定された通し番号が割り振られた原子が含まれる残基の名称が記憶される。残基の名称は、例えば、「アスパラギン」や「アスパラギン酸」などである。残基の名称は、例えば、アルファベット3文字の略称によって表記される。
ChainID項目には、通し番号項目に設定された通し番号が割り振られた原子が含まれるChainの識別情報が記憶される。識別情報は、例えば、アルファベット、数字などの組み合わせによって表記される。残基番号項目には、残基名項目に設定された残基に割り振られた番号が記憶される。
X座標項目は、オングストローム(Å)単位のX軸、Y軸、Z軸を有する3次元空間の直交座標系における、通し番号項目に設定された通し番号が割り振られた原子についてのX軸方向の座標値が記憶される。1オングストローム(Å)は、1.0×10^−10メートルである。
Y座標項目は、オングストローム(Å)単位のX軸、Y軸、Z軸を有する3次元空間の直交座標系における、通し番号項目に設定された通し番号が割り振られた原子についてのY軸方向の座標値が記憶される。Z座標項目は、オングストローム(Å)単位のX軸、Y軸、Z軸を有する3次元空間の直交座標系における、通し番号項目に設定された通し番号が割り振られた原子についてのZ軸方向の座標値が記憶される。
Occupancy項目には、通し番号項目に設定された通し番号が割り振られた原子のOccupancyが記憶される。Occupancyは、占有率である。占有率は、ある空間位置に、原子が存在する確率を示す値である。占有率は、1つの空間位置に、原子が必ず存在する場合には1になる。
温度因子項目には、通し番号項目に設定された通し番号が割り振られた原子の温度因子が記憶される。温度因子は、値が大きいほど、熱振動による原子の動きが大きいことを示す。元素名項目には、通し番号項目に設定された通し番号が割り振られた原子に対応する元素の名称が記憶される。元素の名称は、例えば、炭素(C)、窒素(N)、酸素(O)などである。
情報処理装置100は、例えば、座標ファイル300を、ROM202と、RAM203と、ディスク205となどの記憶領域から読み出して、取得する。情報処理装置100は、座標ファイル300を、I/F206によって、他のコンピュータから取得してもよい。情報処理装置100は、キーボード208やマウス209を用いたユーザの操作入力によって取得してもよい。情報処理装置100は、シミュレーションを行うことにより、座標ファイル300を生成して、取得してもよい。情報処理装置100は、例えば、座標ファイル300に基づいて、化合物の3Dモデルを画面110に表示することができる。また、情報処理装置100は、例えば、座標ファイル300に基づいて、原子が選択範囲に含まれるか否かを判定することができる。
ここでは、座標ファイル300が蛋白質の残基についての情報を含む場合について説明したが、これに限らない。例えば、座標ファイル300は、核酸の塩基についての情報を含んでもよい。また、座標ファイル300は、リガンド、水などについての情報を含んでもよい。
(原子数テーブル400の記憶内容)
次に、図4を用いて、原子数テーブル400の記憶内容の一例について説明する。原子数テーブル400は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶領域によって実現される。
図4は、原子数テーブル400の記憶内容の一例を示す説明図である。図4に示すように、原子数テーブル400は、No項目に対応付けて、ブロック項目と、全原子数項目とを有し、ブロックごとに各項目に情報が設定されることにより、レコードを記憶する。
No項目には、ブロックに割り振られた番号が記憶される。ブロック項目には、No項目に設定された番号が割り振られたブロックの名称が記憶される。図4の例では、ブロックは、アミノ酸の残基である。図4の例では、ブロックの名称は、残基の名称である。残基の名称は、例えば、「アスパラギン」や「アスパラギン酸」などである。残基の名称は、例えば、アルファベット3文字の略称によって表記される。
全原子数項目には、No項目に設定された番号が割り振られたブロックに含まれる原子の数が記憶される。情報処理装置100は、例えば、原子数テーブル400に基づいて、ブロックの全原子数を取得することができる。情報処理装置100は、適宜、ブロックの全原子数を計数して全原子数を取得してもよく、原子数テーブル400を有していなくてもよい。
(情報処理装置100の機能的構成例)
次に、図5を用いて、情報処理装置100の機能的構成例について説明する。
図5は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、制御部となる機能として、表示制御部501と、受付部502と、抽出部503と、算出部504と、選択部505とを含む。
表示制御部501は、化合物のモデルを画面110に表示させる。化合物とは、複数の原子を組み合わせた物質である。化合物とは、例えば、生体高分子である。画面110とは、画像の表示領域である。画面110とは、例えば、ディスプレイ207であってもよいし、ディスプレイ207上のウィンドウであってもよい。表示制御部501は、例えば、座標ファイル300に基づいて、生体高分子の3Dモデルを、ディスプレイ207上の立体構造表示用ウィンドウに表示させる。
これにより、表示制御部501は、ユーザが閲覧可能なように化合物のモデルを表示することができる。表示制御部501は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
受付部502は、表示された化合物のモデルに対して指定された範囲111を受け付ける。受付部502は、例えば、キーボード208やマウス209などの入力装置を用いたユーザからの操作入力に基づいて、化合物のモデルに対して指定された範囲111を受け付ける。以下の説明では、指定された範囲111を「選択範囲111」と表記する場合がある。
選択範囲111は、例えば、ある視点方向から3Dモデルを画面110に表示した場合の当該画面110上の2次元範囲である。選択範囲111は、具体的には、矩形の範囲である。選択範囲111は、具体的には、円形の範囲であってもよい。選択範囲111は、例えば、3Dモデルに対する3次元範囲であってもよい。受付部502は、具体的には、ユーザの操作入力に基づいて、化合物の3Dモデルをディスプレイ207上の立体構造表示用ウィンドウに表示した場合の立体構造表示用ウィンドウ上の選択領域を受け付ける。
これにより、受付部502は、ユーザが所望のブロックを選択するために指定した範囲111を受け付けることができる。受付部502は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
抽出部503は、指定された範囲111に少なくとも1つの原子が含まれる部分構造をモデルから抽出する。抽出部503は、例えば、立体構造表示用ウィンドウ上の選択範囲111に少なくとも1つの原子が表示されたブロックを、化合物の3Dモデルから抽出する。ブロックとは、化合物の3Dモデルの部分構造である。ブロックとは、例えば、化合物のアミノ酸の残基の3Dモデルである。ブロックとは、例えば、化合物のChainの3Dモデルであってもよい。
抽出部503は、指定された範囲111に少なくとも1つの原子が含まれ、かつ、属性や計算パラメータが設定されていない部分構造を、モデルから抽出してもよい。抽出部503は、例えば、立体構造表示用ウィンドウ上の選択範囲111に少なくとも1つの原子が表示され、かつ、属性が設定されていないブロックを、化合物の3Dモデルから抽出する。
これにより、抽出部503は、ユーザが選択しようとする所望のブロックの候補を抽出することができる。抽出部503は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
算出部504は、複数の部分構造を抽出した場合、複数の部分構造のそれぞれについて、当該部分構造の原子数に対する、当該部分構造の、指定された範囲111に含まれる原子数の割合を算出する。算出部504は、例えば、複数のブロックを抽出した場合、複数のブロックのそれぞれについて、当該ブロックの全原子数に対する範囲内原子数の割合を算出する。
これにより、算出部504は、ユーザが選択しようとする所望のブロックとしての尤もらしさの指標になる割合を算出することができる。算出部504は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F206により、その機能を実現する。
選択部505は、後述する第1の選択手法、第2の選択手法、第3の選択手法、第4の選択手法、第5の選択手法などの複数の選択手法のうちのいずれかを行う。これにより、選択部505は、ユーザが所望のブロックを選択する支援を行うことができる。
〈第1の選択手法〉
まず、第1の選択手法について説明する。選択部505は、例えば、算出した割合に基づいて、抽出した複数の部分構造のいずれかを選択する。選択部505は、具体的には、複数のブロックのうち、割合が最大のブロックを選択する。これにより、選択部505は、ユーザの所望のブロックとしての尤もらしいブロックを自動選択することができる。このため、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されている場合であっても、最も手前側に配置されたブロックに限らずに複数のブロックのうちの所望のブロックを選択しやすくなる。
〈第2の選択手法〉
次に、第2の選択手法について説明する。選択部505は、例えば、算出した割合に基づいて、複数の部分構造のうち、割合が閾値以上の部分構造のいずれかを選択する。閾値は、例えば、0%より大きい値である。閾値は、具体的には、80%であってもよいし、100%であってもよい。ここで、ユーザは、所望のブロックを選択しようとすると、所望のブロックより一回り大きい程度の選択範囲を指定することが多い。また、ユーザは、所望のブロックを選択しようとするにもかかわらず、所望のブロックよりも極端に大きい選択範囲を指定することが少ない。したがって、ブロックは、当該ブロックのうちの選択範囲に含まれる部分の面積が大きいほど、ユーザの所望のブロックとして尤もらしくなる。
したがって、選択部505は、具体的には、割合が閾値以上のブロックのそれぞれについて、当該ブロックの、選択範囲111に含まれる面積を算出する。そして、選択部505は、割合が閾値以上のブロックのうち、算出した面積が最大のブロックを選択する。これにより、選択部505は、ユーザの所望のブロックとしての尤もらしいブロックを自動選択することができる。このため、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されている場合であっても、最も手前側に配置されたブロックに限らずに複数のブロックのうちの所望のブロックを選択しやすくなる。ここでは、選択部505が、ブロックの、選択範囲111に含まれる面積を算出する場合について説明したが、これに限らない。例えば、選択部505は、ブロックの、選択範囲111に含まれる体積を算出してもよい。
〈第3の選択手法〉
次に、第3の選択手法について説明する。選択部505は、例えば、算出した割合に基づいて、複数の部分構造のうち、割合が閾値以上の部分構造のいずれかを選択する。閾値は、例えば、0%より大きい値である。閾値は、具体的には、80%であってもよいし、100%であってもよい。ここで、ユーザは、所望のブロックを選択しようとすると、所望のブロックより一回り大きい程度の選択範囲を指定することが多い。また、ユーザは、所望のブロックを選択しようとするにもかかわらず、所望のブロックよりも極端に大きい選択範囲を指定することが少ない。したがって、ブロックは、当該ブロックのうちの範囲内原子数が大きいほど、ユーザの所望のブロックとして尤もらしくなる。
したがって、選択部505は、具体的には、割合が閾値以上のブロックのうち、範囲内原子数が最大のブロックを選択する。これにより、選択部505は、ユーザの所望のブロックとしての尤もらしいブロックを自動選択することができる。このため、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されている場合であっても、最も手前側に配置されたブロックに限らずに複数のブロックのうちの所望のブロックを選択しやすくなる。
〈第4の選択手法〉
次に、第4の選択手法について説明する。第4の選択手法は、表示制御部501と選択部505とによって実現される。
表示制御部501は、例えば、複数の部分構造のうち、割合が閾値以上の部分構造のそれぞれを示す情報を、画面110に表示させる。閾値は、例えば、0%より大きい値である。閾値は、具体的には、80%であってもよいし、100%であってもよい。表示制御部501は、具体的には、割合が閾値以上のブロックのそれぞれを示す情報を、画面110に表示させる。これにより、表示制御部501は、ユーザの所望のブロックとして一定以上に尤もらしいブロックを、ユーザに通知することができる。
そして、選択部505は、例えば、割合が閾値以上の部分構造のいずれかの選択を受け付ける。選択部505は、具体的には、割合が閾値以上のブロックのいずれかの選択を受け付ける。これにより、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されている場合であっても、最も手前側に配置されたブロックに限らずに複数のブロックのうちの所望のブロックを選択しやすくなる。
〈第5の選択手法〉
次に、第5の選択手法について説明する。第5の選択手法は、表示制御部501と選択部505とによって実現される。
表示制御部501は、例えば、複数の部分構造のうち、割合が大きい部分構造から優先して当該部分構造を示す情報を表示させる。表示制御部501は、複数のブロックのうち、割合が大きいブロックから優先して当該ブロックを示す情報を表示させる。これにより、表示制御部501は、ユーザの所望のブロックとして一定以上に尤もらしいブロックを、尤もらしい順に、ユーザに通知することができる。
そして、選択部505は、例えば、複数の部分構造のいずれかの選択を受け付ける。選択部505は、具体的には、複数のブロックのいずれかの選択を受け付ける。これにより、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されている場合であっても、最も手前側に配置されたブロックに限らずに複数のブロックのうちの所望のブロックを選択しやすくなる。
選択部505は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F206により、その機能を実現する。
ここでは、選択部505が、第1の選択手法、第2の選択手法、第3の選択手法、第4の選択手法、第5の選択手法などの複数の選択手法のうちのいずれか一つを行う場合について説明したが、これに限らない。例えば、選択部505は、複数の選択手法のうちのいくつかの選択手法を組み合わせて行ってもよい。具体的には、選択部505は、第1の選択手法によるブロックの選択を行った後に、ユーザの操作入力により第1の選択手法によるブロックの選択が取り消された場合に、第4の選択手法によるブロックの選択を行ってもよい。
表示制御部501は、選択された部分構造に対して属性や計算パラメータを指定する領域を、画面110に表示させてもよい。表示制御部501は、例えば、ディスプレイ207上の立体構造表示用ウィンドウとは異なる設定用ウィンドウに、選択されたブロックに対して属性を指定する領域を表示する。これにより、ユーザは、所望のブロックに対する属性を指定することができる。
受付部502は、選択された部分構造に対して指定された属性や計算パラメータを受け付け、選択された部分構造の属性や計算パラメータとして設定してもよい。受付部502は、例えば、キーボード208やマウス209などの入力装置を用いたユーザからの操作入力に基づいて、選択されたブロックに対して指定された属性を受け付ける。そして、受付部502は、受け付けた属性を、選択されたブロックの属性として設定する。これにより、ユーザは、所望のブロックに属性を設定することができる。
(表示内容の遷移の一例)
次に、図6を用いて、ディスプレイ207の表示内容の遷移の一例について説明する。
図6は、表示内容の遷移の一例を示す説明図である。図6において、情報処理装置100は、化合物の3Dモデルを示す3D画像を、ディスプレイ207上の立体構造表示用ウィンドウ610に表示する。情報処理装置100は、キーボード208やマウス209などの入力装置を用いたユーザからの操作入力によって視点方向や表示倍率が変更されると、化合物の3Dモデルを示す3D画像を描画し直す。ここでは、情報処理装置100は、スティックを用いた表示態様で、化合物の3Dモデルを表示する。スティックを用いた表示態様は、接続された原子同士の座標をスティックで結ぶことにより、3Dモデルを表す表示態様である。
情報処理装置100は、ユーザからの操作入力に基づいて、化合物の3Dモデルが表示された立体構造表示用ウィンドウ610上の範囲611の指定を受け付ける。以下の説明では、指定された範囲611を「選択範囲611」と表記する場合がある。
情報処理装置100は、立体構造表示用ウィンドウ610上の選択範囲611に少なくとも1つの原子が表示されたブロックを、化合物の3Dモデルから抽出する。ここでは、情報処理装置100は、ボール&スティックを用いた表示態様で、選択範囲611に少なくとも1つの原子が表示されたブロックを表示変更する。ボール&スティックを用いた表示態様は、原子の座標にボールを配置し、接続された原子同士の座標をスティックで結ぶことにより、3Dモデルを表す表示態様である。情報処理装置100は、抽出した複数のブロックのそれぞれについて、当該ブロックの全原子数に対する範囲内原子数の割合を算出し、割合が最大のブロックを選択する。
情報処理装置100は、選択したブロックに関する情報621と、決定ボタン622と、リストボタン623とを示す選択結果確認用画像を、ディスプレイ207上の立体構造表示用ウィンドウ610とは異なる選択結果確認用ウィンドウ620に表示する。
ここで、情報処理装置100は、ユーザからの操作入力に基づいて、選択結果確認用ウィンドウ620に表示された決定ボタン622がクリックされた場合には、選択したブロックがユーザの所望のブロックであると判定する。そして、情報処理装置100は、選択したブロックについて属性を設定するボックスを示す画像を、ディスプレイ207上の設定用ウィンドウ(不図示)に表示する。
一方で、情報処理装置100は、ユーザからの操作入力に基づいて、選択結果確認用ウィンドウ620に表示されたリストボタン623がクリックされた場合には、選択したブロックがユーザの所望のブロックではないと判定する。そして、情報処理装置100は、複数のブロックのそれぞれについての割合を含む複数のブロックのそれぞれに関する情報631と、選択ボタン632とを示す画像を、リストウィンドウ630に表示する。ここでは、情報処理装置100は、複数のブロックについて、割合の大きい順に並べて、リストウィンドウ630に表示する。また、情報処理装置100は、複数のブロックのうち、割合が閾値以上のブロックについて、リストウィンドウ630に表示してもよい。
ここで、情報処理装置100は、ユーザからの操作入力に基づいて、リストウィンドウ630において指定されたブロックを受け付ける。そして、情報処理装置100は、ユーザからの操作入力に基づいて、リストウィンドウ630に表示された選択ボタン632がクリックされた場合には、指定されたブロックを選択する。
情報処理装置100は、選択したブロックに関する情報641と、決定ボタン642と、リストボタン643とを示す選択結果確認用画像を、ディスプレイ207上の選択結果確認用ウィンドウ640に表示する。
情報処理装置100は、ユーザからの操作入力に基づいて、選択結果確認用ウィンドウ640に表示された決定ボタン642がクリックされた場合には、選択したブロックがユーザの所望のブロックであると判定する。そして、情報処理装置100は、選択したブロックについて属性を設定するボックスを示す画像を、ディスプレイ207上の設定用ウィンドウ(不図示)に表示する。
一方で、情報処理装置100は、ユーザからの操作入力に基づいて、選択結果確認用ウィンドウ640に表示されたリストボタン643がクリックされた場合には、選択したブロックがユーザの所望のブロックではないと判定する。そして、情報処理装置100は、複数のブロックのそれぞれに関する情報631と、当該ブロックについての割合とを対応付けて示すと共に、選択ボタン632を示す画像を、リストウィンドウ630に表示する。
これにより、情報処理装置100は、ユーザの所望の部分構造としての尤もらしさの指標になる割合に基づいて、最も手前に配置されたブロックに限らずに、ユーザの所望のブロックの候補を自動選択することができる。このため、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されていて、所望のブロックだけが含まれるように選択範囲を指定することが難しい場合であっても、所望のブロックを選択しやすくなり、作業効率を向上することができる。
情報処理装置100は、さらに、自動選択したブロックがユーザの所望のブロックではない場合には、ユーザの所望のブロックとして尤もらしいブロックから順に並べてリストウィンドウ630に表示して、ユーザに通知することができる。このため、ユーザは、ユーザの所望のブロックとして尤もらしいブロックから順に閲覧することができ、所望のブロックがあれば選択することができる。したがって、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されていて、所望のブロックだけが含まれるように選択範囲を指定することが難しい場合であっても、所望のブロックを選択しやすくなり、作業効率を向上することができる。
また、情報処理装置100は、さらに、自動選択したブロックがユーザの所望のブロックではない場合には、ユーザの所望のブロックとして一定以上に尤もらしいブロックをリストウィンドウ630に表示して、ユーザに通知することができる。このため、ユーザは、ユーザの所望のブロックとして一定以上に尤もらしいブロックだけを閲覧することができ、所望のブロックがあれば選択することができる。このとき、ユーザは、選択範囲611にわずかに含まれただけのブロックについては閲覧しなくてもよくなる。したがって、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されていて、所望のブロックだけが含まれるように選択範囲を指定することが難しい場合であっても、所望のブロックを選択しやすくなり、作業効率を向上することができる。
また、情報処理装置100は、選択範囲にユーザの所望のブロックの全てが含まれていなくても、所望のブロックを選択することができる。このため、ユーザは、所望のブロックの全てが含まれるように選択範囲を厳密に指定しなくてもよくなり、所望のブロックを選択しやすくなる。
ここでは、情報処理装置100が、いずれかのブロックを自動選択する場合と、リストウィンドウ630のいずれかのブロックの選択を受け付ける場合とについて説明したが、これに限らない。例えば、情報処理装置100は、キーボード208やマウス209を用いたユーザの操作入力に基づいて、複数のブロックのうちの選択されるブロックを、割合の大きい方から順に切り替えてもよい。これにより、ユーザは、ユーザの所望のブロックとして尤もらしいブロックから順に選択することができ、所望のブロックがあれば選択を確定することができる。したがって、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されていて、所望のブロックだけが含まれるように選択範囲を指定することが難しい場合であっても、所望のブロックを選択しやすくなり、作業効率を向上することができる。
また、例えば、情報処理装置100が、割合が閾値以上のブロックを全て選択するようにしてもよい。これにより、ユーザは、ユーザの所望のブロックとして一定以上に尤もらしいブロックを、まとめて選択することができる。このとき、情報処理装置100は、選択範囲611にわずかに含まれただけのブロックについては選択しないことができ、ユーザにとって選択不要なブロックが選択されないようにすることができる。したがって、ユーザは、複数のブロックが奥行き方向に重なって並んで配置されていて、所望のブロックだけが含まれるように選択範囲を指定することが難しい場合であっても、所望のブロックを選択しやすくなり、作業効率を向上することができる。
また、例えば、情報処理装置100が、割合が閾値以上のブロックを全て選択するようにして、割合が閾値以上のブロックのそれぞれについて属性や計算パラメータを設定する設定用ウィンドウを表示してもよい。これにより、ユーザは、複数のブロックに対してまとめて属性や計算パラメータを設定することができ、作業効率を向上することができる。
(ブロックを選択する処理の一例)
次に、図7〜図9を用いて、情報処理装置100がブロックを選択する処理の一例について説明する。
図7〜図9は、ブロックを選択する処理の一例に関する説明図である。図7において、情報処理装置100は、選択範囲611に少なくとも1つの原子が含まれるブロックの、選択範囲611に含まれる原子の数を計数して、計数テーブル700を作成する。以下の説明では、ブロックの、選択範囲611に含まれる原子の数を「範囲内原子数」と表記する場合がある。
計数テーブル700は、No項目に対応付けて、ブロック項目と、範囲内原子数項目とを有し、ブロックごとに各項目に情報が設定されることにより、レコードを記憶する。
No項目には、ブロックに割り振られた番号が記憶される。ブロック項目には、No項目に設定された番号が割り振られたブロックの名称が記憶される。範囲内原子数項目には、No項目に設定された番号が割り振られたブロックについての範囲内原子数が記憶される。
情報処理装置100は、例えば、座標ファイル300に設定されたブロック「LYS」の各原子の座標値に基づいて、ブロック「LYS」の各原子が選択範囲611に含まれるか否かを判定し、ブロック「LYS」の範囲内原子数「2」を計数する。そして、情報処理装置100は、ブロック「LYS」の番号「1」に、ブロックの名称「LYS」と範囲内原子数「2」とを対応付けたレコードを、計数テーブル700に追加する。情報処理装置100は、同様に、他のブロック「ASP」、「PHE」、「ASN」、「THR」のそれぞれについてレコードを、計数テーブル700に追加する。次に、図8の説明に移行する。
図8において、情報処理装置100は、原子数テーブル400と計数テーブル700とに基づいて、選択範囲611に少なくとも1つの原子が含まれる複数のブロックのそれぞれについて、全原子数に対する範囲内原子数の割合を算出する。
情報処理装置100は、例えば、ブロック「LYS」について、全原子数「9」に対する範囲内原子数「2」の、小数第2位を四捨五入した割合「22.2%」を算出する。情報処理装置100は、同様に、他のブロック「ASP」、「PHE」、「ASN」、「THR」のそれぞれについて割合を算出する。次に、図9の説明に移行する。
図9において、情報処理装置100は、割合を第1キー、範囲内原子数を第2キーとして、ブロックをソートする。情報処理装置100は、例えば、選択範囲611に少なくとも1つの原子が含まれる複数のブロックを、第1キーである割合が大きい順にソートする。
次に、情報処理装置100は、第1キーを用いてソートされた複数のブロックのうち第1キーである割合が同じブロックがあれば、第2キーである範囲内原子数が大きい順にソートする。そして、情報処理装置100は、第1キーである割合が最大、かつ、第2キーである範囲内原子数が最大のブロックを選択する。
これにより、情報処理装置100は、最も手前に配置されたブロックに限らずに、ユーザの所望のブロックの候補を自動選択することができる。結果として、ユーザは、所望のブロックを選択しやすくなる。
(表示制御処理手順の一例)
次に、図10を用いて、表示制御処理手順の一例について説明する。
図10は、表示制御処理手順の一例を示すフローチャートである。図10において、情報処理装置100は、化合物のモデルを、ディスプレイ207上に表示する(ステップS1001)。次に、情報処理装置100は、ディスプレイ207上に表示された化合物のモデルに対する選択範囲の指定を受け付ける(ステップS1002)。そして、情報処理装置100は、図11に後述する計数処理を実行して(ステップS1003)、選択範囲に少なくとも1つの原子が含まれるブロックについての選択範囲に含まれる原子の数を計数する。
次に、情報処理装置100は、図12に後述する算出処理を実行して(ステップS1004)、選択範囲に少なくとも1つの原子が含まれるブロックについての割合を算出する。そして、情報処理装置100は、図13に後述する選択処理を実行して(ステップS1005)、いずれかのブロックを選択する。
次に、情報処理装置100は、選択結果に基づいて表示制御を行い(ステップS1006)、表示制御処理を終了する。これにより、情報処理装置100は、ユーザが所望のブロックを選択する支援を行うことができる。
(計数処理手順の一例)
次に、図11を用いて、ステップS1003に示した計数処理手順の一例について説明する。
図11は、計数処理手順の一例を示すフローチャートである。図11において、情報処理装置100は、未選択の原子のいずれかを選択する(ステップS1101)。次に、情報処理装置100は、選択した原子が、ステップS1002において指定された選択範囲に含まれるか否かを判定する(ステップS1102)。ここで、含まれない場合(ステップS1102:No)、情報処理装置100は、ステップS1104の処理に移行する。
一方で、含まれる場合(ステップS1102:Yes)、情報処理装置100は、ステップS1101において選択された原子が含まれるブロックに対応する計数テーブル700の範囲内原子数をインクリメントする(ステップS1103)。
次に、情報処理装置100は、未選択の原子があるか否かを判定する(ステップS1104)。ここで、未選択の原子がある場合(ステップS1104:Yes)、情報処理装置100は、ステップS1101の処理に戻る。
一方で、未選択の原子がない場合(ステップS1104:No)、情報処理装置100は、計数処理を終了する。これにより、情報処理装置100は、複数のブロックのそれぞれについての範囲内原子数を計数して、計数テーブル700にまとめて記憶しておくことができる。
(算出処理手順の一例)
次に、図12を用いて、ステップS1004に示した算出処理手順の一例について説明する。
図12は、算出処理手順の一例を示すフローチャートである。図12において、情報処理装置100は、未選択のブロックのいずれかを選択する(ステップS1201)。次に、情報処理装置100は、原子数テーブル400から、ステップS1201において選択されたブロックに対応する全原子数を抽出する(ステップS1202)。そして、情報処理装置100は、計数テーブル700から、ステップS1201において選択されたブロックに対応する範囲内原子数を抽出する(ステップS1203)。
次に、情報処理装置100は、ステップS1201において選択されたブロックについての割合として、ステップS1202において抽出された全原子数に対する、ステップS1203において抽出された範囲内原子数の割合を算出する(ステップS1204)。そして、情報処理装置100は、未選択のブロックがあるか否かを判定する(ステップS1205)。ここで、未選択のブロックがある場合(ステップS1205:Yes)、情報処理装置100は、ステップS1201の処理に戻る。
一方で、未選択のブロックがない場合(ステップS1205:No)、情報処理装置100は、算出処理を終了する。これにより、情報処理装置100は、ユーザの所望のブロックを選択する指標になる、複数のブロックのそれぞれについての割合を算出することができる。
(選択処理手順の一例)
次に、図13を用いて、ステップS1005に示した選択処理手順の一例について説明する。
図13は、選択処理手順の一例を示すフローチャートである。図13において、情報処理装置100は、ステップS1002において指定された選択範囲に少なくとも1つの原子が含まれる複数のブロックを、ステップS1204において算出された割合の大きい順にソートする(ステップS1301)。
次に、情報処理装置100は、ステップS1204において算出された割合が同じブロックを、原子数が大きい順にソートする(ステップS1302)。そして、情報処理装置100は、ステップS1204において算出された割合が最大、かつ、原子数が最大のブロックを選択して(ステップS1303)、選択処理を終了する。これにより、情報処理装置100は、ユーザの所望のブロックの候補を選択することができる。
以上説明したように、情報処理装置100によれば、表示された化合物のモデルに対する選択範囲に少なくとも1つの原子が含まれる部分構造をモデルから抽出し、それぞれの部分構造の全原子数に対する範囲内原子数の割合を算出することができる。これにより、情報処理装置100は、複数の部分構造のそれぞれについてユーザの所望の部分構造としての尤もらしさの指標になる割合を算出して、ユーザが所望の部分構造を選択する支援を行うことができる。
情報処理装置100によれば、例えば、算出した割合に基づいて、抽出した複数の部分構造のいずれかを選択することができる。これにより、情報処理装置100は、ユーザの所望の部分構造としての尤もらしさの指標になる割合に基づいて、ユーザの所望の部分構造の候補を自動選択することができる。このため、ユーザは、画面上での視点方向や表示倍率を変更せず、所望の部分構造とは異なる部分構造が含まれないように選択範囲を細かく指定しなくても、所望の部分構造を選択しやすくなる。したがって、ユーザは、所望の部分構造を選択するのにかかる作業量を低減することができる。
情報処理装置100によれば、具体的には、複数の部分構造のうち、割合が最大の部分構造を選択することができる。これにより、情報処理装置100は、ユーザの所望の部分構造として尤もらしい部分構造を、ユーザの所望の部分構造の候補として自動選択することができる。このため、ユーザは、所望の部分構造とは異なる部分構造が含まれないように選択範囲を細かく指定しなくても、所望の部分構造を選択しやすくなり、所望の部分構造を選択するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、複数の部分構造のうち、割合が閾値以上の部分構造のいずれかを選択することができる。これにより、情報処理装置100は、ユーザの所望の部分構造として一定以上に尤もらしい部分構造のいずれかを、ユーザの所望の部分構造の候補を自動選択することができる。このため、ユーザは、所望の部分構造とは異なる部分構造が含まれないように選択範囲を細かく指定しなくても、所望の部分構造を選択しやすくなり、所望の部分構造を選択するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、割合が閾値以上の部分構造のそれぞれについて、当該部分構造の、範囲に含まれる面積を算出し、割合が閾値以上の部分構造のうち、算出した面積が最大の部分構造を選択することができる。これにより、情報処理装置100は、ユーザの所望の部分構造として尤もらしい部分構造を、ユーザの所望の部分構造の候補として自動選択することができる。このため、ユーザは、所望の部分構造と割合が同一の所望の部分構造とは異なる部分構造が選択範囲に含まれてしまっても、所望の部分構造を選択しやすくなり、所望の部分構造を選択するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、割合が閾値以上の部分構造のうち、原子数が最大の部分構造を選択することができる。これにより、情報処理装置100は、ユーザの所望の部分構造として尤もらしい部分構造を、ユーザの所望の部分構造の候補として自動選択することができる。このため、ユーザは、所望の部分構造と割合が同一の所望の部分構造とは異なる部分構造が選択範囲に含まれてしまっても、所望の部分構造を選択しやすくなり、所望の部分構造を選択するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、複数の部分構造のうち、割合が大きい部分構造から優先して当該部分構造を示す情報を表示させ、複数の部分構造のいずれかの選択を受け付けることができる。これにより、情報処理装置100は、ユーザの所望の部分構造として尤もらしい部分構造から順にユーザに通知して、ユーザの所望の部分構造の選択を受け付けることができる。このため、ユーザは、所望の部分構造とは異なる部分構造が含まれないように選択範囲を細かく指定しなくても、所望の部分構造として尤もらしい順に部分構造が通知されるため、所望の部分構造を選択しやすくなる。したがって、ユーザは、所望の部分構造を選択するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、複数の部分構造のうち、割合が閾値以上の部分構造のそれぞれを示す情報を表示させ、割合が閾値以上の部分構造のいずれかの選択を受け付けることができる。これにより、情報処理装置100は、ユーザの所望の部分構造として一定以上に尤もらしい部分構造をユーザに通知して、ユーザの所望の部分構造の選択を受け付けることができる。このため、ユーザは、所望の部分構造とは異なる部分構造が含まれないように選択範囲を細かく指定しなくても、所望の部分構造として一定以上に尤もらしい部分構造だけが通知されるため、所望の部分構造を選択しやすくなる。したがって、ユーザは、所望の部分構造を選択するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、選択された部分構造に対して指定された属性を受け付け、選択された部分構造の属性として設定することができる。これにより、ユーザは、部分構造の属性を設定するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、選択された部分構造に対して属性を指定する領域を、画面とは異なる画面に表示させることができる。これにより、ユーザは、部分構造の属性を設定するのにかかる作業量を低減することができる。
また、情報処理装置100によれば、受け付けた範囲に少なくとも1つの原子が含まれ、かつ、属性が設定されていない部分構造をモデルから抽出することができる。これにより、情報処理装置100は、ユーザの所望の部分構造として尤もらしい部分構造を抽出することができる。このため、ユーザは、属性を設定する作業を行う際に、既に属性が設定済であってユーザにとって選択不要な部分構造を選択されずにすみ、所望の部分構造を選択しやすくなり、所望の部分構造を選択するのにかかる作業量を低減することができる。
このように、ユーザは、画面上での視点方向や表示倍率を変更せず、所望の部分構造とは異なる部分構造が含まれないように選択範囲を細かく指定しなくても、所望の部分構造を選択しやすくなる。結果として、情報処理装置100は、画面上での視点方向や表示倍率を変更に伴って、複雑な化合物の3Dモデルを描画し直す回数を低減することができ、作業負荷を低減することができる。
ここで、従来の情報処理装置が、ユーザの操作入力に基づいて、化合物のモデルに対する選択範囲を受け付け、選択範囲に含まれる複数の部分構造のうちの最も手前側に配置された部分構造を選択する場合が考えられる。しかしながら、この場合、従来の情報処理装置が、選択範囲に含まれる複数の部分構造のうちの奥側に配置された部分構造を選択することができない。このため、ユーザは、不要な部分構造が選択されないように選択範囲を調整したり、視点方向や表示倍率を変更することになり、作業効率が低下してしまう。一方で、情報処理装置100は、複数の部分構造のそれぞれについてユーザの所望の部分構造としての尤もらしさの指標になる割合を算出することができる。これにより、情報処理装置100は、手前側に配置されているか奥側に配置されているかにかかわらず、ユーザの所望の部分構造として尤もらしい部分構造を選択することができ、ユーザが所望の部分構造を選択する支援を行うことができる。
ここで、従来の情報処理装置が、ユーザの操作入力に基づいて、化合物のモデルに対する選択範囲を受け付け、選択範囲に含まれる全ての部分構造を選択する場合が考えられる。しかしながら、この場合、従来の情報処理装置が、選択範囲にわずかに含まれただけの、ユーザの所望の部分構造とは異なる部分構造まで選択してしまう。このため、ユーザは、不要な部分構造が選択されないように選択範囲を調整したり、視点方向や表示倍率を変更したり、不要な部分構造の選択を解除することになり、作業効率が低下してしまう。一方で、情報処理装置100は、複数の部分構造のそれぞれについてユーザの所望の部分構造としての尤もらしさの指標になる割合を算出することができる。これにより、情報処理装置100は、ユーザの所望の部分構造として尤もらしい部分構造だけを自動選択したり、ユーザの所望の部分構造として一定以上に尤もらしい部分構造だけを選択することができ、ユーザが所望の部分構造を選択する支援を行うことができる。
なお、本実施の形態で説明した表示制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本表示制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本表示制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)化合物のモデルを画面に表示させ、
表示された前記モデルに対して指定された範囲を受け付け、
受け付けた前記範囲に少なくとも1つの原子が含まれる部分構造を前記モデルから抽出し、
複数の部分構造を抽出した場合、前記複数の部分構造のそれぞれについて、当該部分構造の原子数に対する、当該部分構造の、前記範囲に含まれる原子数の割合を算出し、
算出した前記割合に基づいて、抽出した前記複数の部分構造のいずれかを選択する、
制御部を有することを特徴とする情報処理装置。
(付記2)前記制御部は、
前記複数の部分構造のうち、前記割合が最大の部分構造を選択する、
ことを特徴とする付記1に記載の情報処理装置。
(付記3)前記制御部は、
前記複数の部分構造のうち、前記割合が閾値以上の部分構造のいずれかを選択する、
ことを特徴とする付記1に記載の情報処理装置。
(付記4)前記制御部は、
前記割合が閾値以上の部分構造のそれぞれについて、当該部分構造の、前記範囲に含まれる面積を算出し、
前記割合が閾値以上の部分構造のうち、算出した前記面積が最大の部分構造を選択する、
ことを特徴とする付記3に記載の情報処理装置。
(付記5)前記制御部は、
前記割合が閾値以上の部分構造のうち、前記範囲に含まれる原子数が最大の部分構造を選択する、
ことを特徴とする付記3に記載の情報処理装置。
(付記6)前記制御部は、
前記複数の部分構造のうち、前記割合が大きい部分構造から優先して当該部分構造を示す情報を表示させ、
前記複数の部分構造のいずれかの選択を受け付ける、
ことを特徴とする付記1〜5のいずれか一つに記載の情報処理装置。
(付記7)前記制御部は、
前記複数の部分構造のうち、前記割合が閾値以上の部分構造のそれぞれを示す情報を表示させ、
前記割合が閾値以上の部分構造のいずれかの選択を受け付ける、
ことを特徴とする付記1〜6のいずれか一つに記載の情報処理装置。
(付記8)前記制御部は、
選択された前記部分構造に対して指定された属性を受け付け、
受け付けた前記属性を、選択された前記部分構造の属性として設定する、
ことを特徴とする付記1〜7のいずれか一つに記載の情報処理装置。
(付記9)前記制御部は、
選択された前記部分構造に対して属性を指定する領域を、前記画面とは異なる画面に表示させる、
ことを特徴とする付記8に記載の情報処理装置。
(付記10)前記制御部は、
受け付けた前記範囲に少なくとも1つの原子が含まれ、かつ、属性が設定されていない部分構造を前記モデルから抽出する、
ことを特徴とする付記1〜9のいずれか一つに記載の情報処理装置。
(付記11)コンピュータが、
化合物のモデルを画面に表示させ、
表示された前記モデルに対して指定された範囲を受け付け、
受け付けた前記範囲に少なくとも1つの原子が含まれる部分構造を前記モデルから抽出し、
複数の部分構造を抽出した場合、前記複数の部分構造のそれぞれについて、当該部分構造の原子数に対する、当該部分構造の、前記範囲に含まれる原子数の割合を算出する、
処理を実行することを特徴とする表示制御方法。
(付記12)コンピュータに、
化合物のモデルを画面に表示させ、
表示された前記モデルに対して指定された範囲を受け付け、
受け付けた前記範囲に少なくとも1つの原子が含まれる部分構造を前記モデルから抽出し、
複数の部分構造を抽出した場合、前記複数の部分構造のそれぞれについて、当該部分構造の原子数に対する、当該部分構造の、前記範囲に含まれる原子数の割合を算出する、
処理を実行させることを特徴とする表示制御プログラム。