反応データで使用される試薬の埋め込みスペースを探索するためのWebアプリ。私たちの論文では、化学反応データの試薬をインタラクティブな試薬スペースマップで説明しています。
このアプリは、反応における試薬の共起統計を調査する視覚的な方法です。このアプリには、試薬のPMIマトリックスを単数値分解して分解することにより導出された試薬埋め込みのUMAP投影が表示されます。
PMIマトリックスには、点ごとの相互情報スコアが含まれています。 2つの試薬AとBの場合、 PMIスコアは試薬の発生数に由来します。
SVDを使用してこのマトリックスを考慮すると、試薬に密な埋め込みが得られます。これは、これらの試薬に遭遇した場合、2つの試薬で類似する傾向があります。
同様のコンテキストでは、IEと同じ他の試薬と一緒に。たとえば、スズキカップリング用の2つの異なるパラジウム触媒は、反応では一緒に使用されませんが、同じ塩基と溶媒で使用される場合があります。
したがって、これらの2つの触媒は同様の埋め込みを取得し、近くに横たわります。これらの埋め込みは、2D平面とユニット球の表面に投影されます
UMAPアルゴリズムによって。これは、より低次元空間に投影する際に元のポイント間の距離関係を維持しようとする次元削減アルゴリズムです。
試薬埋め込みのUMAP投影のマップがアプリに表示されます。
次のコマンドを実行して、アプリの環境をインストールします。
conda create - n reagent_emb_vis_app python = 3.10 - y
conda activate reagent_emb_vis_app
pip install - r requirements . txt
pip install - e .次のコマンドでアプリを実行します
python3 app . pyアプリはhttp:// localhost:8050で実行されます。デフォルトでは、 data/default/uspto_aam_rgs_min_count_100_d_50.csvからインフォメーションを読むことによって決定されるUSPTO試薬埋め込みのマップを示しています。ユーザーは、以下で説明する方法で適切なスクリプトで準備された独自の試薬データをアップロードすることもできます。
ファイルdata/standard_reagents.csvには、USPTOで発生する〜600の試薬に関する情報が含まれており、その役割と名前が含まれています。ファイル内のエントリは、発生周波数によって下降順序で注文されます。
dataディレクトリから次のコマンドを実行して、 rxnutilsを使用してUSPTOデータセットをダウンロードします。
python - m rxnutils . data . uspto . download python - m rxnutils . data . uspto . combineファイルdata/uspto_data.csvをダウンロードします。次に、プロジェクトディレクトリから実行された次のコマンドを使用して、このデータセットの最初のフィルタリングを行います。
python3 - m rxnutils . pipeline . runner - - pipeline uspto / pipeline . yml - - data data / uspto_data . csv - - output data / uspto_filtered . csv最後に、フィルタリングされたデータセットから試薬を抽出します。
python3 scripts / prepare_reagents . py - i data / uspto_filtered . csv - - output_dir uspto_aam_reagents - c ReactionSmiles - - reagents aam - - fragment_grouping cxsmiles - - canonicalization remove_aam - - n_jobs 9 - - min_reagent_occurrences 1 - - verboseスクリプトは、さまざまなオプションとしてprepare_reagents.py 。たとえば、原子マッピングまたは指紋のいずれかによって試薬を決定できます。
試薬の埋め込みは、それぞれの試薬で使用される試薬を持つファイルに基づいて、スクリプトbuild_embeddings.pyを使用して計算されます。
入力ファイルには、すべての行に何らかの反応のための試薬の笑顔セットが含まれている必要があり、それらの笑顔はセパレーターによって分離されなければなりません。例; 。
例:
CCO ; c1ccccc1
[ H - ].[ Na + ]; C1CCOC1
NNこのファイルのすべての行には、関心のあるデータセットに何らかの反応があるための試薬が含まれています。反応自体は関連していません。スクリプトprepare_reagents.py 、 build_embeddings.pyに適した入力を準備します。
このアプリは、csvファイルで座標を使用します。これは、 build_embeddings.pyスクリプトを使用して準備されています。
次のコマンドを実行します。
python3 scripts / build_embeddings . py - i < PATH TO THE TEXT FILE WITH REAGENT SMILES > - - standard data / standard_reagents . csv - - min_count < MINIMAL OCCURENCE COUNT FOR REAGENTS TO BE CONSIDERED > - o < PATH TO THE OUTPUT CSV FILE > - d < DIMENSONALITY OF REAGENT EMBEDDINGS >詳細については、 python3 build_embeddings.py --helpを実行します。
デフォルトの試薬埋め込みは、次のコマンドで構築されました。
python3 scripts / build_embeddings . py - i data / uspto_aam_reagents / reagents - 1128297. txt - - standard data / standard_reagents . csv - d 50 - o data / uspto_aam_rgs_min_count_100_d_50 . csv - - min_count 100 build_embeddings.pyスクリプトによるCSVファイルビルドをアップロードします。
USPTOの試薬に関する洞察と論文の数字を再現するには、ノートブックnotebooks/results.ipynbに従ってください。
@inproceedings { andronov2024 ,
title = { Curating Reagents in Chemical Reaction Data with an Interactive Reagent Space Map } ,
author = { Andronov, Mikhail and Andronova, Natalia and Wand, Michael and Schmidhuber, J{"u}rgen and Clevert, Djork-Arn{'e} } ,
booktitle = { International Workshop on AI in Drug Discovery } ,
pages = { 21--35 } ,
year = { 2024 } ,
publisher = { Springer Nature Switzerland } ,
address = { Cham } ,
doi = { 10.1007/978-3-031-72381-0_3 }
}