以下に図面を参照して、本発明にかかる生成プログラム、生成方法、および生成装置の実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかる生成方法の一実施例を示す説明図である。図1において、生成装置101は、化合物の構造を表す化学式の生成を支援するコンピュータである。生成装置101は、例えば、PC(Personal Computer)であってもよく、また、サーバであってもよい。
ここで、化合物は、2種類以上の元素からなる化学物質である。化合物は、例えば、有機化合物と無機化合物とに分類される。有機化合物は、炭素を含む化合物の総称である。有機化合物は、炭素の連結が骨組みとなり、炭素に水素等が結合するという基本構造を有する。なお、化合物の骨格を形成する炭素以外の元素としては、シリコンや硫黄があり、無機高分子と呼ばれる。また、無機化合物は、炭素を含まない化合物の総称である。ただし、炭素化合物のうち、例えば、炭素の同素体(グラファイト、ダイヤモンドなど)や二酸化炭素は、無機化合物に分類される。以下の説明では、化合物として「有機化合物」を例に挙げて説明する。
化合物の構造を表す化学式としては、例えば、示性式がある。示性式は、化合物の組成や化学構造などを表現する化学式の一例であり、分子内に含まれる原子団(官能基)を明示した化学式である。官能基は、有機化合物のおおよその性質を決める原子団である。示性式以外の化学式としては、例えば、分子式や構造式がある。分子式は、化合物を構成する原子の種類と数を、元素記号を用いて表現した化学式である。構造式は、分子内での原子の結合状態を図示した化学式である。
ここで、化合物の表記方法は様々存在しており、同一の物質であっても、異なる表記が用いられることがある。また、同一の物質以外にも、異性体、上位下位概念など類似する物質が存在することもある。また、化学分野は有機化学、無機化学、高分子化学、生化学などの専門分野に分かれており、化学の技術者であっても専門外の物質は把握しきれていないことが多い。
したがって、化合物の構造の理解を助けるために、化合物の化学式を示すことは有用である。例えば、様々な表記方法のうち、示性式は、分子式に比べて化合物の分子構造を読み取りやすい情報であり、示性式の構造情報から簡易図を作成するための基礎情報にもなる。また、示性式は、コンピュータにも可読なテキスト情報であるため、構造図(構造式)とは異なり、化合物の分析に活用することができる。
化合物の示性式を生成する技術としては、例えば、化合物を部分構造に分解して、部分構造ごとの部分示性式を特定し、それらの部分示性式を合成することで示性式を生成するものがある。また、既知の示性式に部品化ルールを適用して部品化したものを、部分構造の部分示性式として蓄積する技術がある。
ところが、部分構造ごとの部分示性式を合成して示性式を生成するにあたり、それらの部分示性式を単純につなげてしまうと、誤った示性式が生成される場合がある。例えば、3-メトキシ-2-プロパノールの示性式を、メトキシの部分示性式「CH3O」と、プロパノールの部分示性式「CH3CH(OH)CH2」とから生成するとする。
この場合、メトキシの部分示性式「CH3O」と、プロパノールの部分示性式「CH3CH(OH)CH2」とを単純につなげると、3-メトキシ-2-プロパノールの示性式は「CH3OCH3CH(OH)CH2」となる。この示性式は、1番目の炭素(C)では水素(H)が足りず、3番目の炭素では水素が余った状態となっており、誤った示性式である。N番目の炭素とは、示性式の後方(右側)から数えてN番目の炭素を示す。
なお、図1の例では、メトキシの部分示性式「CH3O」と、プロパノールの部分示性式「CH3CH(OH)CH2」とを並び順を逆にしてつなげることで、3-メトキシ-2-プロパノールの正確な示性式を得ることができる。しかし、部分示性式の並び順を逆にしても正確な示性式が得られない場合もある(例えば、後述する図9参照)。
そこで、本実施の形態では、化合物の部分構造ごとの化学式を合成する際に、化合物の骨格を形成する元素単位で、当該元素に結合される他の元素の数を調整することで、化合物の正確な示性式を生成する生成方法について説明する。以下、生成装置101の処理例について説明する。
(1)生成装置101は、対象化合物の物質名を取得する。ここで、対象化合物とは、化学式の生成対象となる化合物の物質名である。化学式は、化合物の構造を表す化学式であり、例えば、示性式である。図1の例では、対象化合物の物質名「3-メトキシ-2-プロパノール」が取得された場合を想定する。
(2)生成装置101は、取得した対象化合物の物質名に基づいて、記憶部110から、対象化合物の母核となる部分構造の部分名に対応する第1の化学式を抽出する。ここで、記憶部110は、化合物の物質名と当該化合物の構造を表す化学式とを対応付けて記憶する。
ただし、記憶部110に記憶される化学式には、例えば、価数の余りが0のものや1以上のものが含まれる。価数の余りとは、化合物の骨格を形成する元素の価数(結合の手の数)の余り、例えば、炭素の価数の余りである。記憶部110には、例えば、化合物の物質名および化学式と対応付けて、化合物の価数の余りが記憶されていてもよい。
部分構造とは、化合物の一部または全部となる化学物質である。また、母核とは、化合物の基礎となる部分構造を表す原子団である。置換基は、化合物の系統や命名に使う部分構造を表す原子団であり、母核と対になって使用される概念である。例えば、置換命名法において、(語頭+語幹+語尾)は「母核」と呼ばれ、接頭語は「置換基」と呼ばれる。すなわち、置換命名法では、化合物の化合物名は、例えば、「置換基+母核」というルールのもと記述される。
具体的には、例えば、まず、生成装置101は、既存の形態素解析等の技術を利用して、取得した対象化合物の物質名から、部分構造ごとの部分名を検出する。なお、化合物の物質名から部分構造ごとの部分名を検出する技術については、例えば、特開2013-101508号公報を参考にすることができる。
つぎに、生成装置101は、母核となる部分構造の部分名が最後方にくることを利用して、検出した部分構造ごとの部分名のうち、最後方の部分構造の部分名に対応する第1の化学式を記憶部110から抽出する。これにより、対象化合物の母核となる部分構造の部分名に対応する第1の化学式を抽出することができる。
図1の例では、対象化合物の物質名「3-メトキシ-2-プロパノール」が、部分名「3-メトキシ」と部分名「2-プロパノール」とに分割される。部分名「2-プロパノール」は、対象化合物の母核となる部分構造の部分名である。部分名「3-メトキシ」は、対象化合物の置換基となる部分構造の部分名である。そして、対象化合物の母核となる部分構造の部分名「2-プロパノール」に対応する第1の化学式として、記憶部110から化学式「CH3CH(OH)CH2」が抽出される。なお、化学式「CH3CH(OH)CH2」の価数の余りは「1」である。
(3)生成装置101は、抽出した第1の化学式を対象化合物の骨格を形成する元素の前で分割して得られる複数の化学式断片のうち、対象化合物の置換基となる部分構造を付け加える化学式断片を特定する。ここで、対象化合物の骨格を形成する元素は、例えば、炭素(C)である。
具体的には、例えば、生成装置101は、対象化合物の物質名から特定される置換基となる部分構造の結合位置に基づいて、置換基となる部分構造を付け加える化学式断片を特定することにしてもよい。また、生成装置101は、複数の化学式断片それぞれの価数の余りに基づいて、置換基となる部分構造を付け加える化学式断片を特定することにしてもよい。
図1の例では、母核となる部分構造である「2-プロパノール」の化学式「CH3CH(OH)CH2」が炭素(C)の直前で分割されて、「CH3/CH(OH)/CH2」となる。すなわち、化学式「CH3CH(OH)CH2」が、化学式断片「CH3」と、化学式断片「CH(OH)」と、化学式断片「CH2」とに区切られる。ここで、3-メトキシは、プロパノールの3番目の炭素にメトキシが結合することを示す。したがって、対象化合物の物質名「3-メトキシ-2-プロパノール」から特定される、置換基となる部分構造である「メトキシ」の結合位置は「3」である。このため、置換基となる部分構造を付け加える化学式断片として、3番目の炭素を含む化学式断片「CH3」が特定される。
(4)生成装置101は、特定した化学式断片の価数の余りが所定数xとなるように、当該化学式断片に含まれる、対象化合物の骨格を形成する元素に結合される他の元素の数を調整する。ここで、所定数xは、対象化合物の骨格を形成する元素に結合される他の元素に応じて決まる。
例えば、対象化合物の骨格を形成する元素が「炭素」の場合、炭素に結合される他の元素は、例えば、水素、ハロゲン元素(フッ素、塩素、臭素など)、酸素などである。そして、対象化合物の骨格を形成する元素に結合される他の元素が「水素(あるいは、ハロゲン元素)」の場合、所定数xは「1」となる。
図1の例では、対象化合物の骨格を形成する元素は「炭素」であり、炭素に結合される他の元素は「水素」である。このため、所定数xは「1」となる。また、化学式断片「CH3」の価数の余りは「0」である。このため、価数の余りが「1」となるように、化学式断片「CH3」から水素が1つ引き抜かれて、化学式断片「CH2」となる。なお、化学式断片の価数の余りの算出方法については、後述の下記式(2)を用いて説明する。
(5)生成装置101は、記憶部110を参照して、他の元素の数を調整した化学式断片に、対象化合物の置換基となる部分構造の部分名に対応し、かつ、価数の余りが所定数xである第2の化学式を付け加えて、対象化合物の化学式を生成する。
具体的には、例えば、生成装置101は、対象化合物の置換基となる部分構造の部分名に対応する第2の化学式を記憶部110から抽出する。つぎに、生成装置101は、抽出した第2の化学式の価数の余りが所定数xとなるように、第2の化学式に含まれる他の元素の数を調整する。ただし、抽出した第2の化学式の価数の余りが所定数xとなっている場合は、他の元素の数の調整は不要である。
そして、生成装置101は、他の元素の数を調整した化学式断片に、他の元素の数を調整した第2の化学式を付け加えて、対象化合物の化学式を生成する。この際、生成装置101は、複数の化学式断片それぞれの価数の余りが0となるように、複数の化学式断片それぞれに含まれる他の元素の数を調整する。ただし、複数の化学式断片それぞれの価数の余りが0となっている場合は、他の元素の数の調整は不要である。
図1の例では、対象化合物の置換基となる部分構造の部分名「3-メトキシ」に対応する第2の化学式として、記憶部110から化学式「CH3O」が抽出される。ここで、化学式「CH3O」の価数の余りは「1」である。したがって、化学式「CH3O」の水素の数の調整は不要である。このため、生成装置101は、水素の数を調整した化学式断片「CH2」に、抽出した化学式「CH3O」を付け加える。この結果、対象化合物の化学式「CH2(CH3O)CH(OH)CH2」が生成される。ここでは、1番目の化学式断片「CH2」の価数の余りが「1」となっている。このため、生成装置101は、化学式断片「CH2」の価数の余りが0となるように、化学式断片「CH2」に水素を1つ追加する。この結果、対象化合物の化学式「CH2(CH3O)CH(OH)CH3」が生成される。
このように、生成装置101によれば、対象化合物の母核となる部分構造のうち、置換基となる部分構造を付け加える元素(例えば、炭素)に結合される他の元素(例えば、水素)の数を調整することができる。これにより、対象化合物の部分構造ごとの部分示性式を合成する際に、部分的に水素が余ったりすることなく正確な示性式を生成することができる。
(生成装置101のハードウェア構成例)
図2は、生成装置101のハードウェア構成例を示すブロック図である。図2において、生成装置101は、CPU(Central Processing Unit)201と、メモリ202と、ディスクドライブ203と、ディスク204と、I/F(Interface)205と、ディスプレイ206と、入力装置207と、を有する。また、各構成部はバス200によってそれぞれ接続される。
ここで、CPU201は、生成装置101の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する記憶部である。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
ディスクドライブ203は、CPU201の制御に従ってディスク204に対するデータのリード/ライトを制御する。ディスク204は、ディスクドライブ203の制御で書き込まれたデータを記憶する。ディスク204としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
I/F205は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部装置に接続される。そして、I/F205は、ネットワーク210と自装置内部とのインターフェースを司り、外部装置からのデータの入出力を制御する。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ディスプレイ206は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。ディスプレイ206としては、例えば、液晶ディスプレイ、CRT(Cathode Ray Tube)などを採用することができる。
入力装置207は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置207は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
なお、生成装置101は、上述した構成部のうち、例えば、ディスクドライブ203、ディスク204、ディスプレイ206、入力装置207などを有さないことにしてもよい。また、生成装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、スキャナ、プリンタなどを有することにしてもよい。
(部分示性式辞書300の記憶内容)
つぎに、生成装置101が有する部分示性式辞書300の記憶内容について説明する。部分示性式辞書300は、例えば、図2に示したメモリ202、ディスク204などの記憶装置に記憶される。図1に示した記憶部110は、例えば、部分示性式辞書300に相当する。
図3は、部分示性式辞書300の記憶内容の一例を示す説明図である。図3において、部分示性式辞書300は、部分名、部分示性式および価数の余りのフィールドを有し、各フィールドに情報を設定することで、部分示性式情報(例えば、部分示性式情報300-1,300-2)をレコードとして記憶する。
ここで、部分名は、部分構造の物質名を示す。部分構造とは、化合物の一部または全部となる化学物質である。部分示性式は、部分名の部分構造の示性式を示す。価数の余りは、部分構造の中で余っている価数の数を示す。より詳細に説明すると、価数の余りは、例えば、部分構造における炭素の価数(結合の手の数)の余りである。
例えば、部分示性式情報300-1は、部分名「メタン」の部分構造の部分示性式「CH2」および価数の余り「2」を示す。
なお、部分名と部分示性式との組は、例えば、特許文献や学術論文などの文書情報から取得される。また、部分示性式は、例えば、既知の示性式に部品化ルールを適用して部品化したものであってもよい。この場合、部品化ルールが適用された適用後の物質名を「部分名」という。既知の示性式に部品化ルールを適用して部分示性式を生成する技術については、例えば、特開2013-101508号公報を参照することができる。
(分子式基本形辞書400の記憶内容)
つぎに、生成装置101が有する分子式基本形辞書400の記憶内容について説明する。分子式基本形辞書400は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
図4は、分子式基本形辞書400の記憶内容の一例を示す説明図である。図4において、分子式基本形辞書400は、分子式の基本形を示す情報である。分子式の基本形は、単結合のみで構成される化合物の分子式である。
例えば、「CnH2n+2」は、炭化水素の基本形である(n:1以上の自然数)。また、「Cn[H,F,Cl,Br]2n+2」は、原子価が「1」である元素(水素、フッ素、塩素、臭素)が炭素に結合する化合物の基本形である。また、「CnH2n+2Om」は、酸素を含む化合物の基本形である(m:1以上の自然数)。
(倍数接頭辞係数辞書500の記憶内容)
つぎに、生成装置101が有する倍数接頭辞係数辞書500の記憶内容について説明する。倍数接頭辞係数辞書500は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
図5は、倍数接頭辞係数辞書500の記憶内容の一例を示す説明図である。図5において、倍数接頭辞係数辞書500は、倍数接頭辞と倍数接頭辞係数との対応関係を示す情報である。ここで、倍数接頭辞は、二重結合や三重結合の数を表す接頭辞である。倍数接頭辞係数は、倍数接頭辞が表す二重結合や三重結合の数を示す。
例えば、倍数接頭辞「ジ」は、2を表す。このため、倍数接頭辞係数は「2」となる。また、倍数接頭辞「トリ」は、3を表す。このため、倍数接頭辞係数は「3」となる。また、倍数接頭辞「テトラ」は、4を表す。このため、倍数接頭辞係数は「4」となる。
(文字表現係数辞書600の記憶内容)
つぎに、生成装置101が有する文字表現係数辞書600の記憶内容について説明する。文字表現係数辞書600は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
図6は、文字表現係数辞書600の記憶内容の一例を示す説明図である。図6において、文字表現係数辞書600は、文字表現と文字表現係数との対応関係を示す情報である。ここで、文字表現は、物質名の語尾に付けられる文字表現であり、単結合や多重結合の存在を表すものである。文字表現係数は、文字表現が表す単結合や多重結合によって、単結合のときよりも多く使われる炭素の価数の数を示す。
例えば、文字表現「アン」は、単結合(一重結合)があることを表す。このため、文字表現係数は「0」となる。また、文字表現「エン」は、二重結合があることを表す。このため、文字表現係数は「1」となる。また、文字表現「イン」は、三重結合があることを表す。このため、文字表現係数は「2」となる。また、文字表現「アルデヒド」は、二重結合があることを表す。このため、文字表現係数は「1」となる。文字表現として、「シクロ」、「ビシクロ」、「スピロ」などの環構造を表す接頭語が含まれていてもよい。
なお、ここでは、「日本語」の文字表現を例に挙げて説明したが、これに限らない。例えば、同じような命名規則を使う言語であれば、他の言語の文字表現を用いることにしてもよい。図5に示した倍数接頭辞についても同様である。例えば、英語や中国語では、単結合や多重結合の存在を表す文字表現は、表1のようになる。
(生成装置101の機能的構成例)
図7は、生成装置101の機能的構成例を示すブロック図である。図7において、生成装置101は、取得部701と、特定部702と、算出部703と、生成部704と、出力部705と、を含む構成である。取得部701~出力部705は制御部となる機能であり、具体的には、例えば、図2に示したメモリ202、ディスク204などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F205により、その機能を実現する。各機能部の処理結果は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
取得部701は、化合物の物質名と化学式とを取得する。ここで、化合物の物質名は、命名規則に沿って付けられる名称である。命名規則は、例えば、IUPAC(International Union of Pure and Applied Chemistry)によって定められる。化学式は、例えば、化合物の示性式である。化合物は、化合物の部分構造であってもよい。
具体的には、例えば、取得部701は、化合物(部分構造)の部分名と部分示性式とを取得する。部分名と部分示性式との組は、例えば、特許文献や学術論文などの文書情報から取得されることにしてもよい。また、部分示性式は、例えば、既知の示性式に部品化ルールを適用して部品化したものであってもよい。
また、取得部701は、図2に示した入力装置207を用いたユーザの操作入力により、部分名と部分示性式との組を取得することにしてもよい。また、取得部701は、I/F205によって外部装置から受信することにより、部分名と部分示性式との組を取得することにしてもよい。
特定部702は、化合物の物質名の命名規則に基づいて、化合物に含まれる多重結合の数を特定する。具体的には、例えば、特定部702は、図5に示した倍数接頭辞係数辞書500を参照して、取得された部分名に含まれる倍数接頭辞に対応する倍数接頭辞係数を特定する。
一例として、部品名を「ブタジエン」とする。この場合、特定部702は、倍数接頭辞係数辞書500を参照して、部分名「ブタジエン」から倍数接頭辞「ジ」を抽出する。つぎに、特定部702は、倍数接頭辞係数辞書500を参照して、抽出した倍数接頭辞「ジ」に対応する倍数接頭辞係数「2」を特定する。これにより、部品名「ブタジエン」の部分構造に含まれる多重結合の数「2」を特定することができる。
また、特定部702は、化合物の物質名の命名規則に基づいて、化合物に含まれる多重結合によって単結合のときよりも多く使われる価数の数を特定する。具体的には、例えば、特定部702は、図6に示した文字表現係数辞書600を参照して、取得された部分名に含まれる多重度を表す文字表現に対応する文字表現係数を特定する。
一例として、部品名を「ブタジエン」とする。この場合、特定部702は、文字表現係数辞書600を参照して、部分名「ブタジエン」から文字表現「エン」を抽出する。つぎに、特定部702は、文字表現係数辞書600を参照して、抽出した文字表現「エン」に対応する文字表現係数「1」を特定する。これにより、部品名「ブタジエン」の部分構造に含まれる多重結合によって単結合のときよりも多く使われる1炭素当たりの価数の数「1」を特定することができる。
また、特定部702は、取得された化合物の化学式に基づいて、化合物の基本形に対する、化合物の骨格を形成する元素に結合される他の元素の数の不足分を算出する。ここで、化合物の骨格を形成する元素は、例えば、炭素である。また、炭素に結合される他の元素は、例えば、水素、フッ素、塩素、臭素などである。
具体的には、例えば、特定部702は、取得された部分示性式から分子式を生成する。つぎに、特定部702は、図4に示した分子式基本形辞書400を参照して、生成した分子式と元素の構成が一致する基本形を検索する。そして、特定部702は、検索した基本形に対する部分示性式の、炭素に結合される他の元素の数の不足分を算出する。
一例として、部分示性式を「CH2CHCHC」とする。この場合、特定部702は、部分示性式「CH2CHCHC」から分子式「C4H4」を生成する。つぎに、特定部702は、分子式基本形辞書400を参照して、生成した分子式「C4H4」と元素の構成が一致する基本形「CnH2n+2」を検索する。ここで、部分示性式「CH2CHCHC」に含まれる炭素の数は「4」である(n=4)。このため、基本形「CnH2n+2」における水素の数は「10(=2×4+2)」となる。また、部分示性式「CH2CHCHC」における水素の数は「4」である。したがって、基本形「CnH2n+2」に対する部分示性式「CH2CHCHC」の水素の数の不足分は「6(=10-4)」となる。
算出部703は、特定された多重結合の数と、多重結合によって単結合のときよりも多く使われる価数の数と、算出された他の元素の数の不足分とに基づいて、化合物の価数の余りを算出する。ここで、化合物の価数の余りとは、化合物の骨格を形成する元素の価数(結合の手の数)の余りである。
具体的には、例えば、算出部703は、算出された他の元素の数の不足分から価数使用数Xを減算することにより、化合物の価数の余りを算出することができる。価数使用数Xは、多重結合によって単結合のときよりも多く使われる炭素の価数の総数に相当する。価数使用数Xは、例えば、下記式(1)を用いて算出することができる。なお、下記式(1)に含まれる係数「2」は、多重結合に関わる元素(例えば、炭素)の数である。
X=倍数接頭辞係数×文字表現係数×2 ・・・(1)
一例として、化合物を部分名「ブタジエン」、部分示性式「CH2CHCHC」の部分構造とする。この場合、倍数接頭辞係数が「2」であり、文字表現係数が「1」のため、価数使用数Xは「4」となる。また、基本形「C4H10」に対する部分示性式「CH2CHCHC」の水素の数の不足分は「6」である。したがって、この部分構造(化合物)の価数の余りは、「2(=6-4)」となる。
なお、ここでは、化合物の一例として、炭化水素を例に挙げて説明したが、炭素に結合する水素を、フッ素、塩素、臭素等に置き換えた化合物であってもよい。例えば、ブタジエンの水素をフッ素に置き換えたものとして「フルオロブタジエン」がある。この場合、基本形として、例えば、「Cn[H,F,Cl,Br]2n+2」が用いられる。
また、エチルアルデヒド、クロロアセトアルデヒドなどの酸素を含む化合物であってもよい。この場合、基本形として、例えば、「CnH2n+2Om」が用いられる。一例として、化合物を部分名「エチルアルデヒド」、部分示性式「CH3CHO」の部分構造とする。この場合、基本形が「C2H6O」、倍数接頭辞係数が「1」、文字表現係数が「1」となり、価数の余りは「0(=2-1×1×2)」となる。
また、化合物を部分名「クロロアセトアルデヒド」、部分示性式「CH2ClCHO」の部分構造とする。この場合、基本形が「C2[HCl]6O」、倍数接頭辞係数が「1」、文字表現係数が「1」となり、価数の余りは「0(=2-1×1×2)」となる。また、化合物を部分名「1,3-プロパンジアルデヒド」、部分示性式「CHOCH2CHO」の部分構造とする。この場合、基本形が「C3H8O2」、倍数接頭辞係数が「2」、文字表現係数が「1」となり、価数の余りは「0(=4-2×1×2)」となる。
出力部705は、算出された化合物の価数の余りを、化合物の物質名と示性式と対応付けて出力する。出力部705の出力形式としては、例えば、メモリ202、ディスク204などの記憶装置への記憶、I/F205による外部装置への送信などがある。
具体的には、例えば、出力部705は、算出された化合物(部分構造)の価数の余りを、部分名と部分示性式と対応付けて、図3に示した部分示性式辞書300に記録することにしてもよい。これにより、化合物(部分構造)の部分名と部分示性式との組に対応付けて、その化合物の価数の余りをデータベース化することができる。
なお、ここでは、化合物の価数の余りを、部分名と部分示性式と対応付けて記録することにしたが、これに限らない。例えば、出力部705は、部分示性式から分子式を生成して、化合物の価数の余りを、部分名と分子式と対応付けて記録することにしてもよい。
また、取得部701は、対象化合物の物質名を取得する。対象化合物は、化学式の生成対象となる化合物の物質名である。具体的には、例えば、取得部701は、入力装置207を用いたユーザの操作入力により、対象化合物の物質名を取得する。また、取得部701は、外部装置から受信することにより、対象化合物の物質名を取得することにしてもよい。
以下の説明では、対象化合物の物質名を「化合物名」と表記する場合がある。また、対象化合物の化学式として「示性式」を生成する場合を例に挙げて説明する。また、対象化合物の骨格を形成する元素を「炭素」とし、炭素に結合される他の元素を「水素」とする場合を例に挙げて説明する。また、所定数xを「1」とする。
生成部704は、対象化合物の化合物名に基づいて、対象化合物の示性式を生成する。具体的には、例えば、生成部704は、検出部706と、抽出部707と、分割部708と、第2の特定部709と、調整部710と、を含む。
検出部706は、取得された対象化合物の化合物名から、部分構造ごとの部分名を検出する。具体的には、例えば、検出部706は、既存の形態素解析等の技術を利用して、対象化合物の化合物名を部分構造ごとの部分名に分割することにより、部分構造ごとの部分名を検出する。この際、検出部706は、例えば、対象化合物の化合物名を階層的に解析して、部分構造ごとの部分名を検出することにしてもよい。
抽出部707は、検出された部分構造の部分名に対応する部分示性式を抽出する。この際、抽出部707は、部分構造の部分名に対応する部分示性式とともに、価数の余りを抽出することにしてもよい。具体的には、例えば、抽出部707は、部分示性式辞書300から、検出された部分構造の部分名に対応する部分示性式情報を抽出する。
これにより、対象化合物の母核や置換基となる各部分構造の部分示性式および価数の余りを特定することができる。
分割部708は、対象化合物の母核となる部分構造の部分名に対応する部分示性式を炭素(C)の前で分割する。ここで、母核となる部分構造に対応する部分示性式は、例えば、対象化合物の化合物名から検出された部分構造ごとの部分名のうち、最後方の部分構造の部分名に対応する部分示性式である。
以下の説明では、部分示性式を炭素の前で分割して得られる部分を「示性式断片」と表記する場合がある。この示性式断片は、図1で説明した「化学式断片」に相当する。
第2の特定部709は、分割して得られた複数の示性式断片のうち、対象化合物の置換基となる部分構造を付け加える特定の示性式断片を特定する。具体的には、例えば、第2の特定部709は、対象化合物の化合物名から特定される置換基となる部分構造の結合位置に基づいて、特定の示性式断片を特定する。
また、第2の特定部709は、例えば、複数の示性式断片それぞれの価数の余りに基づいて、特定の示性式断片を特定することにしてもよい。より具体的には、例えば、第2の特定部709は、価数の余りが「1」である示性式断片を、特定の示性式断片として特定することにしてもよい。ただし、部分示性式辞書300内の部分構造の部分示性式が、加工用に水素の数が調整されて、他の部分構造につながれる炭素の価数の余りが「1」となっている場合に限る。
調整部710は、特定された特定の示性式断片の価数の余りが「1」となるように、特定の示性式断片に含まれる炭素に結合される水素の数を調整する。具体的には、例えば、まず、調整部710は、特定の示性式断片の価数の余りを算出する。示性式断片の価数の余りは、例えば、下記式(2)を用いて求めることができる。
価数の余り=4-{水素の数+括弧の数+結合の数} ・・・(2)
ただし、4は、炭素の原子価(手の数)である。水素の数は、示性式断片に含まれる炭素に結合された水素の数である。括弧の数は、示性式断片に含まれる()の数である。結合の数は、示性式断片に結合される他の示性式断片の数である。結合の数は、先頭または最後方の示性式断片の場合は「1」、それ以外の示性式断片の場合は「2」である。
そして、調整部710は、算出した価数の余りに基づいて、特定の示性式断片の価数の余りが「1」となるように水素の数を調整する。例えば、算出した価数の余りが「2」の場合、調整部710は、価数の余りが「1」となるように、特定の示性式断片に含まれる炭素に結合される水素を1つ追加する。また、算出した価数の余りが「0」の場合には、調整部710は、価数の余りが「1」となるように、特定の示性式断片に含まれる炭素に結合された水素を1つ引き抜く。
また、調整部710は、抽出された対象化合物の置換基となる部分構造の部分名に対応する部分示性式の価数の余りが「1」となるように、当該部分示性式に含まれる炭素に結合される水素の数を調整する。ここで、対象化合物の置換基となる部分構造の部分名に対応する部分示性式の価数の余りは、例えば、当該部分名に対応する部分示性式情報から特定することができる。
具体的には、例えば、調整部710は、部分示性式の価数の余りが「2」の場合、価数の余りが「1」となるように、部分示性式に含まれる炭素に結合される水素を1つ追加する。また、部分示性式の価数の余りが「0」の場合には、調整部710は、価数の余りが「1」となるように、部分示性式に含まれる炭素に結合された水素を1つ引き抜く。ただし、抽出された対象化合物の置換基となる部分構造の部分示性式の価数の余りが「1」の場合には、当該部分示性式に含まれる水素の数の調整は不要である。
なお、対象化合物の母核となる部分構造に結合される置換基が複合置換基の場合がある。複合置換基とは、置換基の中に別の置換基を持つものである。複合置換基には、置換基と母核とが含まれる。この場合、生成装置101は、例えば、置換基(複合置換基)となる部分構造の部分名に基づいて、複合置換基を母核と置換基とに分解して、複合置換基の示性式を生成することにより、対象化合物の母核となる部分構造に結合される置換基の部分示性式を得ることができる。複合置換基の示性式の生成例については、図10を用いて後述する。
また、調整部710は、分割して得られた複数の示性式断片のうち、特定された特定の示性式断片とは異なる他の示性式断片の価数の余りが「0」となるように、当該他の示性式断片に含まれる水素の数を調整する。他の示性式断片の価数の余りは、例えば、上記式(2)を用いて求めることができる。
具体的には、例えば、調整部710は、他の示性式断片の価数の余りが「1」の場合、価数の余りが「0」となるように、他の示性式断片に含まれる炭素に結合される水素を1つ追加する。ただし、他の示性式断片の価数の余りが「0」の場合には、当該他の示性式断片に含まれる水素の数の調整は不要である。
生成部704は、水素の数を調整した特定の示性式断片に、置換基となる部分構造の部分名に対応し、かつ、価数の余りが「1」である部分示性式を付け加えて、対象化合物の示性式を生成する。具体的には、例えば、生成部704は、母核となる部分構造の部分示性式における出現順に従って、置換基となる部分構造の部分示性式が付け加えられた特定の示性式断片を含む複数の示性式断片を連結することにより、対象化合物の示性式を生成する。
特定の示性式断片への部分示性式の付け加え方は、任意に設定可能である。例えば、生成部704は、特定の示性式断片に後続して、括弧で囲った部分示性式を付け加えることにしてもよい。また、特定の示性式断片が部分示性式(母核)の先端であって、付け加える部分示性式に炭素が含まれるときは、生成部704は、特定の示性式断片の直前に部分示性式を付け加えることにしてもよい。
なお、対象化合物の示性式の生成例については、図8~図12を用いて後述する。
また、出力部705は、生成された対象化合物の示性式を、対象化合物の化合物名と対応付けて出力する。具体的には、例えば、出力部705は、対象化合物の化合物名と示性式とを対応付けて、図2に示したディスプレイ206に表示することにしてもよい。これにより、対象化合物の化合物名と対応付けて、対象化合物の示性式を提示することができ、対象化合物の構造の理解を助けることができる。
なお、上述した説明では、特定の示性式断片の価数の余りを算出して、価数の余りが「1」となるように水素の数を調整することにしたが、これに限らない。例えば、部分示性式辞書300には、化合物として存在するものについては価数の余りが「0」、置換基として存在するものについては価数の余りが「1」となるように、水素の数が調整された状態で部分示性式が登録されることにしてもよい。
この場合、全ての示性式断片の価数の余りは「0」であると仮定できるため、特定の示性式断片の価数の余りを算出する処理や、特定の示性式断片とは異なる他の示性式断片についての水素の調整を省略することができる。これにより、生成装置101の示性式生成処理にかかる負荷を軽減することができる。また、二重結合や三重結合などの多重結合を含む化合物の示性式を生成する際に、多重結合を考慮しないで各示性式断片の水素の数を誤って調整してしまうのを防ぐことができる。
(対象化合物の示性式の生成例)
つぎに、図8~図12を用いて、対象化合物の示性式の生成例について説明する。まず、図8を用いて、対象化合物の示性式の第1の生成例について説明する。
図8は、対象化合物の示性式の第1の生成例を示す説明図である。図8において、対象化合物の化合物名は「2-メトキシ-2-プロパノール」である。
まず、検出部706は、対象化合物の化合物名「2-メトキシ-2-プロパノール」から、部分名「2-メトキシ(単に「メトキシ」でもよい)」と部分名「2-プロパノール(単に「プロパノール」でもよい)」とを検出する。つぎに、抽出部707は、例えば、部分示性式辞書300から、検出した各部分構造の部分名(「数字-」部分を除く文字列)に対応する部分示性式情報を抽出する。
ここでは、部分名「2-メトキシ」の部分示性式「CH2O」および価数の余り「2」を示す部分示性式情報と、部分名「2-プロパノール」の部分示性式「CH3CH(OH)CH2」および価数の余り「1」を示す部分示性式情報と、が抽出された場合を想定する。
つぎに、分割部708は、対象化合物の母核となる部分構造の部分名「2-プロパノール」に対応する部分示性式「CH3CH(OH)CH2」を炭素の前で分割する。この結果、部分示性式「CH3CH(OH)CH2」は、部分示性式「CH3/CH(OH)/CH2」となる。
つぎに、第2の特定部709は、分割して得られた複数の示性式断片のうち、対象化合物の置換基となる部分構造を付け加える特定の示性式断片を特定する。ここでは、対象化合物の化合物名「2-メトキシ-2-プロパノール」から、置換基となる部分構造である「メトキシ」は、母核となる部分構造である「プロパノール」の2番目の炭素に結合されることがわかる。このため、第2の特定部709は、「プロパノール」の2番目の炭素を含む示性式断片「CH(OH)」を、特定の示性式断片として特定する。
つぎに、調整部710は、上記式(2)を用いて、特定された特定の示性式断片「CH(OH)」の価数の余りを算出する。ここでは、特定の示性式断片「CH(OH)」の価数の余りは、「0(=4-{水素の数+括弧の数+結合の数}=4-1-1-2)」である。このため、調整部710は、価数の余りが「1」となるように、特定の示性式断片「CH(OH)」に含まれる炭素に結合されている水素を1つ引き抜く。この結果、特定の示性式断片は「C(OH)」となる。
つぎに、調整部710は、対象化合物の置換基となる部分構造の部分名「2-メトキシ」の部分示性式「CH2O」の価数の余りが「1」となるように、当該部分示性式「CH2O」に含まれる炭素に結合される水素の数を調整する。ここでは、部分示性式「CH2O」の価数の余りは「2」である。このため、調整部710は、部分示性式「CH2O」に含まれる炭素に結合される水素を1つ追加する。この結果、部分示性式は「CH3O」となる。
つぎに、生成部704は、水素の数を調整した特定の示性式断片「C(OH)」に、水素の数を調整した部分示性式「CH3O」を付け加える。また、調整部710は、特定の示性式断片「C(OH)」とは異なる他の示性式断片の価数の余りが0となるように、当該他の示性式断片に含まれる水素の数を調整する。ここでは、1番目の示性式断片「CH2」の価数の余りが「1」のため、水素が1つ追加される。
そして、生成部704は、母核となる部分構造の部分示性式における出現順に従って、部分示性式「CH3O」が付け加えられた特定の示性式断片「C(OH)」を含む複数の示性式断片を連結することにより、対象化合物の示性式を生成する。ここでは、対象化合物の示性式「CH3C(OH)(CH3O)CH3」が生成される。
なお、部分示性式辞書300には、1つの部分名について、複数パターンの部分示性式を登録することにしてもよい。例えば、部分名「プロパノール」について、複数パターンの部分示性式が部分示性式辞書300に登録されているとする。この場合、化合物名「2-メトキシ-2-プロパノール」の対象化合物の示性式を生成する際に、部分名「プロパノール」に対応する部分示性式のうち、2番目の炭素の価数の余りが「1」である部分示性式を検索することにしてもよい。
すなわち、対象化合物の置換基となる部分構造を付け加える特定の示性式断片に相当する部分の炭素の価数の余りが「1」である部分示性式が部分示性式辞書300にあれば、その部分示性式を用いることにしてもよい。これにより、特定の示性式断片の価数の余りを算出して水素の数を調整するといった処理を省略することができる。
つぎに、図9を用いて、対象化合物の示性式の第2の生成例について説明する。
図9は、対象化合物の示性式の第2の生成例を示す説明図である。図9において、対象化合物の化合物名は「1-メトキシ-4-ブタノール」である。
まず、検出部706は、対象化合物の化合物名「1-メトキシ-4-ブタノール」から、部分名「1-メトキシ(単に「メトキシ」でもよい)」と部分名「4-ブタノール(単に「ブタノール」でもよい)」とを検出する。つぎに、抽出部707は、例えば、部分示性式辞書300から、検出した各部分構造の部分名(「数字-」部分を除く文字列)に対応する部分示性式情報を抽出する。
ここでは、部分名「1-メトキシ」の部分示性式「CH3O」および価数の余り「1」を示す部分示性式情報と、部分名「4-ブタノール」の部分示性式「CH(OH)CH2CH2CH3」および価数の余り「1」を示す部分示性式情報と、が抽出された場合を想定する。
つぎに、分割部708は、対象化合物の母核となる部分構造の部分名「4-ブタノール」に対応する部分示性式「CH(OH)CH2CH2CH3」を炭素の前で分割する。この結果、部分示性式「CH(OH)CH2CH2CH3」は、部分示性式「CH(OH)/CH2/CH2/CH3」となる。
つぎに、第2の特定部709は、分割して得られた複数の示性式断片のうち、対象化合物の置換基となる部分構造を付け加える特定の示性式断片を特定する。ここでは、対象化合物の化合物名「1-メトキシ-4-ブタノール」から、置換基となる部分構造である「メトキシ」は、母核となる部分構造である「ブタノール」の1番目の炭素に結合されることがわかる。このため、第2の特定部709は、「ブタノール」の1番目の炭素を含む示性式断片「CH3」を、特定の示性式断片として特定する。
つぎに、調整部710は、上記式(2)を用いて、特定の示性式断片「CH3」の価数の余りを算出する。ここでは、特定の示性式断片「CH3」の価数の余りは、「0」である。このため、調整部710は、価数の余りが「1」となるように、特定の示性式断片「CH3」に含まれる炭素に結合されている水素を1つ引き抜く。この結果、特定の示性式断片は「CH2」となる。
つぎに、調整部710は、対象化合物の置換基となる部分構造の部分名「1-メトキシ」の部分示性式「CH3O」の価数の余りが「1」となるように、当該部分示性式「CH3O」に含まれる炭素に結合される水素の数を調整する。ただし、部分示性式「CH3O」の価数の余りは「1」である。このため、部分示性式「CH3O」についての調整は不要である。
つぎに、生成部704は、水素の数を調整した特定の示性式断片「CH2」に、部分示性式「CH3O」を付け加える。また、調整部710は、特定の示性式断片「CH2」とは異なる他の示性式断片の価数の余りが0となるように、当該他の示性式断片に含まれる水素の数を調整する。ここでは、4番目の示性式断片「CH(OH)」の価数の余りが「1」のため、水素が1つ追加される。
そして、生成部704は、母核となる部分構造の部分示性式における出現順に従って、部分示性式「CH3O」が付け加えられた特定の示性式断片「CH2」を含む複数の示性式断片を連結することにより、対象化合物の示性式を生成する。ここでは、対象化合物の示性式「CH2(OH)CH2CH2CH2(CH3O)」が生成される。
つぎに、図10~図12を用いて、対象化合物の示性式の第3の生成例について説明する。第3の生成例は、対象化合物に複合置換基が含まれ、かつ、枝分かれがある場合の示性式の生成例である。
図10~図12は、対象化合物の示性式の第3の生成例を示す説明図である。図10において、対象化合物の化合物名は「2,2-ビス(4-ヒドロキシフェニル)プロパン」である。この対象化合物は、プロパンの2番目の炭素に、2つの「4-ヒドロキシフェニル」が結合されたものである。
まず、検出部706は、対象化合物の化合物名「2,2-ビス(4-ヒドロキシフェニル)プロパン」から、部分名「2,2-ビス(4-ヒドロキシフェニル)」と部分名「プロパン」とを検出する。つぎに、検出部706は、部分名「2,2-ビス(4-ヒドロキシフェニル)」の倍数接頭辞「ビス」を展開して、部分名「2-(4-ヒドロキシフェニル)」と、部分名「2-(4-ヒドロキシフェニル)」とに分割する。すなわち、部分構造の部分名に置換基が複数存在することを示す倍数接頭辞が含まれる場合には、検出部706は、倍数接頭辞に基づいて、部分構造の部分名を置換基ごとの部分名に分割する。
ここで、「ヒドロキシフェニル」は、複合置換基である。生成部704は、「ヒドロキシフェニル」について、価数の余りが「1」の部分示性式を生成する。具体的には、例えば、まず、検出部706は、部分名「2-(4-ヒドロキシフェニル)」から、部分名「ヒドロキシ」と部分名「フェニル」とを検出する。つぎに、抽出部707は、部分示性式辞書300から、検出した各部分構造の部分名に対応する部分示性式情報を抽出する。
ここでは、部分名「ヒドロキシ」の部分示性式「OH」および価数の余り「1」を示す部分示性式情報と、部分名「フェニル」の部分示性式「C6H6」および価数の余り「0」を示す部分示性式情報と、が抽出された場合を想定する。
つぎに、分割部708は、複合置換基の母核となる部分構造の部分名「フェニル」に対応する部分示性式「C6H6」を炭素の前で分割する。ただし、部分示性式「C6H6」に含まれる炭素は環構造のため、分割は不要であり、置換基となる部分構造を付け加える示性式断片の特定も不要である。なお、部分示性式辞書300に環構造であるというフラグを持たせておいてもよい。
つぎに、調整部710は、部分名「フェニル」に対応する部分示性式「C6H6」の価数の余りが「1」となるように、当該部分示性式「C6H6」に含まれる水素を1つ引き抜く。この結果、部分名「フェニル」に対応する部分示性式は「C6H5」となる。そして、生成部704は、水素の数を調整した部分示性式は「C6H5」に部分示性式「OH」を付け加えることにより、部分名「4-ヒドロキシフェニル」の部分示性式「C6H5OH」を生成する。
これにより、複合置換基である部分構造の部分示性式を生成することができる。ただし、部分名「4-ヒドロキシフェニル」の部分示性式が部分示性式辞書300に登録されている場合は、その部分示性式を用いることにしてもよい。
図11において、抽出部707は、部分示性式辞書300から、対象化合物の母核となる部分構造の部分名「プロパン」に対応する部分示性式情報を抽出する。ここでは、部分名「プロパン」の部分示性式「CH2CH2CH3」および価数の余り「1」を示す部分示性式情報が抽出された場合を想定する。
つぎに、分割部708は、対象化合物の母核となる部分構造の部分名「プロパン」に対応する部分示性式「CH2CH2CH3」を炭素の前で分割する。この結果、部分示性式「CH2CH2CH3」は、部分示性式「CH2/CH2/CH3」となる。
つぎに、第2の特定部709は、分割して得られた複数の示性式断片のうち、対象化合物の置換基となる部分構造を付け加える特定の示性式断片を特定する。ここでは、対象化合物の化合物名「2,2-ビス(4-ヒドロキシフェニル)プロパン」から、置換基となる2つの部分構造である「4-ヒドロキシフェニル」は、母核となる部分構造である「プロパン」の2番目の炭素にそれぞれ結合されることがわかる。このため、第2の特定部709は、「プロパン」の2番目の炭素を含む示性式断片「CH2」を、特定の示性式断片として特定する。
つぎに、調整部710は、上記式(2)を用いて、特定の示性式断片「CH2」の価数の余りを算出する。ここでは、特定の示性式断片「CH2」の価数の余りは、「0」である。このため、調整部710は、価数の余りが「1」となるように、特定の示性式断片「CH2」に含まれる炭素に結合されている水素を1つ引き抜く。この結果、特定の示性式断片は「CH」となる。
つぎに、調整部710は、対象化合物の置換基となる1つ目の部分構造の部分名「4-ヒドロキシフェニル」の部分示性式「C6H5OH」の価数の余りが「1」となるように、当該部分示性式「C6H5OH」に含まれる炭素に結合される水素の数を調整する。ここでは、部分示性式「C6H5OH」に含まれる炭素に結合された水素が1つ引き抜かれる。この結果、部分示性式は「C6H4OH」となる。
そして、生成部704は、水素の数を調整した特定の示性式断片「CH」に、部分示性式「C6H4OH」を付け加える。この時点では、対象化合物の置換基となる2つ目の部分構造の部分示性式「C6H5OH」は付け加えられていない。
図12において、調整部710は、上記式(2)を用いて、部分示性式「C6H4OH」を付け加えた特定の示性式断片「CH(C6H4OH)」の価数の余りを算出する。ここでは、特定の示性式断片「CH(C6H4OH)」の価数の余りは、「0」である。このため、調整部710は、価数の余りが「1」となるように、特定の示性式断片「CH(C6H4OH)」に含まれる炭素に結合されている水素を1つ引き抜く。この結果、特定の示性式断片は「C(C6H4OH)」となる。
つぎに、調整部710は、対象化合物の置換基となる2つ目の部分構造の部分名「4-ヒドロキシフェニル」の部分示性式「C6H5OH」の価数の余りが「1」となるように、当該部分示性式「C6H5OH」に含まれる炭素に結合される水素の数を調整する。ここでは、部分示性式「C6H5OH」に含まれる炭素に結合された水素が1つ引き抜かれる。この結果、部分示性式は「C6H4OH」となる。
そして、生成部704は、水素の数を調整した特定の示性式断片「C(C6H4OH)」に、部分示性式「C6H4OH」を付け加える。また、調整部710は、他の示性式断片の価数の余りが0となるように、当該他の示性式断片に含まれる水素の数を調整する。ここでは、3番目の示性式断片「CH2」の価数の余りが「1」のため、水素が1つ追加される。
そして、生成部704は、母核となる部分構造の部分示性式における出現順に従って、特定の示性式断片「C(C6H4OH)(C6H4OH)」を含む複数の示性式断片を連結することにより、対象化合物の示性式を生成する。ここでは、対象化合物の示性式「CH3C(C6H4OH)(C6H4OH)CH3」が生成される。
(生成装置101の各種処理手順)
つぎに、生成装置101の各種処理手順について説明する。まず、図13を用いて、生成装置101のデータベース生成処理手順について説明する。
図13は、生成装置101のデータベース生成処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、生成装置101は、化合物(部分構造)の部分名と部分示性式との組を取得する(ステップS1301)。そして、生成装置101は、取得した部分示性式から分子式を生成する(ステップS1302)。
つぎに、生成装置101は、分子式基本形辞書400を参照して、生成した分子式と元素の構成が一致する基本形を検索する(ステップS1303)。そして、生成装置101は、検索した基本形に対する、部分示性式の水素(フッ素、塩素、臭素)の数の不足分を算出する(ステップS1304)。
つぎに、生成装置101は、倍数接頭辞係数辞書500を参照して、取得した部分名から倍数接頭辞を抽出する(ステップS1305)。そして、生成装置101は、倍数接頭辞係数辞書500を参照して、抽出した倍数接頭辞に対応する倍数接頭辞係数を特定する(ステップS1306)。
つぎに、生成装置101は、文字表現係数辞書600を参照して、取得した部分名から多重度を表す文字表現を抽出する(ステップS1307)。そして、生成装置101は、文字表現係数辞書600を参照して、抽出した文字表現に対応する文字表現係数を特定する(ステップS1308)。
つぎに、生成装置101は、算出した水素(フッ素、塩素、臭素)の数の不足分と、倍数接頭辞係数と、文字表現係数とに基づいて、化合物の価数の余りを算出する(ステップS1309)。そして、生成装置101は、取得した部分名と部分示性式との組に対応付けて、化合物の価数の余りを部分示性式辞書300に記録して(ステップS1310)、本フローチャートによる一連の処理を終了する。
これにより、化合物(部分構造)の部分名と部分示性式との組に対応付けて、その化合物の価数の余りをデータベース化することができる。
なお、ステップS1305において、部分名から倍数接頭辞が抽出されなかった場合には、ステップS1306において、生成装置101は、倍数接頭辞係数を「1」とすることにしてもよい。また、ステップS1307において、部分名から多重度を表す文字表現が抽出されなかった場合には、ステップS1308において、生成装置101は、文字表現係数を「0」とすることにしてもよい。また、ステップS1303において、分子式と元素の構成が一致する基本形が検索されなかった場合には、生成装置101は、エラーを出力することにしてもよい。
つぎに、図14および図15を用いて、生成装置101の示性式生成処理手順について説明する。
図14および図15は、生成装置101の示性式生成処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、生成装置101は、対象化合物の化合物名を取得する(ステップS1401)。そして、生成装置101は、取得した対象化合物の化合物名から、部分構造ごとの部分名を検出する(ステップS1402)。
つぎに、生成装置101は、部分示性式辞書300から、検出した部分構造の部分名に対応する部分示性式情報を抽出する(ステップS1403)。そして、生成装置101は、検出した部分構造ごとの部分名のうち、最後方の部分構造の部分名に対応する部分示性式を炭素の前で分割する(ステップS1404)。
つぎに、生成装置101は、分割して得られた複数の示性式断片のうち、対象化合物の置換基となる部分構造を付け加える特定の示性式断片を特定する(ステップS1405)。そして、生成装置101は、上記式(2)を用いて、特定した特定の示性式断片の価数の余りを算出する(ステップS1406)。
つぎに、生成装置101は、算出した特定の示性式断片の価数の余りが「1」であるか否かを判断する(ステップS1407)。ここで、価数の余りが「1」の場合(ステップS1407:Yes)、生成装置101は、図15に示すステップS1501に移行する。一方、価数の余りが「1」ではない場合(ステップS1407:No)、生成装置101は、特定の示性式断片の価数の余りが「1」となるように水素の数を調整して(ステップS1408)、図15に示すステップS1501に移行する。
図15のフローチャートにおいて、まず、生成装置101は、対象化合物の置換基となる部分構造の部分名に対応する部分示性式の価数の余りが「1」であるか否かを判断する(ステップS1501)。ここで、価数の余りが「1」の場合(ステップS1501:Yes)、生成装置101は、ステップS1503に移行する。
一方、価数の余りが「1」ではない場合(ステップS1501:No)、生成装置101は、部分示性式の価数の余りが「1」となるように、当該部分示性式に含まれる炭素に結合される水素の数を調整する(ステップS1502)。そして、生成装置101は、置換基となる部分構造の部分示性式を特定の示性式断片に付け加える(ステップS1503)。
つぎに、生成装置101は、分割して得られた複数の示性式断片のうち、特定された特定の示性式断片とは異なる他の示性式断片の価数の余りが「0」であるか否かを判断する(ステップS1504)。ここで、他の示性式断片の価数の余りが「0」の場合(ステップS1504:Yes)、生成装置101は、ステップS1506に移行する。
一方、他の示性式断片の価数の余りが「0」ではない場合(ステップS1504:No)、生成装置101は、他の示性式断片の価数の余りが「0」となるように、当該他の示性式断片に含まれる水素の数を調整する(ステップS1505)。つぎに、生成装置101は、置換基となる部分構造の部分示性式が付け加えられた特定の示性式断片を含む複数の示性式断片を連結して、対象化合物の示性式を生成する(ステップS1506)。
そして、生成装置101は、取得した対象化合物の化合物名と、生成した対象化合物の示性式とを対応付けて出力して(ステップS1507)、本フローチャートによる一連の処理を終了する。これにより、部分的に水素が余ったり足りなかったりすることがない正確な示性式を生成することができる。
以上説明したように、実施の形態にかかる生成装置101によれば、対象化合物の化合物名に基づいて、部分示性式辞書300から、対象化合物の母核となる部分構造の部分名に対応する部分示性式を抽出することができる。また、生成装置101によれば、抽出した部分示性式を炭素の前で分割して得られる複数の化学式断片のうち、対象化合物の置換基となる部分構造を付け加える特定の化学式断片を特定することができる。また、生成装置101によれば、特定した特定の化学式断片の価数の余りが「1」となるように、当該特定の化学式断片に含まれる炭素に結合される水素の数を調整することができる。そして、生成装置101によれば、水素の数を調整した特定の化学式断片に、置換基となる部分構造の部分名に対応し、かつ、価数の余りが「1」である部分示性式を付け加えて、対象化合物の化学式を生成することができる。
これにより、対象化合物の母核となる部分構造のうち、置換基となる部分構造を付け加える炭素に結合される水素の数を調整することができる。このため、部分構造ごとの部分示性式を合成する際に、部分的に水素が余ったりすることなく正確な示性式を生成することができる。
また、生成装置101によれば、対象化合物の化合物名から特定される置換基となる部分構造の結合位置、または、複数の化学式断片それぞれの価数の余りに基づいて、特定の示性式断片を特定することができる。これにより、対象化合物の置換基となる部分構造を付け加える炭素を含む化学式断片を正確に特定することができる。
また、生成装置101によれば、対象化合物の置換基となる部分構造の部分名に対応する部分示性式を部分示性式辞書300から抽出し、抽出した部分示性式の価数の余りが「1」となるように、当該部分示性式に含まれる水素の数を調整することができる。これにより、部分構造の部分示性式が加工用に価数の余りが調整された状態でデータベース化されていなくても、価数の余りが「1」となるように、部分示性式に含まれる水素の数を調整することができる。この結果、部分構造ごとの部分示性式を合成する際に、部分的に水素が余ったりすることなく正確な示性式を生成することができる。
また、生成装置101によれば、分割して得られた複数の示性式断片のうち、特定の示性式断片とは異なる他の示性式断片の価数の余りが「0」となるように、当該他の示性式断片に含まれる水素の数を調整することができる。これにより、他の部分構造を付け加える炭素以外についても、部分的に水素が余ったり足りなかったりすることがない正確な示性式を生成することができる。
また、生成装置101によれば、生成した対象化合物の示性式を、対象化合物の化合物名と対応付けて出力することができる。これにより、明示的に示性式が示されていない化合物についても示性式を得ることができ、特許文献などの文書情報を読む人の理解を助けることができるとともに、コンピュータによる化合物の分析に活用することができる。
これらのことから、実施の形態にかかる生成プログラム、生成方法、および生成装置101によれば、対象化合物の示性式を部分構造ごとの部分示性式を合成して生成する際に、部分的な水素の過不足がない正確な示性式を生成することができる。
なお、本実施の形態で説明した生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本生成プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本生成プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)対象化合物の物質名に基づいて、化合物の物質名と当該化合物の構造を表す化学式とを対応付けて記憶する記憶部から、前記対象化合物の母核となる部分構造の部分名に対応する第1の化学式を抽出し、
抽出した前記第1の化学式を前記対象化合物の骨格を形成する元素の前で分割して得られる複数の化学式断片のうち、前記対象化合物の置換基となる部分構造を付け加える特定の化学式断片を特定し、
特定した前記特定の化学式断片の価数の余りが所定数となるように、当該特定の化学式断片に含まれる前記骨格を形成する元素に結合される他の元素の数を調整し、
前記記憶部を参照して、前記他の元素の数を調整した前記特定の化学式断片に、前記置換基となる部分構造の部分名に対応し、かつ、価数の余りが前記所定数である第2の化学式を付け加えて、前記対象化合物の化学式を生成する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
(付記2)前記特定する処理は、
前記対象化合物の物質名から特定される前記置換基となる部分構造の結合位置、または、前記複数の化学式断片それぞれの価数の余りに基づいて、前記特定の化学式断片を特定する、ことを特徴とする付記1に記載の生成プログラム。
(付記3)前記コンピュータに、
前記置換基となる部分構造の部分名に対応する第2の化学式を前記記憶部から抽出し、
抽出した前記第2の化学式の価数の余りが前記所定数となるように、当該第2の化学式に含まれる前記他の元素の数を調整する、処理を実行させ、
前記生成する処理は、
前記他の元素の数を調整した前記特定の化学式断片に、前記他の元素の数を調整した前記第2の化学式を付け加えて、前記対象化合物の化学式を生成する、ことを特徴とする付記1または2に記載の生成プログラム。
(付記4)前記生成する処理は、
さらに、前記複数の化学式断片のうち、特定した前記特定の化学式断片とは異なる他の化学式断片の価数の余りが0となるように、前記他の化学式断片に含まれる前記他の元素の数を調整して、前記対象化合物の化学式を生成する、ことを特徴とする付記1~3のいずれか一つに記載の生成プログラム。
(付記5)生成した前記対象化合物の化学式を、前記対象化合物の物質名と対応付けて出力する、処理を前記コンピュータに実行させることを特徴とする付記1~4のいずれか一つに記載の生成プログラム。
(付記6)前記対象化合物の骨格を形成する元素は、炭素であり、
前記他の元素は、水素であり、
前記所定数は、1である、
ことを特徴とする付記1~5のいずれか一つに記載の生成プログラム。
(付記7)前記対象化合物の置換基が複合置換基の場合、前記対象化合物の置換基となる部分構造の部分名に基づいて、前記複合置換基を母核と置換基とに分解して前記第2の化学式を生成する、処理を前記コンピュータに実行させ、
前記対象化合物の化学式を生成する処理は、
前記他の元素の数を調整した前記特定の化学式断片に、生成した前記第2の化学式を付け加えて、前記対象化合物の化学式を生成する、ことを特徴とする付記1~6のいずれか一つに記載の生成プログラム。
(付記8)対象化合物の物質名に基づいて、化合物の物質名と当該化合物の構造を表す化学式とを対応付けて記憶する記憶部から、前記対象化合物の母核となる部分構造の部分名に対応する第1の化学式を抽出し、
抽出した前記第1の化学式を前記対象化合物の骨格を形成する元素の前で分割して得られる複数の化学式断片のうち、前記対象化合物の置換基となる部分構造を付け加える特定の化学式断片を特定し、
特定した前記特定の化学式断片の価数の余りが所定数となるように、当該特定の化学式断片に含まれる前記骨格を形成する元素に結合される他の元素の数を調整し、
前記記憶部を参照して、前記他の元素の数を調整した前記特定の化学式断片に、前記置換基となる部分構造の部分名に対応し、かつ、価数の余りが前記所定数である第2の化学式を付け加えて、前記対象化合物の化学式を生成する、
処理をコンピュータが実行することを特徴とする生成方法。
(付記9)対象化合物の物質名に基づいて、化合物の物質名と当該化合物の構造を表す化学式とを対応付けて記憶する記憶部から、前記対象化合物の母核となる部分構造の部分名に対応する第1の化学式を抽出し、
抽出した前記第1の化学式を前記対象化合物の骨格を形成する元素の前で分割して得られる複数の化学式断片のうち、前記対象化合物の置換基となる部分構造を付け加える特定の化学式断片を特定し、
特定した前記特定の化学式断片の価数の余りが所定数となるように、当該特定の化学式断片に含まれる前記骨格を形成する元素に結合される他の元素の数を調整し、
前記記憶部を参照して、前記他の元素の数を調整した前記特定の化学式断片に、前記置換基となる部分構造の部分名に対応し、かつ、価数の余りが前記所定数である第2の化学式を付け加えて、前記対象化合物の化学式を生成する、
制御部を有することを特徴とする生成装置。