JP3725768B2 - 有機化合物の構造推定方法 - Google Patents
有機化合物の構造推定方法 Download PDFInfo
- Publication number
- JP3725768B2 JP3725768B2 JP2000239781A JP2000239781A JP3725768B2 JP 3725768 B2 JP3725768 B2 JP 3725768B2 JP 2000239781 A JP2000239781 A JP 2000239781A JP 2000239781 A JP2000239781 A JP 2000239781A JP 3725768 B2 JP3725768 B2 JP 3725768B2
- Authority
- JP
- Japan
- Prior art keywords
- peak
- partial structure
- partial
- organic compound
- proton nmr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】
本発明は有機化合物の構造推定に関し、特に既知の有機化合物の部分構造と二次元プロトンNMR情報(ピークの化学シフトとH−HCOSYピークなどのクロスピークの情報)との相関関係を蓄積する知識ベースを使って、未知の有機化合物から測定された二次元プロトンNMR情報に基づいて未知有機化合物に含まれうる部分構造、更には完全構造を推定する方法に関する。
【0002】
【従来の技術】
有機化合物の構造推定とは、未知の有機化合物のスペクトルを測定し、それを基にコンピュータによってその有機化合物の構造を解析し推定することを言い、一般的には既知の有機化合物の部分構造とスペクトルとの相関関係を蓄積してある知識ベースが利用される。
【0003】
このような有機化合物の構造推定では種々のスペクトルが利用されるが、最近においては二次元NMR(2D−NMR;二次元核磁気共鳴スペクトル)が特に注目されている。その理由は、2D−NMRでは、そのシグナルとシグナルの結合(クロスピーク)情報から一次元NMR(1D−NMR)では容易に得られないような炭素骨格などの連結情報が得られること、パルス磁場勾配法(Pulse Field Gradient)という測定法によって、正確かつ短時間で、少量試料から2D−NMRスペクトルの測定が可能になったことなどによる。
【0004】
図34(a)に同図(b)に示す有機化合物の2D−NMRスペクトルの一つであるH−HCOSYスペクトルを示す。縦軸と横軸とに記載されたa,b,c,d,eは同図(b)の有機化合物を構成するノードA,B,C,D,Eに対応するシグナルであり、縦軸と横軸とで同じ内容になっている。これは一次元NMRのスペクトルデータに相当し、化学シフト値として扱われる。他方、縦軸と横軸のシグナルの交点に付した黒丸はシグナルの結合(クロスピーク)であり、H−H COSYスペクトルに相当する。このうち、クロスピークC/AはノードAとノードCとが隣接していること、クロスピークE/BはノードEとノードBとが隣接していること、クロスピークE/DはノードEとノードDとが隣接していることを、それぞれ示している。
【0005】
このような2D−NMRスペクトルを用いて有機化合物の構造を推定する従来の技術が、特開平10−319105号公報に記載されている。この従来技術では、相関テーブルとリンクテーブルという2種類のテーブルから構成される知識ベースを使う。相関テーブルには、有機化合物の部分構造とその部分構造におけるフォーカスノードの1H−NMRスペクトルにおける化学シフト値とその部分構造のID番号とを含む相関情報が多数蓄積されている。またリンクテーブルには、相関テーブルに登録された部分構造のフォーカスノードのうち、相関テーブルに登録された他の1つ以上の部分構造のフォーカスノードとの間にH−H COSYスペクトルの相関関係があるノード毎に、そのノードをフォーカスノードとする部分構造のID番号である主ID番号と前記相関関係のあるノードをフォーカスノードとする部分構造のID番号である副ID番号とを列挙したID番号列と、前記主ID番号に対応する部分構造のフォーカスノードの1H−NMRスペクトルにおける化学シフト値である主化学シフト値と前記副ID番号に対応する部分構造のフォーカスノードの1H−NMRスペクトルにおける化学シフト値である副化学シフト値とを列挙した化学シフト値列とを持つリンク情報が多数蓄積されている。
【0006】
図35は従来技術で使われる知識ベースの説明図である。今、図35(a)に模式的に示す2つの有機化合物X,Yを考える。Xは、ノードa,b,c,d,e,fがその順に連結された構造を有し、Yは、ノードa,b,c,d,g,hがその順に連結された構造を有する。a〜hはCH,CH2 等の有機化合物を構成するノードである。ここで、Xはノードc,d間とノードd,e間とに各々クロスピークを有し、ノードc,d,eの化学シフト値はK1,K2,K3であるとする。また、Yはノードc,d間にクロスピークを有し、ノードc,dの化学シフト値はXと同じK1,K2であるとする。
【0007】
従来技術では、各有機化合物X,Yについて、化学シフト値を有するノード(つまりプロトンの結合された重原子)をフォーカスノードとして、適当なサイズの部分構造を抽出する。部分構造のサイズとしては、その部分構造内にクロスピーク情報にかかる連結構造が含まれ得るように2スフィア〜6スフィア程度に設定される。従って、抽出する部分構造のサイズを2スフィアとすると、Xについては、ノードc,ノードd,ノードeをそれぞれフォーカスノードとする図35(b)のXc、Xd、Xeに示すような3つの部分構造を抽出し、各々にID番号1,2,3を割り当てる。同様にYについて、ノードc,ノードdをそれぞれフォーカスノードとする図35(b)のYc,Ydに示すような2つの部分構造を抽出し、各々にID番号4,5を割り当てる。そして、Xc,Xd,Xe,Yc,Ydの部分構造に関して、相関テーブルに図35(c)に示すような相関情報Cxc、Cxd、Cxe、Cyc、Cydを登録し、リンクテーブルには図35(d)に示すようなリンク情報Lxc、Lxd、Lxe、Lyc、Lydを登録する。
【0008】
従来技術では、このような知識ベースを使って有機化合物の構造推定を以下のように行う。今、未知有機化合物に対するスペクトル測定によって、図35(e)に示すように、ピークp1,2,3の化学シフト値としてK1,K2,K3が得られ、また、ピークp1とピークp2とが結合し、ピークp2とピークp3とが結合しているとするクロスピーク情報が与えられたとする。この場合、クロスピーク情報にて互いに相関関係があるとされるピーク対(p1,p2)に対して、以下の処理を行う。
【0009】
先ず、一方のピークp1の化学シフト値K1を主化学シフト値として有し且つそのピークp1と相関関係があるとされるピークp2の化学シフト値K2を副化学シフト値として有する化学シフト値列を持つリンク情報Lxc, Lycを第1のリンク情報として、図35(d)のリンクテーブルから抽出する。また、当該ピーク対の他方のピークp2の化学シフト値K2を主化学シフト値として有し且つそのピークp2と相関関係があるとされるピークp1,p3の化学シフト値K1,K3を副化学シフト値として有する化学シフト値列を持つリンク情報Lxdを第2のリンク情報として、図35(d)のリンクテーブルから抽出する。
【0010】
次に、第1のリンク情報と第2のリンク情報の対(Lxc−Lxd,Lyc−Lxdの2つ)のうち、各々の対のリンク情報間で、第1のリンク情報中の副ID番号の1つに第2のリンク情報中の主ID番号が存在し、且つ、第2のリンク情報中の副ID番号の1つに第1のリンク情報中の主ID番号が存在するという条件が成立する対として、Lxc−Lxdを求める。そして、この対の主ID番号ID1,ID2に対応する部分構造Xc,Xdのペアを当該ピーク対p1,p2にかかる部分構造の推定結果の1つの候補とする。
【0011】
ここで、クロスピーク情報を活用せずに、化学シフト値だけで図35(c)の相関テーブルを検索すると、少なくともXc,Xd,Xe,Yc,Ydの5つの部分構造が抽出されてしまう。更に、クロスピーク情報を活用するにしても、上述したペアを求めるという処理を行わない場合は、Xc,Xd以外にYcの部分構造が抽出されてしまう。YcやYdは、ノードdが相関関係を持つノードが1つであるため、本来の候補ではない。このような不要な部分構造を早い段階で除去することにより、後の全体構造の組み立てを効率良く実施することができる。
【0012】
同様な処理は、クロスピーク情報にて互いに相関関係があるとされる他のピーク対(p2,p3)についても実施される。
【0013】
以上のようにして可能な全ての部分構造を推定した後、推定した部分構造を基に完全構造を組み立てる全体構造の組み立て処理が実施される。
【0014】
【発明が解決しようとする課題】
上述した従来技術は、H−HCOSYのクロスピーク情報を積極的に活用した知識ベースを利用している点において画期的なものであったが、次のような課題があった。
【0015】
知識ベース中の部分構造として、1H−NMRスペクトルの化学シフト値を持つノード(つまり水素の結合する原子)をフォーカスノードとする所定サイズの部分構造を採用している。従って、シグナル(化学シフト)が現れるノードが隣接していると、1つのピーク対について、本来お互いに連結される関係にある部分構造のペアが候補構造として求められる。前述した例で説明すると、ピーク対(p1,p2)に対して部分構造Xc,Xdのペアが候補となる。同様に図35(a)の有機化合物Xのようなクロスピークのつながりがあると、他のピーク対(p2,p3)からも本来お互いに連結される関係にある部分構造のペアが候補構造として求められる。即ち、ピーク対のN個のつながりがあるクロスピークからは、お互いに連結される関係にある部分構造のペアが候補構造としてN組求められる。このため、後の全体構造の組み立ての段階で、各ペアを構成する部分構造間の組み立ての為にN回の組み立てが必要となり、更に組み立てられたN個の部分構造を順次に組み立ててより大きな構造にする為にN−1回の組み立てが必要となり、組み立て工程数が増大する。
【0016】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、2D−NMRスペクトルを用いた有機化合物の構造推定における組み立て工数を削減し、効率的な構造推定を可能にすることにある。
【0017】
【課題を解決するための手段】
本発明においては、有機化合物の構造のうち、プロトンの結合した炭素原子が1原子以上つらなる部分を基幹部分、基幹部分以外の部分を非基幹部分と呼ぶ。そして基幹部分は、部分構造上、一体で不可分な部分として捉え、1つの基幹部分を中心にそれに隣接する非基幹部分を含めて1つの部分構造とする。従って、一般に1つの部分構造のサイズは従来技術に比べて大きくなり、その分、後の組立工程数が削減される。また、非基幹部分中の原子が前記基幹部分以外の基幹部分中のプロトンの結合した炭素原子と結合している場合には、当該プロトンの結合した炭素原子を疑似原子として部分構造に含ませる。疑似原子は、水素原子の結合している炭素原子や他の疑似原子と重ね合わせることができる性質を持たせた仮想的な原子である。本発明で使用する知識ベースは、このような部分構造と二次元プロトンNMR情報との相関関係を蓄積している。
【0018】
知識ベース中の前記二次元プロトンNMR情報は、1H−NMRスペクトルにおける各ピークの化学シフト値に加えて、好ましくは各ピークのプロトン数を含み、更に存在する場合にはH−HCOSYなどのクロスピーク情報を含む。また、有機化合物中の同じ芳香族環に属する基幹部分を持つ複数の部分構造は、後の完全構造の組み立てにおける組み合わせの爆発を防ぐために、好ましくは一つの部分構造として知識ベースに蓄積される。
【0019】
このような知識ベースは、知識ベース構築手段によって、多数の有機化合物のそれぞれについてその有機化合物を構成する各原子とそれらの間の結合関係とを示す構造情報およびその有機化合物の1H−NMRスペクトル情報を記録した化合物ファイルを蓄積してある化合物データベースから構築される。
【0020】
構造推定対象となる有機化合物に対する二次元NMRスペクトル測定で得られた二次元プロトンNMR情報もまた、1H−NMRスペクトルにおける各ピークの化学シフト値に加えて、好ましくは各ピークのプロトン数を含み、更に存在する場合にはH−HCOSYなどのクロスピーク情報を含む。このような二次元プロトンNMR情報が入力された場合、部分構造推定手段により、前記知識ベースに蓄積された部分構造のそれぞれについて、その二次元プロトンNMR情報と前記入力された二次元プロトンNMR情報とを照合し、前記構造推定対象となる有機化合物に含まれる可能性のある部分構造を推定する。
【0021】
具体的には、前記部分構造推定手段は、ピーク検査手段によって前記知識ベース中の部分構造の二次元プロトンNMR情報における各ピークの化学シフト値及び各ピークのプロトン数が前記入力された二次元プロトンNMR情報に矛盾しないかどうかを調べ、また、クロスピーク検査手段によって前記知識ベース中の部分構造の二次元プロトンNMR情報における各クロスピークが前記入力された二次元プロトンNMR情報に矛盾しないかどうかを調べ、各ピーク及び各クロスピークが入力スペクトルに矛盾しない部分構造を、前記構造推定対象となる有機化合物に含まれる可能性のある部分構造として推定する。
【0022】
前記ピーク検査手段は、好ましくは、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるピークについては、マッチするピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定する。これは、ヘテロ原子に結合したプロトンの場合、理論的にはピークの出現が期待されているが、実際には測定されない場合があることを考慮した対策である。
【0023】
また前記ピーク検査手段は、好ましくは、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるクロスピークおよびジェミナルプロトンにかかるクロスピークについては、マッチするクロスピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定する。これは、ヘテロ原子に結合したプロトン及びジェミナルプロトンの場合、理論的にはクロスピークの出現が期待されているが、実際には測定されない場合があることを考慮した対策である。
【0024】
また、前記クロスピーク検査手段は、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報における同じプロトン数のピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピークのみが前記入力された二次元プロトンNMR情報に存在するか否かを検査する。これによって、部分構造の推定数をより一層削減することができる。
【0025】
他方、前記クロスピーク検査手段は、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報におけるプロトン数のより多いピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークが前記入力された二次元プロトンNMR情報中に存在しない場合、および部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピーク以外のピークが前記入力された二次元プロトンNMR情報に存在していても、マッチすると判断する。これは、プロトンNMRスペクトルの測定では、類似した化学シフト値を持つ複数のピークが1つの重複ピークとして観測されることがあることを考慮した対策である。
【0026】
また前記クロスピーク検査手段は、前記構造推定対象となる有機化合物に含まれる可能性のある部分構造毎に、その部分構造の二次元プロトンNMR情報における各ピークのプロトン数と前記入力された二次元プロトンNMR情報におけるマッチしたピークのプロトン数とから、当該部分構造が前記構造推定対象となる有機化合物に含まれる可能性のある個数を求める。
【0027】
また本発明は、全体構造組立手段により、前記推定された部分構造から前記構造推定対象となる有機化合物の候補構造を組み立てる。具体的には、前記全体構造組立手段は、出発部分構造選定手段によって、前記部分構造推定手段によって推定された部分構造から全体構造を組み立てる際の出発点となる部分構造を選定し、組立手段によって、該選定された部分構造を出発点として前記入力された二次元プロトンNMR情報と矛盾の無い候補構造を組み立てる。
【0028】
全体構造を組み立てる際の出発点となる部分構造として、前記部分構造推定手段によって推定された部分構造の全てを選定しても良く、より効率良く組み立てが行えるように、入力の二次元プロトンNMR情報中の各クロスピーク毎に、そのクロスピークにマッチするクロスピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定しても良い。また、入力の二次元プロトンNMR情報中にクロスピークが存在しない場合、入力の二次元プロトンNMR情報中の各ピーク毎に、そのピークにマッチするピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定するようにしても良い。更に、生成した部分構造の集合毎に、その部分構造の集合を全体構造を組み立てる際の出発点となる部分構造に選定した際の優劣をコンピューティング時間の面から評価し、最も評価の高い部分構造の集合を、全体構造を組み立てる際の出発点となる部分構造に選定するようにしても良い。
【0029】
前記組立手段は、樹探索手段によって、部分構造どうしを重ね合わせてより大きな部分構造を生成することにより、出発点となる部分構造として選定された部分構造毎に、その部分構造をルートとし、完全構造またはそれ以上大きくできない部分構造をリーフとする組み立ての樹を探索し、検証手段によって、リーフの内、完全構造であって且つ前記入力された二次元プロトンNMR情報と矛盾の無い構造を1つの候補構造とする。検証手段は、好ましくは各候補構造毎に当該完全構造がどの程度良い候補であるかを定量的に示すスコアを算出する。
【0030】
前記樹探索手段は、部分構造どうしの重ね合わせは、疑似原子を例外として、水素原子のない構造の部分でのみ行う。具体的には、一方の部分構造の何れか1つの非基幹部分の全原子及びその息子原子が、他方の部分構造の何れか1つの非基幹部分の全原子およびその息子原子にマッチするとき、この2つの部分構造は重ね合わせることができると判定する。ここで、非基幹部分の原子の息子原子とは、当該非基幹部分に隣接する基幹部分中の原子であって当該非基幹部分の原子に結合している原子を意味する。従って、息子原子は原子タイプ1である。
【0031】
前記樹探索手段は、無駄な重ね合わせを事前に防止するために、組み立ての樹のノードから、より大きな部分構造を生成するために当該ノードに部分構造を重ね合わせる処理を行う前に、当該部分構造の二次元プロトンNMR情報と当該ノードの二次元プロトンNMR情報とを統合した二次元プロトンNMR情報が前記入力された二次元プロトンNMR情報に矛盾しないかどうかをチェックし、矛盾する場合には重ね合わせ処理を行わないようにすることが望ましい。
【0032】
また、前記樹探索手段は、限られた容量のメモリを使って組み立ての樹の探索が行えるようにするために、深さ方向優先探索によって組み立ての樹を探索し、且つ、バックトラック時に直前に重ね合わせた部分構造を差し引くことにより直前のノードを動的に生成する。
【0033】
【発明の実施の形態】
次に本発明の実施の形態の例について図面を参照して詳細に説明する。
【0034】
図1を参照すると、本発明の一実施の形態にかかる構造推定システム1は、化合物データベース2と、この化合物データベース2から構築された知識ベース3と、キーボードやファイル等の入力装置4と、表示装置やファイル等の出力装置5とに接続され、知識ベース構築手段11、入力手段12、部分構造推定手段13、部分構造格納手段14、全体構造組立手段15、候補格納手段16および出力手段17を主要部として有している。
【0035】
このような構造推定システム1は、例えばパーソナルコンピュータ等のコンピュータと構造推定プログラムとによって実現することができる。構造推定プログラムは、CD−ROM、磁気ディスク装置、半導体メモリ等の機械読み取り可能な記録媒体(図示せず)に記録されており、コンピュータの起動時などにコンピュータに読み取られ、コンピュータの動作を制御することにより、コンピュータ上に図1に示した知識ベース構築手段11、入力手段12、部分構造推定手段13、部分構造格納手段14、全体構造組立手段15、候補格納手段16、出力手段17を実現する。
【0036】
このように構成された本実施の形態の構造推定システム1においては、先ず、多数の有機化合物についてその構造および1H−NMRスペクトル情報を蓄積してある化合物データベース2から、知識ベース構築手段11が、有機化合物の部分構造と二次元プロトンNMR情報との相関関係を蓄積する知識ベース3を構築する。ここで、1つの部分構造は、有機化合物に含まれる基幹部分(プロトンの結合した炭素原子が1原子以上つらなる部分)と当該基幹部分に隣接する非基幹部分(プロトンの結合した炭素原子が1原子以上つらなる部分以外の部分)とから構成され、且つ、その非基幹部分中の原子が前記基幹部分以外の基幹部分中のプロトンの結合した炭素原子と結合している場合には当該プロトンの結合した炭素原子を疑似原子として含む。
【0037】
構造推定システム1は、このような知識ベース3を使って未知有機化合物で測定された二次元プロトンNMR情報からその有機化合物の構造を推定する。具体的には、入力手段12は、入力装置4から未知有機化合物の二次元プロトンNMR情報を入力して部分構造推定手段13および全体構造組立手段15に伝達する。部分構造推定手段13は、入力された二次元プロトンNMR情報および知識ベース3の内容に基づき未知有機化合物に含まれる可能性のある全ての部分構造を推定し、部分構造格納手段14に格納する。次に、全体構造組立手段15は、推定された部分構造から入力スペクトル情報に矛盾しない全ての可能な全体構造を求め、候補格納手段16に格納する。そして、出力手段17が候補格納手段16に格納された候補構造を、出力装置5に出力する。
【0038】
以下、本実施の形態にかかる構造推定システム1の各部を詳細に説明する。
【0039】
(1)知識ベースの構築
図2を参照すると、化合物データベース2から知識ベース3を構築する知識ベース構築手段11は、入力手段111、部分構造抽出手段112、修飾結合表生成手段113および登録更新手段114を主要部として有している。図3に知識ベース構築手段11の全体処理の一例を示す。以下、図2および図3を参照して、知識ベース構築手段11の概要を説明する。
【0040】
化合物データベース2には、多数の有機化合物の化合物ファイルが蓄積されている。1つの化合物ファイルは1つの有機化合物に対応し、その有機化合物を構成する各原子とそれらの間の結合関係とを示す構造情報、およびその有機化合物の1H−NMRスペクトル情報が記録されている。入力手段111は、このような化合物データベース2から化合物ファイルを1ファイルずつ順番に入力していく(S1)。
【0041】
部分構造抽出手段112は、入力手段111によって入力された化合物ファイルが示す有機化合物から部分構造を抽出し、また抽出した部分構造に対応する二次元プロトンNMR情報を抽出する(S2)。具体的には、化合物ファイルが示す有機化合物に含まれる基幹部分毎に、当該基幹部分と当該基幹部分に隣接する非基幹部分とから構成される部分構造を抽出し、更にこの部分構造に対応する二次元プロトンNMR情報を抽出する。従って、或る化合物ファイルが示す有機化合物に基幹部分が唯一存在する場合には、当該有機化合物の全体構造が1つの部分構造として抽出される。この場合の部分構造は完全構造となる。他方、基幹部分がn個存在する場合には、n個の部分構造が抽出される。この場合の部分構造は文字通り部分的な構造である。また、芳香族環はリング全体が1つの部分構造に含まれるように部分構造を抽出する。
【0042】
次に、1つの化合物ファイルから抽出された部分構造と二次元プロトンNMR情報との組すべてに対して、修飾結合表生成手段113および登録更新手段114により以下の処理を繰り返す(S3〜S8)。
【0043】
先ず修飾結合表生成手段113は、部分構造を構成する各原子とそれらの間の結合関係とを示す部分構造情報およびその部分構造情報の二次元プロトンNMR情報を含む修飾結合表を生成する(S3)。そして、この生成した修飾結合表を規範化する(S4)。規範化の詳細については後述する。次に登録更新手段114は、規範化された修飾結合表中の部分構造情報と同じ部分構造情報を持つ修飾結合表が知識ベース3に既に登録されているか否かを検査し(S5)、未登録の場合には今回の修飾結合表を知識ベースに追加登録する(S6)。他方、同じ部分構造の修飾結合表が知識ベース3に既に登録されていた場合には、今回の修飾結合表中の二次元プロトンNMR情報を考慮に入れて、知識ベース3中の既登録の修飾結合表中の二次元プロトンNMR情報を更新する(S7)。
【0044】
1化合物ファイルから抽出された個々の部分構造の全てに対して修飾結合表生成手段113および登録更新手段114による上述した処理が終了すると(S8でYES)、制御が入力手段111に戻され、化合物データベース2中の次の化合物ファイルについて前述と同様の処理が行われる。そして、化合物データベース2中の全ての化合物ファイルに対する処理を終えると(S9でYES)、知識ベース3の構築処理が終了する。
【0045】
次に知識ベース構築手段11の実施例について詳細に説明する。
【0046】
(1−1)化合物データベース2
1万数千件の有機化合物について、1H−NMRスペクトルの測定データまたは文献データを収集し、データベース化した。有機化合物1つ当たりのデータは1つの化合物ファイルに格納され、各化合物ファイルは、その有機化合物の構造情報と、その帰属情報を有する1H−NMRスペクトル、および測定条件などのデータを含む。化合物ファイルの例を図4に示す。
【0047】
この例の化合物ファイルは、ヘッダ200と、カウントライン201と、アトムブロック202と、ボンドブロック203と、シフトブロック204とを含んでいる。ヘッダ200には、この化合物ファイルで示される有機化合物の名称等が設定される。今の場合、ETHYL(4−METHOXYPHENYL)ACETATEである。参考までに、その構造式を図5に示す。なお、図5において、1〜14は原子番号である。ここで、本明細書における原子番号とは、各構成重原子を順に番号付けしたものである。また、カウントライン201には、この有機化合物を構成する元素の数(例の場合14)、元素と元素とが結合している数(例の場合14)等が設定される。
【0048】
アトムブロック202とボンドブロック203とは、この化合物ファイルで示される有機化合物の構造情報を示し、アトムブロック202では当該有機化合物を構成する元素の種類等が設定され、ボンドブロック203では各元素間の結合状態等が設定される。アトムブロック202はその各行が1つの元素に対応しており、先頭行から順に原子番号1の元素、原子番号2の元素、…、原子番号14の元素を記述している。各行の先頭から3つまでの数値は当該元素の座標値を示し、その次の記号「C」等が当該元素の種類を示す。以降、各種のデータが設定されるが、本発明に直接関係しないので省略する。ボンドブロック203はその各行が1組の元素間の結合を記述しており、各行の先頭から順に、第1元素の原子番号、第2元素の原子番号、結合状態、…となっている。以降、各種のデータが設定されるが、本発明に直接関係しないので省略する。結合状態は、1が単結合、2が二重結合、3が三重結合、4が芳香族結合、5がその他の結合をそれぞれ示す。例えば、1行目は、原子番号2の元素と原子番号1の元素とが二重結合していることを、2行目は、原子番号3の元素と原子番号1の元素とが単結合していることを、それぞれ示す。
【0049】
なお、アトムブロック202およびボンドブロック203では、一般に水素原子は明示されず、重原子のみ記述される。個々の重原子に結合している水素原子の数は、当該重原子の全原子価と他の重原子との連結に使われる原子価数との差で求まり、他の重原子との連結に使われる原子価数は結合タイプと結合数とにより求まる。
【0050】
最後のシフトブロック204は、この有機化合物に対する1H−NMRスペクトル測定の結果得られたスペクトルデータに関する情報が設定されている。このうち、「N HSF 1」が先頭についている行は、原子番号と化学シフト値とを記述する。例えば、1行目は、原子番号3の元素の第1化学シフト値(lowvalue)および第2化学シフト値(high value)が3.5400ppmであることを示す。なお、その後ろには強度(Intensity)等が付記されるが、本発明と直接関係しないので省略する。また、「N MSC
1」が先頭についている行は、測定共鳴周波数を示し、例の場合、90MHzである。「N SLV 1」が先頭についている行は、測定溶媒の種類を示し、例の場合、重水素化クロロホルム(CDCl3 )である。「N REF 1」が先頭についている行は、当該データが記載されている文献名(出典名)などを示す。M END、$$$$は一化合物情報の終了である。
【0051】
図4の例には無いが、シフトブロック204において、「N HSF 1」が先頭についている複数の行に同じ原子番号が現れる場合がある。これはジェミナルプロトンが存在していることを示す。ジェミナルプロトンとは、狭義には、CH2 におけるCがH2 以外の原子とそれぞれ単結合している結合環境の下で2種の化学シフトが生じる場合の当該H2 の2つのプロトンを意味するが、本明細書においては、CH2 におけるCがH2 以外の原子と二重結合している結合環境の下で2種の化学シフトが生じる場合の当該H2 の2つのプロトン(いわゆる末端ビニル基プロトン)なども包含する意味で使用している。
【0052】
なお、本実施例の場合、化合物データベース2の各化合物ファイルには、H−H COSYスペクトル(クロスピーク)の情報は記録されていない。後述するようにクロスピークは、各化合物ファイルに記述されている有機化合物の構造情報中のプロトンの結合した重原子のつながりと1H−NMRスペクトル情報から論理的に求められる。
【0053】
(1−2)部分構造抽出手段112
図6に部分構造抽出手段112の処理例を示す。部分構造抽出手段112は先ず、化合物ファイル中のアトムブロック202及びボンドブロック203によって規定される有機化合物の全体構造を、プロトンの結合する炭素原子とプロトンの結合しない重原子との間でその結合を切ることにより、基幹部分と非基幹部分とに分割する(S11)。例えば図7(a)に示す構造の有機化合物を例にすると、プロトンの結合する炭素原子は原子番号1、2、4、6、7の原子、プロトンの結合しない重原子は原子番号3、5、8の原子なので、切断箇所は図7(b)に波線で示す合計5箇所であり、図7(c)、(d)、(e)に示す3つの基幹部分と、図7(f)、(g)に示す2つの非基幹部分とに分割される。
【0054】
次に部分構造抽出手段112は、1つの基幹部分に注目し(S12)、以下の処理を行う。先ず、当該基幹部分に、それに隣接する全ての非基幹部分を元通りに結合する(S13)。例えば図7(c)の基幹部分を注目した場合、この基幹部分に隣接する非基幹部分は図7(f)なので、図8(a)に示すように元通りに結合する。次に、非基幹部分に他の基幹部分と結合していた箇所が存在していた場合、その箇所に疑似原子を結合する(S14)。例えば図8(a)の場合、非基幹部分の原子番号8の原子は図7(e)の基幹部分の原子番号7の原子と単結合していた。また、原子番号3の原子は図7(d)の基幹部分の原子番号4の原子と二重結合していた。従って、図8(b)に示すように、それらの結合箇所にそれぞれ疑似原子*を結合する。本実施例においては、この図8(b)に示すような構造が1つの部分構造となる。
【0055】
次に、上述のようにして生成した部分構造に、以下のように二次元プロトンNMR情報を対応付ける(S15)。
【0056】
先ず、当該部分構造に含まれるプロトンに結合された重原子のうち、化合物ファイル中のシフトブロック204に1H−NMRスペクトルのピークの化学シフト値が記述されているものに対し、その記述された化学シフト値を割り当てる。例えば、図8(b)に示す部分構造の場合、プロトンの結合する原子番号1、2は炭素原子であるため、その1H−NMRスペクトルの化学シフト値が化合物ファイルのシフトブロック204に記述されているはずなので、その記述されている化学シフト値をK1、K2とすると、原子番号1、2の各原子に図8(c)のように割り当てる。また、図8(b)に示す部分構造にはプロトンの結合したヘテロ原子はないが、若しそのようなヘテロ原子があって、それに対応するピークの化学シフト値がシフトブロック204に記述されていれば、そのヘテロ原子にその化学シフト値を割り当てる。更に、ジェミナルプロトンを持つ原子の場合、シフトブロック204に記述されている2種の化学シフト値を割り当てる。
【0057】
次に、化合物ファイル中のシフトブロック204に記述されている1H−NMRスペクトルのピークを持つ重原子の当該部分構造内におけるつながりを調べ、ピークを持つ重原子が隣接している部分を1つのクロスピークとする。また、ジェミナルプロトンのように同じ重原子が2種の化学シフト値のピークを持つ場合、その部分もクロスピークとする。例えば図8(b)の場合、化学シフト値K1、K2のピークを持つ原子番号1、2の原子が隣接しているので、クロスピークとして、1−2のクロスピーク情報を生成し、当該部分構造のH−HCOSYスペクトル情報として割り当てる。
【0058】
部分構造抽出手段112は、以上のような処理と同様の処理を他の基幹部分に注目を移して繰り返す(S16)。これにより、図7の例では、図9(a)に示すように、図7(d)の基幹部分に図7(f)、(g)の2つの非基幹部分が結合され、図9(b)に示すように非基幹部分中の他の基幹部分と結合していた箇所に疑似原子*が結合され(疑似原子に置換された元の原子どうしが相互に結合している場合には図示するように疑似原子間も結合しておく)、図9(c)に示すように、プロトンの結合する原子番号4の原子に化合物ファイル中のシフトブロック204から読み込んだ化学シフト値K4が割り当てられる。なお、この場合、クロスピークは存在しない。同様に、図10(a)に示すように、図7(e)の基幹部分に図7(f)、(g)の2つの非基幹部分が結合され、図10(b)に示すように非基幹部分中の他の基幹部分と結合していた箇所に疑似原子*が結合される。このとき、原子番号3の原子と原子番号5の原子とは同じ原子(原子番号4の原子)に結合していたので、その部分には共通の疑似原子が結合される。そして、図10(c)に示すように、プロトンの結合する原子番号6、7の各原子に化合物ファイル中のシフトブロック204から読み込んだ化学シフト値K6、K7が割り当てられると共に、ピークを持つ原子番号6、7が隣接しているので、クロスピークとして、6−7のクロスピーク情報が生成される。
【0059】
最後に部分構造抽出手段112は、今回処理した化合物ファイルが示す有機化合物中に芳香族環が存在するか否かを調べ、存在していれば、同じ芳香族環に属する基幹部分を持つ部分構造を1つの部分構造に統合する(S17)。例えば図11(a)に示すような芳香族環を有する仮の有機化合物を説明の便宜上想定すると、ステップS11〜S16の処理によって図11(b)〜(e)に示す合計4つの部分構造が抽出されるが、同じ芳香族環に属する基幹部分を持つ部分構造は図11(d)と(e)の部分構造なので、そのスペクトル情報も含めて図11(f)に示すように1つの部分構造に統合する。プロトンNMRスペクトルにおいて、芳香族水素は、非常に少ない化学シフト範囲を持つ(通常6.5〜8.5ppm)。このため、芳香族−1Hの部分構造が、この範囲のピークを持つ入力スペクトルのほとんどとマッチし、提案される部分構造の数が多くなる。同じ芳香族環に属する基幹部分を持つ部分構造を上述のように1つの部分構造に統合することで、提案される部分構造の数を大幅に削減でき、後の完全構造の組み立てにおける組み合わせの爆発を防ぐことができる。
【0060】
(1−3)修飾結合表生成手段113
修飾結合表生成手段113は、部分構造抽出手段112で抽出された各部分構造毎に修飾結合表を生成する。各部分構造毎に生成された修飾結合表は、その後に原子番号等の規範化が行われて、規範化された修飾結合表となる。そして、当該部分構造と同じ部分構造が知識ベース3に未登録のときは、後段の登録更新手段114によって知識ベース3に登録され、同じ部分構造が知識ベース3に既に存在するときは、知識ベース3中に存在した同じ部分構造の修飾結合表中のスペクトル情報が後段の登録更新手段114によって更新される。
【0061】
図12(a)に修飾結合表のフォーマット例を示す。この例の修飾結合表は、補助情報行300、結合表301およびスペクトル情報302で構成される。
【0062】
補助情報行300には、図12(b)に示すように、化合物データベース2から抽出された当該部分構造の数3001、当該部分構造中の重原子の数3002、1H−NMRスペクトルのピークの数3003、当該部分構造の規範化されたID番号3004がその順に並べられる。修飾結合表の生成時点では、部分構造数3001は1に初期設定される。ID番号3004は修飾結合表の生成時点では未設定であり、後の規範化時に設定される。
【0063】
結合表301には、当該部分構造を構成する各原子とそれらの間の結合関係とを示す部分構造情報が、1原子について1行で記述される。修飾結合表の生成時点では、当該部分構造を構成する各原子に1から始まる連番の原子番号を付与し、原子番号1の原子から順に1行ずつ記述される。1原子当たりの記述内容は図12(c)に示すように、原子名3011、原子タイプ3012、重原子への結合数3013、結合情報3014の並びとなる。原子タイプ3012は、主に後述する構造組み立てにおける重ね合わせの観点から各原子のタイプを分類したもので、合計5種類あり、それぞれ以下の数値0〜4が割り当てられる。
0:結合プロトンのない重原子
1:結合プロトンがあり且つ重ね合わせ可能な炭素原子
2:疑似原子
3:結合プロトンはあるが、重ね合わせ不可能な炭素原子
4:結合プロトンのあるヘテロ原子
ここで、原子タイプ0、2、4を持つ原子は非基幹部分に含まれ、原子タイプ1、3を持つ原子(炭素原子)は基幹部分に含まれる。また、基幹部分に含まれる炭素原子のうち、隣接する非基幹部分中の原子と結合している炭素原子が原子タイプ1となり、それ以外の炭素原子が原子タイプ3となる。
【0064】
また、結合情報3014には、図12(d)に示すように、結合相手となる原子の原子番号30141と結合タイプ30142の組が設定される。結合タイプ30142は合計5種類あり、それぞれ以下の数値1〜5が割り当てられる。
1:単結合
2:二重結合
3:三重結合
4:芳香族結合
5:その他の結合
【0065】
スペクトル情報302には、当該部分構造の帰属情報としての二次元プロトンNMR情報が、1ピーク当たり1行で記述される。1行当たりの記述内容は図12(e)に示すように、当該ピークに対応する重原子の番号3021、ピークタイプ3022、化学シフト情報3023、当該ピークに対応する重原子に結合されたプロトンの数(H原子数)3024、クロスピークの数3025、クロスピークのペア情報3026となっている。
【0066】
ピークタイプ3022は2種類あり、それぞれ以下の数値0〜1が割り当てられる。
0:炭素原子に付くプロトンに起因するタイプ
1:ヘテロ原子に付くプロトンに起因するタイプ
【0067】
化学シフト情報3023には、図12(f)に示すように、化学シフト範囲の中間値30231、化学シフトの平均値30232、偏差値30233から構成される。ここで、化学シフト範囲の中間値とは、当該部分構造の集積(登録)済の化学シフト値の最大値と最小値を平均した値を言う。もし新しい部分構造の場合は、第1化学シフト値と第2化学シフト値が、最大値であり、最小値となるので、その平均値が中間値となる。また、偏差値としては例えば2σ(95%信頼限界相当)または化学シフト範囲の1/2が使用される。修飾結合表の生成時点では、当該ピークを持つ重原子に対応付けられた第1および第2化学シフト値に基づき、それぞれ以下のように設定される。
化学シフト範囲の中間値30231=(第1化学シフト値+第2化学シフト値)/2
化学シフトの平均値30232=(第1化学シフト値+第2化学シフト値)/2
偏差値30233=|第1化学シフト値−第2化学シフト値|/2
【0068】
クロスピークのペア情報3026は、図12(g)に示すようなピーク番号30261とクロスピークタイプ30262の組が、クロスピーク数3025の数だけ記述される。ピーク番号30261は、その行の原子番号3021とクロスピークを構成する相手原子の原子番号である。クロスピークタイプ30262は3種類あり、それぞれ以下の数値0〜2が割り当てられる。
0:fixed
1:flexible
2:hetero
クロスピークタイプ1はジェミナルプロトンにかかるクロスピークであることを示し、クロスピークタイプ2はヘテロ原子に結合したプロトンを少なくとも一方とするクロスピークであることを示し、クロスピークタイプ0はそれ以外のクロスピークを示す。
【0069】
図13(a)に図8(c)に示した部分構造について生成された修飾結合表の例を示す。なお、図8(c)の部分構造における各原子の原子番号は図13(b)に示したように付け替えられているものとする。なお、L1、L2は化学シフト範囲の中間値、K1、K2はその平均値を示す。
【0070】
次に修飾結合表の規範化について説明する。修飾結合表の規範化は、以下の3段階で実施される。
(ア)部分構造中の原子の原子番号の規範化
(イ)スペクトル情報の規範化
(ウ)部分構造ID番号の規範化
【0071】
部分構造中の原子の原子番号の規範化とは、同じ構造を持つ部分構造については、それらの部分構造間において同じ原子には同じ原子番号を付与するように標準化することを言う。部分構造の原子の規範化番号を得るアルゴリズムとしては、例えば、H.HongとX.XinによってJ.Chem.Inf.Comput.Sci.1994,34,730−734に掲載されたアルゴリズムを使用することができる。この規範化された原子番号を使って修飾結合表における結合表301を書き換える。例えば、図13(b)に示す部分構造中の原子の原子番号1〜6が図14(a)中の矢印で示すように、1→3、2→2、3→1、4→4、5→6、6→5のように規範化された場合、図13(a)の修飾結合表における結合表301は、図14(b)の結合表301のように変更される。
【0072】
次にスペクトル情報の規範化とは、(ア)によって規範化された原子番号を使って修飾結合表におけるスペクトル情報302中のピークが属している重原子の番号を規範化番号で書き換えることを言う。例えば、図14(a)のように原子番号が規範化された場合、図13(a)の修飾結合表におけるスペクトル情報302は、図14(b)のスペクトル情報302のように変更される。
【0073】
最後に部分構造ID番号の規範化とは、規範化後の修飾結合表における結合表301で示される部分構造に対して、重原子の数、所定の原子タイプを持つ原子の数など部分構造の特徴情報をID番号として1つの整数番号に組み込むことを言う。規範化された部分構造ID番号は、修飾結合表における補助情報行300に設定される。規範化された部分構造ID番号のフォーマット例と各桁に組み込む情報の例を図15に示す。この例では、10進数10桁の整数の各桁に部分構造の各種の特徴情報を以下のように組み込んでいる。
桁0−1:作成された部分構造のうち、異なる環境を持つ原子種類の数で、全く同じ環境(対称性)のものがあれば、まとめて1つとする。対称性がない場合は、桁2−3で示される原子の数と同じである。
桁2−3:部分構造を構成する重原子(水素以外の原子)の数
桁4 :原子タイプ1(結合プロトンがあり、且つ重ね合わせ可能な炭素原子)の原子の数
桁5 :原子タイプ2(擬似原子)の原子の数
桁6−7:ヘテロ原子のコードの合計数(ただし同じヘテロ原子が複数存在しても1つのコードのみ)、0:C,1:O,2:N,3:S,4:F,5:Cl,6:Br,7:I,8:P,9:その他
桁8 :環(リング)構造の数
桁9 :水素原子の結合するヘテロ原子の有無、有:1,無:0
【0074】
(1−4)登録更新手段114
図16に登録更新手段114の処理例を示す。登録更新手段114は先ず、修飾結合表生成手段113で生成された規範化された修飾結合表の補助情報行300に設定されている部分構造ID番号をキーに知識ベース3を検索する(S21)。同じ部分構造ID番号を持つ修飾結合表が知識ベース3に存在しなかった場合(S22でNO)、今回の修飾結合表をそのまま知識ベース3に追加登録する(S23)。
【0075】
他方、同じ部分構造ID番号を持つ修飾結合表が知識ベース3に存在した場合(S22でYES)、今回の修飾結合表の結合表301で示される部分構造と、知識ベース3に存在した同じ部分構造ID番号を持つ修飾結合表の結合表で示される部分構造とが同じ構造か比較する(S24)。この比較は、原子番号が規範化されているので、同じ原子番号を持つ原子を比較していくことで足りる。2つの部分構造での同じ原子番号を持つ全ての原子が結合タイプを含めて同じである場合、それらは同じ部分構造と判定する。このような比較の結果、同じ部分構造の修飾結合表が知識ベース3に存在しないことが確かめられた場合(S25でNO)、今回の修飾結合表をそのまま知識ベース3に追加登録する(S23)。
【0076】
反対に、今回の修飾結合表と同じ部分構造の修飾結合表が知識ベース3に存在した場合(S25でYES)、今回の修飾結合表中の二次元プロトンNMR情報を考慮に入れて、知識ベース3に存在した修飾結合表中の二次元プロトンNMR情報を更新する(S26、S27)。
【0077】
この更新方法としては、例えば、知識ベース3に新たな修飾結合表を新規登録した際、およびその更新時に、その修飾結合表に対応して、それまでの同一部分構造にかかる二次元プロトンNMR情報の値を別途保存しておき、同じ部分構造の修飾結合表が出現したとき、この修飾結合表中の二次元プロトンNMR情報と前記保存された過去の二次元プロトンNMR情報とから、化学シフト範囲の中間値、化学シフトの平均値および偏差値を再計算し(S26)、この再計算した値で、知識ベース3に存在した修飾結合表のスペクトル情報302における各行の化学シフト情報3023に含まれる化学シフト範囲の中間値30231、化学シフトの平均値30232および偏差値30233を更新し、補助情報行300の部分構造数3001を+1する(S27)方法がある。勿論、上述のような過去の値を保存せずに、今までの統計値である化学シフト範囲の中間値、化学シフトの平均値および偏差値と今回の二次元プロトンNMR情報とから計算によって更新後の各値を求めるようにしても良い。以下に、化学シフト範囲の中間値と平均値の算出方法の例を示す。
○中間値の算出方法
登録済の中間値(C1とする)、偏差(σ)、新しく入力される第1化学シフト値と第2化学シフト値の最大値(C2)と最小値(C3)とから、登録済最大値(C1+σ)とC2を比較し、大きい方を新たな最大値C4とし、登録済最小値(C1−σ)とC3を比較し、小さい方を新たな最小値C5として、C4とC5の平均値を新たな中間値とする。
○平均値の算出方法
登録済の平均値(C1とする)、平均値を算出するのに用いた化学シフト値の個数(n)、新しく入力される第1化学シフト値と第2化学シフト値の平均値(C2)とから、(C1*n+C2)/(n+1)=C3を新たな平均値とする。
【0078】
なお、ジェミナルプロトンのピークは、有機化合物のスペクトル測定周波数によっては重複ピークとして観測されたり、2つの明確なピークとして観測される場合がある。このため重複ピークとしてジェミナルプロトンが観測された部分構造と、2つの明確なピークとして観測された部分構造との双方が出現した場合、登録更新手段114は、平均値などをとって調整する。例えば、或る部分構造中の或る原子について、化学シフト値2.30ppm、プロトン数2の重複ピークがあり、同じ部分構造中の同じ原子について、2つの明確なピークとして、化学シフト値2.20ppm、プロトン数1の第1のピークと、化学シフト値2.40ppm、プロトン数1の第2のピークがある場合、
(2.30+2.20)/2=2.25ppm、プロトン数1のピーク
(2.30+2.40)/2=2.35ppm、プロトン数1のピーク
を持つような部分構造が知識ベース3に格納されるようにする。
【0079】
(1−5)知識ベース3
知識ベース3は磁気ディスク装置などのランダムアクセス可能な記録媒体に構築された物理的なファイルである。図17に知識ベース3の構成例を示す。先頭の行400には知識ベース3に蓄積された部分構造の総数が設定される。この例では13503個の部分構造が蓄積されている。各部分構造を示す規範化された修飾結合表401は、知識ベース3における部分構造の位置を示すシンボル行「Substructure#」402によって分けられている。各修飾結合表401は、図12で説明したように補助情報行300と結合表301とスペクトル情報302とから構成される。
【0080】
(2)未知有機化合物の測定スペクトル
入力装置4から入力される未知有機化合物のスペクトル情報を含むデータ例を図18に示す。この例では、2D−NMRスペクトル測定で得られた未知有機化合物の各ピーク番号毎の1H−NMRの化学シフト値とプロトン数、H−H COSYスペクトルのクロスピーク情報、および測定溶媒が含まれている。クロスピーク情報は、ピーク番号の組み合わせとなっている。構造推定システム1における入力手段12は、このようなスペクトル情報を入力データとして入力し、部分構造推定手段13および全体構造組立手段15に伝達する。
【0081】
(3)部分構造の推定
次に、入力されたスペクトル情報および知識ベース3の内容に基づき未知有機化合物に含まれる可能性のある部分構造を推定する部分構造推定手段13の詳細を説明する。
【0082】
図19は部分構造推定手段13の全体処理の一例を示すフローチャートである。部分構造推定手段13は、先ず、入力手段12から図18に示したようなデータを入力し(S31)、知識ベース3中のそれぞれの修飾結合表毎に、その修飾結合表中のスペクトル情報(図12の302)が入力データと適合するか否かを調べ、適合する場合にはその修飾結合表が示す部分構造は未知有機化合物に含まれうる可能性のある部分構造と判断し、その部分構造に関する情報を部分構造格納手段14に格納する(S32〜S35)。
【0083】
ステップS33において、修飾結合表中のスペクトル情報が入力データと適合するか否かは概ね以下のようにして判断される。
【0084】
今、知識ベース3に記憶されている部分構造のセットをS、i番目の部分構造をSi(i=1,2,…,n)とする。
S=[Si] i=1,2,…,n (1)
ここで、nは知識ベース3に蓄積された部分構造の数である。
また、部分構造Siの二次元プロトンNMRでのスペクトル特徴が1組のピークPSiと1組のクロスピークCPSiを持つとする。
PSi=[Pj] j=1,2,…,m (2)
CPSi=[Pk×Pl] k≠l (3)
Pk∈PSi and Pl∈PSi (4)
ここで、mは部分構造Siのピークの数である。また、Pk×PlはクロスピークがH−H COSYスペクトルにおいてk番目のピークPkとl番目のピークPlの間になければならないことを意味する。シンボル∈は「含められる」ことを意味する。
他方、入力データによって示される未知有機化合物の二次元プロトンNMRスペクトルが1組のピークPと1組のクロスピークCPを持つとする。
【0085】
この場合、部分構造Siが未知有機化合物に含まれる可能性があるかどうかは、基本的には、以下の式(5)で相関関係をチェックして決定する。
PSi ⊆ P ∧ CPSi ⊆ CP (5)
ここで、⊆:include or equal
∧:and
即ち、未知有機化合物の二次元プロトンNMR情報のピークにマッチするピークを有し、且つ、未知有機化合物の二次元プロトンNMR情報のクロスピークにマッチするクロスピークを有する部分構造を、当該未知有機化合物に含まれる可能性のある部分構造の1つとする。ここで、PSi⊆Pの判定における化学シフト値の照合は或る程度の許容値をもってチェックされる。許容値としては知識ベース3の修飾結合表のスペクトル情報に記述された偏差値および予め定められたデフォルトの偏差値(例えば0.10〜0.15ppm)の内、大きな方を使う。
【0086】
また、前記(5)式に加えて他の条件を加味して、部分構造Siが未知有機化合物に含まれる可能性を判定するようにしても良い。例えば、部分構造SiのピークPkが入力データのピークPxにマッチしたとしても、ピークPkのプロトン数(図12(e)のH原子数3024)がピークPxのプロトン数(図18)より多ければ、候補から除外して良い。
【0087】
また、ヘテロ原子(例えばO、N、S、P、Si等のC以外の原子)に結合したプロトンは、実際にはピークが観測されず、また隣接のプロトンとのクロスピークも観測されない場合がある。これを考慮して、前記(5)式におけるPSi⊆Pのチェックは、部分構造Siのピークタイプ(図12(e)の3022)が1のピークについては、若しマッチしなくても当該判定に関してはマッチすると判断する。同じく、前記(5)式におけるCPSi⊆CPのチェックは、部分構造Siのクロスピークタイプ(図12(g)の30261)が2(ヘテロ原子に結合するプロトンによるクロスピーク)の場合、若しマッチしなくても当該判定に関してはマッチすると判断する。
【0088】
更に、ジェミナルプロトンは、実際には明確な2つのピークとして観測されず、重複ピークとして観測される場合がある。これを考慮して、前記(5)式におけるCPSi⊆CPのチェックは、部分構造Siのクロスピークタイプ(図12(g)の30261)が1(ジェミナルプロトンによるクロスピーク)の場合、若しマッチしなくても当該判定に関してはマッチすると判断する。
【0089】
以上のような考えに基づくステップS33の詳細を図20に示す。先ず、部分構造の1つのピークに注目し(S41)、そのピークの化学シフト値にマッチするピークが入力スペクトルに存在するか否かを調べる(S42)。存在しない場合は、当該部分構造は入力データに適合しないと判断し、候補から除外する(S43)。存在した場合は、更にそのピークの水素原子数が、マッチした入力ピークの水素原子数を超えていないかを調べ(S44)、超えていれば水素原子数が矛盾するので、当該部分構造は入力データに適合しないと判断し、候補から除外する(S43)。或る1つのピークが入力ピークにマッチし且つ水素原子数に矛盾が無ければ(S44でYES)、ステップS41に戻って当該部分構造中の残りのピークについて同様のチェックを行う。このような処理を当該部分構造中の全てのピークについて繰り返し、1つのピークでも入力ピークにマッチしないか、または水素原子数が矛盾していれば候補から除外し、全てのピークが入力ピークにマッチし且つ水素原子数に矛盾がなければ(S45でYES)、次にクロスピークの照合を行う(S46)。なお、ヘテロ原子に結合したプロトンは実際にはピークが観測されない場合があるため、前述のように柔軟に対応する。
【0090】
クロスピークの照合処理S46では、部分構造のピークが同じ水素原子数で入力ピークにマッチした場合と、部分構造のピークが水素原子数のより多い入力ピークにマッチした場合とで、異なる照合の仕方を採用する。
【0091】
先ず、部分構造のピークが同じ水素原子数で入力ピークにマッチした場合には、クロスピークの照合は厳格に実施され、部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピークのみが入力スペクトルに無ければならない。例えば、当該部分構造に化学シフト値K1のピーク1と化学シフト値K2のピーク2とから成るクロスピーク1−2があり、ピーク1の水素原子数は1とする。このとき、ピーク1とマッチするピーク1’が入力スペクトル中にあり、そのピーク1’の水素原子数が同じ1であったとすると、入力スペクトル中にはピーク1’とクロスピークを成すピークとして化学シフト値K2を持つピーク2’だけ存在しなければならず、そのようなピーク2’が存在しないか、存在してもピーク1’にピーク2’以外の他のピークとのクロスピークが存在した場合には照合不一致となる。
【0092】
次に、部分構造のピークが水素原子数のより多い入力ピークにマッチした場合には、クロスピークの照合はより柔軟に実施され、部分構造の当該ピークに係るクロスピークが入力スペクトルに存在しなくても、また、入力スペクトルが他のクロスピークを持っていても良い。例えば、当該部分構造に化学シフト値7.46ppmのピーク1と化学シフト値7.57ppmのピーク2とから成るクロスピーク1−2があり、ピーク1、2の水素原子数は何れも1とする。このとき、ピーク1およびピーク2と許容値0.1ppm以下でマッチする化学シフト値7.50ppmのピーク12’が入力スペクトル中にあり、そのピーク12’の水素原子数が4であったとすると、クロスピーク1−2はマッチしたと判断される。また、化学シフト値7.50ppmの入力ピークが他の入力ピークとクロスピークを持っていても、クロスピーク1−2はマッチしたと判断される。これは、プロトンNMRスペクトルの測定では、しばしばピークで非常に混み合っており、幾つかのピークは重なって大きな積分値を持つ広いピークとして現れ、類似した化学シフト値を持つ2つのピークのクロスピークが1つの重複ピークに埋もれてしまっていることを考慮した対策である。
【0093】
なお、ステップS46においては、ヘテロ原子に結合したプロトン及びジェミナルプロトンは実際には隣接のプロトンとのクロスピークが観測されない場合があるため、前述したように柔軟に対応する。
【0094】
以上のようなクロスピークの照合で不一致となった場合(S47でNO)、当該部分構造は候補から除外される。他方、クロスピークでも照合がとれた場合(S47でYES)、当該部分構造は未知有機化合物に含まれうる可能性のある1つの部分構造と判断する(S48)。そして、本実施例においては、未知有機化合物に含まれる可能性がある当該部分構造の数を以下のようにして推定しておく(S49)。
【0095】
部分構造のピークをPSi(i=1、…、m)、各ピークのプロトン数をPPi(i=1、…、m)、マッチした入力ピークのプロトン数をIPi(i=1、…、m)とするとき、IPi/PPiの商が2以上となるとき、その整数部分をnとして、当該部分構造が最大n個だけ、未知有機化合物に含まれる可能性があるとする。これは、全く同じ複数の部分構造が未知有機化合物に含まれている場合、そのプロトンNMRスペクトルにおいて、この部分構造のスペクトル特徴は全く重なり、対応する水素原子数をより大きくするためである。
【0096】
図21に部分構造格納手段14の例を示す。部分構造格納手段14は磁気ディスク装置などのランダムアクセス可能な記録媒体に生成された物理的なファイルであり、その先頭の行500には推定された部分構造の総数が設定される。この例では652個の部分構造が推定されている。推定された個々の部分構造に関する情報501は、部分構造の位置を示すシンボル行「Sub#」502によって分けられている。
【0097】
各部分構造に関する情報501は、501−1と501−2の2つの部分から成る。第1の部分501−1は、部分構造と入力スペクトルの間のマッチした詳細を示し、503、504、505の3つの部分から成る。最初の部分503は、当該部分構造のピークの数を記述した行である。続く部分504は、1行当たり1ピークで、最初はピーク番号、2番目はマッチした入力ピークの数、最後にマッチした入力ピークの番号である。残りの部分505には、未知有機化合物の構造にあると考えられる当該部分構造の可能な数と、知識ベース3中のこの部分構造の位置とが記述される。第2の部分501−2には、当該部分構造を蓄積する知識ベース3中の修飾結合表を構成する補助情報行300と結合表301とスペクトル情報302がそのまま記述されている。
【0098】
(4)全体構造の推定
次に、部分構造推定手段13によって推定された部分構造から入力スペクトル情報に矛盾しない全ての可能な全体構造を求める全体構造組立手段15について説明する。
【0099】
部分構造推定手段13によって推定された部分構造の中には、完全構造とそうでない構造との2種類がある。完全構造であるか否かは、疑似原子を有するか否かによって判定できる。本実施例の全体構造組立手段15は、完全構造になっている部分構造について処理した後、続いて完全構造でない部分構造について、それらを組み立てることで候補構造を求める。図22に全体構造組立手段15の全体処理の例を示す。
【0100】
全体構造組立手段15は、先ず、部分構造格納手段14に格納された完全構造になっている部分構造を処理する(S51)。この処理は、完全構造になっている部分構造を部分構造格納手段14から読み出し、その完全構造中の水素原子数が入力データ中の水素原子数と矛盾しないかどうか等をチェックし、矛盾がなければ1つの候補構造として候補格納手段16に出力する処理である。詳しくは後述する。
【0101】
次に全体構造組立手段15は、完全構造でない部分構造を組み立てて入力スペクトルに矛盾しない全体構造を組み立てる。先ず、部分構造格納手段14から完全構造以外の部分構造を全て抽出する(S52)。次に、未知有機化合物の全体構造を組み立てる際の出発点となる部分構造の集合を選定する(S53)。全体構造を組み立てる際の出発点となる部分構造を本明細書ではフォーカスノードと呼ぶ。フォーカスノードの選定方法としては、全ての可能な候補構造が、選ばれたフォーカスノードを出発点として組み立てられることが保証されていれば、どのような方法でも良い。最も単純な方法は、ステップS51で抽出した全ての部分構造をフォーカスノードとする方法である。より効率的なフォーカスノードの選定方法については後述する。
【0102】
次に全体構造組立手段15は、1つのフォーカスノード毎に、そのフォーカスノードを出発点として全体構造の組立を行う(S54〜S56)。構造組立の主なアルゴリズムは、「組み立ての森」の検索アルゴリズムである。組み立ての森は、独立した樹から成る。樹のなかでは、未知有機化合物の候補構造は、完全構造をもつ葉(リーフ:これ以上大きくすることができない部分的な若干の構造も、葉である)として考える。他のノードは、異なる部分構造を重ねることによって発生する部分的な構造(新しく発生する、より大きな構造)として扱われる。構造組み立ては、組み立ての森を探すよう処理され、樹の全ての葉を得る。組み立ての樹を探すことは、深さ方向優先戦略によって実施される。そして、バックトラッキング(後方追跡)テクニックが、全部の樹を探すことを保証するために使われる。組み立ての樹の概念図を図23に示す。
【0103】
図23において、シンボル◎、○、□はそれぞれ1つのノードであり、特にノード◎は樹のルートR、ノード□は葉と呼ぶ。ルートRには、フォーカスノードとして選定された部分構造の1つが設定される。ノード○は、異なる部分構造を重ねることによって新しく発生した部分構造を示す。葉のノード□は完全構造をもつ。シンボル△は重ね合わせに使用する部分構造を示す。以下、図23を参照して、組み立ての樹の探索方法を説明する。なお、以下の説明において、或るノード(Aとする)に対して部分構造を重ねることによって新しいノード(Bとする)が生成される場合、ノードAとノードBとの関係において、ノードAを親ノード、ノードBを子ノードと呼ぶ。例えば、図23において、ルートRはノードN11およびノードN12の親ノードであり、ノードN11およびノードN12はルートRの子ノードである。また、ノードN21は、ノードN11から見て子ノードであり、ノードC2から見て親ノードである。
【0104】
先ず、フォーカスノードに対して重ね合わせる部分構造のセットを選定する。このセットをレベル0の部分構造セットと呼び、P[0][n]と記す。nは部分構造の数である。図23の場合、3つの部分構造P[0][3]、P[0][2] P[0][1]を含むセットが選定されている。或るノードに対して重ね合わせる部分構造セットを選定する方法については後述する。次に、フォーカスノードと、レベル0の部分構造セット中の1つの部分構造P[0][3]とを重ね合わせる(矢印(1))。図23の場合、重ね合わせに成功し、新たな部分構造N11が生成されている。このように重ね合わせに成功し、新たな部分構造が生成されると、レベルを1つ進めてレベル1とし、部分構造N11に対する組み立てを続行する。この場合にも、部分構造N11に対して重ね合わせる部分構造セットを選定する。図23の場合、2つの部分構造P[1][2]、P[1][1]を含むレベル1のセットが選定されている。次に、部分構造N11と、レベル1のセット中の1つの部分構造P[1][2]とを重ね合わせる(矢印(2))。図23の場合、重ね合わせに成功し、完全構造C1が生成されている。
【0105】
このように完全構造が生成されると、その構造中の水素原子数が入力データ中の水素原子数と矛盾しないかどうか等をチェックし、矛盾がなければ1つの候補構造として候補格納手段16に出力する。但し、同じ完全構造が既に候補格納手段16に格納されているか否かを調べ、格納されているときは出力しない。そして、バックトラックを行って(矢印(3))、親ノードの部分構造N11に戻る。次に、部分構造N11と、レベル1のセット中の1つの部分構造P[1][1]とを重ね合わせる(矢印(4))。図23の場合、重ね合わせに成功し、新たな部分構造N21が生成されている。従って、レベルを1つ進めてレベル2とし、部分構造N21に対する組み立てを続行すべく、部分構造N21に対して重ね合わせる部分構造セットを選定する。図23の場合、1つの部分構造P[2][1]を含むレベル2のセットが選定されている。そこで、部分構造N21と部分構造P[2][1]とを重ね合わせる(矢印(5))。図23の場合、重ね合わせに成功し、完全構造C2が生成されている。
【0106】
次に、完全構造C2に対して完全構造C1と同様な処理を行った後、バックトラックを行って(矢印(6))、部分構造N21に戻る。この部分構造N21に重ね合わせる部分構造はレベル2のセット中のP[2][1]だけで後は存在しないので、再びバックトラックを行って(矢印(7))、部分構造N11に戻る。この部分構造N11に重ね合わせる部分構造はレベル1のセット中のP[1][2]、P[1][1]で全て処理し終えているので、再びバックトラックを行って(矢印(8))、ルートRに戻る。以下、図23に示す(9)→(10)→(11)→(12)→(13)→(14)…のような順序で、組み立ての樹の探索が続けられる。なお、矢印(10)の先に付したシンボル×は、部分構造N12に対して新たに選定された重ね合わせる部分構造セット内のP[1][2]との重ね合わせが失敗したことを示している。
【0107】
以上のような組み立ての樹の探索において、樹が大きいと全てのノードを保持するにはコンピュータのメモリが不足する場合がある。このような場合には、子ノードを生成したとき、この子ノードを格納するメモリ領域として、親ノードが使っていたメモリ領域を使用し、バックトラックする際には、子ノードから元の部分構造およびスペクトル情報を差し引くことによって親ノードをダイナミックに生成するようにすれば良い。
【0108】
次に、或るノードに対して重ね合わせる部分構造を選定する方法について説明する。フォーカスノードに対して重ね合わせるレベル0の部分構造セットは、部分構造推定手段13で推定された部分構造の中より今回のフォーカスノードを除外した部分構造のうち、フォーカスノードと重ね合わせた場合に出来上がる部分構造のスペクトル情報が入力スペクトル情報と矛盾しない部分構造である。また、レベルn(n≠0)の部分構造セットから選択した或る部分構造aを重ね合わせて出来た部分構造Aに対して重ね合わせるレベルn+1の部分構造セットは、レベルnの部分構造セット中より今回選択した部分構造aを除外した部分構造のうち、前記重ね合わせて出来た部分構造Aと重ね合わせた場合に出来上がる部分構造のスペクトル情報が入力スペクトル情報と矛盾しない部分構造である。ここで、未知有機化合物の構造にあると考えられる部分構造の可能な数(図12(b)の部分構造数3001)が2以上の部分構造については、その数だけの異なる部分構造が存在するものとして扱う。また、スペクトルが矛盾しないかどうかはプロトン数を考慮して判断する。簡単な具体例を挙げて以下説明する。
【0109】
今、部分構造推定手段13で推定された部分構造をSP1、SP2、SP3、SP4、SP5とし、未知有機化合物の構造にあると考えられる部分構造SP1、SP2、SP3、SP4、SP5の数をそれぞれ1、1、1、1、2とする。また、フォーカスノードに選定された部分構造をSP1とする。この場合、フォーカスノードSP1に対して重ね合わせるレベル0の部分構造セットは、SP2、SP3、SP4、SP5、SP5の5つの部分構造のうち、フォーカスノードSP1のスペクトル情報と統合したスペクトル情報が入力スペクトル情報と矛盾しない部分構造とする。例えば、入力スペクトル情報中の或るピークのプロトン数を1とし、フォーカスノードSP1がそのピークにマッチするプロトン数1のピークを既に持っていた場合、SP2、SP3、SP4、SP5、SP5の5つの部分構造のうち、その入力ピークにマッチするピークを持つ部分構造は選定から外される。
【0110】
次に、フォーカスノードSP1に対して重ね合わせるレベル0の部分構造セットとして、SP2、SP5、SP5の3つを含む部分構造セットが選定されたとする。また、フォーカスノードSP1とその内の1つの部分構造、たとえばSP5とが重ね合わされ、そして、重ね合わせに成功したとする。この場合、重ね合わせて出来た部分構造SP1+SP5に対して重ね合わせるレベル1の部分構造セットは、レベル0の部分構造セットからSP5を除いたSP2、SP5のうち、部分構造SP1+SP5と重ね合わせた場合にできる部分構造が持つスペクトル情報が入力スペクトル情報に矛盾しない部分構造のセットである。
【0111】
図24および図25に以上のような考えに基づく樹の探索方法を含めて、図22のステップS55の詳細を示す。先ず、現候補にフォーカスノードの1つを設定する(S61)。次にレベルを示す内部変数Lを0に初期化し(S62)、現候補に対して重ね合わせる部分構造のセットP[0][n]を選定する(S63)。ここで、nは内部変数であり、選定された部分構造の数に等しい。
【0112】
次にL=0且つn=0でないことを確認後(S64)、現候補に対してレベル0の部分構造セット中のn番目の部分構造P[0][n]を重ね合わせる(S66)。図26にステップ66の処理例を示す。先ず、現候補と部分構造との2つを重ね合わせることができるか否かを調べる(S91)。重ね合わせることができる場合には、結合表およびスペクトル情報を統合する。即ち、現候補の結合表と部分構造の結合表を統合することにより、重ね合わせ後の部分構造を構成する各原子とそれらの間の結合関係を示す結合表を生成し(S92)、現候補のスペクトル情報と部分構造のスペクトル情報とを統合することにより、重ね合わせ後の部分構造のスペクトル情報を生成する(S93)。なお、バックトラック時には、ステップS92で生成された結合表から前記部分構造の結合表部分が差し引かれ、ステップS93で生成されたスペクトル情報から前記部分構造のスペクトル情報が差し引かれる。
【0113】
次に、nを−1し(S67)、ステップS66の重ね合わせ処理が失敗していれば(S68でNO)、現候補とレベル0の部分構造セット中の次の部分構造を重ね合わせる。この処理は、現候補と重ね合わせることができる部分構造が見つかるか、n=0、つまりレベル0の部分構造セット中の全ての部分構造を処理し終えるまで続けられる(S65〜S68)。
【0114】
現候補に対してレベル0の部分構造セット中の或る部分構造との重ね合わせが成功した場合(S68でYES)、重ね合わせて出来た構造を現候補とし(S69)、現候補が完全構造か否かを判定する(S70)。完全構造でなければ、Lを+1してレベル1とし(S71)、現候補に対して重ね合わせることが可能なレベル1の部分構造セットP[1][n]を選定する(S72)。そして、ステップS64に戻り、現候補に対して前述と同様の処理を行う。また、ステップS65においてn=0と判定された場合、つまり現候補に対して重ね合わせる部分構造の全てを処理し終えた場合には、内部変数Lを−1し(S73)、現候補から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S74)、ステップS64に戻る。即ち、バックトラックを行う。そして、ステップS64において、L=0且つn=0と判定されたとき、図24および図25の処理を終える。
【0115】
図25において、ステップS81〜S87は、重ね合わせて出来た構造が完全構造となった場合に実施される処理である。先ず、当該完全構造が入力スペクトルに矛盾していないかどうかを調べる。例えば、当該完全構造の総水素原子数が図18の入力データ中のプロトン数の合計と一致するか否かを調べる。また、知識ベースからの部分構造のピーク情報が入力データとマッチすれば、その部分構造からタイプが推定できる。例えば、図21で、スペクトル情報302のピークタイプ3022=1からヘテロであることが確認できる。これは、結合表301の原子タイプ=4であることからもヘテロに起因することがわかる。また、ピークタイプ=0から、炭素であることが分かり、H原子数3024から、水素原子数がわかる。従って、当該完全構造の総水素原子数のチェックに加えて、炭素原子に結合する水素原子数毎のチェックや、ヘテロ原子に結合する水素原子数毎のチェックを実施しても良い。このステップS81のチェックにおいて入力データとの矛盾が検出された完全構造は、候補構造から除外される(S82でNO)。この場合、現候補から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S87)、ステップS65に戻る。即ち、バックトラックを行う。
【0116】
ステップS81のチェックにおいて入力データとの矛盾が検出されなかった完全構造に対しては、規範化を行う(S83)。つまり、知識ベース3の構築の際に説明したのと同様に、当該完全構造中の原子の原子番号を規範化すると共に、当該完全構造に対して規範化されたID番号を付与する。そして、候補格納手段16に当該完全構造と同じ完全構造が既に格納されているか否かを調べる(S84)。同じ構造のものが存在するか否かのチェックは、知識ベース3の構築の際に説明したのと同様に、先ず、規範化されたID番号で候補格納手段16を検索し、同じID番号が無ければ同じ構造のものが格納されていないと判断する。同じID番号の完全構造が格納されていれば、同じ原子番号どうしの原子を比較して同じ構造か否かを調べる。今回の完全構造と同じ構造のものが候補格納手段16に格納されていれば、二重登録を防止するために候補格納手段16へは出力せず、当該完全構造から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S87)、ステップS65に戻る。即ち、バックトラックを行う。
【0117】
今回の完全構造と同じ構造のものが候補格納手段16に格納されていなければ(S84でNO)、当該完全構造がどの程度良い候補であるかを定量的に利用者に提示するために、当該完全構造に対してスコアを算出する(S85)。スコアは、候補構造を構成している部分構造のピークの化学シフト値と、入力NMRスペクトルデータとの整合性に基づいて計算される。スコアを算出する式の一例を以下に示す。
【0118】
【数1】
ここで、
i=1、2、…、m: mは部分構造に存在するピークの数
j=1、2、…、n: nは組み立てに用いて部分構造の数
NH: 各ピークの水素原子の数
A: 知識ベース中の化学シフト値の平均値
S: 各ピークの入力された化学シフト値
Dev: 知識ベース中のピークの化学シフト値の半分の値
MD: 知識ベース全体でのピークの化学シフト値の範囲の半分の値の最大値Mx: 同一部分構造の数の最大値(任意に設定可能で、実施例では50に設定)
NSS: 知識ベース中での同一部分構造の数(50以上の場合は50に設定)
MCSD: その候補構造についての知識ベース中の化学シフト値の平均値と入力データ中のマッチしたピークの化学シフト値との差の最大値(実施例では0.6に設定)
【0119】
以上のようなスコアの算出後、当該候補構造に関する情報を候補格納手段16に格納する(S86)。そして、当該候補構造から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S87)、ステップS65に戻る。即ち、バックトラックを行う。
【0120】
図27に候補格納手段16の例を示す。候補格納手段16は磁気ディスク装置などのランダムアクセス可能な記録媒体に生成された物理的なファイルであり、その先頭の行600には生成した候補構造の総数が設定される。この例では5個の候補構造が生成されている。生成された個々の候補構造に関する情報601は、補助情報601−1と候補構造の結合表601−2の2つの部分から成る。補助情報601−1は、スコア値を記述した行602、候補構造を生成するために使われた部分構造のID番号を列挙した行603、候補構造の大きさ(原子数)を記述した行604を含む。なお、当該候補構造の規範化したID番号は図示されていないが、例えば行602に記述される。
【0121】
候補構造の結合表601−2においては、1つの原子が1つの行で記述される。1つの行において、最初のコラムは原子番号で、第2のコラムは原子名である。第3のコラムは結合の数である。この後に、結合相手の原子番号と結合タイプのペアによる結合の表記が続く。
【0122】
候補格納手段16に格納された上述のような情報は、出力手段17によって読み出され、ディスプレイ装置やプリンタで構成される出力装置5から出力される。
【0123】
次に、図26のステップS91で行う部分構造どうしの重ね合わせの可能性の判定方法について説明する。
【0124】
2つの部分構造の重ね合わせは、水素原子のない構造の部分(つまり非基幹部分)でのみ行う。但し、1つの例外がある。疑似原子は、水素原子のある構造の部分(つまり基幹部分)に重ねることができることである。従って、正確には、2つの部分構造の重ね合わせは、非基幹部分の全ての原子とその息子原子(ここで、息子原子とは、当該非基幹部分に隣接する基幹部分中の原子であって当該非基幹部分の原子に結合している原子を意味する。従って、息子原子は原子タイプ1である)が対象となる。一方の部分構造の何れか1つの非基幹部分の全原子及びその息子原子が、他方の部分構造の何れか1つの非基幹部分の全原子およびその息子原子にマッチするとき、この2つの部分構造は重ね合わせることができる。マッチとは、原子の種類および結合の種類が同一であることを言う。具体例を図28(a)、(b)に示す2つの部分構造A、Bを用いて以下説明する。なお、部分構造A、Bの各原子に付記した数値は原子番号である。
【0125】
部分構造A、Bにおいて、破線で囲んだ部分がそれぞれ非基幹部分であり、一点鎖線で囲んだ部分が非基幹部分の全ての原子とその息子原子とを含む重ね合わせ対象部分になる。部分構造Aには1つの重ね合わせ対象部分aがあり、部分構造Bには2つの重ね合わせ対象部分b1、b2がある。従って、重ね合わせ対象部分a中の全原子が、重ね合わせ対象部分b1、b2の何れかの全原子とマッチすれば、部分構造A、Bは重ね合わせることができる。この例では、重ね合わせ対象部分a中の全原子が重ね合わせ対象部分b1の全原子と以下のようにマッチしているため、図28(c)のように重ね合わせることができる。
【0126】
図29に図26のステップS91で行う部分構造どうしの重ね合わせ判定の処理例を示す。重ね合わせる2つの部分構造は、1つは現候補であり、1つはこの現候補に対して重ねようとする或る部分構造P[L][n]である。先ず、現候補の原子数を内部変数NACに、部分構造の原子数を内部変数NASに、原子番号1を内部変数Nsにそれぞれ設定し、また、重ね合わせ結果を示す内部変数Rに重ね合わせ失敗を意味するNOを初期設定する(S101)。
【0127】
次に、部分構造中から原子タイプが2(プロトンの結合した重ね合わせ可能な炭素原子)または3(疑似原子)の原子を1つ見つける(S102、S108、S109)。次に、この見つけた原子に重ね合わせる原子として、現候補中の原子の内から原子タイプが3(疑似原子)の原子を1つ見つける(S103、S104、S106、S107)。そして、当該2つの原子を重ね合わせのスタート点として、現候補と部分構造とを重ね合わせることができるか否かを調べる(S105)。重ね合わせることができた場合(S105でYES)、内部変数Rに重ね合わせ成功を意味するYESを設定し(S110)、図29の処理を終える。
【0128】
重ね合わせることができなかった場合には(S105でNO)、現候補から別の1つの疑似原子を探し(S106、S107、S104)、存在すれば、部分構造中の前記原子と今回見つけた現候補の疑似原子を重ね合わせのスタート点として、現候補と部分構造とを重ね合わせることができるか否かを調べる処理を、重ね合わせに成功するか、現候補の全ての疑似原子を処理し終えるまで繰り返す。そして、それでも未だ重ね合わせに成功しない場合、部分構造から別の1つの疑似原子または水素原子の結合した重ね合わせ可能な炭素原子を見つけ(S102)、この見つけた原子と現候補中の各疑似原子とをスタート点とする重ね合わせを試行する。この処理を重ね合わせに成功するか、部分構造中の全ての疑似原子、水素原子の結合した重ね合わせ可能な炭素原子を処理し終えるまで繰り返す。重ね合わせに成功しない場合、内部変数RはステップS101で初期設定されたNOのままとなる。
【0129】
図29のステップS105の処理は、level extend−match法を深さ方向優先戦略とバックトラックテクニックと共に使用して行われる。部分構造のスタート原子から始まって、その息子原子がチェックされ、それらの1つがうまく現候補のどれかの原子とマッチするならば、この息子の息子原子が次にチェックされる。この手順は息子の原子が見つけられない、または現候補のどの原子にも合わないときに終了する。終了した場合には、その父原子の他の息子原子を試みる。成功した重ね合わせが見つけられるまで、あるいはスタート原子のペアが重ね合わせにうまく到達できないという結論が得られるまで、このバックトラックが実行される。その処理例を図30に示す。
【0130】
先ず、スタート点の原子Ns、Ncを重ね合わせ対象原子Ws、Wcに初期設定する(S121)。次に、WsとWcとが重ね合わせ可能か否か(マッチするか否か)を調べる(S122)。重ね合わせ可能であり、WsとWcに息子原子が存在すれば(S123、S124でYES)、それらの息子原子の集合PWs、PWcを作る(S125)。図28を参照して説明したように部分構造どうしの重ね合わせは、非基幹部分の全原子とその息子原子を含む重ね合わせ対象部分a、b1、b2が対象となるため、WsとWcに息子原子が存在するか否かの判定は、重ね合わせ対象部分内で息子原子を有するか否かで行う。そして、息子原子の集合PWs、PWcから1つの原子を取り出して新たな重ね合わせ対象原子Ws、Wcとし(S126)、ステップS122に戻り、前述の処理を繰り返す。
【0131】
ステップS122においてWsとWcとが重ね合わせることができない場合、および、ステップS124においてWcに息子原子が存在しなかった場合、バックトラック(トライ)を行う(S127)。この処理は、未だ試行していないWsとWcのペアまでバックトラックして新たな重ね合わせの可能性を試みるステップである。従って、未だ試行していないWsとWcのペアが存在しない場合(S128でNO)、当該スタート点からの重ね合わせは失敗と判定する(S129)。
【0132】
他方、ステップS123においてWsに息子原子が存在しなかった場合、バックトラック(トレース)を行う(S130)。この処理は、部分構造中の重ね合わせ対象部分内の原子の内、未だ重ね合わせできるか否かを調べていない原子までバックトラックする処理である。従って、未だ重ね合わせできるか否かを調べていない原子が残っていない場合(S131でNO)、当該スタート点からの重ね合わせは成功と判定する(S132)。
【0133】
図31に、図28の部分構造Aの原子番号4の原子と部分構造Bの原子番号4の原子とをWs、Wcのスタート点とした際の重ね合わせ判定の流れを示す。なお、部分構造A、Bの原子番号を区別するために原子番号の前にA、Bを付記してある。先ず、原子A4と原子B4とはマッチする(S122でYES)。原子A4、B4には息子原子A3、B3(部分構造Aの原子番号5の原子は重ね合わせ対象部分aの外にあるので息子原子ではない)があるので(S123、S124でYES)、PWs=A3、PWc=B3となり(S125、S126)、原子A3と原子B3とのマッチが調べられる(S122)。判定結果はYESである。次に、原子A3、B3には息子原子A2、A6、B2、B5があるので(S123、S124でYES)、PWs=A2、A6、PWc=B2、B5となる(S126)。
【0134】
そこで、次に原子A6と原子B2とのマッチングを調べたとすると(S122)、マッチしないため、バックトラック(トライ)を行う(S127)。この場合、原子A6と原子B5との新ペアが残っているので(S128でYES)、原子A6と原子B5とのマッチングが調べられる(S122)。その結果はYESである。原子A6には息子原子がないので(S123でNO)、バックトラック(トレース)を行う。この場合、原子A3の息子原子A2を未だチェックしていないので、新ペアとして原子A2と原子B2が選択され、そのマッチングが調べられる(S122)。結果はYESである。原子A2、B2には息子原子A1、B1があるので(S123、S124でYES)、次には原子A1と原子B1とのマッチングが調べられる(S122)。結果はYESである。原子A1には息子原子が存在しないので、バックトラック(トレース)を行う(S130)。この場合、原子A2には未チェックの息子原子はなく、その父原子の原子A3にも未チェックの息子原子はない。また、その父原子はスタート原子A4なので、重ね合わせ成功と判断される。
【0135】
次に図22のステップS53における効率的なフォーカスノードの選定方法を説明する。
【0136】
組み立ての森を探すコンピューティング時間は、スタートの部分構造の数(組み立ての樹の数)と、スタートの部分構造(組み立ての樹の構造)で劇的に変化する。従って、合理的コンピューティング時間内で、全ての可能な候補構造を生成するためには、スタートの部分構造の良い集合、つまり良いフォーカスノードを選定することが重要である。但し、全ての可能な候補構造が選ばれたフォーカスノードから組み立てられ、いかなる構造もミスしないことを保証する必要がある。
【0137】
そこで本例では、入力データ中のスペクトル情報をフォーカスノードの選定をガイドする情報として活用し、入力スペクトル情報中の任意の1つのスペクトル(ピークまたはクロスピーク)にマッチするスペクトルを持つ部分構造の集合のみをフォーカスノードとすることを基本とする。つまり、入力スペクトル情報中に異なる複数のスペクトル(ピークまたはクロスピーク)a、b、cが存在する場合、スペクトルaに適合するスペクトルを有する第1の部分構造の集合、スペクトルbに適合するスペクトルを有する第2の部分構造の集合、スペクトルcに適合するスペクトルを有する第3の部分構造の集合に分けられるが、その何れか1つの集合のみをフォーカスノードとすれば、全ての可能な候補構造がそのフォーカスノードから組み立てられ、いかなる構造もミスしないことが保証されるからである。これにより、部分構造すべてをフォーカスノードとする場合に比べて、組み立ての森を探すコンピューティング時間を短縮することができる。
【0138】
また、入力スペクトル情報にクロスピークが存在しない場合は入力ピークを活用するが、クロスピークが存在する場合には入力ピークでなく、クロスピークを活用する。クロスピークの方が入力ピークより情報量が多いので、それだけ良いフォーカスノードを選定できるからである。例えば、入力スペクトル情報中にクロスピークCP1、CP2と、複数の入力ピークP1、P2、P3とが存在する場合、クロスピークCP1に適合するクロスピークを有する第1の部分構造の集合、クロスピークCP2に適合するクロスピークを有する第2の部分構造の集合に分け、その何れか1つの集合のみをフォーカスノードとする。
【0139】
更により良いフォーカスノードを選定するために、入力スペクトル情報中の異なるスペクトル(ピークまたはクロスピーク)に対応する部分構造の集合を、コンピューティング時間の面から評価し、コンピューティング時間をより短縮し得る集合を選択するようにしても良い。
【0140】
以上のような考えに基づくフォーカスノードの選定処理の一例を図32に示す。先ず、入力データにクロスピーク情報があるか否かを調べる(S141)。あればクロスピーク情報に基づいてフォーカスノードを選定する(S142〜S146)。なければ入力ピークに基づいてフォーカスノードを選定する(S147〜S150、S146)。
【0141】
クロスピーク情報を活用する場合、入力データ中の1つのクロスピークに注目し(S142)、当該クロスピークにマッチするクロスピークを持つ部分構造の集合を生成し(S143)、当該集合を、コンピューティング時間の面から評価したスコアを算出する(S144)。入力データ中に他のクロスピークがあれば(S145でNO)、他のクロスピークに注目を移し、同様の処理を繰り返す。最後に、スコアが最小の部分構造の集合をフォーカスノードに選定する(S146)。
【0142】
入力ピークを活用する場合、入力データ中の1つの入力ピークに注目し(S147)、当該入力ピークにマッチする入力ピークを持つ部分構造の集合を生成し(S148)、当該集合を、コンピューティング時間の面から評価したスコアを算出する(S149)。入力データ中に他の入力ピークがあれば(S150でNO)、他の入力ピークに注目を移し、同様の処理を繰り返す。最後に、スコアが最小の部分構造の集合をフォーカスノードに選定する(S146)。
【0143】
ステップS144、S149におけるスコアの算出方法としては、計算対象となる部分構造の集合をフォーカスノードとして組み立ての森を探す際のコンピューティング時間の優劣を比較できるものであれば、どのような算出方法であっても良い。以下にスコア算出式の例を示す。
【0144】
【数2】
ここで、
n:グループ分け後のフォーカスの部分構造の数
NP:マッチングが可能なパスの数(擬似原子の数)
NH:すでにマッチしたピークの水素の数を引いた残りの水素数プラス1(ゼロにしないために、プラス1)
TG:マッチしたピークのタイプのタグ値で、通常は1、そのうち一つでもヘテロがあるときは2
【0145】
次に、図22のステップS51で行われる、部分構造格納手段14に格納された完全構造に対する全体構造組立手段15の処理例を説明する。
【0146】
図33は図22のステップS51の詳細な処理を示すフローチャートである。先ず、全体構造組立手段15は、部分構造格納手段14から完全構造になっている部分構造を全て抽出する(S160)。次に、1つの完全構造に注目し(S161)、図25のステップS81と同様に無矛盾性のチェックを行う(S162)。そして、矛盾があれば候補構造から除外し、矛盾がなければ、図25のステップS85と同様にスコアを算出し(S163、S164)、図25のステップS86と同様に候補格納手段16へ出力する(S165)。1つの完全構造について処理し終えると、部分構造格納手段14から抽出した次の完全構造について同様の処理を繰り返し、全ての完全構造について処理し終えると(S166でYES)、図33の処理を終了する。
【0147】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、全体構造組立手段15は、部分構造推定手段13で推定された部分構造を完全構造とそうでない構造とに分け、それぞれ別々に処理したが、完全構造のものをそうでない構造のものと一緒に処理することもできる。この場合、図22におけるステップS51、S52は省略され、ステップS53では完全構造をも含めてフォーカスノードを選定する。このとき、前述したフォーカスノード選定基準に漏れた完全構造が存在した場合、その完全構造をフォーカスノードに含ませておく。そして、図24のステップS61の直後にフォーカスノードが完全構造か否かを判定するステップを設け、完全構造であれば図25のステップS81〜S86(但し、S83は除く)を実行して、当該フォーカスノードに対する処理を終えるようにすれば良い。
【0148】
【発明の効果】
以上説明したように本発明によれば、2D−NMRスペクトルを用いた有機化合物の構造推定における組み立て工数の削減が可能となり、効率の良い構造推定が実現できる。その理由は、知識ベースには、プロトンの結合した炭素原子が1原子以上つらなる部分を基幹部分として含む部分構造がその二次元プロトンNMR情報に対応付けて蓄積されているため、未知有機化合物から測定された二次元プロトンNMR情報におけるクロスピークのつながり全体と知識ベース中の各部分構造における二次元プロトンNMR情報との照合が可能となり、未知有機化合物に含まれる可能性のある部分構造の推定段階で従来システムに比べてよりサイズの大きな部分構造を直ちに推定でき、その分、後の組み立て工数の削減が可能になるためである。
【0149】
有機化合物中の同じ芳香族環に属する基幹部分を持つ複数の部分構造を一つの部分構造として知識ベースに蓄積したことにより、未知有機化合物が多数の芳香族環を含む場合の部分構造の推定数を削減でき、後の完全構造の組み立てにおける組み合わせの爆発を防ぐことができる。
【0150】
部分構造の推定において、知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるピークについては、マッチするピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定し、また、知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるクロスピークおよびジェミナルプロトンにかかるクロスピークについては、マッチするクロスピークが前記入力された二次元プロトンNMR情報中の存在しない場合でもマッチしたものと判定することにより、理論的にはピークの出現が期待されているが、実際には測定されない場合があり得るヘテロ原子に結合したプロトンやジェミナルプロトンを含む未知有機化合物の部分構造を漏れなく推定することができる。
【0151】
他方、部分構造の推定において、知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報における同じプロトン数のピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピークのみが前記入力された二次元プロトンNMR情報に存在するか否かを検査することにより、部分構造の推定数をより一層削減することができる。
【0152】
部分構造の推定において、構造推定対象となる有機化合物に含まれる可能性のある部分構造毎に、当該部分構造が前記構造推定対象となる有機化合物に含まれる可能性のある個数を求めることができ、後の全体組み立てに利用することで効率の良い組み立てが可能となる。
【0153】
全体構造の組み立てにおいて、入力の二次元プロトンNMR情報中の各クロスピーク毎に、そのクロスピークにマッチするクロスピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定することにより、推定された全ての部分構造を組み立ての出発点とする場合および入力のピークに着目して出発部分構造を選定する方法に比べて重複する完全構造の組み立て数が減り、全体構造の組み立て時間を短縮することができる。更に、生成した部分構造の集合毎に、その部分構造の集合を全体構造を組み立てる際の出発点となる部分構造に選定した際の優劣をコンピューティング時間の面から評価し、最も評価の高い部分構造の集合を、全体構造を組み立てる際の出発点となる部分構造に選定することにより、より一層の効率化が可能となる。
【0154】
全体構造の組み立てにおける部分構造どうしの重ね合わせに際して、一方の部分構造中の疑似原子と他方の部分構造中の疑似原子またはプロトンの結合した炭素原子とを重ね合わせのスタート点として重ね合わせを試行することにより、任意の原子対をスタート点として重ね合わせを試行する場合に比べて、重ね合わせ可能か否かを高速に判定することができる。
【0155】
全体構造の組み立てにおいて、組み立ての樹のノードから、より大きな部分構造を生成するために当該ノードに部分構造を重ね合わせる処理を行う前に、当該部分構造の二次元プロトンNMR情報と当該ノードの二次元プロトンNMR情報とを統合した二次元プロトンNMR情報が前記入力された二次元プロトンNMR情報に矛盾しないかどうかをチェックし、矛盾する場合には重ね合わせ処理を行わないことで、無駄な重ね合わせ処理を削減でき、処理の効率化が可能となる。
【0156】
全体構造の組み立てにおいて、深さ方向優先探索によって組み立ての樹を探索し、且つ、バックトラック時に直前に重ね合わせた部分構造を差し引くことにより直前のノードを動的に生成することにより、限られた容量のメモリを使って組み立ての樹の探索が行える。
【図面の簡単な説明】
【図1】本発明の一実施の形態にかかる構造推定システムのブロック図である。
【図2】知識ベース構築手段のブロック図である。
【図3】知識ベース構築手段の全体処理の一例を示すフローチャートである。
【図4】化合物データベース中の化合物ファイルの例を示す図である。
【図5】図4の化合物ファイルに対応する有機化合物の構造式を示す図である。
【図6】部分構造抽出手段の処理例を示すフローチャートである。
【図7】有機化合物の全体構造を基幹部分と非基幹部分に分割する例を示す図である。
【図8】有機化合物の全体構造から1つの部分構造を抽出する例を示す図である。
【図9】有機化合物の全体構造から別の部分構造を抽出する例を示す図である。
【図10】有機化合物の全体構造から他の部分構造を抽出する例を示す図である。
【図11】同じ芳香族環に属する基幹部分を持つ部分構造を1つの部分構造に統合する説明図である。
【図12】修飾結合表の説明図である。
【図13】修飾結合表の具体例を示す図である。
【図14】修飾結合表の規範化処理例の説明図である。
【図15】規範化された部分構造ID番号の説明図である。
【図16】登録更新手段の処理例を示すフローチャートである。
【図17】知識ベースの構成例を示す図である。
【図18】未知の有機化合物のスペクトル情報を含む入力データの例を示す図である。
【図19】部分構造推定手段の処理例を示すフローチャートである。
【図20】図19のステップS33の処理例を示すフローチャートである。
【図21】部分構造格納手段の構成例を示す図である。
【図22】全体構造組立手段の全体処理例を示すフローチャートである。
【図23】組み立ての樹の概念を示す図である。
【図24】図22のステップS55の処理例の一部を示すフローチャートである。
【図25】図22のステップS55の処理例の残りの部分を示すフローチャートである。
【図26】図24のステップS66の処理例を示すフローチャートである。
【図27】候補格納手段の構成例を示す図である。
【図28】部分構造どうしの重ね合わせの説明図である。
【図29】図26のステップS91の処理例を示すフローチャートである。
【図30】図29のステップS105の処理例を示すフローチャートである。
【図31】図28の部分構造Aの原子番号4の原子と部分構造Bの原子番号4の原子とをスタート点とした際の重ね合わせ判定の流れを示す図である。
【図32】フォーカスノードの選定処理の一例を示すフローチャートである。
【図33】図22のステップS51の処理例を示すフローチャートである。
【図34】2D−NMRスペクトルの一つの例であるH−HCOSYスペクトルの説明図である。
【図35】従来の知識ベース構築方法の説明図である。
【符号の説明】
1…構造推定システム
11…知識ベース構築手段
12…入力手段
13…部分構造推定手段
14…部分構造格納手段
15…全体構造組立手段
16…候補格納手段
17…出力手段
2…化合物データベース
3…知識ベース
4…入力装置
5…出力装置
【産業上の利用分野】
本発明は有機化合物の構造推定に関し、特に既知の有機化合物の部分構造と二次元プロトンNMR情報(ピークの化学シフトとH−HCOSYピークなどのクロスピークの情報)との相関関係を蓄積する知識ベースを使って、未知の有機化合物から測定された二次元プロトンNMR情報に基づいて未知有機化合物に含まれうる部分構造、更には完全構造を推定する方法に関する。
【0002】
【従来の技術】
有機化合物の構造推定とは、未知の有機化合物のスペクトルを測定し、それを基にコンピュータによってその有機化合物の構造を解析し推定することを言い、一般的には既知の有機化合物の部分構造とスペクトルとの相関関係を蓄積してある知識ベースが利用される。
【0003】
このような有機化合物の構造推定では種々のスペクトルが利用されるが、最近においては二次元NMR(2D−NMR;二次元核磁気共鳴スペクトル)が特に注目されている。その理由は、2D−NMRでは、そのシグナルとシグナルの結合(クロスピーク)情報から一次元NMR(1D−NMR)では容易に得られないような炭素骨格などの連結情報が得られること、パルス磁場勾配法(Pulse Field Gradient)という測定法によって、正確かつ短時間で、少量試料から2D−NMRスペクトルの測定が可能になったことなどによる。
【0004】
図34(a)に同図(b)に示す有機化合物の2D−NMRスペクトルの一つであるH−HCOSYスペクトルを示す。縦軸と横軸とに記載されたa,b,c,d,eは同図(b)の有機化合物を構成するノードA,B,C,D,Eに対応するシグナルであり、縦軸と横軸とで同じ内容になっている。これは一次元NMRのスペクトルデータに相当し、化学シフト値として扱われる。他方、縦軸と横軸のシグナルの交点に付した黒丸はシグナルの結合(クロスピーク)であり、H−H COSYスペクトルに相当する。このうち、クロスピークC/AはノードAとノードCとが隣接していること、クロスピークE/BはノードEとノードBとが隣接していること、クロスピークE/DはノードEとノードDとが隣接していることを、それぞれ示している。
【0005】
このような2D−NMRスペクトルを用いて有機化合物の構造を推定する従来の技術が、特開平10−319105号公報に記載されている。この従来技術では、相関テーブルとリンクテーブルという2種類のテーブルから構成される知識ベースを使う。相関テーブルには、有機化合物の部分構造とその部分構造におけるフォーカスノードの1H−NMRスペクトルにおける化学シフト値とその部分構造のID番号とを含む相関情報が多数蓄積されている。またリンクテーブルには、相関テーブルに登録された部分構造のフォーカスノードのうち、相関テーブルに登録された他の1つ以上の部分構造のフォーカスノードとの間にH−H COSYスペクトルの相関関係があるノード毎に、そのノードをフォーカスノードとする部分構造のID番号である主ID番号と前記相関関係のあるノードをフォーカスノードとする部分構造のID番号である副ID番号とを列挙したID番号列と、前記主ID番号に対応する部分構造のフォーカスノードの1H−NMRスペクトルにおける化学シフト値である主化学シフト値と前記副ID番号に対応する部分構造のフォーカスノードの1H−NMRスペクトルにおける化学シフト値である副化学シフト値とを列挙した化学シフト値列とを持つリンク情報が多数蓄積されている。
【0006】
図35は従来技術で使われる知識ベースの説明図である。今、図35(a)に模式的に示す2つの有機化合物X,Yを考える。Xは、ノードa,b,c,d,e,fがその順に連結された構造を有し、Yは、ノードa,b,c,d,g,hがその順に連結された構造を有する。a〜hはCH,CH2 等の有機化合物を構成するノードである。ここで、Xはノードc,d間とノードd,e間とに各々クロスピークを有し、ノードc,d,eの化学シフト値はK1,K2,K3であるとする。また、Yはノードc,d間にクロスピークを有し、ノードc,dの化学シフト値はXと同じK1,K2であるとする。
【0007】
従来技術では、各有機化合物X,Yについて、化学シフト値を有するノード(つまりプロトンの結合された重原子)をフォーカスノードとして、適当なサイズの部分構造を抽出する。部分構造のサイズとしては、その部分構造内にクロスピーク情報にかかる連結構造が含まれ得るように2スフィア〜6スフィア程度に設定される。従って、抽出する部分構造のサイズを2スフィアとすると、Xについては、ノードc,ノードd,ノードeをそれぞれフォーカスノードとする図35(b)のXc、Xd、Xeに示すような3つの部分構造を抽出し、各々にID番号1,2,3を割り当てる。同様にYについて、ノードc,ノードdをそれぞれフォーカスノードとする図35(b)のYc,Ydに示すような2つの部分構造を抽出し、各々にID番号4,5を割り当てる。そして、Xc,Xd,Xe,Yc,Ydの部分構造に関して、相関テーブルに図35(c)に示すような相関情報Cxc、Cxd、Cxe、Cyc、Cydを登録し、リンクテーブルには図35(d)に示すようなリンク情報Lxc、Lxd、Lxe、Lyc、Lydを登録する。
【0008】
従来技術では、このような知識ベースを使って有機化合物の構造推定を以下のように行う。今、未知有機化合物に対するスペクトル測定によって、図35(e)に示すように、ピークp1,2,3の化学シフト値としてK1,K2,K3が得られ、また、ピークp1とピークp2とが結合し、ピークp2とピークp3とが結合しているとするクロスピーク情報が与えられたとする。この場合、クロスピーク情報にて互いに相関関係があるとされるピーク対(p1,p2)に対して、以下の処理を行う。
【0009】
先ず、一方のピークp1の化学シフト値K1を主化学シフト値として有し且つそのピークp1と相関関係があるとされるピークp2の化学シフト値K2を副化学シフト値として有する化学シフト値列を持つリンク情報Lxc, Lycを第1のリンク情報として、図35(d)のリンクテーブルから抽出する。また、当該ピーク対の他方のピークp2の化学シフト値K2を主化学シフト値として有し且つそのピークp2と相関関係があるとされるピークp1,p3の化学シフト値K1,K3を副化学シフト値として有する化学シフト値列を持つリンク情報Lxdを第2のリンク情報として、図35(d)のリンクテーブルから抽出する。
【0010】
次に、第1のリンク情報と第2のリンク情報の対(Lxc−Lxd,Lyc−Lxdの2つ)のうち、各々の対のリンク情報間で、第1のリンク情報中の副ID番号の1つに第2のリンク情報中の主ID番号が存在し、且つ、第2のリンク情報中の副ID番号の1つに第1のリンク情報中の主ID番号が存在するという条件が成立する対として、Lxc−Lxdを求める。そして、この対の主ID番号ID1,ID2に対応する部分構造Xc,Xdのペアを当該ピーク対p1,p2にかかる部分構造の推定結果の1つの候補とする。
【0011】
ここで、クロスピーク情報を活用せずに、化学シフト値だけで図35(c)の相関テーブルを検索すると、少なくともXc,Xd,Xe,Yc,Ydの5つの部分構造が抽出されてしまう。更に、クロスピーク情報を活用するにしても、上述したペアを求めるという処理を行わない場合は、Xc,Xd以外にYcの部分構造が抽出されてしまう。YcやYdは、ノードdが相関関係を持つノードが1つであるため、本来の候補ではない。このような不要な部分構造を早い段階で除去することにより、後の全体構造の組み立てを効率良く実施することができる。
【0012】
同様な処理は、クロスピーク情報にて互いに相関関係があるとされる他のピーク対(p2,p3)についても実施される。
【0013】
以上のようにして可能な全ての部分構造を推定した後、推定した部分構造を基に完全構造を組み立てる全体構造の組み立て処理が実施される。
【0014】
【発明が解決しようとする課題】
上述した従来技術は、H−HCOSYのクロスピーク情報を積極的に活用した知識ベースを利用している点において画期的なものであったが、次のような課題があった。
【0015】
知識ベース中の部分構造として、1H−NMRスペクトルの化学シフト値を持つノード(つまり水素の結合する原子)をフォーカスノードとする所定サイズの部分構造を採用している。従って、シグナル(化学シフト)が現れるノードが隣接していると、1つのピーク対について、本来お互いに連結される関係にある部分構造のペアが候補構造として求められる。前述した例で説明すると、ピーク対(p1,p2)に対して部分構造Xc,Xdのペアが候補となる。同様に図35(a)の有機化合物Xのようなクロスピークのつながりがあると、他のピーク対(p2,p3)からも本来お互いに連結される関係にある部分構造のペアが候補構造として求められる。即ち、ピーク対のN個のつながりがあるクロスピークからは、お互いに連結される関係にある部分構造のペアが候補構造としてN組求められる。このため、後の全体構造の組み立ての段階で、各ペアを構成する部分構造間の組み立ての為にN回の組み立てが必要となり、更に組み立てられたN個の部分構造を順次に組み立ててより大きな構造にする為にN−1回の組み立てが必要となり、組み立て工程数が増大する。
【0016】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、2D−NMRスペクトルを用いた有機化合物の構造推定における組み立て工数を削減し、効率的な構造推定を可能にすることにある。
【0017】
【課題を解決するための手段】
本発明においては、有機化合物の構造のうち、プロトンの結合した炭素原子が1原子以上つらなる部分を基幹部分、基幹部分以外の部分を非基幹部分と呼ぶ。そして基幹部分は、部分構造上、一体で不可分な部分として捉え、1つの基幹部分を中心にそれに隣接する非基幹部分を含めて1つの部分構造とする。従って、一般に1つの部分構造のサイズは従来技術に比べて大きくなり、その分、後の組立工程数が削減される。また、非基幹部分中の原子が前記基幹部分以外の基幹部分中のプロトンの結合した炭素原子と結合している場合には、当該プロトンの結合した炭素原子を疑似原子として部分構造に含ませる。疑似原子は、水素原子の結合している炭素原子や他の疑似原子と重ね合わせることができる性質を持たせた仮想的な原子である。本発明で使用する知識ベースは、このような部分構造と二次元プロトンNMR情報との相関関係を蓄積している。
【0018】
知識ベース中の前記二次元プロトンNMR情報は、1H−NMRスペクトルにおける各ピークの化学シフト値に加えて、好ましくは各ピークのプロトン数を含み、更に存在する場合にはH−HCOSYなどのクロスピーク情報を含む。また、有機化合物中の同じ芳香族環に属する基幹部分を持つ複数の部分構造は、後の完全構造の組み立てにおける組み合わせの爆発を防ぐために、好ましくは一つの部分構造として知識ベースに蓄積される。
【0019】
このような知識ベースは、知識ベース構築手段によって、多数の有機化合物のそれぞれについてその有機化合物を構成する各原子とそれらの間の結合関係とを示す構造情報およびその有機化合物の1H−NMRスペクトル情報を記録した化合物ファイルを蓄積してある化合物データベースから構築される。
【0020】
構造推定対象となる有機化合物に対する二次元NMRスペクトル測定で得られた二次元プロトンNMR情報もまた、1H−NMRスペクトルにおける各ピークの化学シフト値に加えて、好ましくは各ピークのプロトン数を含み、更に存在する場合にはH−HCOSYなどのクロスピーク情報を含む。このような二次元プロトンNMR情報が入力された場合、部分構造推定手段により、前記知識ベースに蓄積された部分構造のそれぞれについて、その二次元プロトンNMR情報と前記入力された二次元プロトンNMR情報とを照合し、前記構造推定対象となる有機化合物に含まれる可能性のある部分構造を推定する。
【0021】
具体的には、前記部分構造推定手段は、ピーク検査手段によって前記知識ベース中の部分構造の二次元プロトンNMR情報における各ピークの化学シフト値及び各ピークのプロトン数が前記入力された二次元プロトンNMR情報に矛盾しないかどうかを調べ、また、クロスピーク検査手段によって前記知識ベース中の部分構造の二次元プロトンNMR情報における各クロスピークが前記入力された二次元プロトンNMR情報に矛盾しないかどうかを調べ、各ピーク及び各クロスピークが入力スペクトルに矛盾しない部分構造を、前記構造推定対象となる有機化合物に含まれる可能性のある部分構造として推定する。
【0022】
前記ピーク検査手段は、好ましくは、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるピークについては、マッチするピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定する。これは、ヘテロ原子に結合したプロトンの場合、理論的にはピークの出現が期待されているが、実際には測定されない場合があることを考慮した対策である。
【0023】
また前記ピーク検査手段は、好ましくは、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるクロスピークおよびジェミナルプロトンにかかるクロスピークについては、マッチするクロスピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定する。これは、ヘテロ原子に結合したプロトン及びジェミナルプロトンの場合、理論的にはクロスピークの出現が期待されているが、実際には測定されない場合があることを考慮した対策である。
【0024】
また、前記クロスピーク検査手段は、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報における同じプロトン数のピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピークのみが前記入力された二次元プロトンNMR情報に存在するか否かを検査する。これによって、部分構造の推定数をより一層削減することができる。
【0025】
他方、前記クロスピーク検査手段は、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報におけるプロトン数のより多いピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークが前記入力された二次元プロトンNMR情報中に存在しない場合、および部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピーク以外のピークが前記入力された二次元プロトンNMR情報に存在していても、マッチすると判断する。これは、プロトンNMRスペクトルの測定では、類似した化学シフト値を持つ複数のピークが1つの重複ピークとして観測されることがあることを考慮した対策である。
【0026】
また前記クロスピーク検査手段は、前記構造推定対象となる有機化合物に含まれる可能性のある部分構造毎に、その部分構造の二次元プロトンNMR情報における各ピークのプロトン数と前記入力された二次元プロトンNMR情報におけるマッチしたピークのプロトン数とから、当該部分構造が前記構造推定対象となる有機化合物に含まれる可能性のある個数を求める。
【0027】
また本発明は、全体構造組立手段により、前記推定された部分構造から前記構造推定対象となる有機化合物の候補構造を組み立てる。具体的には、前記全体構造組立手段は、出発部分構造選定手段によって、前記部分構造推定手段によって推定された部分構造から全体構造を組み立てる際の出発点となる部分構造を選定し、組立手段によって、該選定された部分構造を出発点として前記入力された二次元プロトンNMR情報と矛盾の無い候補構造を組み立てる。
【0028】
全体構造を組み立てる際の出発点となる部分構造として、前記部分構造推定手段によって推定された部分構造の全てを選定しても良く、より効率良く組み立てが行えるように、入力の二次元プロトンNMR情報中の各クロスピーク毎に、そのクロスピークにマッチするクロスピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定しても良い。また、入力の二次元プロトンNMR情報中にクロスピークが存在しない場合、入力の二次元プロトンNMR情報中の各ピーク毎に、そのピークにマッチするピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定するようにしても良い。更に、生成した部分構造の集合毎に、その部分構造の集合を全体構造を組み立てる際の出発点となる部分構造に選定した際の優劣をコンピューティング時間の面から評価し、最も評価の高い部分構造の集合を、全体構造を組み立てる際の出発点となる部分構造に選定するようにしても良い。
【0029】
前記組立手段は、樹探索手段によって、部分構造どうしを重ね合わせてより大きな部分構造を生成することにより、出発点となる部分構造として選定された部分構造毎に、その部分構造をルートとし、完全構造またはそれ以上大きくできない部分構造をリーフとする組み立ての樹を探索し、検証手段によって、リーフの内、完全構造であって且つ前記入力された二次元プロトンNMR情報と矛盾の無い構造を1つの候補構造とする。検証手段は、好ましくは各候補構造毎に当該完全構造がどの程度良い候補であるかを定量的に示すスコアを算出する。
【0030】
前記樹探索手段は、部分構造どうしの重ね合わせは、疑似原子を例外として、水素原子のない構造の部分でのみ行う。具体的には、一方の部分構造の何れか1つの非基幹部分の全原子及びその息子原子が、他方の部分構造の何れか1つの非基幹部分の全原子およびその息子原子にマッチするとき、この2つの部分構造は重ね合わせることができると判定する。ここで、非基幹部分の原子の息子原子とは、当該非基幹部分に隣接する基幹部分中の原子であって当該非基幹部分の原子に結合している原子を意味する。従って、息子原子は原子タイプ1である。
【0031】
前記樹探索手段は、無駄な重ね合わせを事前に防止するために、組み立ての樹のノードから、より大きな部分構造を生成するために当該ノードに部分構造を重ね合わせる処理を行う前に、当該部分構造の二次元プロトンNMR情報と当該ノードの二次元プロトンNMR情報とを統合した二次元プロトンNMR情報が前記入力された二次元プロトンNMR情報に矛盾しないかどうかをチェックし、矛盾する場合には重ね合わせ処理を行わないようにすることが望ましい。
【0032】
また、前記樹探索手段は、限られた容量のメモリを使って組み立ての樹の探索が行えるようにするために、深さ方向優先探索によって組み立ての樹を探索し、且つ、バックトラック時に直前に重ね合わせた部分構造を差し引くことにより直前のノードを動的に生成する。
【0033】
【発明の実施の形態】
次に本発明の実施の形態の例について図面を参照して詳細に説明する。
【0034】
図1を参照すると、本発明の一実施の形態にかかる構造推定システム1は、化合物データベース2と、この化合物データベース2から構築された知識ベース3と、キーボードやファイル等の入力装置4と、表示装置やファイル等の出力装置5とに接続され、知識ベース構築手段11、入力手段12、部分構造推定手段13、部分構造格納手段14、全体構造組立手段15、候補格納手段16および出力手段17を主要部として有している。
【0035】
このような構造推定システム1は、例えばパーソナルコンピュータ等のコンピュータと構造推定プログラムとによって実現することができる。構造推定プログラムは、CD−ROM、磁気ディスク装置、半導体メモリ等の機械読み取り可能な記録媒体(図示せず)に記録されており、コンピュータの起動時などにコンピュータに読み取られ、コンピュータの動作を制御することにより、コンピュータ上に図1に示した知識ベース構築手段11、入力手段12、部分構造推定手段13、部分構造格納手段14、全体構造組立手段15、候補格納手段16、出力手段17を実現する。
【0036】
このように構成された本実施の形態の構造推定システム1においては、先ず、多数の有機化合物についてその構造および1H−NMRスペクトル情報を蓄積してある化合物データベース2から、知識ベース構築手段11が、有機化合物の部分構造と二次元プロトンNMR情報との相関関係を蓄積する知識ベース3を構築する。ここで、1つの部分構造は、有機化合物に含まれる基幹部分(プロトンの結合した炭素原子が1原子以上つらなる部分)と当該基幹部分に隣接する非基幹部分(プロトンの結合した炭素原子が1原子以上つらなる部分以外の部分)とから構成され、且つ、その非基幹部分中の原子が前記基幹部分以外の基幹部分中のプロトンの結合した炭素原子と結合している場合には当該プロトンの結合した炭素原子を疑似原子として含む。
【0037】
構造推定システム1は、このような知識ベース3を使って未知有機化合物で測定された二次元プロトンNMR情報からその有機化合物の構造を推定する。具体的には、入力手段12は、入力装置4から未知有機化合物の二次元プロトンNMR情報を入力して部分構造推定手段13および全体構造組立手段15に伝達する。部分構造推定手段13は、入力された二次元プロトンNMR情報および知識ベース3の内容に基づき未知有機化合物に含まれる可能性のある全ての部分構造を推定し、部分構造格納手段14に格納する。次に、全体構造組立手段15は、推定された部分構造から入力スペクトル情報に矛盾しない全ての可能な全体構造を求め、候補格納手段16に格納する。そして、出力手段17が候補格納手段16に格納された候補構造を、出力装置5に出力する。
【0038】
以下、本実施の形態にかかる構造推定システム1の各部を詳細に説明する。
【0039】
(1)知識ベースの構築
図2を参照すると、化合物データベース2から知識ベース3を構築する知識ベース構築手段11は、入力手段111、部分構造抽出手段112、修飾結合表生成手段113および登録更新手段114を主要部として有している。図3に知識ベース構築手段11の全体処理の一例を示す。以下、図2および図3を参照して、知識ベース構築手段11の概要を説明する。
【0040】
化合物データベース2には、多数の有機化合物の化合物ファイルが蓄積されている。1つの化合物ファイルは1つの有機化合物に対応し、その有機化合物を構成する各原子とそれらの間の結合関係とを示す構造情報、およびその有機化合物の1H−NMRスペクトル情報が記録されている。入力手段111は、このような化合物データベース2から化合物ファイルを1ファイルずつ順番に入力していく(S1)。
【0041】
部分構造抽出手段112は、入力手段111によって入力された化合物ファイルが示す有機化合物から部分構造を抽出し、また抽出した部分構造に対応する二次元プロトンNMR情報を抽出する(S2)。具体的には、化合物ファイルが示す有機化合物に含まれる基幹部分毎に、当該基幹部分と当該基幹部分に隣接する非基幹部分とから構成される部分構造を抽出し、更にこの部分構造に対応する二次元プロトンNMR情報を抽出する。従って、或る化合物ファイルが示す有機化合物に基幹部分が唯一存在する場合には、当該有機化合物の全体構造が1つの部分構造として抽出される。この場合の部分構造は完全構造となる。他方、基幹部分がn個存在する場合には、n個の部分構造が抽出される。この場合の部分構造は文字通り部分的な構造である。また、芳香族環はリング全体が1つの部分構造に含まれるように部分構造を抽出する。
【0042】
次に、1つの化合物ファイルから抽出された部分構造と二次元プロトンNMR情報との組すべてに対して、修飾結合表生成手段113および登録更新手段114により以下の処理を繰り返す(S3〜S8)。
【0043】
先ず修飾結合表生成手段113は、部分構造を構成する各原子とそれらの間の結合関係とを示す部分構造情報およびその部分構造情報の二次元プロトンNMR情報を含む修飾結合表を生成する(S3)。そして、この生成した修飾結合表を規範化する(S4)。規範化の詳細については後述する。次に登録更新手段114は、規範化された修飾結合表中の部分構造情報と同じ部分構造情報を持つ修飾結合表が知識ベース3に既に登録されているか否かを検査し(S5)、未登録の場合には今回の修飾結合表を知識ベースに追加登録する(S6)。他方、同じ部分構造の修飾結合表が知識ベース3に既に登録されていた場合には、今回の修飾結合表中の二次元プロトンNMR情報を考慮に入れて、知識ベース3中の既登録の修飾結合表中の二次元プロトンNMR情報を更新する(S7)。
【0044】
1化合物ファイルから抽出された個々の部分構造の全てに対して修飾結合表生成手段113および登録更新手段114による上述した処理が終了すると(S8でYES)、制御が入力手段111に戻され、化合物データベース2中の次の化合物ファイルについて前述と同様の処理が行われる。そして、化合物データベース2中の全ての化合物ファイルに対する処理を終えると(S9でYES)、知識ベース3の構築処理が終了する。
【0045】
次に知識ベース構築手段11の実施例について詳細に説明する。
【0046】
(1−1)化合物データベース2
1万数千件の有機化合物について、1H−NMRスペクトルの測定データまたは文献データを収集し、データベース化した。有機化合物1つ当たりのデータは1つの化合物ファイルに格納され、各化合物ファイルは、その有機化合物の構造情報と、その帰属情報を有する1H−NMRスペクトル、および測定条件などのデータを含む。化合物ファイルの例を図4に示す。
【0047】
この例の化合物ファイルは、ヘッダ200と、カウントライン201と、アトムブロック202と、ボンドブロック203と、シフトブロック204とを含んでいる。ヘッダ200には、この化合物ファイルで示される有機化合物の名称等が設定される。今の場合、ETHYL(4−METHOXYPHENYL)ACETATEである。参考までに、その構造式を図5に示す。なお、図5において、1〜14は原子番号である。ここで、本明細書における原子番号とは、各構成重原子を順に番号付けしたものである。また、カウントライン201には、この有機化合物を構成する元素の数(例の場合14)、元素と元素とが結合している数(例の場合14)等が設定される。
【0048】
アトムブロック202とボンドブロック203とは、この化合物ファイルで示される有機化合物の構造情報を示し、アトムブロック202では当該有機化合物を構成する元素の種類等が設定され、ボンドブロック203では各元素間の結合状態等が設定される。アトムブロック202はその各行が1つの元素に対応しており、先頭行から順に原子番号1の元素、原子番号2の元素、…、原子番号14の元素を記述している。各行の先頭から3つまでの数値は当該元素の座標値を示し、その次の記号「C」等が当該元素の種類を示す。以降、各種のデータが設定されるが、本発明に直接関係しないので省略する。ボンドブロック203はその各行が1組の元素間の結合を記述しており、各行の先頭から順に、第1元素の原子番号、第2元素の原子番号、結合状態、…となっている。以降、各種のデータが設定されるが、本発明に直接関係しないので省略する。結合状態は、1が単結合、2が二重結合、3が三重結合、4が芳香族結合、5がその他の結合をそれぞれ示す。例えば、1行目は、原子番号2の元素と原子番号1の元素とが二重結合していることを、2行目は、原子番号3の元素と原子番号1の元素とが単結合していることを、それぞれ示す。
【0049】
なお、アトムブロック202およびボンドブロック203では、一般に水素原子は明示されず、重原子のみ記述される。個々の重原子に結合している水素原子の数は、当該重原子の全原子価と他の重原子との連結に使われる原子価数との差で求まり、他の重原子との連結に使われる原子価数は結合タイプと結合数とにより求まる。
【0050】
最後のシフトブロック204は、この有機化合物に対する1H−NMRスペクトル測定の結果得られたスペクトルデータに関する情報が設定されている。このうち、「N HSF 1」が先頭についている行は、原子番号と化学シフト値とを記述する。例えば、1行目は、原子番号3の元素の第1化学シフト値(lowvalue)および第2化学シフト値(high value)が3.5400ppmであることを示す。なお、その後ろには強度(Intensity)等が付記されるが、本発明と直接関係しないので省略する。また、「N MSC
1」が先頭についている行は、測定共鳴周波数を示し、例の場合、90MHzである。「N SLV 1」が先頭についている行は、測定溶媒の種類を示し、例の場合、重水素化クロロホルム(CDCl3 )である。「N REF 1」が先頭についている行は、当該データが記載されている文献名(出典名)などを示す。M END、$$$$は一化合物情報の終了である。
【0051】
図4の例には無いが、シフトブロック204において、「N HSF 1」が先頭についている複数の行に同じ原子番号が現れる場合がある。これはジェミナルプロトンが存在していることを示す。ジェミナルプロトンとは、狭義には、CH2 におけるCがH2 以外の原子とそれぞれ単結合している結合環境の下で2種の化学シフトが生じる場合の当該H2 の2つのプロトンを意味するが、本明細書においては、CH2 におけるCがH2 以外の原子と二重結合している結合環境の下で2種の化学シフトが生じる場合の当該H2 の2つのプロトン(いわゆる末端ビニル基プロトン)なども包含する意味で使用している。
【0052】
なお、本実施例の場合、化合物データベース2の各化合物ファイルには、H−H COSYスペクトル(クロスピーク)の情報は記録されていない。後述するようにクロスピークは、各化合物ファイルに記述されている有機化合物の構造情報中のプロトンの結合した重原子のつながりと1H−NMRスペクトル情報から論理的に求められる。
【0053】
(1−2)部分構造抽出手段112
図6に部分構造抽出手段112の処理例を示す。部分構造抽出手段112は先ず、化合物ファイル中のアトムブロック202及びボンドブロック203によって規定される有機化合物の全体構造を、プロトンの結合する炭素原子とプロトンの結合しない重原子との間でその結合を切ることにより、基幹部分と非基幹部分とに分割する(S11)。例えば図7(a)に示す構造の有機化合物を例にすると、プロトンの結合する炭素原子は原子番号1、2、4、6、7の原子、プロトンの結合しない重原子は原子番号3、5、8の原子なので、切断箇所は図7(b)に波線で示す合計5箇所であり、図7(c)、(d)、(e)に示す3つの基幹部分と、図7(f)、(g)に示す2つの非基幹部分とに分割される。
【0054】
次に部分構造抽出手段112は、1つの基幹部分に注目し(S12)、以下の処理を行う。先ず、当該基幹部分に、それに隣接する全ての非基幹部分を元通りに結合する(S13)。例えば図7(c)の基幹部分を注目した場合、この基幹部分に隣接する非基幹部分は図7(f)なので、図8(a)に示すように元通りに結合する。次に、非基幹部分に他の基幹部分と結合していた箇所が存在していた場合、その箇所に疑似原子を結合する(S14)。例えば図8(a)の場合、非基幹部分の原子番号8の原子は図7(e)の基幹部分の原子番号7の原子と単結合していた。また、原子番号3の原子は図7(d)の基幹部分の原子番号4の原子と二重結合していた。従って、図8(b)に示すように、それらの結合箇所にそれぞれ疑似原子*を結合する。本実施例においては、この図8(b)に示すような構造が1つの部分構造となる。
【0055】
次に、上述のようにして生成した部分構造に、以下のように二次元プロトンNMR情報を対応付ける(S15)。
【0056】
先ず、当該部分構造に含まれるプロトンに結合された重原子のうち、化合物ファイル中のシフトブロック204に1H−NMRスペクトルのピークの化学シフト値が記述されているものに対し、その記述された化学シフト値を割り当てる。例えば、図8(b)に示す部分構造の場合、プロトンの結合する原子番号1、2は炭素原子であるため、その1H−NMRスペクトルの化学シフト値が化合物ファイルのシフトブロック204に記述されているはずなので、その記述されている化学シフト値をK1、K2とすると、原子番号1、2の各原子に図8(c)のように割り当てる。また、図8(b)に示す部分構造にはプロトンの結合したヘテロ原子はないが、若しそのようなヘテロ原子があって、それに対応するピークの化学シフト値がシフトブロック204に記述されていれば、そのヘテロ原子にその化学シフト値を割り当てる。更に、ジェミナルプロトンを持つ原子の場合、シフトブロック204に記述されている2種の化学シフト値を割り当てる。
【0057】
次に、化合物ファイル中のシフトブロック204に記述されている1H−NMRスペクトルのピークを持つ重原子の当該部分構造内におけるつながりを調べ、ピークを持つ重原子が隣接している部分を1つのクロスピークとする。また、ジェミナルプロトンのように同じ重原子が2種の化学シフト値のピークを持つ場合、その部分もクロスピークとする。例えば図8(b)の場合、化学シフト値K1、K2のピークを持つ原子番号1、2の原子が隣接しているので、クロスピークとして、1−2のクロスピーク情報を生成し、当該部分構造のH−HCOSYスペクトル情報として割り当てる。
【0058】
部分構造抽出手段112は、以上のような処理と同様の処理を他の基幹部分に注目を移して繰り返す(S16)。これにより、図7の例では、図9(a)に示すように、図7(d)の基幹部分に図7(f)、(g)の2つの非基幹部分が結合され、図9(b)に示すように非基幹部分中の他の基幹部分と結合していた箇所に疑似原子*が結合され(疑似原子に置換された元の原子どうしが相互に結合している場合には図示するように疑似原子間も結合しておく)、図9(c)に示すように、プロトンの結合する原子番号4の原子に化合物ファイル中のシフトブロック204から読み込んだ化学シフト値K4が割り当てられる。なお、この場合、クロスピークは存在しない。同様に、図10(a)に示すように、図7(e)の基幹部分に図7(f)、(g)の2つの非基幹部分が結合され、図10(b)に示すように非基幹部分中の他の基幹部分と結合していた箇所に疑似原子*が結合される。このとき、原子番号3の原子と原子番号5の原子とは同じ原子(原子番号4の原子)に結合していたので、その部分には共通の疑似原子が結合される。そして、図10(c)に示すように、プロトンの結合する原子番号6、7の各原子に化合物ファイル中のシフトブロック204から読み込んだ化学シフト値K6、K7が割り当てられると共に、ピークを持つ原子番号6、7が隣接しているので、クロスピークとして、6−7のクロスピーク情報が生成される。
【0059】
最後に部分構造抽出手段112は、今回処理した化合物ファイルが示す有機化合物中に芳香族環が存在するか否かを調べ、存在していれば、同じ芳香族環に属する基幹部分を持つ部分構造を1つの部分構造に統合する(S17)。例えば図11(a)に示すような芳香族環を有する仮の有機化合物を説明の便宜上想定すると、ステップS11〜S16の処理によって図11(b)〜(e)に示す合計4つの部分構造が抽出されるが、同じ芳香族環に属する基幹部分を持つ部分構造は図11(d)と(e)の部分構造なので、そのスペクトル情報も含めて図11(f)に示すように1つの部分構造に統合する。プロトンNMRスペクトルにおいて、芳香族水素は、非常に少ない化学シフト範囲を持つ(通常6.5〜8.5ppm)。このため、芳香族−1Hの部分構造が、この範囲のピークを持つ入力スペクトルのほとんどとマッチし、提案される部分構造の数が多くなる。同じ芳香族環に属する基幹部分を持つ部分構造を上述のように1つの部分構造に統合することで、提案される部分構造の数を大幅に削減でき、後の完全構造の組み立てにおける組み合わせの爆発を防ぐことができる。
【0060】
(1−3)修飾結合表生成手段113
修飾結合表生成手段113は、部分構造抽出手段112で抽出された各部分構造毎に修飾結合表を生成する。各部分構造毎に生成された修飾結合表は、その後に原子番号等の規範化が行われて、規範化された修飾結合表となる。そして、当該部分構造と同じ部分構造が知識ベース3に未登録のときは、後段の登録更新手段114によって知識ベース3に登録され、同じ部分構造が知識ベース3に既に存在するときは、知識ベース3中に存在した同じ部分構造の修飾結合表中のスペクトル情報が後段の登録更新手段114によって更新される。
【0061】
図12(a)に修飾結合表のフォーマット例を示す。この例の修飾結合表は、補助情報行300、結合表301およびスペクトル情報302で構成される。
【0062】
補助情報行300には、図12(b)に示すように、化合物データベース2から抽出された当該部分構造の数3001、当該部分構造中の重原子の数3002、1H−NMRスペクトルのピークの数3003、当該部分構造の規範化されたID番号3004がその順に並べられる。修飾結合表の生成時点では、部分構造数3001は1に初期設定される。ID番号3004は修飾結合表の生成時点では未設定であり、後の規範化時に設定される。
【0063】
結合表301には、当該部分構造を構成する各原子とそれらの間の結合関係とを示す部分構造情報が、1原子について1行で記述される。修飾結合表の生成時点では、当該部分構造を構成する各原子に1から始まる連番の原子番号を付与し、原子番号1の原子から順に1行ずつ記述される。1原子当たりの記述内容は図12(c)に示すように、原子名3011、原子タイプ3012、重原子への結合数3013、結合情報3014の並びとなる。原子タイプ3012は、主に後述する構造組み立てにおける重ね合わせの観点から各原子のタイプを分類したもので、合計5種類あり、それぞれ以下の数値0〜4が割り当てられる。
0:結合プロトンのない重原子
1:結合プロトンがあり且つ重ね合わせ可能な炭素原子
2:疑似原子
3:結合プロトンはあるが、重ね合わせ不可能な炭素原子
4:結合プロトンのあるヘテロ原子
ここで、原子タイプ0、2、4を持つ原子は非基幹部分に含まれ、原子タイプ1、3を持つ原子(炭素原子)は基幹部分に含まれる。また、基幹部分に含まれる炭素原子のうち、隣接する非基幹部分中の原子と結合している炭素原子が原子タイプ1となり、それ以外の炭素原子が原子タイプ3となる。
【0064】
また、結合情報3014には、図12(d)に示すように、結合相手となる原子の原子番号30141と結合タイプ30142の組が設定される。結合タイプ30142は合計5種類あり、それぞれ以下の数値1〜5が割り当てられる。
1:単結合
2:二重結合
3:三重結合
4:芳香族結合
5:その他の結合
【0065】
スペクトル情報302には、当該部分構造の帰属情報としての二次元プロトンNMR情報が、1ピーク当たり1行で記述される。1行当たりの記述内容は図12(e)に示すように、当該ピークに対応する重原子の番号3021、ピークタイプ3022、化学シフト情報3023、当該ピークに対応する重原子に結合されたプロトンの数(H原子数)3024、クロスピークの数3025、クロスピークのペア情報3026となっている。
【0066】
ピークタイプ3022は2種類あり、それぞれ以下の数値0〜1が割り当てられる。
0:炭素原子に付くプロトンに起因するタイプ
1:ヘテロ原子に付くプロトンに起因するタイプ
【0067】
化学シフト情報3023には、図12(f)に示すように、化学シフト範囲の中間値30231、化学シフトの平均値30232、偏差値30233から構成される。ここで、化学シフト範囲の中間値とは、当該部分構造の集積(登録)済の化学シフト値の最大値と最小値を平均した値を言う。もし新しい部分構造の場合は、第1化学シフト値と第2化学シフト値が、最大値であり、最小値となるので、その平均値が中間値となる。また、偏差値としては例えば2σ(95%信頼限界相当)または化学シフト範囲の1/2が使用される。修飾結合表の生成時点では、当該ピークを持つ重原子に対応付けられた第1および第2化学シフト値に基づき、それぞれ以下のように設定される。
化学シフト範囲の中間値30231=(第1化学シフト値+第2化学シフト値)/2
化学シフトの平均値30232=(第1化学シフト値+第2化学シフト値)/2
偏差値30233=|第1化学シフト値−第2化学シフト値|/2
【0068】
クロスピークのペア情報3026は、図12(g)に示すようなピーク番号30261とクロスピークタイプ30262の組が、クロスピーク数3025の数だけ記述される。ピーク番号30261は、その行の原子番号3021とクロスピークを構成する相手原子の原子番号である。クロスピークタイプ30262は3種類あり、それぞれ以下の数値0〜2が割り当てられる。
0:fixed
1:flexible
2:hetero
クロスピークタイプ1はジェミナルプロトンにかかるクロスピークであることを示し、クロスピークタイプ2はヘテロ原子に結合したプロトンを少なくとも一方とするクロスピークであることを示し、クロスピークタイプ0はそれ以外のクロスピークを示す。
【0069】
図13(a)に図8(c)に示した部分構造について生成された修飾結合表の例を示す。なお、図8(c)の部分構造における各原子の原子番号は図13(b)に示したように付け替えられているものとする。なお、L1、L2は化学シフト範囲の中間値、K1、K2はその平均値を示す。
【0070】
次に修飾結合表の規範化について説明する。修飾結合表の規範化は、以下の3段階で実施される。
(ア)部分構造中の原子の原子番号の規範化
(イ)スペクトル情報の規範化
(ウ)部分構造ID番号の規範化
【0071】
部分構造中の原子の原子番号の規範化とは、同じ構造を持つ部分構造については、それらの部分構造間において同じ原子には同じ原子番号を付与するように標準化することを言う。部分構造の原子の規範化番号を得るアルゴリズムとしては、例えば、H.HongとX.XinによってJ.Chem.Inf.Comput.Sci.1994,34,730−734に掲載されたアルゴリズムを使用することができる。この規範化された原子番号を使って修飾結合表における結合表301を書き換える。例えば、図13(b)に示す部分構造中の原子の原子番号1〜6が図14(a)中の矢印で示すように、1→3、2→2、3→1、4→4、5→6、6→5のように規範化された場合、図13(a)の修飾結合表における結合表301は、図14(b)の結合表301のように変更される。
【0072】
次にスペクトル情報の規範化とは、(ア)によって規範化された原子番号を使って修飾結合表におけるスペクトル情報302中のピークが属している重原子の番号を規範化番号で書き換えることを言う。例えば、図14(a)のように原子番号が規範化された場合、図13(a)の修飾結合表におけるスペクトル情報302は、図14(b)のスペクトル情報302のように変更される。
【0073】
最後に部分構造ID番号の規範化とは、規範化後の修飾結合表における結合表301で示される部分構造に対して、重原子の数、所定の原子タイプを持つ原子の数など部分構造の特徴情報をID番号として1つの整数番号に組み込むことを言う。規範化された部分構造ID番号は、修飾結合表における補助情報行300に設定される。規範化された部分構造ID番号のフォーマット例と各桁に組み込む情報の例を図15に示す。この例では、10進数10桁の整数の各桁に部分構造の各種の特徴情報を以下のように組み込んでいる。
桁0−1:作成された部分構造のうち、異なる環境を持つ原子種類の数で、全く同じ環境(対称性)のものがあれば、まとめて1つとする。対称性がない場合は、桁2−3で示される原子の数と同じである。
桁2−3:部分構造を構成する重原子(水素以外の原子)の数
桁4 :原子タイプ1(結合プロトンがあり、且つ重ね合わせ可能な炭素原子)の原子の数
桁5 :原子タイプ2(擬似原子)の原子の数
桁6−7:ヘテロ原子のコードの合計数(ただし同じヘテロ原子が複数存在しても1つのコードのみ)、0:C,1:O,2:N,3:S,4:F,5:Cl,6:Br,7:I,8:P,9:その他
桁8 :環(リング)構造の数
桁9 :水素原子の結合するヘテロ原子の有無、有:1,無:0
【0074】
(1−4)登録更新手段114
図16に登録更新手段114の処理例を示す。登録更新手段114は先ず、修飾結合表生成手段113で生成された規範化された修飾結合表の補助情報行300に設定されている部分構造ID番号をキーに知識ベース3を検索する(S21)。同じ部分構造ID番号を持つ修飾結合表が知識ベース3に存在しなかった場合(S22でNO)、今回の修飾結合表をそのまま知識ベース3に追加登録する(S23)。
【0075】
他方、同じ部分構造ID番号を持つ修飾結合表が知識ベース3に存在した場合(S22でYES)、今回の修飾結合表の結合表301で示される部分構造と、知識ベース3に存在した同じ部分構造ID番号を持つ修飾結合表の結合表で示される部分構造とが同じ構造か比較する(S24)。この比較は、原子番号が規範化されているので、同じ原子番号を持つ原子を比較していくことで足りる。2つの部分構造での同じ原子番号を持つ全ての原子が結合タイプを含めて同じである場合、それらは同じ部分構造と判定する。このような比較の結果、同じ部分構造の修飾結合表が知識ベース3に存在しないことが確かめられた場合(S25でNO)、今回の修飾結合表をそのまま知識ベース3に追加登録する(S23)。
【0076】
反対に、今回の修飾結合表と同じ部分構造の修飾結合表が知識ベース3に存在した場合(S25でYES)、今回の修飾結合表中の二次元プロトンNMR情報を考慮に入れて、知識ベース3に存在した修飾結合表中の二次元プロトンNMR情報を更新する(S26、S27)。
【0077】
この更新方法としては、例えば、知識ベース3に新たな修飾結合表を新規登録した際、およびその更新時に、その修飾結合表に対応して、それまでの同一部分構造にかかる二次元プロトンNMR情報の値を別途保存しておき、同じ部分構造の修飾結合表が出現したとき、この修飾結合表中の二次元プロトンNMR情報と前記保存された過去の二次元プロトンNMR情報とから、化学シフト範囲の中間値、化学シフトの平均値および偏差値を再計算し(S26)、この再計算した値で、知識ベース3に存在した修飾結合表のスペクトル情報302における各行の化学シフト情報3023に含まれる化学シフト範囲の中間値30231、化学シフトの平均値30232および偏差値30233を更新し、補助情報行300の部分構造数3001を+1する(S27)方法がある。勿論、上述のような過去の値を保存せずに、今までの統計値である化学シフト範囲の中間値、化学シフトの平均値および偏差値と今回の二次元プロトンNMR情報とから計算によって更新後の各値を求めるようにしても良い。以下に、化学シフト範囲の中間値と平均値の算出方法の例を示す。
○中間値の算出方法
登録済の中間値(C1とする)、偏差(σ)、新しく入力される第1化学シフト値と第2化学シフト値の最大値(C2)と最小値(C3)とから、登録済最大値(C1+σ)とC2を比較し、大きい方を新たな最大値C4とし、登録済最小値(C1−σ)とC3を比較し、小さい方を新たな最小値C5として、C4とC5の平均値を新たな中間値とする。
○平均値の算出方法
登録済の平均値(C1とする)、平均値を算出するのに用いた化学シフト値の個数(n)、新しく入力される第1化学シフト値と第2化学シフト値の平均値(C2)とから、(C1*n+C2)/(n+1)=C3を新たな平均値とする。
【0078】
なお、ジェミナルプロトンのピークは、有機化合物のスペクトル測定周波数によっては重複ピークとして観測されたり、2つの明確なピークとして観測される場合がある。このため重複ピークとしてジェミナルプロトンが観測された部分構造と、2つの明確なピークとして観測された部分構造との双方が出現した場合、登録更新手段114は、平均値などをとって調整する。例えば、或る部分構造中の或る原子について、化学シフト値2.30ppm、プロトン数2の重複ピークがあり、同じ部分構造中の同じ原子について、2つの明確なピークとして、化学シフト値2.20ppm、プロトン数1の第1のピークと、化学シフト値2.40ppm、プロトン数1の第2のピークがある場合、
(2.30+2.20)/2=2.25ppm、プロトン数1のピーク
(2.30+2.40)/2=2.35ppm、プロトン数1のピーク
を持つような部分構造が知識ベース3に格納されるようにする。
【0079】
(1−5)知識ベース3
知識ベース3は磁気ディスク装置などのランダムアクセス可能な記録媒体に構築された物理的なファイルである。図17に知識ベース3の構成例を示す。先頭の行400には知識ベース3に蓄積された部分構造の総数が設定される。この例では13503個の部分構造が蓄積されている。各部分構造を示す規範化された修飾結合表401は、知識ベース3における部分構造の位置を示すシンボル行「Substructure#」402によって分けられている。各修飾結合表401は、図12で説明したように補助情報行300と結合表301とスペクトル情報302とから構成される。
【0080】
(2)未知有機化合物の測定スペクトル
入力装置4から入力される未知有機化合物のスペクトル情報を含むデータ例を図18に示す。この例では、2D−NMRスペクトル測定で得られた未知有機化合物の各ピーク番号毎の1H−NMRの化学シフト値とプロトン数、H−H COSYスペクトルのクロスピーク情報、および測定溶媒が含まれている。クロスピーク情報は、ピーク番号の組み合わせとなっている。構造推定システム1における入力手段12は、このようなスペクトル情報を入力データとして入力し、部分構造推定手段13および全体構造組立手段15に伝達する。
【0081】
(3)部分構造の推定
次に、入力されたスペクトル情報および知識ベース3の内容に基づき未知有機化合物に含まれる可能性のある部分構造を推定する部分構造推定手段13の詳細を説明する。
【0082】
図19は部分構造推定手段13の全体処理の一例を示すフローチャートである。部分構造推定手段13は、先ず、入力手段12から図18に示したようなデータを入力し(S31)、知識ベース3中のそれぞれの修飾結合表毎に、その修飾結合表中のスペクトル情報(図12の302)が入力データと適合するか否かを調べ、適合する場合にはその修飾結合表が示す部分構造は未知有機化合物に含まれうる可能性のある部分構造と判断し、その部分構造に関する情報を部分構造格納手段14に格納する(S32〜S35)。
【0083】
ステップS33において、修飾結合表中のスペクトル情報が入力データと適合するか否かは概ね以下のようにして判断される。
【0084】
今、知識ベース3に記憶されている部分構造のセットをS、i番目の部分構造をSi(i=1,2,…,n)とする。
S=[Si] i=1,2,…,n (1)
ここで、nは知識ベース3に蓄積された部分構造の数である。
また、部分構造Siの二次元プロトンNMRでのスペクトル特徴が1組のピークPSiと1組のクロスピークCPSiを持つとする。
PSi=[Pj] j=1,2,…,m (2)
CPSi=[Pk×Pl] k≠l (3)
Pk∈PSi and Pl∈PSi (4)
ここで、mは部分構造Siのピークの数である。また、Pk×PlはクロスピークがH−H COSYスペクトルにおいてk番目のピークPkとl番目のピークPlの間になければならないことを意味する。シンボル∈は「含められる」ことを意味する。
他方、入力データによって示される未知有機化合物の二次元プロトンNMRスペクトルが1組のピークPと1組のクロスピークCPを持つとする。
【0085】
この場合、部分構造Siが未知有機化合物に含まれる可能性があるかどうかは、基本的には、以下の式(5)で相関関係をチェックして決定する。
PSi ⊆ P ∧ CPSi ⊆ CP (5)
ここで、⊆:include or equal
∧:and
即ち、未知有機化合物の二次元プロトンNMR情報のピークにマッチするピークを有し、且つ、未知有機化合物の二次元プロトンNMR情報のクロスピークにマッチするクロスピークを有する部分構造を、当該未知有機化合物に含まれる可能性のある部分構造の1つとする。ここで、PSi⊆Pの判定における化学シフト値の照合は或る程度の許容値をもってチェックされる。許容値としては知識ベース3の修飾結合表のスペクトル情報に記述された偏差値および予め定められたデフォルトの偏差値(例えば0.10〜0.15ppm)の内、大きな方を使う。
【0086】
また、前記(5)式に加えて他の条件を加味して、部分構造Siが未知有機化合物に含まれる可能性を判定するようにしても良い。例えば、部分構造SiのピークPkが入力データのピークPxにマッチしたとしても、ピークPkのプロトン数(図12(e)のH原子数3024)がピークPxのプロトン数(図18)より多ければ、候補から除外して良い。
【0087】
また、ヘテロ原子(例えばO、N、S、P、Si等のC以外の原子)に結合したプロトンは、実際にはピークが観測されず、また隣接のプロトンとのクロスピークも観測されない場合がある。これを考慮して、前記(5)式におけるPSi⊆Pのチェックは、部分構造Siのピークタイプ(図12(e)の3022)が1のピークについては、若しマッチしなくても当該判定に関してはマッチすると判断する。同じく、前記(5)式におけるCPSi⊆CPのチェックは、部分構造Siのクロスピークタイプ(図12(g)の30261)が2(ヘテロ原子に結合するプロトンによるクロスピーク)の場合、若しマッチしなくても当該判定に関してはマッチすると判断する。
【0088】
更に、ジェミナルプロトンは、実際には明確な2つのピークとして観測されず、重複ピークとして観測される場合がある。これを考慮して、前記(5)式におけるCPSi⊆CPのチェックは、部分構造Siのクロスピークタイプ(図12(g)の30261)が1(ジェミナルプロトンによるクロスピーク)の場合、若しマッチしなくても当該判定に関してはマッチすると判断する。
【0089】
以上のような考えに基づくステップS33の詳細を図20に示す。先ず、部分構造の1つのピークに注目し(S41)、そのピークの化学シフト値にマッチするピークが入力スペクトルに存在するか否かを調べる(S42)。存在しない場合は、当該部分構造は入力データに適合しないと判断し、候補から除外する(S43)。存在した場合は、更にそのピークの水素原子数が、マッチした入力ピークの水素原子数を超えていないかを調べ(S44)、超えていれば水素原子数が矛盾するので、当該部分構造は入力データに適合しないと判断し、候補から除外する(S43)。或る1つのピークが入力ピークにマッチし且つ水素原子数に矛盾が無ければ(S44でYES)、ステップS41に戻って当該部分構造中の残りのピークについて同様のチェックを行う。このような処理を当該部分構造中の全てのピークについて繰り返し、1つのピークでも入力ピークにマッチしないか、または水素原子数が矛盾していれば候補から除外し、全てのピークが入力ピークにマッチし且つ水素原子数に矛盾がなければ(S45でYES)、次にクロスピークの照合を行う(S46)。なお、ヘテロ原子に結合したプロトンは実際にはピークが観測されない場合があるため、前述のように柔軟に対応する。
【0090】
クロスピークの照合処理S46では、部分構造のピークが同じ水素原子数で入力ピークにマッチした場合と、部分構造のピークが水素原子数のより多い入力ピークにマッチした場合とで、異なる照合の仕方を採用する。
【0091】
先ず、部分構造のピークが同じ水素原子数で入力ピークにマッチした場合には、クロスピークの照合は厳格に実施され、部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピークのみが入力スペクトルに無ければならない。例えば、当該部分構造に化学シフト値K1のピーク1と化学シフト値K2のピーク2とから成るクロスピーク1−2があり、ピーク1の水素原子数は1とする。このとき、ピーク1とマッチするピーク1’が入力スペクトル中にあり、そのピーク1’の水素原子数が同じ1であったとすると、入力スペクトル中にはピーク1’とクロスピークを成すピークとして化学シフト値K2を持つピーク2’だけ存在しなければならず、そのようなピーク2’が存在しないか、存在してもピーク1’にピーク2’以外の他のピークとのクロスピークが存在した場合には照合不一致となる。
【0092】
次に、部分構造のピークが水素原子数のより多い入力ピークにマッチした場合には、クロスピークの照合はより柔軟に実施され、部分構造の当該ピークに係るクロスピークが入力スペクトルに存在しなくても、また、入力スペクトルが他のクロスピークを持っていても良い。例えば、当該部分構造に化学シフト値7.46ppmのピーク1と化学シフト値7.57ppmのピーク2とから成るクロスピーク1−2があり、ピーク1、2の水素原子数は何れも1とする。このとき、ピーク1およびピーク2と許容値0.1ppm以下でマッチする化学シフト値7.50ppmのピーク12’が入力スペクトル中にあり、そのピーク12’の水素原子数が4であったとすると、クロスピーク1−2はマッチしたと判断される。また、化学シフト値7.50ppmの入力ピークが他の入力ピークとクロスピークを持っていても、クロスピーク1−2はマッチしたと判断される。これは、プロトンNMRスペクトルの測定では、しばしばピークで非常に混み合っており、幾つかのピークは重なって大きな積分値を持つ広いピークとして現れ、類似した化学シフト値を持つ2つのピークのクロスピークが1つの重複ピークに埋もれてしまっていることを考慮した対策である。
【0093】
なお、ステップS46においては、ヘテロ原子に結合したプロトン及びジェミナルプロトンは実際には隣接のプロトンとのクロスピークが観測されない場合があるため、前述したように柔軟に対応する。
【0094】
以上のようなクロスピークの照合で不一致となった場合(S47でNO)、当該部分構造は候補から除外される。他方、クロスピークでも照合がとれた場合(S47でYES)、当該部分構造は未知有機化合物に含まれうる可能性のある1つの部分構造と判断する(S48)。そして、本実施例においては、未知有機化合物に含まれる可能性がある当該部分構造の数を以下のようにして推定しておく(S49)。
【0095】
部分構造のピークをPSi(i=1、…、m)、各ピークのプロトン数をPPi(i=1、…、m)、マッチした入力ピークのプロトン数をIPi(i=1、…、m)とするとき、IPi/PPiの商が2以上となるとき、その整数部分をnとして、当該部分構造が最大n個だけ、未知有機化合物に含まれる可能性があるとする。これは、全く同じ複数の部分構造が未知有機化合物に含まれている場合、そのプロトンNMRスペクトルにおいて、この部分構造のスペクトル特徴は全く重なり、対応する水素原子数をより大きくするためである。
【0096】
図21に部分構造格納手段14の例を示す。部分構造格納手段14は磁気ディスク装置などのランダムアクセス可能な記録媒体に生成された物理的なファイルであり、その先頭の行500には推定された部分構造の総数が設定される。この例では652個の部分構造が推定されている。推定された個々の部分構造に関する情報501は、部分構造の位置を示すシンボル行「Sub#」502によって分けられている。
【0097】
各部分構造に関する情報501は、501−1と501−2の2つの部分から成る。第1の部分501−1は、部分構造と入力スペクトルの間のマッチした詳細を示し、503、504、505の3つの部分から成る。最初の部分503は、当該部分構造のピークの数を記述した行である。続く部分504は、1行当たり1ピークで、最初はピーク番号、2番目はマッチした入力ピークの数、最後にマッチした入力ピークの番号である。残りの部分505には、未知有機化合物の構造にあると考えられる当該部分構造の可能な数と、知識ベース3中のこの部分構造の位置とが記述される。第2の部分501−2には、当該部分構造を蓄積する知識ベース3中の修飾結合表を構成する補助情報行300と結合表301とスペクトル情報302がそのまま記述されている。
【0098】
(4)全体構造の推定
次に、部分構造推定手段13によって推定された部分構造から入力スペクトル情報に矛盾しない全ての可能な全体構造を求める全体構造組立手段15について説明する。
【0099】
部分構造推定手段13によって推定された部分構造の中には、完全構造とそうでない構造との2種類がある。完全構造であるか否かは、疑似原子を有するか否かによって判定できる。本実施例の全体構造組立手段15は、完全構造になっている部分構造について処理した後、続いて完全構造でない部分構造について、それらを組み立てることで候補構造を求める。図22に全体構造組立手段15の全体処理の例を示す。
【0100】
全体構造組立手段15は、先ず、部分構造格納手段14に格納された完全構造になっている部分構造を処理する(S51)。この処理は、完全構造になっている部分構造を部分構造格納手段14から読み出し、その完全構造中の水素原子数が入力データ中の水素原子数と矛盾しないかどうか等をチェックし、矛盾がなければ1つの候補構造として候補格納手段16に出力する処理である。詳しくは後述する。
【0101】
次に全体構造組立手段15は、完全構造でない部分構造を組み立てて入力スペクトルに矛盾しない全体構造を組み立てる。先ず、部分構造格納手段14から完全構造以外の部分構造を全て抽出する(S52)。次に、未知有機化合物の全体構造を組み立てる際の出発点となる部分構造の集合を選定する(S53)。全体構造を組み立てる際の出発点となる部分構造を本明細書ではフォーカスノードと呼ぶ。フォーカスノードの選定方法としては、全ての可能な候補構造が、選ばれたフォーカスノードを出発点として組み立てられることが保証されていれば、どのような方法でも良い。最も単純な方法は、ステップS51で抽出した全ての部分構造をフォーカスノードとする方法である。より効率的なフォーカスノードの選定方法については後述する。
【0102】
次に全体構造組立手段15は、1つのフォーカスノード毎に、そのフォーカスノードを出発点として全体構造の組立を行う(S54〜S56)。構造組立の主なアルゴリズムは、「組み立ての森」の検索アルゴリズムである。組み立ての森は、独立した樹から成る。樹のなかでは、未知有機化合物の候補構造は、完全構造をもつ葉(リーフ:これ以上大きくすることができない部分的な若干の構造も、葉である)として考える。他のノードは、異なる部分構造を重ねることによって発生する部分的な構造(新しく発生する、より大きな構造)として扱われる。構造組み立ては、組み立ての森を探すよう処理され、樹の全ての葉を得る。組み立ての樹を探すことは、深さ方向優先戦略によって実施される。そして、バックトラッキング(後方追跡)テクニックが、全部の樹を探すことを保証するために使われる。組み立ての樹の概念図を図23に示す。
【0103】
図23において、シンボル◎、○、□はそれぞれ1つのノードであり、特にノード◎は樹のルートR、ノード□は葉と呼ぶ。ルートRには、フォーカスノードとして選定された部分構造の1つが設定される。ノード○は、異なる部分構造を重ねることによって新しく発生した部分構造を示す。葉のノード□は完全構造をもつ。シンボル△は重ね合わせに使用する部分構造を示す。以下、図23を参照して、組み立ての樹の探索方法を説明する。なお、以下の説明において、或るノード(Aとする)に対して部分構造を重ねることによって新しいノード(Bとする)が生成される場合、ノードAとノードBとの関係において、ノードAを親ノード、ノードBを子ノードと呼ぶ。例えば、図23において、ルートRはノードN11およびノードN12の親ノードであり、ノードN11およびノードN12はルートRの子ノードである。また、ノードN21は、ノードN11から見て子ノードであり、ノードC2から見て親ノードである。
【0104】
先ず、フォーカスノードに対して重ね合わせる部分構造のセットを選定する。このセットをレベル0の部分構造セットと呼び、P[0][n]と記す。nは部分構造の数である。図23の場合、3つの部分構造P[0][3]、P[0][2] P[0][1]を含むセットが選定されている。或るノードに対して重ね合わせる部分構造セットを選定する方法については後述する。次に、フォーカスノードと、レベル0の部分構造セット中の1つの部分構造P[0][3]とを重ね合わせる(矢印(1))。図23の場合、重ね合わせに成功し、新たな部分構造N11が生成されている。このように重ね合わせに成功し、新たな部分構造が生成されると、レベルを1つ進めてレベル1とし、部分構造N11に対する組み立てを続行する。この場合にも、部分構造N11に対して重ね合わせる部分構造セットを選定する。図23の場合、2つの部分構造P[1][2]、P[1][1]を含むレベル1のセットが選定されている。次に、部分構造N11と、レベル1のセット中の1つの部分構造P[1][2]とを重ね合わせる(矢印(2))。図23の場合、重ね合わせに成功し、完全構造C1が生成されている。
【0105】
このように完全構造が生成されると、その構造中の水素原子数が入力データ中の水素原子数と矛盾しないかどうか等をチェックし、矛盾がなければ1つの候補構造として候補格納手段16に出力する。但し、同じ完全構造が既に候補格納手段16に格納されているか否かを調べ、格納されているときは出力しない。そして、バックトラックを行って(矢印(3))、親ノードの部分構造N11に戻る。次に、部分構造N11と、レベル1のセット中の1つの部分構造P[1][1]とを重ね合わせる(矢印(4))。図23の場合、重ね合わせに成功し、新たな部分構造N21が生成されている。従って、レベルを1つ進めてレベル2とし、部分構造N21に対する組み立てを続行すべく、部分構造N21に対して重ね合わせる部分構造セットを選定する。図23の場合、1つの部分構造P[2][1]を含むレベル2のセットが選定されている。そこで、部分構造N21と部分構造P[2][1]とを重ね合わせる(矢印(5))。図23の場合、重ね合わせに成功し、完全構造C2が生成されている。
【0106】
次に、完全構造C2に対して完全構造C1と同様な処理を行った後、バックトラックを行って(矢印(6))、部分構造N21に戻る。この部分構造N21に重ね合わせる部分構造はレベル2のセット中のP[2][1]だけで後は存在しないので、再びバックトラックを行って(矢印(7))、部分構造N11に戻る。この部分構造N11に重ね合わせる部分構造はレベル1のセット中のP[1][2]、P[1][1]で全て処理し終えているので、再びバックトラックを行って(矢印(8))、ルートRに戻る。以下、図23に示す(9)→(10)→(11)→(12)→(13)→(14)…のような順序で、組み立ての樹の探索が続けられる。なお、矢印(10)の先に付したシンボル×は、部分構造N12に対して新たに選定された重ね合わせる部分構造セット内のP[1][2]との重ね合わせが失敗したことを示している。
【0107】
以上のような組み立ての樹の探索において、樹が大きいと全てのノードを保持するにはコンピュータのメモリが不足する場合がある。このような場合には、子ノードを生成したとき、この子ノードを格納するメモリ領域として、親ノードが使っていたメモリ領域を使用し、バックトラックする際には、子ノードから元の部分構造およびスペクトル情報を差し引くことによって親ノードをダイナミックに生成するようにすれば良い。
【0108】
次に、或るノードに対して重ね合わせる部分構造を選定する方法について説明する。フォーカスノードに対して重ね合わせるレベル0の部分構造セットは、部分構造推定手段13で推定された部分構造の中より今回のフォーカスノードを除外した部分構造のうち、フォーカスノードと重ね合わせた場合に出来上がる部分構造のスペクトル情報が入力スペクトル情報と矛盾しない部分構造である。また、レベルn(n≠0)の部分構造セットから選択した或る部分構造aを重ね合わせて出来た部分構造Aに対して重ね合わせるレベルn+1の部分構造セットは、レベルnの部分構造セット中より今回選択した部分構造aを除外した部分構造のうち、前記重ね合わせて出来た部分構造Aと重ね合わせた場合に出来上がる部分構造のスペクトル情報が入力スペクトル情報と矛盾しない部分構造である。ここで、未知有機化合物の構造にあると考えられる部分構造の可能な数(図12(b)の部分構造数3001)が2以上の部分構造については、その数だけの異なる部分構造が存在するものとして扱う。また、スペクトルが矛盾しないかどうかはプロトン数を考慮して判断する。簡単な具体例を挙げて以下説明する。
【0109】
今、部分構造推定手段13で推定された部分構造をSP1、SP2、SP3、SP4、SP5とし、未知有機化合物の構造にあると考えられる部分構造SP1、SP2、SP3、SP4、SP5の数をそれぞれ1、1、1、1、2とする。また、フォーカスノードに選定された部分構造をSP1とする。この場合、フォーカスノードSP1に対して重ね合わせるレベル0の部分構造セットは、SP2、SP3、SP4、SP5、SP5の5つの部分構造のうち、フォーカスノードSP1のスペクトル情報と統合したスペクトル情報が入力スペクトル情報と矛盾しない部分構造とする。例えば、入力スペクトル情報中の或るピークのプロトン数を1とし、フォーカスノードSP1がそのピークにマッチするプロトン数1のピークを既に持っていた場合、SP2、SP3、SP4、SP5、SP5の5つの部分構造のうち、その入力ピークにマッチするピークを持つ部分構造は選定から外される。
【0110】
次に、フォーカスノードSP1に対して重ね合わせるレベル0の部分構造セットとして、SP2、SP5、SP5の3つを含む部分構造セットが選定されたとする。また、フォーカスノードSP1とその内の1つの部分構造、たとえばSP5とが重ね合わされ、そして、重ね合わせに成功したとする。この場合、重ね合わせて出来た部分構造SP1+SP5に対して重ね合わせるレベル1の部分構造セットは、レベル0の部分構造セットからSP5を除いたSP2、SP5のうち、部分構造SP1+SP5と重ね合わせた場合にできる部分構造が持つスペクトル情報が入力スペクトル情報に矛盾しない部分構造のセットである。
【0111】
図24および図25に以上のような考えに基づく樹の探索方法を含めて、図22のステップS55の詳細を示す。先ず、現候補にフォーカスノードの1つを設定する(S61)。次にレベルを示す内部変数Lを0に初期化し(S62)、現候補に対して重ね合わせる部分構造のセットP[0][n]を選定する(S63)。ここで、nは内部変数であり、選定された部分構造の数に等しい。
【0112】
次にL=0且つn=0でないことを確認後(S64)、現候補に対してレベル0の部分構造セット中のn番目の部分構造P[0][n]を重ね合わせる(S66)。図26にステップ66の処理例を示す。先ず、現候補と部分構造との2つを重ね合わせることができるか否かを調べる(S91)。重ね合わせることができる場合には、結合表およびスペクトル情報を統合する。即ち、現候補の結合表と部分構造の結合表を統合することにより、重ね合わせ後の部分構造を構成する各原子とそれらの間の結合関係を示す結合表を生成し(S92)、現候補のスペクトル情報と部分構造のスペクトル情報とを統合することにより、重ね合わせ後の部分構造のスペクトル情報を生成する(S93)。なお、バックトラック時には、ステップS92で生成された結合表から前記部分構造の結合表部分が差し引かれ、ステップS93で生成されたスペクトル情報から前記部分構造のスペクトル情報が差し引かれる。
【0113】
次に、nを−1し(S67)、ステップS66の重ね合わせ処理が失敗していれば(S68でNO)、現候補とレベル0の部分構造セット中の次の部分構造を重ね合わせる。この処理は、現候補と重ね合わせることができる部分構造が見つかるか、n=0、つまりレベル0の部分構造セット中の全ての部分構造を処理し終えるまで続けられる(S65〜S68)。
【0114】
現候補に対してレベル0の部分構造セット中の或る部分構造との重ね合わせが成功した場合(S68でYES)、重ね合わせて出来た構造を現候補とし(S69)、現候補が完全構造か否かを判定する(S70)。完全構造でなければ、Lを+1してレベル1とし(S71)、現候補に対して重ね合わせることが可能なレベル1の部分構造セットP[1][n]を選定する(S72)。そして、ステップS64に戻り、現候補に対して前述と同様の処理を行う。また、ステップS65においてn=0と判定された場合、つまり現候補に対して重ね合わせる部分構造の全てを処理し終えた場合には、内部変数Lを−1し(S73)、現候補から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S74)、ステップS64に戻る。即ち、バックトラックを行う。そして、ステップS64において、L=0且つn=0と判定されたとき、図24および図25の処理を終える。
【0115】
図25において、ステップS81〜S87は、重ね合わせて出来た構造が完全構造となった場合に実施される処理である。先ず、当該完全構造が入力スペクトルに矛盾していないかどうかを調べる。例えば、当該完全構造の総水素原子数が図18の入力データ中のプロトン数の合計と一致するか否かを調べる。また、知識ベースからの部分構造のピーク情報が入力データとマッチすれば、その部分構造からタイプが推定できる。例えば、図21で、スペクトル情報302のピークタイプ3022=1からヘテロであることが確認できる。これは、結合表301の原子タイプ=4であることからもヘテロに起因することがわかる。また、ピークタイプ=0から、炭素であることが分かり、H原子数3024から、水素原子数がわかる。従って、当該完全構造の総水素原子数のチェックに加えて、炭素原子に結合する水素原子数毎のチェックや、ヘテロ原子に結合する水素原子数毎のチェックを実施しても良い。このステップS81のチェックにおいて入力データとの矛盾が検出された完全構造は、候補構造から除外される(S82でNO)。この場合、現候補から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S87)、ステップS65に戻る。即ち、バックトラックを行う。
【0116】
ステップS81のチェックにおいて入力データとの矛盾が検出されなかった完全構造に対しては、規範化を行う(S83)。つまり、知識ベース3の構築の際に説明したのと同様に、当該完全構造中の原子の原子番号を規範化すると共に、当該完全構造に対して規範化されたID番号を付与する。そして、候補格納手段16に当該完全構造と同じ完全構造が既に格納されているか否かを調べる(S84)。同じ構造のものが存在するか否かのチェックは、知識ベース3の構築の際に説明したのと同様に、先ず、規範化されたID番号で候補格納手段16を検索し、同じID番号が無ければ同じ構造のものが格納されていないと判断する。同じID番号の完全構造が格納されていれば、同じ原子番号どうしの原子を比較して同じ構造か否かを調べる。今回の完全構造と同じ構造のものが候補格納手段16に格納されていれば、二重登録を防止するために候補格納手段16へは出力せず、当該完全構造から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S87)、ステップS65に戻る。即ち、バックトラックを行う。
【0117】
今回の完全構造と同じ構造のものが候補格納手段16に格納されていなければ(S84でNO)、当該完全構造がどの程度良い候補であるかを定量的に利用者に提示するために、当該完全構造に対してスコアを算出する(S85)。スコアは、候補構造を構成している部分構造のピークの化学シフト値と、入力NMRスペクトルデータとの整合性に基づいて計算される。スコアを算出する式の一例を以下に示す。
【0118】
【数1】
ここで、
i=1、2、…、m: mは部分構造に存在するピークの数
j=1、2、…、n: nは組み立てに用いて部分構造の数
NH: 各ピークの水素原子の数
A: 知識ベース中の化学シフト値の平均値
S: 各ピークの入力された化学シフト値
Dev: 知識ベース中のピークの化学シフト値の半分の値
MD: 知識ベース全体でのピークの化学シフト値の範囲の半分の値の最大値Mx: 同一部分構造の数の最大値(任意に設定可能で、実施例では50に設定)
NSS: 知識ベース中での同一部分構造の数(50以上の場合は50に設定)
MCSD: その候補構造についての知識ベース中の化学シフト値の平均値と入力データ中のマッチしたピークの化学シフト値との差の最大値(実施例では0.6に設定)
【0119】
以上のようなスコアの算出後、当該候補構造に関する情報を候補格納手段16に格納する(S86)。そして、当該候補構造から直前に重ね合わせた部分構造を差し引いて直前の現候補を復元し(S87)、ステップS65に戻る。即ち、バックトラックを行う。
【0120】
図27に候補格納手段16の例を示す。候補格納手段16は磁気ディスク装置などのランダムアクセス可能な記録媒体に生成された物理的なファイルであり、その先頭の行600には生成した候補構造の総数が設定される。この例では5個の候補構造が生成されている。生成された個々の候補構造に関する情報601は、補助情報601−1と候補構造の結合表601−2の2つの部分から成る。補助情報601−1は、スコア値を記述した行602、候補構造を生成するために使われた部分構造のID番号を列挙した行603、候補構造の大きさ(原子数)を記述した行604を含む。なお、当該候補構造の規範化したID番号は図示されていないが、例えば行602に記述される。
【0121】
候補構造の結合表601−2においては、1つの原子が1つの行で記述される。1つの行において、最初のコラムは原子番号で、第2のコラムは原子名である。第3のコラムは結合の数である。この後に、結合相手の原子番号と結合タイプのペアによる結合の表記が続く。
【0122】
候補格納手段16に格納された上述のような情報は、出力手段17によって読み出され、ディスプレイ装置やプリンタで構成される出力装置5から出力される。
【0123】
次に、図26のステップS91で行う部分構造どうしの重ね合わせの可能性の判定方法について説明する。
【0124】
2つの部分構造の重ね合わせは、水素原子のない構造の部分(つまり非基幹部分)でのみ行う。但し、1つの例外がある。疑似原子は、水素原子のある構造の部分(つまり基幹部分)に重ねることができることである。従って、正確には、2つの部分構造の重ね合わせは、非基幹部分の全ての原子とその息子原子(ここで、息子原子とは、当該非基幹部分に隣接する基幹部分中の原子であって当該非基幹部分の原子に結合している原子を意味する。従って、息子原子は原子タイプ1である)が対象となる。一方の部分構造の何れか1つの非基幹部分の全原子及びその息子原子が、他方の部分構造の何れか1つの非基幹部分の全原子およびその息子原子にマッチするとき、この2つの部分構造は重ね合わせることができる。マッチとは、原子の種類および結合の種類が同一であることを言う。具体例を図28(a)、(b)に示す2つの部分構造A、Bを用いて以下説明する。なお、部分構造A、Bの各原子に付記した数値は原子番号である。
【0125】
部分構造A、Bにおいて、破線で囲んだ部分がそれぞれ非基幹部分であり、一点鎖線で囲んだ部分が非基幹部分の全ての原子とその息子原子とを含む重ね合わせ対象部分になる。部分構造Aには1つの重ね合わせ対象部分aがあり、部分構造Bには2つの重ね合わせ対象部分b1、b2がある。従って、重ね合わせ対象部分a中の全原子が、重ね合わせ対象部分b1、b2の何れかの全原子とマッチすれば、部分構造A、Bは重ね合わせることができる。この例では、重ね合わせ対象部分a中の全原子が重ね合わせ対象部分b1の全原子と以下のようにマッチしているため、図28(c)のように重ね合わせることができる。
【0126】
図29に図26のステップS91で行う部分構造どうしの重ね合わせ判定の処理例を示す。重ね合わせる2つの部分構造は、1つは現候補であり、1つはこの現候補に対して重ねようとする或る部分構造P[L][n]である。先ず、現候補の原子数を内部変数NACに、部分構造の原子数を内部変数NASに、原子番号1を内部変数Nsにそれぞれ設定し、また、重ね合わせ結果を示す内部変数Rに重ね合わせ失敗を意味するNOを初期設定する(S101)。
【0127】
次に、部分構造中から原子タイプが2(プロトンの結合した重ね合わせ可能な炭素原子)または3(疑似原子)の原子を1つ見つける(S102、S108、S109)。次に、この見つけた原子に重ね合わせる原子として、現候補中の原子の内から原子タイプが3(疑似原子)の原子を1つ見つける(S103、S104、S106、S107)。そして、当該2つの原子を重ね合わせのスタート点として、現候補と部分構造とを重ね合わせることができるか否かを調べる(S105)。重ね合わせることができた場合(S105でYES)、内部変数Rに重ね合わせ成功を意味するYESを設定し(S110)、図29の処理を終える。
【0128】
重ね合わせることができなかった場合には(S105でNO)、現候補から別の1つの疑似原子を探し(S106、S107、S104)、存在すれば、部分構造中の前記原子と今回見つけた現候補の疑似原子を重ね合わせのスタート点として、現候補と部分構造とを重ね合わせることができるか否かを調べる処理を、重ね合わせに成功するか、現候補の全ての疑似原子を処理し終えるまで繰り返す。そして、それでも未だ重ね合わせに成功しない場合、部分構造から別の1つの疑似原子または水素原子の結合した重ね合わせ可能な炭素原子を見つけ(S102)、この見つけた原子と現候補中の各疑似原子とをスタート点とする重ね合わせを試行する。この処理を重ね合わせに成功するか、部分構造中の全ての疑似原子、水素原子の結合した重ね合わせ可能な炭素原子を処理し終えるまで繰り返す。重ね合わせに成功しない場合、内部変数RはステップS101で初期設定されたNOのままとなる。
【0129】
図29のステップS105の処理は、level extend−match法を深さ方向優先戦略とバックトラックテクニックと共に使用して行われる。部分構造のスタート原子から始まって、その息子原子がチェックされ、それらの1つがうまく現候補のどれかの原子とマッチするならば、この息子の息子原子が次にチェックされる。この手順は息子の原子が見つけられない、または現候補のどの原子にも合わないときに終了する。終了した場合には、その父原子の他の息子原子を試みる。成功した重ね合わせが見つけられるまで、あるいはスタート原子のペアが重ね合わせにうまく到達できないという結論が得られるまで、このバックトラックが実行される。その処理例を図30に示す。
【0130】
先ず、スタート点の原子Ns、Ncを重ね合わせ対象原子Ws、Wcに初期設定する(S121)。次に、WsとWcとが重ね合わせ可能か否か(マッチするか否か)を調べる(S122)。重ね合わせ可能であり、WsとWcに息子原子が存在すれば(S123、S124でYES)、それらの息子原子の集合PWs、PWcを作る(S125)。図28を参照して説明したように部分構造どうしの重ね合わせは、非基幹部分の全原子とその息子原子を含む重ね合わせ対象部分a、b1、b2が対象となるため、WsとWcに息子原子が存在するか否かの判定は、重ね合わせ対象部分内で息子原子を有するか否かで行う。そして、息子原子の集合PWs、PWcから1つの原子を取り出して新たな重ね合わせ対象原子Ws、Wcとし(S126)、ステップS122に戻り、前述の処理を繰り返す。
【0131】
ステップS122においてWsとWcとが重ね合わせることができない場合、および、ステップS124においてWcに息子原子が存在しなかった場合、バックトラック(トライ)を行う(S127)。この処理は、未だ試行していないWsとWcのペアまでバックトラックして新たな重ね合わせの可能性を試みるステップである。従って、未だ試行していないWsとWcのペアが存在しない場合(S128でNO)、当該スタート点からの重ね合わせは失敗と判定する(S129)。
【0132】
他方、ステップS123においてWsに息子原子が存在しなかった場合、バックトラック(トレース)を行う(S130)。この処理は、部分構造中の重ね合わせ対象部分内の原子の内、未だ重ね合わせできるか否かを調べていない原子までバックトラックする処理である。従って、未だ重ね合わせできるか否かを調べていない原子が残っていない場合(S131でNO)、当該スタート点からの重ね合わせは成功と判定する(S132)。
【0133】
図31に、図28の部分構造Aの原子番号4の原子と部分構造Bの原子番号4の原子とをWs、Wcのスタート点とした際の重ね合わせ判定の流れを示す。なお、部分構造A、Bの原子番号を区別するために原子番号の前にA、Bを付記してある。先ず、原子A4と原子B4とはマッチする(S122でYES)。原子A4、B4には息子原子A3、B3(部分構造Aの原子番号5の原子は重ね合わせ対象部分aの外にあるので息子原子ではない)があるので(S123、S124でYES)、PWs=A3、PWc=B3となり(S125、S126)、原子A3と原子B3とのマッチが調べられる(S122)。判定結果はYESである。次に、原子A3、B3には息子原子A2、A6、B2、B5があるので(S123、S124でYES)、PWs=A2、A6、PWc=B2、B5となる(S126)。
【0134】
そこで、次に原子A6と原子B2とのマッチングを調べたとすると(S122)、マッチしないため、バックトラック(トライ)を行う(S127)。この場合、原子A6と原子B5との新ペアが残っているので(S128でYES)、原子A6と原子B5とのマッチングが調べられる(S122)。その結果はYESである。原子A6には息子原子がないので(S123でNO)、バックトラック(トレース)を行う。この場合、原子A3の息子原子A2を未だチェックしていないので、新ペアとして原子A2と原子B2が選択され、そのマッチングが調べられる(S122)。結果はYESである。原子A2、B2には息子原子A1、B1があるので(S123、S124でYES)、次には原子A1と原子B1とのマッチングが調べられる(S122)。結果はYESである。原子A1には息子原子が存在しないので、バックトラック(トレース)を行う(S130)。この場合、原子A2には未チェックの息子原子はなく、その父原子の原子A3にも未チェックの息子原子はない。また、その父原子はスタート原子A4なので、重ね合わせ成功と判断される。
【0135】
次に図22のステップS53における効率的なフォーカスノードの選定方法を説明する。
【0136】
組み立ての森を探すコンピューティング時間は、スタートの部分構造の数(組み立ての樹の数)と、スタートの部分構造(組み立ての樹の構造)で劇的に変化する。従って、合理的コンピューティング時間内で、全ての可能な候補構造を生成するためには、スタートの部分構造の良い集合、つまり良いフォーカスノードを選定することが重要である。但し、全ての可能な候補構造が選ばれたフォーカスノードから組み立てられ、いかなる構造もミスしないことを保証する必要がある。
【0137】
そこで本例では、入力データ中のスペクトル情報をフォーカスノードの選定をガイドする情報として活用し、入力スペクトル情報中の任意の1つのスペクトル(ピークまたはクロスピーク)にマッチするスペクトルを持つ部分構造の集合のみをフォーカスノードとすることを基本とする。つまり、入力スペクトル情報中に異なる複数のスペクトル(ピークまたはクロスピーク)a、b、cが存在する場合、スペクトルaに適合するスペクトルを有する第1の部分構造の集合、スペクトルbに適合するスペクトルを有する第2の部分構造の集合、スペクトルcに適合するスペクトルを有する第3の部分構造の集合に分けられるが、その何れか1つの集合のみをフォーカスノードとすれば、全ての可能な候補構造がそのフォーカスノードから組み立てられ、いかなる構造もミスしないことが保証されるからである。これにより、部分構造すべてをフォーカスノードとする場合に比べて、組み立ての森を探すコンピューティング時間を短縮することができる。
【0138】
また、入力スペクトル情報にクロスピークが存在しない場合は入力ピークを活用するが、クロスピークが存在する場合には入力ピークでなく、クロスピークを活用する。クロスピークの方が入力ピークより情報量が多いので、それだけ良いフォーカスノードを選定できるからである。例えば、入力スペクトル情報中にクロスピークCP1、CP2と、複数の入力ピークP1、P2、P3とが存在する場合、クロスピークCP1に適合するクロスピークを有する第1の部分構造の集合、クロスピークCP2に適合するクロスピークを有する第2の部分構造の集合に分け、その何れか1つの集合のみをフォーカスノードとする。
【0139】
更により良いフォーカスノードを選定するために、入力スペクトル情報中の異なるスペクトル(ピークまたはクロスピーク)に対応する部分構造の集合を、コンピューティング時間の面から評価し、コンピューティング時間をより短縮し得る集合を選択するようにしても良い。
【0140】
以上のような考えに基づくフォーカスノードの選定処理の一例を図32に示す。先ず、入力データにクロスピーク情報があるか否かを調べる(S141)。あればクロスピーク情報に基づいてフォーカスノードを選定する(S142〜S146)。なければ入力ピークに基づいてフォーカスノードを選定する(S147〜S150、S146)。
【0141】
クロスピーク情報を活用する場合、入力データ中の1つのクロスピークに注目し(S142)、当該クロスピークにマッチするクロスピークを持つ部分構造の集合を生成し(S143)、当該集合を、コンピューティング時間の面から評価したスコアを算出する(S144)。入力データ中に他のクロスピークがあれば(S145でNO)、他のクロスピークに注目を移し、同様の処理を繰り返す。最後に、スコアが最小の部分構造の集合をフォーカスノードに選定する(S146)。
【0142】
入力ピークを活用する場合、入力データ中の1つの入力ピークに注目し(S147)、当該入力ピークにマッチする入力ピークを持つ部分構造の集合を生成し(S148)、当該集合を、コンピューティング時間の面から評価したスコアを算出する(S149)。入力データ中に他の入力ピークがあれば(S150でNO)、他の入力ピークに注目を移し、同様の処理を繰り返す。最後に、スコアが最小の部分構造の集合をフォーカスノードに選定する(S146)。
【0143】
ステップS144、S149におけるスコアの算出方法としては、計算対象となる部分構造の集合をフォーカスノードとして組み立ての森を探す際のコンピューティング時間の優劣を比較できるものであれば、どのような算出方法であっても良い。以下にスコア算出式の例を示す。
【0144】
【数2】
ここで、
n:グループ分け後のフォーカスの部分構造の数
NP:マッチングが可能なパスの数(擬似原子の数)
NH:すでにマッチしたピークの水素の数を引いた残りの水素数プラス1(ゼロにしないために、プラス1)
TG:マッチしたピークのタイプのタグ値で、通常は1、そのうち一つでもヘテロがあるときは2
【0145】
次に、図22のステップS51で行われる、部分構造格納手段14に格納された完全構造に対する全体構造組立手段15の処理例を説明する。
【0146】
図33は図22のステップS51の詳細な処理を示すフローチャートである。先ず、全体構造組立手段15は、部分構造格納手段14から完全構造になっている部分構造を全て抽出する(S160)。次に、1つの完全構造に注目し(S161)、図25のステップS81と同様に無矛盾性のチェックを行う(S162)。そして、矛盾があれば候補構造から除外し、矛盾がなければ、図25のステップS85と同様にスコアを算出し(S163、S164)、図25のステップS86と同様に候補格納手段16へ出力する(S165)。1つの完全構造について処理し終えると、部分構造格納手段14から抽出した次の完全構造について同様の処理を繰り返し、全ての完全構造について処理し終えると(S166でYES)、図33の処理を終了する。
【0147】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、全体構造組立手段15は、部分構造推定手段13で推定された部分構造を完全構造とそうでない構造とに分け、それぞれ別々に処理したが、完全構造のものをそうでない構造のものと一緒に処理することもできる。この場合、図22におけるステップS51、S52は省略され、ステップS53では完全構造をも含めてフォーカスノードを選定する。このとき、前述したフォーカスノード選定基準に漏れた完全構造が存在した場合、その完全構造をフォーカスノードに含ませておく。そして、図24のステップS61の直後にフォーカスノードが完全構造か否かを判定するステップを設け、完全構造であれば図25のステップS81〜S86(但し、S83は除く)を実行して、当該フォーカスノードに対する処理を終えるようにすれば良い。
【0148】
【発明の効果】
以上説明したように本発明によれば、2D−NMRスペクトルを用いた有機化合物の構造推定における組み立て工数の削減が可能となり、効率の良い構造推定が実現できる。その理由は、知識ベースには、プロトンの結合した炭素原子が1原子以上つらなる部分を基幹部分として含む部分構造がその二次元プロトンNMR情報に対応付けて蓄積されているため、未知有機化合物から測定された二次元プロトンNMR情報におけるクロスピークのつながり全体と知識ベース中の各部分構造における二次元プロトンNMR情報との照合が可能となり、未知有機化合物に含まれる可能性のある部分構造の推定段階で従来システムに比べてよりサイズの大きな部分構造を直ちに推定でき、その分、後の組み立て工数の削減が可能になるためである。
【0149】
有機化合物中の同じ芳香族環に属する基幹部分を持つ複数の部分構造を一つの部分構造として知識ベースに蓄積したことにより、未知有機化合物が多数の芳香族環を含む場合の部分構造の推定数を削減でき、後の完全構造の組み立てにおける組み合わせの爆発を防ぐことができる。
【0150】
部分構造の推定において、知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるピークについては、マッチするピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定し、また、知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるクロスピークおよびジェミナルプロトンにかかるクロスピークについては、マッチするクロスピークが前記入力された二次元プロトンNMR情報中の存在しない場合でもマッチしたものと判定することにより、理論的にはピークの出現が期待されているが、実際には測定されない場合があり得るヘテロ原子に結合したプロトンやジェミナルプロトンを含む未知有機化合物の部分構造を漏れなく推定することができる。
【0151】
他方、部分構造の推定において、知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報における同じプロトン数のピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピークのみが前記入力された二次元プロトンNMR情報に存在するか否かを検査することにより、部分構造の推定数をより一層削減することができる。
【0152】
部分構造の推定において、構造推定対象となる有機化合物に含まれる可能性のある部分構造毎に、当該部分構造が前記構造推定対象となる有機化合物に含まれる可能性のある個数を求めることができ、後の全体組み立てに利用することで効率の良い組み立てが可能となる。
【0153】
全体構造の組み立てにおいて、入力の二次元プロトンNMR情報中の各クロスピーク毎に、そのクロスピークにマッチするクロスピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定することにより、推定された全ての部分構造を組み立ての出発点とする場合および入力のピークに着目して出発部分構造を選定する方法に比べて重複する完全構造の組み立て数が減り、全体構造の組み立て時間を短縮することができる。更に、生成した部分構造の集合毎に、その部分構造の集合を全体構造を組み立てる際の出発点となる部分構造に選定した際の優劣をコンピューティング時間の面から評価し、最も評価の高い部分構造の集合を、全体構造を組み立てる際の出発点となる部分構造に選定することにより、より一層の効率化が可能となる。
【0154】
全体構造の組み立てにおける部分構造どうしの重ね合わせに際して、一方の部分構造中の疑似原子と他方の部分構造中の疑似原子またはプロトンの結合した炭素原子とを重ね合わせのスタート点として重ね合わせを試行することにより、任意の原子対をスタート点として重ね合わせを試行する場合に比べて、重ね合わせ可能か否かを高速に判定することができる。
【0155】
全体構造の組み立てにおいて、組み立ての樹のノードから、より大きな部分構造を生成するために当該ノードに部分構造を重ね合わせる処理を行う前に、当該部分構造の二次元プロトンNMR情報と当該ノードの二次元プロトンNMR情報とを統合した二次元プロトンNMR情報が前記入力された二次元プロトンNMR情報に矛盾しないかどうかをチェックし、矛盾する場合には重ね合わせ処理を行わないことで、無駄な重ね合わせ処理を削減でき、処理の効率化が可能となる。
【0156】
全体構造の組み立てにおいて、深さ方向優先探索によって組み立ての樹を探索し、且つ、バックトラック時に直前に重ね合わせた部分構造を差し引くことにより直前のノードを動的に生成することにより、限られた容量のメモリを使って組み立ての樹の探索が行える。
【図面の簡単な説明】
【図1】本発明の一実施の形態にかかる構造推定システムのブロック図である。
【図2】知識ベース構築手段のブロック図である。
【図3】知識ベース構築手段の全体処理の一例を示すフローチャートである。
【図4】化合物データベース中の化合物ファイルの例を示す図である。
【図5】図4の化合物ファイルに対応する有機化合物の構造式を示す図である。
【図6】部分構造抽出手段の処理例を示すフローチャートである。
【図7】有機化合物の全体構造を基幹部分と非基幹部分に分割する例を示す図である。
【図8】有機化合物の全体構造から1つの部分構造を抽出する例を示す図である。
【図9】有機化合物の全体構造から別の部分構造を抽出する例を示す図である。
【図10】有機化合物の全体構造から他の部分構造を抽出する例を示す図である。
【図11】同じ芳香族環に属する基幹部分を持つ部分構造を1つの部分構造に統合する説明図である。
【図12】修飾結合表の説明図である。
【図13】修飾結合表の具体例を示す図である。
【図14】修飾結合表の規範化処理例の説明図である。
【図15】規範化された部分構造ID番号の説明図である。
【図16】登録更新手段の処理例を示すフローチャートである。
【図17】知識ベースの構成例を示す図である。
【図18】未知の有機化合物のスペクトル情報を含む入力データの例を示す図である。
【図19】部分構造推定手段の処理例を示すフローチャートである。
【図20】図19のステップS33の処理例を示すフローチャートである。
【図21】部分構造格納手段の構成例を示す図である。
【図22】全体構造組立手段の全体処理例を示すフローチャートである。
【図23】組み立ての樹の概念を示す図である。
【図24】図22のステップS55の処理例の一部を示すフローチャートである。
【図25】図22のステップS55の処理例の残りの部分を示すフローチャートである。
【図26】図24のステップS66の処理例を示すフローチャートである。
【図27】候補格納手段の構成例を示す図である。
【図28】部分構造どうしの重ね合わせの説明図である。
【図29】図26のステップS91の処理例を示すフローチャートである。
【図30】図29のステップS105の処理例を示すフローチャートである。
【図31】図28の部分構造Aの原子番号4の原子と部分構造Bの原子番号4の原子とをスタート点とした際の重ね合わせ判定の流れを示す図である。
【図32】フォーカスノードの選定処理の一例を示すフローチャートである。
【図33】図22のステップS51の処理例を示すフローチャートである。
【図34】2D−NMRスペクトルの一つの例であるH−HCOSYスペクトルの説明図である。
【図35】従来の知識ベース構築方法の説明図である。
【符号の説明】
1…構造推定システム
11…知識ベース構築手段
12…入力手段
13…部分構造推定手段
14…部分構造格納手段
15…全体構造組立手段
16…候補格納手段
17…出力手段
2…化合物データベース
3…知識ベース
4…入力装置
5…出力装置
Claims (22)
- (a)構造推定対象となる有機化合物に対する二次元NMRスペクトル測定で得られた二次元プロトンNMR情報を入力するステップと、
(b)有機化合物の構造のうち、プロトンの結合した炭素原子が1原子以上つらなる部分を基幹部分、基幹部分以外の部分を非基幹部分と呼ぶとき、有機化合物に含まれる基幹部分と当該基幹部分に隣接する非基幹部分とから構成され、且つ、該非基幹部分中の原子が前記基幹部分以外の基幹部分中のプロトンの結合した炭素原子と結合している場合には当該プロトンの結合した炭素原子を疑似原子として含む部分構造と、二次元プロトンNMR情報との相関関係を蓄積した知識ベースに蓄積された部分構造のそれぞれについて、その二次元プロトンNMR情報と前記入力された二次元プロトンNMR情報とを照合し、前記構造推定対象となる有機化合物に含まれる可能性のある部分構造を推定するステップとを含むことを特徴とする有機化合物の構造推定方法。 - 前記知識ベース中の二次元プロトンNMR情報および前記入力された二次元プロトンNMR情報は、1H−NMRスペクトルにおける各ピークの化学シフト値、各ピークのプロトン数、及び存在する場合にはクロスピーク情報を含む請求項1記載の有機化合物の構造推定方法。
- 前記知識ベースは、有機化合物中の同じ芳香族環に属する基幹部分を持つ複数の部分構造は一つの部分構造として蓄積する請求項2記載の有機化合物の構造推定方法。
- 前記ステップbは、
(b−1)前記知識ベース中の部分構造の二次元プロトンNMR情報における各ピークの化学シフト値及び各ピークのプロトン数が前記入力された二次元プロトンNMR情報に矛盾しないかどうかを調べるステップと、
(b−2)前記知識ベース中の部分構造の二次元プロトンNMR情報における各クロスピークが前記入力された二次元プロトンNMR情報に矛盾しないかどうかを調べるステップとを含む請求項2記載の有機化合物の構造推定方法。 - 前記ステップb−1では、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるピークについては、マッチするピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定する請求項4記載の有機化合物の構造推定方法。
- 前記ステップb−2では、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるヘテロ原子に結合したプロトンにかかるクロスピークおよびジェミナルプロトンにかかるクロスピークについては、マッチするクロスピークが前記入力された二次元プロトンNMR情報中に存在しない場合でもマッチしたものと判定する請求項4記載の有機化合物の構造推定方法。
- 前記ステップb−2では、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報における同じプロトン数のピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピークのみが前記入力された二次元プロトンNMR情報に存在するか否かを検査する請求項4記載の有機化合物の構造推定方法。
- 前記ステップb−2では、前記知識ベース中の部分構造の二次元プロトンNMR情報におけるクロスピークを構成するピークが、前記入力された二次元プロトンNMR情報におけるプロトン数のより多いピークにマッチする場合、部分構造の当該ピークとクロスピークを成すピークが前記入力された二次元プロトンNMR情報中に存在しない場合でも、および部分構造の当該ピークとクロスピークを成すピークとして、当該部分構造が持つピーク以外のピークが前記入力された二次元プロトンNMR情報に存在していても、マッチすると判断する請求項4記載の有機化合物の構造推定方法。
- 前記ステップbは更に、
(b−3)前記構造推定対象となる有機化合物に含まれる可能性のある部分構造毎に、その部分構造の二次元プロトンNMR情報における各ピークのプロトン数と前記入力された二次元プロトンNMR情報におけるマッチしたピークのプロトン数とから、当該部分構造が前記構造推定対象となる有機化合物に含まれる可能性のある個数を求めるステップを含む請求項4記載の有機化合物の構造推定方法。 - (c)前記ステップbによって推定された部分構造から前記構造推定対象となる有機化合物の候補構造を組み立てるステップを更に含む請求項1または2記載の有機化合物の構造推定方法。
- 前記ステップcは、
(c−1)前記ステップbによって推定された部分構造から全体構造を組み立てる際の出発点となる部分構造を選定するステップと、
(c−2)該選定された部分構造を出発点として前記入力された二次元プロトンNMR情報と矛盾の無い候補構造を組み立てるステップとを含む請求項10記載の有機化合物の構造推定方法。 - 前記ステップc−1では、前記ステップbによって推定された部分構造の全てを、全体構造を組み立てる際の出発点となる部分構造に選定する請求項11記載の有機化合物の構造推定方法。
- 前記ステップc−1では、前記入力された二次元プロトンNMR情報中の各クロスピーク毎に、そのクロスピークにマッチするクロスピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定する請求項11記載の有機化合物の構造推定方法。
- 前記ステップc−1では、前記入力された二次元プロトンNMR情報中にクロスピークが存在しない場合、前記入力された二次元プロトンNMR情報中の各ピーク毎に、そのピークにマッチするピークを持つ部分構造の集合を生成し、その部分構造の集合の何れか1つを、全体構造を組み立てる際の出発点となる部分構造に選定する請求項13記載の有機化合物の構造推定方法。
- 前記生成した部分構造の集合毎に、その部分構造の集合を全体構造を組み立てる際の出発点となる部分構造に選定した際の優劣をコンピューティング時間の面から評価し、最も評価の高い部分構造の集合を、全体構造を組み立てる際の出発点となる部分構造に選定する請求項13または14記載の有機化合物の構造推定方法。
- 前記ステップc−2は、
(c−2−1)部分構造どうしを重ね合わせてより大きな部分構造を生成することにより、前記ステップc−1によって選定された部分構造毎に、その部分構造をルートとし、完全構造またはそれ以上大きくできない部分構造をリーフとする組み立ての樹を探索するステップと、
(c−2−2)リーフの内、完全構造であって且つ前記入力された二次元プロトンNMR情報と矛盾の無い構造を1つの候補構造とするステップとを含む請求項11記載の有機化合物の構造推定方法。 - 前記ステップc−2−1では、部分構造どうしの重ね合わせは、疑似原子を例外として、水素原子のない構造の部分でのみ行う請求項16記載の有機化合物の構造推定方法。
- 前記ステップc−2−1では、一方の部分構造の何れか1つの非基幹部分の全原子及びその息子原子が、他方の部分構造の何れか1つの非基幹部分の全原子およびその息子原子にマッチするとき、この2つの部分構造は重ね合わせることができると判定する請求項17記載の有機化合物の構造推定方法。
- 前記ステップc−2−1では、一方の部分構造中の疑似原子と他方の部分構造中の疑似原子またはプロトンの結合した炭素原子とを重ね合わせのスタート点として重ね合わせを試行する請求項18記載の有機化合物の構造推定方法。
- 前記ステップc−2−1では、組み立ての樹のノードから、より大きな部分構造を生成するために当該ノードに部分構造を重ね合わせる処理を行う前に、当該部分構造の二次元プロトンNMR情報と当該ノードの二次元プロトンNMR情報とを統合した二次元プロトンNMR情報が前記入力された二次元プロトンNMR情報に矛盾しないかどうかをチェックし、矛盾する場合には重ね合わせ処理を行わない請求項16記載の有機化合物の構造推定方法。
- 前記ステップc−2−1では、深さ方向優先探索によって組み立ての樹を探索し、且つ、バックトラック時に直前に重ね合わせた部分構造を差し引くことにより直前のノードを動的に生成する請求項16記載の有機化合物の構造推定方法。
- 前記ステップc−2−2では、各候補構造毎に当該完全構造がどの程度良い候補であるかを定量的に示すスコアを算出する請求項16記載の有機化合物の構造推定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000239781A JP3725768B2 (ja) | 2000-08-08 | 2000-08-08 | 有機化合物の構造推定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000239781A JP3725768B2 (ja) | 2000-08-08 | 2000-08-08 | 有機化合物の構造推定方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002055151A JP2002055151A (ja) | 2002-02-20 |
JP2002055151A5 JP2002055151A5 (ja) | 2004-11-18 |
JP3725768B2 true JP3725768B2 (ja) | 2005-12-14 |
Family
ID=18731261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000239781A Expired - Fee Related JP3725768B2 (ja) | 2000-08-08 | 2000-08-08 | 有機化合物の構造推定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3725768B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014207670A1 (en) * | 2013-06-25 | 2014-12-31 | Council Of Scientific & Industrial Research | Simulated carbon and proton nmr chemical shifts based binary fingerprints for virtual screening |
-
2000
- 2000-08-08 JP JP2000239781A patent/JP3725768B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002055151A (ja) | 2002-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Dlfix: Context-based code transformation learning for automated program repair | |
Vilain et al. | A diagrammatic tool for representing user interaction in UML | |
CN104662513B (zh) | 自动改进程序编译中的并行处理的方法及其系统 | |
Pham et al. | Complete and accurate clone detection in graph-based models | |
CN101675430B (zh) | 用于近似串匹配的方法和系统 | |
Raychev et al. | Refactoring with synthesis | |
Yadla et al. | Tracing requirements to defect reports: an application of information retrieval techniques | |
CN101739335A (zh) | 建议的应用评估系统 | |
CN116827516A (zh) | 用于确定机器可执行合约的状态的计算机实现系统和方法 | |
JPH0816378A (ja) | プログラム・リバース解析方法および装置 | |
JP3725768B2 (ja) | 有機化合物の構造推定方法 | |
Ma et al. | How to Understand Whole Software Repository? | |
Otto et al. | A flow graph based approach for controlled generation of AAS digital twin instances for the verification of compliance check tools | |
JP6737734B2 (ja) | 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム | |
CN103207858B (zh) | 用于推荐Web服务组合的装置和方法 | |
JP3725767B2 (ja) | 知識ベース構築方法 | |
CN104504114B (zh) | 基于多哈希表的关系操作优化方法、装置和系统 | |
GB2366402A (en) | Syntax validation using syntax trees | |
Hughes et al. | Polish parsers, step by step | |
US6055529A (en) | Method, apparatus and computer program product for extracting known patterns from a data structure in a single pass | |
JP6900956B2 (ja) | 検証プログラム、検証装置、検証方法、インデックス生成プログラム、インデックス生成装置およびインデックス生成方法 | |
JP6511793B2 (ja) | テストケース生成プログラム、テストケース生成方法及びテストケース生成装置 | |
Mennie et al. | Giving meaning to macros | |
JP6772606B2 (ja) | データ処理プログラム、データ処理方法、及びデータ処理装置 | |
US20140122660A1 (en) | Web Navigation Using Web Navigation Pattern Histories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050922 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |