(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024052195
(43)【公開日】2024-04-11
(54)【発明の名称】情報処理プログラム、情報処理方法、および情報処理装置
(51)【国際特許分類】
G16C 20/50 20190101AFI20240404BHJP
【FI】
G16C20/50
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022158748
(22)【出願日】2022-09-30
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】飯嶋 直輝
(57)【要約】
【課題】分子の結合長、結合角、および、回転角の少なくともいずれかを変化させる場合に、当該分子に含まれる原子の座標を適切に変更すること。
【解決手段】情報処理装置100は、結合長の変化に応じて座標を変更する対象となる、モデル110の球111a,111b,111c,111dが示す2以上の原子の選択を受け付ける。情報処理装置100は、球111a,111b,111c,111dが示す2以上の原子の選択を受け付けた際、球111aが示す原子と、球111eが示す原子との結合長の変化量の指定を受け付ける。情報処理装置100は、棒112aeが示す結合軸に沿った単位ベクトルと、結合長の変化量とに基づいて、座標空間における、球111a,111b,111c,111dが示す2以上の原子のそれぞれの原子の座標を変更する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付け、
前記選択を受け付けた前記1以上の原子に含まれる第1の原子と前記1以上の原子に含まれず前記第1の原子に接続する第2の原子との結合長と、前記第1の原子と前記第2の原子とを結合する第1の結合軸と前記第2の原子と前記1以上の原子に含まれず前記第2の原子に接続する第3の原子とを結合する第2の結合軸とが成す結合角と、前記第2の結合軸に対する前記第2の原子の回転角と、の少なくともいずれかの変化量の指定に応じて、前記座標空間における、前記結合長を変化させる前記第1の原子と前記第2の原子との座標間の単位ベクトルと、前記結合角を変化させる前記第1の結合軸と前記第2の結合軸とが成す面に対する法線ベクトルと、前記回転角を変化させる前記第2の原子の回転行列と、の少なくともいずれかに基づいて、前記座標空間における、前記1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記変更する処理は、
前記結合長の第1の変化量の指定に応じて、前記1以上の原子のそれぞれの原子の前記第1の座標を、当該原子の前記第1の座標から前記第1の変化量を乗算した前記単位ベクトル分移動した先である前記第2の座標に変更する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記変更する処理は、
前記結合角の第2の変化量の指定に応じて、前記第2の変化量と、前記第2の原子の座標から前記第3の原子の座標へのベクトルと、前記法線ベクトルとに基づいて、前記第2の原子の座標から前記結合角の変化後の前記第1の原子の前記第2の座標への第1のベクトルを特定し、前記第1の原子の前記第1の座標を、前記第1の原子の前記第1の座標から特定した前記第1のベクトル分移動した先の前記第2の座標に変更し、前記1以上の原子が、前記第1の原子以外の原子を含めば、前記結合角の変化前後の前記第1の原子の前記第1の座標から前記第2の座標への第2のベクトルを特定し、前記1以上の原子のうち前記第1の原子以外のそれぞれの原子の前記第1の座標を、当該原子の前記第1の座標から特定した前記第2のベクトル分移動した先の前記第2の座標に変更する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記変更する処理は、
前記回転角の第3の変化量の指定に応じて、前記第1の原子の前記第1の座標を、前記第1の原子の前記第1の座標に前記第3の変化量に対応する前記回転行列を乗算した前記第2の座標に変更し、前記1以上の原子が、前記第1の原子以外の原子を含めば、前記回転角の変化前後の前記第1の原子の前記第1の座標から前記第2の座標への第3のベクトルを特定し、前記1以上の原子のうち前記第1の原子以外のそれぞれの原子の前記第1の座標を、当該原子の前記第1の座標から特定した前記第3のベクトル分移動した先の前記第2の座標に変更する、ことを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
【請求項5】
前記対象の分子のうち、前記変化量の指定各々に応じて、前記1以上の原子のそれぞれの原子の座標を、前記第1の座標から前記第2の座標に変更した変更後の、各々の前記対象の分子に対して、前記対象の分子のポテンシャルエネルギーをそれぞれ算出し、
算出した複数の前記ポテンシャルエネルギーに基づいて、前記対象の分子のポテンシャルエネルギー曲線を生成する、
処理を前記コンピュータに実行させることを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
【請求項6】
所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付け、
前記選択を受け付けた前記1以上の原子に含まれる第1の原子と前記1以上の原子に含まれず前記第1の原子に接続する第2の原子との結合長と、前記第1の原子と前記第2の原子とを結合する第1の結合軸と前記第2の原子と前記1以上の原子に含まれず前記第2の原子に接続する第3の原子とを結合する第2の結合軸とが成す結合角と、前記第2の結合軸に対する前記第2の原子の回転角と、の少なくともいずれかの変化量の指定に応じて、前記座標空間における、前記結合長を変化させる前記第1の原子と前記第2の原子との座標間の単位ベクトルと、前記結合角を変化させる前記第1の結合軸と前記第2の結合軸とが成す面に対する法線ベクトルと、前記回転角を変化させる前記第2の原子の回転行列と、の少なくともいずれかに基づいて、前記座標空間における、前記1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項7】
所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付け、
前記選択を受け付けた前記1以上の原子に含まれる第1の原子と前記1以上の原子に含まれず前記第1の原子に接続する第2の原子との結合長と、前記第1の原子と前記第2の原子とを結合する第1の結合軸と前記第2の原子と前記1以上の原子に含まれず前記第2の原子に接続する第3の原子とを結合する第2の結合軸とが成す結合角と、前記第2の結合軸に対する前記第2の原子の回転角と、の少なくともいずれかの変化量の指定に応じて、前記座標空間における、前記結合長を変化させる前記第1の原子と前記第2の原子との座標間の単位ベクトルと、前記結合角を変化させる前記第1の結合軸と前記第2の結合軸とが成す面に対する法線ベクトルと、前記回転角を変化させる前記第2の原子の回転行列と、の少なくともいずれかに基づいて、前記座標空間における、前記1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【0002】
従来、新薬または新材料の開発のため、対象の分子のポテンシャルエネルギー曲線(PEC:Potential Energy Curve)を生成することが望まれる。例えば、対象の分子が取り得る、それぞれ原子の座標が異なる複数の状態を生成し、それぞれの状態の対象の分子のポテンシャルエネルギーを算出することにより、PECを生成することが考えられる。
【0003】
先行技術としては、例えば、指定化合物Xを固定剛体単位と移動剛体単位とに分割し、ランダムに選択する特定移動距離で、移動剛体単位を平行移動するものがある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、対象の分子が取り得る複数の状態を特定することが難しい場合がある。例えば、対象の分子のある状態から、結合長、結合角、および、回転角の少なくともいずれかを変化させ、対象の分子が取り得る複数の状態を生成しようとする場合に、対象の分子に含まれる原子の座標を適切に変更することが難しい。
【0006】
1つの側面では、本発明は、分子の結合長、結合角、および、回転角の少なくともいずれかを変化させる場合に、当該分子に含まれる原子の座標を適切に変更することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付け、前記選択を受け付けた前記1以上の原子に含まれる第1の原子と前記1以上の原子に含まれず前記第1の原子に接続する第2の原子との結合長と、前記第1の原子と前記第2の原子とを結合する第1の結合軸と前記第2の原子と前記1以上の原子に含まれず前記第2の原子に接続する第3の原子とを結合する第2の結合軸とが成す結合角と、前記第2の結合軸に対する前記第2の原子の回転角と、の少なくともいずれかの変化量の指定に応じて、前記座標空間における、前記結合長を変化させる前記第1の原子と前記第2の原子との座標間の単位ベクトルと、前記結合角を変化させる前記第1の結合軸と前記第2の結合軸とが成す面に対する法線ベクトルと、前記回転角を変化させる前記第2の原子の回転行列と、の少なくともいずれかに基づいて、前記座標空間における、前記1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する情報処理プログラム、情報処理方法、および情報処理装置が提案される。
【発明の効果】
【0008】
一態様によれば、分子の結合長、結合角、および、回転角の少なくともいずれかを変化させる場合に、当該分子に含まれる原子の座標を適切に変更することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
【
図2】
図2は、情報処理システム200の一例を示す説明図である。
【
図3】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、情報処理装置100の機能的構成例を示すブロック図である。
【
図5】
図5は、座標データ500を取得する一例を示す説明図である。
【
図6】
図6は、パターンファイル700を取得する一例を示す説明図(その1)である。
【
図7】
図7は、パターンファイル700を取得する一例を示す説明図(その2)である。
【
図8】
図8は、対象の分子を形成する原子の座標を変更する第1の例を示す説明図である。
【
図9】
図9は、対象の分子を形成する原子の座標を変更する第2の例を示す説明図である。
【
図10】
図10は、対象の分子を形成する原子の座標を変更する第3の例を示す説明図である。
【
図11】
図11は、PECを生成する一例を示す説明図である。
【
図12】
図12は、第1受付処理手順の一例を示すフローチャートである。
【
図13】
図13は、第2受付処理手順の一例を示すフローチャートである。
【
図14】
図14は、第3受付処理手順の一例を示すフローチャートである。
【
図15】
図15は、全体処理手順の一例を示すフローチャートである。
【
図16】
図16は、第1変更処理手順の一例を示すフローチャートである。
【
図17】
図17は、第2変更処理手順の一例を示すフローチャートである。
【
図18】
図18は、第3変更処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、所定の座標空間に存在する対象の分子を形成する複数の原子の少なくともいずれかの原子の座標を変更するためのコンピュータである。情報処理装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
【0012】
座標空間は、例えば、3次元空間である。対象の分子は、例えば、複数の原子が結合することにより形成される。対象の分子は、例えば、H
2OまたはC
2H
6などである。原子は、例えば、HまたはCなどである。
図1において、分子のモデル110の一例を示す。モデル110は、具体的には、C
2H
6を示す。モデル110は、具体的には、原子を球111で示し、原子間の結合を棒112で示す。
図1の例では、白い球が、Hに対応する。また、
図1の例では、ハッチを付した球が、Cに対応する。
【0013】
以下の説明では、原子間の結合方向を示す軸を「結合軸」と表記する場合がある。また、以下の説明では、結合する原子間の距離を「結合長」と表記する場合がある。また、以下の説明では、起点の原子から異なる2つの原子のそれぞれの原子への結合軸が成す角度を「結合角」と表記する場合がある。また、以下の説明では、いずれかの原子の結合軸を回転軸として当該いずれかの原子を回転する角度を「回転角」と表記する場合がある。
【0014】
従来、新薬または新材料の開発などのため、対象の分子のPECを生成し、対象の分子が有する性質を解析することが望まれる。例えば、対象の分子が取り得る、それぞれ原子の座標が異なる複数の状態を生成し、それぞれの状態の対象の分子のポテンシャルエネルギーを算出することにより、PECを生成することが考えられる。
【0015】
具体的には、対象の分子のある状態から、結合長、結合角、および、回転角の少なくともいずれかを変化させ、対象の分子が取り得る複数の状態を生成することが望まれる。換言すれば、対象の分子のある状態から、結合長、結合角、および、回転角の少なくともいずれかを変化させた新たな状態における、対象の分子を形成する複数の原子のそれぞれの原子の座標を特定することが望まれる。
【0016】
しかしながら、対象の分子のある状態から、結合長、結合角、および、回転角の少なくともいずれかを変化させた新たな状態における、対象の分子を形成する複数の原子のそれぞれの原子の座標を特定することが難しい。例えば、ある状態における対象の分子に含まれる原子の座標を、結合長、結合角、および、回転角の少なくともいずれかを変化させた新たな状態に対応するよう適切に変更することが難しい。
【0017】
具体的には、ある状態における対象の分子に含まれるいずれかの原子に関する結合長、結合角、および、回転角の少なくともいずれかを変化させた場合、当該原子の座標と併せて、他のいずれの原子の座標をどのように変更すればよいのかを特定することが難しい。このため、対象の分子のある状態から、結合長、結合角、および、回転角の少なくともいずれかを変化させ、対象の分子が取り得る複数の状態を生成することが難しい。
【0018】
そこで、本実施の形態では、所定の座標空間に存在する対象の分子の結合長、結合角、および、回転角の少なくともいずれかを変化させる際に、対象の分子を形成する少なくともいずれかの原子の座標を適切に変更することができる情報処理方法について説明する。
【0019】
図1において、情報処理装置100は、所定の座標空間に存在する対象の分子を形成する複数の原子のそれぞれの原子の座標を記憶する。
図1の例では、情報処理装置100は、具体的には、モデル110が示す分子を形成する複数の原子のそれぞれの原子の座標を記憶する。
【0020】
(1-1)情報処理装置100は、所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付ける。情報処理装置100は、例えば、利用者の操作入力に基づき、所定の座標空間に存在する対象の分子を形成する複数の原子のうち、座標を変更する対象となる1以上の原子の選択を受け付ける。
【0021】
情報処理装置100は、具体的には、結合長の変化に応じて座標を変更する対象となる、モデル110の球111a,111b,111c,111dが示す2以上の原子の選択を受け付ける。情報処理装置100は、具体的には、結合角の変化に応じて座標を変更する対象となる、モデル110の球111bが示す1つの原子の選択を受け付けてもよい。情報処理装置100は、具体的には、回転角の変化に応じて座標を変更する対象となる、モデル110の球111b,111c,111dが示す2以上の原子の選択を受け付けてもよい。
【0022】
(1-2)情報処理装置100は、選択を受け付けた1以上の原子に関する結合長、結合角、および、回転角の少なくともいずれかの変化量の指定を受け付ける。情報処理装置100は、例えば、選択を受け付けた1以上の原子に含まれる第1の原子と、選択を受け付けた1以上の原子に含まれず、第1の原子に接続する第2の原子との結合長の変化量の指定を受け付ける。情報処理装置100は、具体的には、球111a,111b,111c,111dが示す2以上の原子の選択を受け付けた際、球111aが示す原子と、球111eが示す原子との結合長の変化量の指定を受け付ける。
【0023】
情報処理装置100は、例えば、第1の結合軸と、第2の結合軸とが成す結合角の変化量の指定を受け付けてもよい。第1の結合軸は、例えば、選択を受け付けた1以上の原子に含まれる第1の原子と、選択を受け付けた1以上の原子に含まれず、第1の原子に接続する第2の原子とを結合する結合軸である。第2の結合軸は、例えば、第2の原子と、選択を受け付けた1以上の原子に含まれず、第2の原子に接続する第3の原子とを結合する結合軸である。情報処理装置100は、具体的には、球111bが示す1つの原子の選択を受け付けた際、棒112abが示す結合軸と、棒112acが示す結合軸とが成す結合角の変化量の指定を受け付けてもよい。
【0024】
情報処理装置100は、例えば、第2の結合軸に対する第2の原子の回転角の変化量の指定を受け付けてもよい。第2の原子は、第1の原子に接続する原子である。第2の結合軸は、例えば、第2の原子と、選択を受け付けた1以上の原子に含まれず、第2の原子に接続する第3の原子とを結合する結合軸である。情報処理装置100は、具体的には、球111b,111c,111dが示す2以上の原子の選択を受け付けた際、棒112aeが示す結合軸に対する、球111aが示す原子の回転角の変化量の指定を受け付けてもよい。
【0025】
(1-3)情報処理装置100は、変化量の指定に応じて、座標空間における、単位ベクトル、法線ベクトル、および、回転行列の少なくともいずれかに基づいて、座標空間における、選択を受け付けた1以上の原子のそれぞれの原子の座標を変更する。
【0026】
単位ベクトルは、例えば、結合長を変化させる第1の原子と第2の原子との座標間の結合軸の沿った単位長さのベクトルである。法線ベクトルは、例えば、結合角を変化させる第1の結合軸と第2の結合軸とが成す面に対する法線方向に沿ったベクトルである。回転行列は、例えば、回転角を変化させる第2の原子の座標を原点とする回転変換を表現する行列である。
【0027】
情報処理装置100は、具体的には、球111aが示す原子と、球111eが示す原子との結合長の変化量の指定を受け付けた際、棒112aeが示す結合軸に沿った単位ベクトルを特定する。情報処理装置100は、具体的には、特定した単位ベクトルと、結合長の変化量とに基づいて、座標空間における、球111a,111b,111c,111dが示す2以上の原子のそれぞれの原子の座標を変更する。
【0028】
これにより、情報処理装置100は、対象の分子を形成する原子の座標を、結合長を変化させた状態に対応するよう適切に変更することができる。このため、情報処理装置100は、対象の分子が取り得る、それぞれ原子の座標が異なる複数の状態を用意し易くすることができ、PECを生成し易くすることができる。
【0029】
情報処理装置100は、具体的には、棒112abが示す結合軸と、棒112acが示す結合軸とが成す面に対する法線ベクトルを特定する。情報処理装置100は、具体的には、特定した法線ベクトルと、結合角の変化量とに基づいて、座標空間における、球111bが示す1つの原子の座標を変更する。
【0030】
これにより、情報処理装置100は、対象の分子を形成する原子の座標を、結合角を変化させた新たな状態に対応するよう適切に変更することができる。このため、情報処理装置100は、対象の分子が取り得る、それぞれ原子の座標が異なる複数の状態を用意し易くすることができ、PECを生成し易くすることができる。
【0031】
情報処理装置100は、具体的には、棒112aeが示す結合軸に対する、球111aが示す原子の座標を原点とする回転変換を表現する回転行列を特定する。情報処理装置100は、具体的には、特定した回転行列と、回転角の変化量とに基づいて、座標空間における、球111b,111c,111dが示す2以上の原子のそれぞれの原子の座標を変換する。
【0032】
これにより、情報処理装置100は、対象の分子を形成する原子の座標を、回転角を変化させた新たな状態に対応するよう適切に変更することができる。このため、情報処理装置100は、対象の分子が取り得る、それぞれ原子の座標が異なる複数の状態を用意し易くすることができ、PECを生成し易くすることができる。
【0033】
ここでは、情報処理装置100が、単独で動作する場合について説明したが、これに限らない。例えば、情報処理装置100が、他のコンピュータと協働する場合があってもよい。例えば、複数のコンピュータが、協働して情報処理装置100としての機能を実現し、情報処理装置100として動作する場合があってもよい。具体的には、クラウド上に、情報処理装置100としての機能が実現される場合があってもよい。情報処理装置100が、他のコンピュータと協働する場合の一例については、
図2を用いて後述する。
【0034】
(情報処理システム200の一例)
次に、
図2を用いて、
図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
【0035】
図2は、情報処理システム200の一例を示す説明図である。
図2において、情報処理システム200は、情報処理装置100と、解析装置201と、クライアント装置202とを含む。
【0036】
情報処理システム200において、情報処理装置100と解析装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。また、情報処理システム200において、情報処理装置100とクライアント装置202とは、有線または無線のネットワーク210を介して接続される。
【0037】
情報処理装置100は、所定の座標空間に存在する対象の分子を形成する複数の原子の少なくともいずれかの原子の座標を変更するためのコンピュータである。情報処理装置100は、例えば、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを、クライアント装置202から受信する。
【0038】
情報処理装置100は、例えば、複数の原子のうち、座標を変更する対象となる1以上の原子を選択する選択通知を、クライアント装置202から受信する。情報処理装置100は、例えば、結合長、結合角、および、回転角の少なくともいずれかの変化量を指定する指定通知を、クライアント装置202から受信する。
【0039】
情報処理装置100は、指定通知により指定を受け付けた変化量に応じて、座標空間における、選択通知により選択を受け付けた1以上の原子のそれぞれの原子の座標を変更する。情報処理装置100は、変更後の複数の原子のそれぞれの原子の座標を示す新たな座標データを生成する。
【0040】
情報処理装置100は、受信した座標データを含む、対象の分子のポテンシャルエネルギーを算出することのリクエストを、解析装置201に送信する。情報処理装置100は、受信した座標データが示す状態における対象の分子のポテンシャルエネルギーを、解析装置201から受信する。
【0041】
情報処理装置100は、生成した新たな座標データを含む、対象の分子のポテンシャルエネルギーを算出することのリクエストを、解析装置201に送信する。情報処理装置100は、生成した新たな座標データが示す状態における対象の分子のポテンシャルエネルギーを、解析装置201から受信する。
【0042】
情報処理装置100は、受信したポテンシャルエネルギーに基づいて、PECを生成する。情報処理装置100は、生成したPECを、クライアント装置202に送信する。情報処理装置100は、例えば、システム管理者によって用いられる。情報処理装置100は、例えば、サーバ、または、PCなどである。
【0043】
解析装置201は、対象の分子のポテンシャルエネルギーを算出するためのコンピュータである。解析装置201は、座標データを含む、対象の分子のポテンシャルエネルギーを算出することのリクエストを、情報処理装置100から受信する。解析装置201は、リクエストに応じて、対象の分子のポテンシャルエネルギーを算出し、情報処理装置100に送信する。解析装置201は、例えば、システム管理者によって用いられる。解析装置201は、例えば、サーバ、または、PCなどである。
【0044】
クライアント装置202は、情報処理システム200を利用可能にするためのコンピュータである。クライアント装置202は、例えば、システム利用者の操作入力に基づき、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを生成し、情報処理装置100に送信する。
【0045】
クライアント装置202は、例えば、システム利用者の操作入力に基づき、複数の原子のうち、座標を変更する対象となる1以上の原子を選択する選択通知を生成し、情報処理装置100に送信する。クライアント装置202は、例えば、システム利用者の操作入力に基づき、結合長、結合角、および、回転角の少なくともいずれかの変化量を指定する指定通知を生成し、情報処理装置100に送信する。
【0046】
クライアント装置202は、例えば、PECを、情報処理装置100から受信する。クライアント装置202は、PECを、システム利用者が参照可能に出力する。クライアント装置202は、例えば、システム利用者によって用いられる。クライアント装置202は、例えば、PC、タブレット端末、または、スマートフォンなどである。
【0047】
ここでは、情報処理装置100と、解析装置201とが異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、解析装置201としての機能を有し、解析装置201としても動作する場合があってもよい。
【0048】
ここでは、情報処理装置100と、クライアント装置202とが異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、クライアント装置202としての機能を有し、クライアント装置202としても動作する場合があってもよい。
【0049】
(情報処理装置100のハードウェア構成例)
次に、
図3を用いて、情報処理装置100のハードウェア構成例について説明する。
【0050】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0051】
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
【0052】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0053】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
【0054】
情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0055】
(解析装置201のハードウェア構成例)
解析装置201のハードウェア構成例は、具体的には、
図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0056】
(クライアント装置202のハードウェア構成例)
クライアント装置202のハードウェア構成例は、具体的には、
図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0057】
(情報処理装置100の機能的構成例)
次に、
図4を用いて、情報処理装置100の機能的構成例について説明する。
【0058】
図4は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部400と、取得部401と、特定部402と、変更部403と、解析部404と、出力部405とを含む。
【0059】
記憶部400は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部400が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、情報処理装置100とは異なる装置に含まれ、記憶部400の記憶内容が情報処理装置100から参照可能である場合があってもよい。
【0060】
取得部401~出力部405は、制御部の一例として機能する。取得部401~出力部405は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0061】
記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、所定の座標空間に存在する対象の分子を形成する複数の原子のそれぞれの原子の座標を記憶する。それぞれの原子の座標は、例えば、取得部401によって取得される。
【0062】
取得部401は、各機能部の処理に用いられる各種情報を取得する。取得部401は、取得した各種情報を、記憶部400に記憶し、または、各機能部に出力する。また、取得部401は、記憶部400に記憶しておいた各種情報を、各機能部に出力してもよい。取得部401は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部401は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
【0063】
取得部401は、所定の座標空間に存在する対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを取得する。取得部401は、例えば、利用者の操作入力に基づき、座標データの入力を受け付けることにより、座標データを取得する。取得部401は、例えば、座標データを他のコンピュータから受信することにより、座標データを取得してもよい。
【0064】
取得部401は、例えば、所定の座標空間に存在する対象の分子を形成する複数の原子のうち、座標を変更する対象となる1以上の原子の選択を受け付ける。取得部401は、具体的には、利用者の操作入力に基づき、複数の原子のうち、座標を変更する対象となる1以上の原子の選択を受け付ける。取得部401は、具体的には、複数の原子のうち、座標を変更する対象となる1以上の原子を選択する選択通知を、他のコンピュータから受信することにより、1以上の原子の選択を受け付けてもよい。
【0065】
取得部401は、例えば、第1の原子と、第2の原子との結合長の変化量の指定を受け付ける。変化量の単位は、例えば、長さの単位である。変化量の単位は、例えば、ナノメートルやオングストロームなどである。第1の原子は、例えば、複数の原子のうち、座標を変更する対象となる原子である。第1の原子は、具体的には、選択を受け付けた1以上の原子に含まれる原子に対応する。第2の原子は、例えば、複数の原子のうち、座標を変更する対象とならない原子であり、第1の原子に接続する原子である。第2の原子は、具体的には、選択を受け付けた1以上の原子に含まれない原子に対応する。取得部401は、具体的には、利用者の操作入力に基づき、結合長の変化量の指定を受け付ける。取得部401は、具体的には、結合長の変化量を指定する指定通知を、他のコンピュータから受信することにより、結合長の変化量の指定を受け付けてもよい。
【0066】
取得部401は、例えば、第1の原子と第2の原子との第1の結合軸と、第2の原子と第3の原子との第2の結合軸とが成す結合角の変化量の指定を受け付ける。結合軸は、異なる2つの原子を結合する。変化量の単位は、例えば、角度である。第1の原子は、例えば、複数の原子のうち、座標を変更する対象となる原子である。第1の原子は、具体的には、選択を受け付けた1以上の原子に含まれる原子に対応する。第2の原子は、例えば、複数の原子のうち、座標を変更する対象とならない原子であり、第1の原子に接続する原子である。第2の原子は、具体的には、選択を受け付けた1以上の原子に含まれない原子に対応する。第3の原子は、例えば、複数の原子のうち、座標を変更する対象とならない原子であり、第2の原子に接続する原子である。第3の原子は、具体的には、選択を受け付けた1以上の原子に含まれない原子に対応する。取得部401は、具体的には、利用者の操作入力に基づき、結合角の変化量の指定を受け付ける。取得部401は、具体的には、結合角の変化量を指定する指定通知を、他のコンピュータから受信することにより、結合角の変化量の指定を受け付けてもよい。
【0067】
取得部401は、例えば、第2の原子と第3の原子との第2の結合軸に対する第2の原子の回転角の変化量の指定を受け付ける。変化量の単位は、例えば、角度である。第2の原子は、例えば、複数の原子のうち、座標を変更する対象とならない原子であり、第1の原子に接続する原子である。第2の原子は、具体的には、選択を受け付けた1以上の原子に含まれない原子に対応する。第3の原子は、例えば、複数の原子のうち、座標を変更する対象とならない原子であり、第2の原子に接続する原子である。第3の原子は、具体的には、選択を受け付けた1以上の原子に含まれない原子に対応する。取得部401は、具体的には、利用者の操作入力に基づき、回転角の変化量の指定を受け付ける。取得部401は、具体的には、回転角の変化量を指定する指定通知を、他のコンピュータから受信することにより、回転角の変化量の指定を受け付けてもよい。
【0068】
取得部401は、例えば、複数の原子のうち、座標を変更する対象となる1以上の原子の選択を受け付けると共に、結合長、結合角、および、回転角の少なくともいずれかの変化量の指定を受け付けてもよい。取得部401は、例えば、複数の原子のうち、座標を変更する対象となる1以上の原子の選択を受け付けた後に、結合長、結合角、および、回転角の少なくともいずれかの変化量の指定を受け付けてもよい。取得部401は、例えば、複数の原子のうち、座標を変更する対象となる1以上の原子の選択を受け付ける前に、結合長、結合角、および、回転角の少なくともいずれかの変化量の指定を受け付けてもよい。
【0069】
取得部401は、例えば、所定の座標空間に存在する対象の分子を形成する複数の原子のうち、座標を変更する対象となる第1の原子の選択を受け付けてもよい。取得部401は、具体的には、利用者の操作入力に基づき、複数の原子のうち、座標を変更する対象となる第1の原子の選択を受け付けてもよい。取得部401は、具体的には、複数の原子のうち、座標を変更する対象となる第1の原子を選択する選択通知を、他のコンピュータから受信することにより、第1の原子の選択を受け付けてもよい。
【0070】
取得部401は、例えば、複数の原子のうち、第1の原子と連動する他の原子を選択することにより、他の原子の選択を受け付けてもよい。取得部401は、具体的には、変化量の指定に応じて、結合長、結合角、および、回転角を変化させる場合に、第1の原子と連動する他の原子を自動で選択することにより、他の原子の選択を受け付ける。
【0071】
取得部401は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。取得部401は、具体的には、1以上の原子の選択を受け付け、かつ、変化量の指定を受け付けたことを、特定部402と、変更部403との処理を開始する開始トリガーとして受け付けてもよい。
【0072】
特定部402は、第1の原子と第2の原子との結合長の第1の変化量の指定に応じて、座標空間における、結合長を変化させる第1の原子と第2の原子との座標間の単位ベクトルを特定する。単位ベクトルは、例えば、実際に結合長を変化させる前の状態における第1の原子と第2の原子との座標間の単位ベクトルである。単位ベクトルは、例えば、単位長さのベクトルである。なお、単位ベクトルは、第1の原子と第2の原子とを結合する結合軸に対応するベクトルである。特定部402は、例えば、結合長を変化される第1の原子と第2の原子とのうち、座標を変更する対象とならない第2の原子の座標から、座標を変更する対象となる第1の原子の座標への単位ベクトルを特定する。これにより、特定部402は、結合長の変化に応じて、選択を受け付けた1以上の原子のそれぞれの原子の座標を変更可能にする情報を得ることができる。
【0073】
特定部402は、第1の結合軸と第2の結合軸とが成す結合角の第2の変化量の指定に応じて、座標空間における、結合角を変化させる第1の結合軸と第2の結合軸とが成す面に対する法線ベクトルを特定する。法線ベクトルは、例えば、実際に結合角を変化させる前の状態における第1の結合軸と第2の結合軸とが成す面に対する法線ベクトルである。特定部402は、例えば、第1の結合軸に沿った第2の原子の座標から第1の原子の座標へのベクトルと、第2の結合軸に沿った第2の原子の座標から第3の原子の座標へのベクトルとの外積を、法線ベクトルとして算出する。これにより、特定部402は、結合角の変化に応じて、選択を受け付けた1以上の原子のそれぞれの原子の座標を変更可能にする情報を得ることができる。
【0074】
特定部402は、第2の結合軸に対する第2の原子の回転角の第3の変化量の指定に応じて、座標空間における、回転角を変化させる第2の原子の回転行列を特定する。特定部402は、例えば、回転軸とする第2の結合軸に水平または垂直であり、互いに垂直である3方向への単位ベクトルを用いて、第2の原子の座標を原点とする回転変換を表現する回転行列を特定する。これにより、特定部402は、回転角の変化に応じて、選択を受け付けた1以上の原子のそれぞれの原子の座標を変更可能にする情報を得ることができる。
【0075】
変更部403は、選択を受け付けた1以上の原子のそれぞれの原子の座標を変更する。変更部403は、例えば、選択を受け付けた1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する。第1の座標は、例えば、変更前の座標に対応する。第2の座標は、例えば、変更後の座標に対応する。
【0076】
変更部403は、例えば、第1の原子と第2の原子との結合長の第1の変化量の指定に応じて、特定した単位ベクトルに基づいて、座標空間における、1以上の原子のそれぞれの原子の座標を変更する。変更部403は、具体的には、1以上の原子のそれぞれの原子の第1の座標を、当該第1の座標から第1の変化量を乗算した単位ベクトル分移動した先の第2の座標に変更する。これにより、変更部403は、結合長を変化した状態における対象の分子を形成する複数の原子のそれぞれの原子の座標を適切に特定することができ、結合長を変化した状態を適切に生成することができる。
【0077】
変更部403は、例えば、第1の結合軸と第2の結合軸とが成す結合角の第2の変化量の指定に応じて、特定した法線ベクトルに基づいて、座標空間における、1以上の原子のそれぞれの原子の座標を変更する。変更部403は、具体的には、第2の変化量と、第2の原子の座標から第3の原子の座標へのベクトルと、法線ベクトルとに基づいて、第2の原子の座標から結合角の変化後の第1の原子の第1の座標への第1のベクトルを特定する。変更部403は、具体的には、第1の原子の第1の座標を、当該第1の座標から特定した第1のベクトル分移動した先の第2の座標に変更する。
【0078】
変更部403は、具体的には、1以上の原子が、第1の原子以外の原子を含めば、結合角の変化前後の第1の原子の第1の座標から第2の座標への第2のベクトルを特定する。変更部403は、具体的には、1以上の原子のうち第1の原子以外のそれぞれの原子の第1の座標を、当該第1の座標から特定した第2のベクトル分移動した先の第2の座標に変更する。これにより、変更部403は、結合角を変化した状態における対象の分子を形成する複数の原子のそれぞれの原子の座標を適切に特定することができ、結合角を変化した状態を適切に生成することができる。
【0079】
変更部403は、例えば、第2の結合軸に対する第2の原子の回転角の第3の変化量の指定に応じて、特定した回転行列に基づいて、座標空間における、1以上の原子のそれぞれの原子の座標を変更する。変更部403は、具体的には、第1の原子の第1の座標を、当該第1の座標に第3の変化量に対応する回転行列を乗算した第2の座標に変更する。
【0080】
変更部403は、具体的には、1以上の原子が、第1の原子以外の原子を含めば、回転角の変化前後の第1の原子の第1の座標から第2の座標への第3のベクトルを特定する。変更部403は、具体的には、1以上の原子のうち第1の原子以外のそれぞれの原子の第1の座標を、当該第1の座標から特定した第3のベクトル分移動した先の第2の座標に変更する。これにより、変更部403は、回転角を変化した状態における対象の分子を形成する複数の原子のそれぞれの原子の座標を適切に特定することができ、回転角を変化した状態を適切に生成することができる。
【0081】
変更部403は、例えば、変化量の指定ごとに、当該変化量に応じて、座標空間における、単位ベクトル、法線ベクトル、および、回転行列の少なくともいずれかに基づいて、座標空間における、1以上の原子のそれぞれの原子の座標を変更してもよい。これにより、変更部403は、結合長、結合角、および、回転角の少なくともいずれかを変化した、対象の分子の複数の状態を特定することができる。
【0082】
解析部404は、変化量の指定ごとに、変化量に応じて、座標空間における、1以上の原子のそれぞれの原子の座標を変更した場合における、対象の分子のポテンシャルエネルギーを算出する。解析部404は、算出したポテンシャルエネルギーに基づいて、対象の分子のPECを生成する。これにより、解析部404は、PECを生成し、利用者が、対象の分子の性質を解析し易くすることができる。
【0083】
出力部405は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部405は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置100の管理や運用、例えば、情報処理装置100の設定値の更新などを支援することができ、情報処理装置100の利便性の向上を図ることができる。
【0084】
出力部405は、例えば、変更部403で変更した1以上の原子のそれぞれの原子の座標を含む、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを出力する。出力部405は、具体的には、座標データを、利用者が参照可能に出力する。これにより、出力部405は、利用者が、様々な座標データを活用可能にすることができる。
【0085】
出力部405は、例えば、解析部404で生成したPECを出力してもよい。出力部405は、具体的には、PECを、利用者が参照可能に出力する。これにより、出力部405は、利用者が、PECを参照可能にすることができ、対象の分子の性質を解析し易くすることができる。
【0086】
(情報処理装置100の動作例)
次に、
図5~
図11を用いて、情報処理装置100の動作例について説明する。まず、
図5を用いて、情報処理装置100が、対象の分子を形成する複数の分子のそれぞれの分子の座標を示す座標データ500を取得する一例について説明する。
【0087】
図5は、座標データ500を取得する一例を示す説明図である。
図5において、情報処理装置100は、座標データ500を取得する。
図5に示すように、座標データ500は、idと、種類と、X座標と、Y座標と、Z座標とのフィールドを有する。座標データ500は、原子ごとに各フィールドに情報を設定することにより、座標情報がレコード500-aとして記憶される。aは、任意の整数である。
【0088】
idのフィールドには、対象の分子を形成する原子を識別するidが設定される。種類のフィールドには、上記原子の種類を示す原子記号が設定される。X座標のフィールドには、XYZ軸の座標空間における上記原子のX座標が設定される。Y座標のフィールドには、XYZ軸の座標空間における上記原子のY座標が設定される。Z座標のフィールドには、XYZ軸の座標空間における上記原子のZ座標が設定される。
【0089】
次に、
図6および
図7を用いて、情報処理装置100が、結合長、結合角、および、回転角の少なくともいずれかを、どのように変更するのかをそれぞれ示す1以上の変更パターンを記録したパターンファイル700を取得する一例について説明する。
【0090】
図6および
図7は、パターンファイル700を取得する一例を示す説明図である。
図6において、情報処理装置100は、対象の分子の構造式600を、利用者が参照可能にディスプレイに表示する。情報処理装置100は、利用者の操作入力に基づき、対象の分子に関する結合長、結合角、および、回転角のうち、変化させる対象の種類の指定を受け付ける。
【0091】
例えば、情報処理装置100が、変化させる対象の種類として、対象の分子に関する結合長の指定を受け付ける場合が考えられる。この場合、情報処理装置100は、例えば、利用者の操作入力に基づき、結合長を変化させる結合軸の選択を受け付ける。情報処理装置100は、具体的には、Cの原子611とNの原子615との結合軸621の選択を受け付ける。
【0092】
情報処理装置100は、例えば、利用者の操作入力に基づき、対象の分子を形成する複数の原子のうち、結合長の変化に応じて座標を変更する対象とする1以上の原子の選択を受け付ける。情報処理装置100は、具体的には、利用者の操作入力に基づき、対象の分子の構造式600上から、結合長の変化に応じて座標を変更する対象とする原子611~614のグループ601の選択を受け付ける。
【0093】
情報処理装置100は、例えば、選択を受け付けた結合軸に接続する2つの原子のうち、座標を変更する対象となる一方の原子の座標から、座標を変更する対象とならない他方の原子への方向に沿った単位ベクトルを特定する。情報処理装置100は、具体的には、Cの原子611の座標から、Nの原子615の座標への方向に沿った単位ベクトルを特定する。情報処理装置100は、例えば、利用者の操作入力に基づき、結合長の変化量の指定を受け付ける。次に、
図7の説明に移行する。
【0094】
図7において、情報処理装置100は、変化させる対象の種類=結合長と、選択を受け付けた結合軸および1以上の原子と、特定した単位ベクトルと、指定を受け付けた結合長の変化量とを対応付けた変更パターン701を生成する。情報処理装置100は、生成した変更パターン701を、パターンファイル700に記録する。
【0095】
変更パターン701は、例えば、結合軸に接続する2つの原子のそれぞれの原子のidの組み合わせを含むことにより、結合軸を示す。変更パターン701は、例えば、1以上の原子のそれぞれの原子のidを含むことにより、1以上の原子を示す。変更パターン701は、例えば、単位ベクトルのx成分とy成分とz成分とを含むことにより、単位ベクトルを示す。変更パターン701は、例えば、結合長の変化量を含む。
【0096】
情報処理装置100は、結合長を変化させる場合に対応する複数の変更パターン701を、パターンファイル700に記録してもよい。これにより、情報処理装置100は、対象の分子に関する結合長をどのように変化させ、対象の分子を形成する原子の座標をどのように変更するのかを特定可能にすることができる。
【0097】
また、例えば、情報処理装置100が、変化させる対象の種類として、対象の分子に関する結合角の指定を受け付ける場合が考えられる。この場合、情報処理装置100は、例えば、利用者の操作入力に基づき、結合角を変化させる2つの結合軸の組み合わせの選択を受け付ける。情報処理装置100は、具体的には、Cの原子611とHの原子612との結合軸622と、Cの原子611とHの原子613との結合軸623との組み合わせの選択を受け付ける。
【0098】
情報処理装置100は、例えば、利用者の操作入力に基づき、対象の分子を形成する複数の原子のうち、結合角の変化に応じて座標を変更する対象とする1以上の原子の選択を受け付ける。情報処理装置100は、具体的には、利用者の操作入力に基づき、対象の分子の構造式600上から、結合角の変化に応じて座標を変更する対象とする原子612の選択を受け付ける。
【0099】
情報処理装置100は、例えば、選択を受け付けた組み合わせの2つの結合軸の中心の原子の座標から、それぞれの結合軸の他方の原子の座標への結合軸ベクトルを特定する。2つの結合軸の中心の原子は、例えば、2つの結合軸に共通して接続する原子である。情報処理装置100は、具体的には、Cの原子611の座標から、Hの原子612の座標への方向に沿った結合軸ベクトルと、Cの原子611の座標から、Hの原子613の座標への方向に沿った結合軸ベクトルとを特定する。
【0100】
情報処理装置100は、例えば、選択を受け付けた組み合わせの2つの結合軸が成す面に対する法線ベクトルを特定する。情報処理装置100は、具体的には、Cの原子611とHの原子612との結合軸622と、Cの原子611とHの原子613との結合軸623とが成す面に対する法線ベクトルを特定する。情報処理装置100は、例えば、利用者の操作入力に基づき、結合角の変化量の指定を受け付ける。
【0101】
情報処理装置100は、変化させる対象の種類=結合角と、選択を受け付けた組み合わせおよび1以上の原子と、特定した2つの結合軸ベクトルおよび法線ベクトルと、指定を受け付けた結合角の変化量とを対応付けた変更パターン702を生成する。情報処理装置100は、生成した変更パターン702を、パターンファイル700に記録する。
【0102】
変更パターン702は、例えば、2つの結合軸のそれぞれの結合軸に接続する2つの原子のそれぞれの原子のidの組み合わせを含むことにより、2つの結合軸の組み合わせを示す。変更パターン702は、例えば、1以上の原子のそれぞれの原子のidを含むことにより、1以上の原子を示す。変更パターン702は、例えば、結合軸ベクトルのx成分とy成分とz成分とを含むことにより、結合軸ベクトルを示す。変更パターン702は、例えば、法線ベクトルのx成分とy成分とz成分とを含むことにより、法線ベクトルを示す。変更パターン702は、例えば、結合角の変化量を含む。
【0103】
情報処理装置100は、複数の変更パターン702を、パターンファイル700に記録してもよい。これにより、情報処理装置100は、対象の分子に関する結合角をどのように変化させ、対象の分子を形成する原子の座標をどのように変更するのかを特定可能にすることができる。
【0104】
また、例えば、情報処理装置100が、変化させる対象の種類として、対象の分子に関する回転角の指定を受け付ける場合が考えられる。この場合、情報処理装置100は、例えば、利用者の操作入力に基づき、回転軸となる結合軸の選択を受け付ける。情報処理装置100は、具体的には、Cの原子611とNの原子615との結合軸621の選択を受け付ける。
【0105】
情報処理装置100は、例えば、利用者の操作入力に基づき、対象の分子を形成する複数の原子のうち、回転角の変化に応じて座標を変更する対象とする1以上の原子の選択を受け付ける。情報処理装置100は、具体的には、利用者の操作入力に基づき、対象の分子の構造式600上から、回転角の変化に応じて座標を変更する対象とする原子612~614の選択を受け付ける。
【0106】
情報処理装置100は、例えば、選択を受け付けた結合軸に対してそれぞれ水平または垂直であり、かつ、互いに垂直である3方向への単位ベクトルを特定する。情報処理装置100は、具体的には、結合軸621に対してそれぞれ水平または垂直であり、かつ、互いに垂直である3方向への単位ベクトルを特定する。情報処理装置100は、例えば、利用者の操作入力に基づき、回転角の変化量の指定を受け付ける。
【0107】
情報処理装置100は、変化させる対象の種類=回転角と、選択を受け付けた結合軸と、特定した3方向への単位ベクトルと、指定を受け付けた回転角の変化量とを対応付けた変更パターン703を生成する。情報処理装置100は、生成した変更パターン703を、パターンファイル700に記録する。
【0108】
変更パターン703は、例えば、回転軸となる結合軸に接続する2つの原子のそれぞれの原子のidの組み合わせを含むことにより、回転軸となる結合軸の組み合わせを示す。変更パターン703は、例えば、1以上の原子のそれぞれの原子のidを含むことにより、1以上の原子を示す。変更パターン703は、例えば、単位ベクトルのx成分とy成分とz成分とを含むことにより、単位ベクトルを示す。変更パターン703は、例えば、回転角の変化量を含む。
【0109】
情報処理装置100は、複数の変更パターン703を、パターンファイル700に記録してもよい。これにより、情報処理装置100は、対象の分子に関する回転角をどのように変化させ、対象の分子を形成する原子の座標をどのように変更するのかを特定可能にすることができる。
【0110】
次に、
図8を用いて、情報処理装置100が、結合長に関する変更パターン701に基づいて、結合長を変化させた状態に対応するよう対象の分子を形成する原子の座標を変更する第1の例について説明する。
【0111】
図8は、対象の分子を形成する原子の座標を変更する第1の例を示す説明図である。
図8において、対象の分子は、例えば、分子800であるとする。対象の分子は、具体的には、メチルイミダゾールなどである。
【0112】
ここで、情報処理装置100が、
図6および
図7と同様に、分子800について、座標を変更する対象とする原子811~814の選択を受け付け、かつ、結合長に関する複数の変更パターン701を、パターンファイル700に記録した場合が考えられる。この場合において、情報処理装置100が、変更パターン701に基づいて、対象の分子を形成する原子の座標を変更する一例について説明する。
【0113】
情報処理装置100は、パターンファイル700を参照して、結合長に関するいずれかの変更パターン701を抽出する。情報処理装置100は、抽出した変更パターン701に基づいて、対象の分子800の単位ベクトル801を特定する。
【0114】
情報処理装置100は、抽出した変更パターン701に基づいて、座標を変更する対象とする原子811~814を特定する。情報処理装置100は、特定したそれぞれの原子811~814の座標を、当該座標から結合長の変化量を乗算した単位ベクトル801分移動した先の座標に変更する。情報処理装置100は、変更した座標を含む、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを生成する。
【0115】
このように、情報処理装置100は、結合長に関する変更パターン701ごとに、対象の分子を形成する原子の座標を変更し、座標データを生成する。これにより、情報処理装置100は、結合長に関し、対象の分子の異なる複数の状態を特定することができる。情報処理装置100は、例えば、対象の分子の異なる複数の状態における、対象の分子を形成する複数の原子のそれぞれの原子の座標を適切に特定することができる。
【0116】
次に、
図9を用いて、情報処理装置100が、結合角に関する変更パターン702に基づいて、結合角を変化させた状態に対応するよう対象の分子を形成する原子の座標を変更する第2の例について説明する。
【0117】
図9は、対象の分子を形成する原子の座標を変更する第2の例を示す説明図である。
図9において、対象の分子は、例えば、分子900であるとする。対象の分子は、具体的には、H
2Oなどである。
【0118】
ここで、情報処理装置100が、
図6および
図7と同様に、分子900について、座標を変更する対象とする原子911の選択を受け付け、かつ、結合角に関する複数の変更パターン702を、パターンファイル700に記録した場合が考えられる。この場合において、情報処理装置100が、変更パターン702に基づいて、対象の分子を形成する原子の座標を変更する一例について説明する。
【0119】
情報処理装置100は、パターンファイル700を参照して、結合角に関するいずれかの変更パターン702を抽出する。情報処理装置100は、抽出した変更パターン702に基づいて、対象の分子900の結合軸ベクトル921と、結合軸ベクトル922とを特定する。情報処理装置100は、抽出した変更パターン702に基づいて、座標を変更する対象とする原子912を特定する。情報処理装置100は、抽出した変更パターン702に基づいて、結合角の変化量に基づいて、変化後の結合角θ’を特定する。
【0120】
以下の説明では、便宜上、上部に→を付した記号を、「記号→」と表記する場合がある。結合軸ベクトル921は、a→である。結合軸ベクトル922は、b→である。情報処理装置100は、抽出した変更パターン702に基づいて、対象の分子900の法線ベクトルを特定する。法線ベクトルは、a→×b→である。×は、外積を示す。情報処理装置100は、結合角を変化後の結合軸ベクトル922を、c→と設定する。ここで、a→とb→とc→とに関して、下記式(1)、下記式(2)、および、下記式(3)が成立する。
【0121】
【0122】
【0123】
【0124】
従って、情報処理装置100は、特定したθ’に基づいて、上記式(1)、上記式(2)、および、上記式(3)が成立するよう、変化後の結合軸ベクトル922を表すc→を特定する。情報処理装置100は、原子911の座標を、原子912の座標からc→分移動した先の座標に変更する。
【0125】
情報処理装置100は、原子911に連動する他の原子があれば、当該原子の座標を変更する。情報処理装置100は、例えば、原子911に連動する他の原子があれば、原子911の変更前後の座標間のベクトル(c→-b→)を特定する。情報処理装置100は、例えば、他の原子の座標を、当該座標からベクトル(c→-b→)分移動した先の座標に変更する。情報処理装置100は、変更した座標を含む、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを生成する。
【0126】
このように、情報処理装置100は、結合角に関する変更パターン702ごとに、対象の分子を形成する原子の座標を変更し、座標データを生成する。これにより、情報処理装置100は、結合角に関し、対象の分子の異なる複数の状態を特定することができる。情報処理装置100は、例えば、対象の分子の異なる複数の状態における、対象の分子を形成する複数の原子のそれぞれの原子の座標を適切に特定することができる。
【0127】
次に、
図10を用いて、情報処理装置100が、回転角に関する変更パターン702に基づいて、回転角を変化させた状態に対応するよう対象の分子を形成する原子の座標を変更する第3の例について説明する。
【0128】
図10は、対象の分子を形成する原子の座標を変更する第3の例を示す説明図である。
図10において、対象の分子は、例えば、分子1000であるとする。対象の分子は、具体的には、エタンなどである。
【0129】
ここで、情報処理装置100が、
図6および
図7と同様に、分子1000について、座標を変更する対象とする原子1002~1004の選択を受け付け、かつ、回転角に関する複数の変更パターン703を、パターンファイル700に記録した場合が考えられる。この場合において、情報処理装置100が、変更パターン703に基づいて、対象の分子を形成する原子の座標を変更する一例について説明する。
【0130】
情報処理装置100は、パターンファイル700を参照して、回転角に関するいずれかの変更パターン703を抽出する。情報処理装置100は、抽出した変更パターン703に基づいて、回転軸となる、対象の分子1000の結合軸ベクトル1011を特定する。原子1001が、回転軸に沿って回転する対象である。情報処理装置100は、抽出した変更パターン703に基づいて、座標を変更する対象とする原子1002~1004を特定する。
【0131】
情報処理装置100は、抽出した変更パターン703に基づいて、3方向の単位ベクトルn1,n2,n3を特定する。情報処理装置100は、回転角の変化量θと、3方向の単位ベクトルn1,n2,n3とに基づいて、下記式(4)に示す回転行列R(θ)を特定する。
【0132】
【0133】
情報処理装置100は、原子1001に直接接続したそれぞれの原子1002~1004の座標を、当該座標に回転行列R(θ)を乗算した座標に変更する。情報処理装置100は、原子1001に直接接続したそれぞれの原子1002~1004に連動する他の原子があれば、当該原子の座標を変更する。
【0134】
情報処理装置100は、例えば、それぞれの原子1002~1004に連動する他の原子があれば、それぞれの原子1002~1004の変更前後の座標間のベクトルを特定する。情報処理装置100は、例えば、それぞれの原子1002~1004に連動する他の原子の座標を、当該座標からそれぞれの原子1002~1004の変更前後の座標間のベクトル分移動した先の座標に変更する。情報処理装置100は、変更した座標を含む、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを生成する。情報処理装置100は、具体的には、原子1002に連動する他の原子の座標を、当該座標から原子1002の変更前後の座標間のベクトル分移動した先の座標に変更する。
【0135】
このように、情報処理装置100は、回転角に関する変更パターン703ごとに、対象の分子を形成する原子の座標を変更し、座標データを生成する。これにより、情報処理装置100は、回転角に関し、対象の分子の異なる複数の状態を特定することができる。情報処理装置100は、例えば、対象の分子の異なる複数の状態における、対象の分子を形成する複数の原子のそれぞれの原子の座標を適切に特定することができる。
【0136】
次に、
図11を用いて、情報処理装置100が、PECを生成する一例について説明する。
【0137】
図11は、PECを生成する一例を示す説明図である。
図11に示すように、情報処理装置100は、ある対象の分子について生成した座標データごとに、対象の分子のポテンシャルエネルギーを算出する。ポテンシャルエネルギーは、例えば、ハートリーエネルギーなどである。
【0138】
情報処理装置100は、例えば、結合長に関する変更パターン701ごとに生成した座標データに基づいて、対象の分子のポテンシャルエネルギーを算出する。情報処理装置100は、例えば、算出したポテンシャルエネルギーに基づいて、結合長を横軸とし、ポテンシャルエネルギーを縦軸とし、PEC1101を示すグラフ1100を生成する。情報処理装置100は、グラフ1100を、利用者が参照可能に出力する。これにより、情報処理装置100は、利用者が、PECを参照可能にすることができ、対象の分子の性質を解析し易くすることができる。
【0139】
(第1受付処理手順)
次に、
図12を用いて、情報処理装置100が実行する、第1受付処理手順の一例について説明する。第1受付処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0140】
図12は、第1受付処理手順の一例を示すフローチャートである。
図12において、情報処理装置100は、利用者の操作入力に基づき、結合長を変化させる結合軸、および、座標を変更する対象となる1以上の原子の選択を受け付ける(ステップS1201)。1以上の原子は、例えば、少なくとも、選択を受け付けた結合軸に接続する一方の原子を含む。
【0141】
次に、情報処理装置100は、選択を受け付けた結合軸に接続する2つの原子のうち、座標を変更する対象となる一方の原子の座標から、座標を変更する対象とならない他方の原子への方向に沿った単位ベクトルを特定する(ステップS1202)。そして、情報処理装置100は、利用者の操作入力に基づき、結合長の変化量の指定を受け付ける(ステップS1203)。
【0142】
次に、情報処理装置100は、選択を受け付けた結合軸および1以上の原子と、特定した単位ベクトルと、指定を受け付けた結合長の変化量とを対応付けた変更パターンを、パターンファイルに記録する(ステップS1204)。そして、情報処理装置100は、第1受付処理を終了する。これにより、情報処理装置100は、変更パターンを受け付けることができ、対象の分子を形成する原子の座標をどのように変更するのかを特定可能にすることができる。
【0143】
(第2受付処理手順)
次に、
図13を用いて、情報処理装置100が実行する、第2受付処理手順の一例について説明する。第2受付処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0144】
図13は、第2受付処理手順の一例を示すフローチャートである。
図13において、情報処理装置100は、利用者の操作入力に基づき、結合角を変化させる2つの結合軸の組み合わせ、および、座標を変更する対象となる1以上の原子の選択を受け付ける(ステップS1301)。1以上の原子は、例えば、少なくとも、選択を受け付けた組み合わせの一方の結合軸に接続する一方の原子を含む。
【0145】
次に、情報処理装置100は、選択を受け付けた組み合わせの2つの結合軸の中心(2つの結合軸に共通)の原子の座標から、それぞれの結合軸の他方の原子の座標への結合軸ベクトルを特定する(ステップS1302)。そして、情報処理装置100は、特定した2つの結合軸ベクトルに基づいて、選択を受け付けた組み合わせの2つの結合軸が成す面に対する法線ベクトルを特定する(ステップS1303)。また、情報処理装置100は、利用者の操作入力に基づき、結合角の変化量の指定を受け付ける(ステップS1304)。
【0146】
次に、情報処理装置100は、選択を受け付けた組み合わせおよび1以上の原子と、特定した2つの結合軸ベクトルおよび法線ベクトルと、指定を受け付けた結合角の変化量とを対応付けた変更パターンを、パターンファイルに記録する(ステップS1305)。そして、情報処理装置100は、第2受付処理を終了する。これにより、情報処理装置100は、変更パターンを受け付けることができ、対象の分子を形成する原子の座標をどのように変更するのかを特定可能にすることができる。
【0147】
(第3受付処理手順)
次に、
図14を用いて、情報処理装置100が実行する、第3受付処理手順の一例について説明する。第3受付処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0148】
図14は、第3受付処理手順の一例を示すフローチャートである。
図14において、情報処理装置100は、利用者の操作入力に基づき、回転角を変化させる回転軸となる結合軸、および、座標を変更する対象となる1以上の原子の選択を受け付ける(ステップS1401)。1以上の原子は、例えば、少なくとも、選択を受け付けた回転軸となる結合軸の一方の原子に接続する原子を含む。
【0149】
次に、情報処理装置100は、選択を受け付けた結合軸に対してそれぞれ水平または垂直であり、かつ、互いに垂直である3方向への単位ベクトルを特定する(ステップS1402)。そして、情報処理装置100は、利用者の操作入力に基づき、回転角の変化量の指定を受け付ける(ステップS1403)。
【0150】
次に、情報処理装置100は、選択を受け付けた結合軸と、特定した3方向への単位ベクトルと、指定を受け付けた回転角の変化量とを対応付けた変更パターンを、パターンファイルに記録する(ステップS1404)。そして、情報処理装置100は、第3受付処理を終了する。これにより、情報処理装置100は、変更パターンを受け付けることができ、対象の分子を形成する原子の座標をどのように変更するのかを特定可能にすることができる。
【0151】
(全体処理手順)
次に、
図15を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0152】
図15は、全体処理手順の一例を示すフローチャートである。
図15において、情報処理装置100は、座標データを取得する(ステップS1501)。次に、情報処理装置100は、パターンファイルを取得する(ステップS1502)。そして、情報処理装置100は、パターンファイルのうち、まだ処理対象として選択していない変更パターンが存在するか否かを判定する(ステップS1503)。
【0153】
ここで、すべての変更パターンを処理対象として選択済みである場合(ステップS1503:No)、情報処理装置100は、ステップS1506の処理に移行する。一方で、まだ処理対象として選択していない変更パターンが存在する場合(ステップS1503:Yes)、情報処理装置100は、ステップS1504の処理に移行する。
【0154】
ステップS1504では、情報処理装置100は、パターンファイルのうち、まだ処理対象として選択していない変更パターンを、処理対象として選択する(ステップS1504)。次に、情報処理装置100は、選択した変更パターンに応じて、
図16に後述する第1変更処理、
図17に後述する第2変更処理、または、
図18に後述する第3変更処理を実行し、新たな座標データを取得する(ステップS1505)。そして、情報処理装置100は、ステップS1503の処理に戻る。
【0155】
ステップS1506では、情報処理装置100は、取得したそれぞれの座標データに基づいて、対象の分子のポテンシャルエネルギーを算出する(ステップS1506)。次に、情報処理装置100は、算出したポテンシャルエネルギーに基づいて、PECを生成して出力する(ステップS1507)。そして、情報処理装置100は、全体処理を終了する。これにより、情報処理装置100は、PECを生成することができ、利用者が、PECを参照可能にすることができ、対象の分子の性質を解析し易くすることができる。
【0156】
(第1変更処理手順)
次に、
図16を用いて、情報処理装置100が実行する、第1変更処理手順の一例について説明する。第1変更処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。なお、
図16の処理は、上述した
図5のS1505の処理の詳細な処理である。
【0157】
図16は、第1変更処理手順の一例を示すフローチャートである。
図16において、情報処理装置100は、変更パターンに基づいて、結合長の変化量を取得する(ステップS1601)。次に、情報処理装置100は、変更パターンに基づいて、選択を受け付けた1以上の原子のそれぞれの原子の座標を、結合長の変化量を乗算した単位ベクトル分移動した先の座標に変更する(ステップS1602)。
【0158】
そして、情報処理装置100は、変更した1以上の原子のそれぞれの原子の座標を含む、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを生成する(ステップS1603)。その後、情報処理装置100は、第1変更処理を終了する。これにより、情報処理装置100は、対象の分子を形成する原子の座標を、結合長を変化させた状態に対応するよう適切に変更することができる。
【0159】
(第2変更処理手順)
次に、
図17を用いて、情報処理装置100が実行する、第2変更処理手順の一例について説明する。なお、
図17は、上述した
図5のS1505の処理の詳細な処理に関する説明である。第2変更処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0160】
図17は、第2変更処理手順の一例を示すフローチャートである。
図17において、情報処理装置100は、変更パターンに基づいて、結合角の変化量を取得する(ステップS1701)。そして、情報処理装置100は、変更パターンに基づいて、選択を受け付けた1以上の原子のうち、選択を受け付けた組み合わせの一方の結合軸に接続した第1の原子と、当該組み合わせの2つの結合軸の中心の第2の原子とを特定する(ステップS1702)。
【0161】
次に、情報処理装置100は、変更パターンに基づいて、結合角の変化量と、2つの結合軸ベクトルおよび法線ベクトルとに基づいて、第2の原子の座標から、結合角の変化後の第1の原子の座標への第1のベクトルを特定する(ステップS1703)。そして、情報処理装置100は、第1の原子の座標を、当該座標から特定した第1のベクトル分移動した先の座標に変更する(ステップS1704)。
【0162】
次に、情報処理装置100は、結合角の変化前の第1の原子の座標から、結合角の変化後の第1の原子の座標への第2のベクトルを特定する(ステップS1705)。そして、情報処理装置100は、選択を受け付けた1以上の原子のうち第1の原子以外のそれぞれの原子の座標を、当該座標から特定した第2のベクトル分移動した先の座標に変更する(ステップS1706)。
【0163】
次に、情報処理装置100は、変更した1以上の原子のそれぞれの原子の座標を含む、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを生成する(ステップS1707)。そして、情報処理装置100は、第2変更処理を終了する。これにより、情報処理装置100は、対象の分子を形成する原子の座標を、結合角を変化させた状態に対応するよう適切に変更することができる。
【0164】
(第3変更処理手順)
次に、
図18を用いて、情報処理装置100が実行する、第3変更処理手順の一例について説明する。なお、
図18の処理は、上述した
図5のS1505の処理の詳細な処理である。第3変更処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0165】
図18は、第3変更処理手順の一例を示すフローチャートである。
図18において、情報処理装置100は、変更パターンに基づいて、回転角の変化量を取得する(ステップS1801)。
【0166】
次に、情報処理装置100は、変更パターンに基づいて、選択を受け付けた1以上の原子のうち、選択を受け付けた回転軸となる結合軸の一方の結合軸に接続した回転する回転原子に接続した第1の原子を特定する(ステップS1802)。そして、情報処理装置100は、変更パターンに基づいて、第1の原子の座標を、当該座標に回転角の変化量を設定した回転行列を乗算した座標に変更する(ステップS1803)。
【0167】
次に、情報処理装置100は、回転角の変化前の第1の原子の座標から、回転角の変化後の第1の原子の座標への第3のベクトルを特定する(ステップS1804)。そして、情報処理装置100は、選択を受け付けた1以上の原子のうち第1の原子以外のそれぞれの原子の座標を、当該座標から特定した第3のベクトル分移動した先の座標に変更する(ステップS1805)。
【0168】
次に、情報処理装置100は、変更した1以上の原子のそれぞれの原子の座標を含む、対象の分子を形成する複数の原子のそれぞれの原子の座標を示す座標データを生成する(ステップS1806)。そして、情報処理装置100は、第3変更処理を終了する。これにより、情報処理装置100は、対象の分子を形成する原子の座標を、回転角を変化させた状態に対応するよう適切に変更することができる。
【0169】
以上説明したように、情報処理装置100によれば、所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付けることができる。情報処理装置100によれば、結合長、結合角、および、回転角の少なくともいずれかの変化量の指定に応じて、座標空間における、単位ベクトル、法線ベクトル、および、回転行列の少なくともいずれかを特定することができる。情報処理装置100によれば、特定した座標空間における、単位ベクトル、法線ベクトル、および、回転行列の少なくともいずれかに基づいて、座標空間における、1以上の原子のそれぞれの原子の座標を変更することができる。これにより、情報処理装置100は、1以上の原子のそれぞれの原子の座標を適切に変更することができ、対象の分子の新たな状態を特定し易くすることができる。情報処理装置100は、対象の分子の新たな状態を特定する際に利用者にかかる作業負担の低減化を図ることができる。
【0170】
情報処理装置100によれば、結合長の第1の変化量の指定に応じて、1以上の原子のそれぞれの原子の座標を、当該座標から第1の変化量を乗算した単位ベクトル分移動した先の座標に変更することができる。これにより、情報処理装置100は、結合長を変化させる場合に対応するよう1以上の原子のそれぞれの原子の座標を適切に変更することができる。
【0171】
情報処理装置100によれば、結合角の第2の変化量と、第2の原子の座標から第3の原子の座標へのベクトルと、法線ベクトルとに基づいて、第2の原子の座標から結合角の変化後の第1の原子の座標への第1のベクトルを特定することができる。情報処理装置100によれば、第1の原子の座標を、当該座標から特定した第1のベクトル分移動した先の座標に変更することができる。情報処理装置100によれば、1以上の原子が、第1の原子以外の原子を含めば、結合角の変化前後の第1の原子の座標間の第2のベクトルを特定することができる。情報処理装置100によれば、1以上の原子のうち第1の原子以外のそれぞれの原子の座標を、当該座標から特定した第2のベクトル分移動した先の座標に変更することができる。これにより、情報処理装置100は、結合角を変化させる場合に対応するよう1以上の原子のそれぞれの原子の座標を適切に変更することができる。
【0172】
情報処理装置100によれば、回転角の第3の変化量の指定に応じて、第1の原子の座標を、当該座標に第3の変化量に対応する回転行列を乗算した座標に変更することができる。情報処理装置100によれば、1以上の原子が、第1の原子以外の原子を含めば、回転角の変化前後の第1の原子の座標間の第3のベクトルを特定することができる。情報処理装置100によれば、1以上の原子のうち第1の原子以外のそれぞれの原子の座標を、当該座標から特定した第3のベクトル分移動した先の座標に変更することができる。これにより、情報処理装置100は、回転角を変化させる場合に対応するよう1以上の原子のそれぞれの原子の座標を適切に変更することができる。
【0173】
情報処理装置100によれば、結合長、結合角、および、回転角の少なくともいずれかの変化量の指定ごとに、座標空間における、1以上の原子のそれぞれの原子の座標を変更することができる。情報処理装置100によれば、変化量の指定ごとに、変化量に応じて、座標空間における、1以上の原子のそれぞれの原子の座標を変更した場合における、対象の分子のポテンシャルエネルギーを算出することができる。情報処理装置100によれば、算出したポテンシャルエネルギーに基づいて、対象の分子のPECを生成することができる。これにより、情報処理装置100は、利用者が、PECを参照可能にすることができ、対象の分子の性質を解析し易くすることができる。
【0174】
情報処理装置100によれば、第1の原子の選択を受け付け、複数の原子のうち、第1の原子と連動する他の原子を選択することにより、第1の原子と、他の原子とを含む1以上の原子の選択を受け付けることができる。これにより、情報処理装置100は、1以上の原子を選択する際に利用者にかかる作業負担の低減化を図ることができる。
【0175】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【0176】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0177】
(付記1)所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付け、
前記選択を受け付けた前記1以上の原子に含まれる第1の原子と前記1以上の原子に含まれず前記第1の原子に接続する第2の原子との結合長と、前記第1の原子と前記第2の原子とを結合する第1の結合軸と前記第2の原子と前記1以上の原子に含まれず前記第2の原子に接続する第3の原子とを結合する第2の結合軸とが成す結合角と、前記第2の結合軸に対する前記第2の原子の回転角と、の少なくともいずれかの変化量の指定に応じて、前記座標空間における、前記結合長を変化させる前記第1の原子と前記第2の原子との座標間の単位ベクトルと、前記結合角を変化させる前記第1の結合軸と前記第2の結合軸とが成す面に対する法線ベクトルと、前記回転角を変化させる前記第2の原子の回転行列と、の少なくともいずれかに基づいて、前記座標空間における、前記1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0178】
(付記2)前記変更する処理は、
前記結合長の第1の変化量の指定に応じて、前記1以上の原子のそれぞれの原子の前記第1の座標を、当該原子の前記第1の座標から前記第1の変化量を乗算した前記単位ベクトル分移動した先である前記第2の座標に変更する、ことを特徴とする付記1に記載の情報処理プログラム。
【0179】
(付記3)前記変更する処理は、
前記結合角の第2の変化量の指定に応じて、前記第2の変化量と、前記第2の原子の座標から前記第3の原子の座標へのベクトルと、前記法線ベクトルとに基づいて、前記第2の原子の座標から前記結合角の変化後の前記第1の原子の前記第2の座標への第1のベクトルを特定し、前記第1の原子の前記第1の座標を、前記第1の原子の前記第1の座標から特定した前記第1のベクトル分移動した先の前記第2の座標に変更し、前記1以上の原子が、前記第1の原子以外の原子を含めば、前記結合角の変化前後の前記第1の原子の前記第1の座標から前記第2の座標への第2のベクトルを特定し、前記1以上の原子のうち前記第1の原子以外のそれぞれの原子の前記第1の座標を、当該原子の前記第1の座標から特定した前記第2のベクトル分移動した先の前記第2の座標に変更する、ことを特徴とする付記1に記載の情報処理プログラム。
【0180】
(付記4)前記変更する処理は、
前記回転角の第3の変化量の指定に応じて、前記第1の原子の前記第1の座標を、前記第1の原子の前記第1の座標に前記第3の変化量に対応する前記回転行列を乗算した前記第2の座標に変更し、前記1以上の原子が、前記第1の原子以外の原子を含めば、前記回転角の変化前後の前記第1の原子の前記第1の座標から前記第2の座標への第3のベクトルを特定し、前記1以上の原子のうち前記第1の原子以外のそれぞれの原子の前記第1の座標を、当該原子の前記第1の座標から特定した前記第3のベクトル分移動した先の前記第2の座標に変更する、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
【0181】
(付記5)前記対象の分子のうち、前記変化量の指定各々に応じて、前記1以上の原子のそれぞれの原子の座標を、前記第1の座標から前記第2の座標に変更した変更後の、各々の前記対象の分子に対して、前記対象の分子のポテンシャルエネルギーをそれぞれ算出し、
算出した複数の前記ポテンシャルエネルギーに基づいて、前記対象の分子のポテンシャルエネルギー曲線を生成する、
処理を前記コンピュータに実行させることを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
【0182】
(付記6)前記選択を受け付ける処理は、
前記第1の原子の選択を受け付け、前記複数の原子のうち、前記第1の原子と連動する他の原子を選択することにより、前記第1の原子と、前記他の原子とを含む1以上の原子の選択を受け付ける、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
【0183】
(付記7)所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付け、
前記選択を受け付けた前記1以上の原子に含まれる第1の原子と前記1以上の原子に含まれず前記第1の原子に接続する第2の原子との結合長と、前記第1の原子と前記第2の原子とを結合する第1の結合軸と前記第2の原子と前記1以上の原子に含まれず前記第2の原子に接続する第3の原子とを結合する第2の結合軸とが成す結合角と、前記第2の結合軸に対する前記第2の原子の回転角と、の少なくともいずれかの変化量の指定に応じて、前記座標空間における、前記結合長を変化させる前記第1の原子と前記第2の原子との座標間の単位ベクトルと、前記結合角を変化させる前記第1の結合軸と前記第2の結合軸とが成す面に対する法線ベクトルと、前記回転角を変化させる前記第2の原子の回転行列と、の少なくともいずれかに基づいて、前記座標空間における、前記1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【0184】
(付記8)所定の座標空間に存在する対象の分子を形成する複数の原子のうち1以上の原子の選択を受け付け、
前記選択を受け付けた前記1以上の原子に含まれる第1の原子と前記1以上の原子に含まれず前記第1の原子に接続する第2の原子との結合長と、前記第1の原子と前記第2の原子とを結合する第1の結合軸と前記第2の原子と前記1以上の原子に含まれず前記第2の原子に接続する第3の原子とを結合する第2の結合軸とが成す結合角と、前記第2の結合軸に対する前記第2の原子の回転角と、の少なくともいずれかの変化量の指定に応じて、前記座標空間における、前記結合長を変化させる前記第1の原子と前記第2の原子との座標間の単位ベクトルと、前記結合角を変化させる前記第1の結合軸と前記第2の結合軸とが成す面に対する法線ベクトルと、前記回転角を変化させる前記第2の原子の回転行列と、の少なくともいずれかに基づいて、前記座標空間における、前記1以上の原子のそれぞれの原子の座標を、第1の座標から第2の座標に変更する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0185】
100 情報処理装置
110 モデル
111 球
112 棒
200 情報処理システム
201 解析装置
202 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
400 記憶部
401 取得部
402 特定部
403 変更部
404 解析部
405 出力部
500 座標データ
600 構造式
601 グループ
611,612,613,614,615,811,812,813,814,911,912,1001,1002,1003,1004 原子
621,622,623 結合軸
700 パターンファイル
701,702,703 変更パターン
800,900,1000 分子
801 単位ベクトル
921,922,1011 結合軸ベクトル
1100 グラフ
1101 PEC