AI driven retrosynthesis and cooking #chmoinformatics? #cooking #pytorch

‘AI drug discovery’ is hot topics in pharma in these days. There are lots of publications about not only de novo drug design but also synthetic planning. Synthetic planning is called retro synthesis which is method to decompose target molecule to small fragments which can purchase from supplier. For AI driven retro synthesis, input dataContinue reading “AI driven retrosynthesis and cooking #chmoinformatics? #cooking #pytorch”

New visualization way for SAR #RDKit #chemoinformatics

Recently I found very cool visualization code for SAR that is provided by @simonduerr. It seems cool! You can get the code from his repository.https://github.com/duerrsimon/substrate-scope-plot I’ve never seen such a cool visualization. Current version of the package can fix the position of the rgroup automatically. So I tried to use the code for my ownContinue reading “New visualization way for SAR #RDKit #chemoinformatics”

wet実験で大事なことってなんですかね? #souyakuAC2019

今日は12月23日!サンタさん来てくれるかなーワクワクしますよね。ドキドキして今日はサンタさん見るまで眠れなそうなiwatobipenです。 皆さん、元気に実験していますか?私は天然物全合成バリバリのラボで年越しNMRとか年越し実験とかウキウキしながらやっていた暗い過去があります。 有機合成Wetバリバリの方と話すと意外と盛り上がるのが、やばい実験ランキングだったりしませんか。私はマスターの最後の頃、ちまちま原料合成するのがどうにも間に合わなくて、四塩化チタン1Lくらい使ってTebbe反応仕込み始めたことがあります。年末の誰もいない実験室で一人焦って雑に作業した結果、シリンジが詰まって半泣きなったことや、金属ナトリウム50g位を使ってBarch還元したときに反応が暴走仕掛けた苦い記憶があります。他にも大量のLiAlH4還元も、、、今となっては絶対やりたくないですね。 さて、長い前置きでしたが、あなたにとってWet実験で大事なことってなんですか。再現性?コスト? いえ一番優先されるべきは安全性ですよ! 実験には危険がいっぱい。安全を甘く見ていると後で手痛いしっぺ返しを喰らいます。自分の健康を損なうことも。企業であれば操業停止などもありえます。 有機合成で最近ニュースになった大きな話題は2008年に起こったSangjiさんの事故かと思います。t-BuLiを扱う際に起きたこの痛ましい事故は改めて実験時の安全管理大切さを考えるきっかけとなりました。https://cen.acs.org/articles/87/web/2009/01/Researcher-Dies-Lab-Fire.html なぜこんな記事を書いているかというと、最近気になる文献を読んだからですhttps://www.nature.com/articles/s41557-019-0375-x 先の事故以降あまり、死亡に至る事故の記事を目にしてこなかったので驚いたのですが、この文献のTable1に死亡事故まで至ったアクシデントのリストがあり、2008年の事故以降も事故は起きています。有毒ガスや、引火性の期待に起因する事故が多いように見えます。ガスは目に見えませんし、知らぬ間にドラフトから漏洩するリスクもありますね。 このような事故が起きる要因として著者らは事件の安全性における包括的なデータセット、それに基づく教育の仕組みがないことが要因だろうと解析しています。たしかに私も大学の講義でLab safetyナド教わったことはありませんね、、、。水素添加時の発火とか、やべー火い吹いたわ、てへっ。みたいなヒヤリで済むとその場限りなっちゃいます。こういったヒヤリの事例はかなりの頻度で起きているのではないでしょうか。それを元に再発を防ぐことが大事ですよね。 ですが、そのような事例をまとめて教育する仕組みって意外とないですし、教育をどれだけしても完璧とは言えません。なぜなら多くの実験は人がするものでありそれが故に、リスクがあるのです。次の一文がそのことを指摘しております。 “Of all the variables in accident prevention, the human behaviourvariable, even with education, was the hardest to control” 更に事故が起きるリスクは若手の研究者のほうが高い傾向があります。これはやはり経験や知識がまだ未熟であるためでしょう。ただし、経験が多いから安全ということはなく慢心は思わぬ事故を招きます。常にリスクを評価し実験に望むことが大事です。 さて、安全が大事、安全第一というのはわかっているのに、意外と軽視される理由は何なんでしょう?著者らはBarriers to safety research というセッションでそのことについて議論しています。読んでいてそうだよなーって思ったのは、下記のパートです The issue of ‘academic freedom’ is often raised as an objection to safety practices. One study found that 15% of researchers believedContinue reading “wet実験で大事なことってなんですかね? #souyakuAC2019”

Clustering molecules with HDBSCAN and predict chemical space with scikit-learn #chemoinformatics #RDKit

The contents of the post is almost same as yesterday’s one that was for souyaku-advent calendar 2019. In drug discovery area we often discuss about compound chemical space. Chemist should be explore chemical space to find new IP space etc. It is defined with descriptors, fingerprint and biological response etc… It is often high dimensionalContinue reading “Clustering molecules with HDBSCAN and predict chemical space with scikit-learn #chemoinformatics #RDKit”

Chemicalspace x clustering = ? #souyakuAC2019 #chemoinformatics

クリスマス、年末年始が近づいてきた今日この頃。皆様いかがお過ごしでしょうか。寒さにはめっぽう弱いiwatobipendです。これは2019年の創薬アドベントカレンダー(DRY)の記事です。https://adventar.org/calendars/4106 化合物空間(ケミカルスペース)は広大な宇宙だ!新しい化合物空間を求めて旅をするのがケミストだ!とか、私達のライブラリは特定の化合物空間を専有しています。とか、化合物空間という言葉良く聞きますよね。化合物空間というのは、フィンガープリントとか記述子をもとに定義される化合物が取り得る空間のことを指します。 一般にフィンガープリントなどは高次元(1024次元とか)で私のような、凡人には理解できないので、上の高次元情報を適当に圧縮して2次元とかで眺めます。うまく圧縮できると、ケミストが見た構造クラスタと出力結果がいい感じにマッチしてスキッとするわけです。更にここに活性はパラメータを入れて今度はこの辺を攻めるか!という創薬という大海原への地図ができます(俺は創薬王になる!ドンっ) 今日はこのあたりで使えそうなものをちょっと紹介したいなと思います。 いい感じクラスタリングしてほしいのよね 化合物を似ているものどうしてクラスタリングしておくと色々と便利です。化合物の傾向を見たりするときなど。K近傍法のように予め分けたいクラスタ数を指定する方法と、階層別クラスタリングのように、あとで人が閾値を決めて分ける方法ナド色々方法がありますが、もういちいちそんなんヤッテランネーヨ!ほれ最近流行りのエーアイとかなんかよろしくやれるもんないのかよ。 という方もいるかと思います(僕だけ?)。そんな方におすすめなのがHDBSCAN。本手法は階層別クラスタリングと合わせて密度が濃い部分をまとめてクラスタにするといったことを自動でやってくれます。詳しいアルゴリズムは文献を読んでください。 それでは早速手を動かしてみましょう。データはPy4chemoinformaticsで@fmkz___さんが提供してくれているものを利用します。まず必要なパッケージを読み込みます。HDBSCANはAnaconda経由で、MLINSGIHTSはPIPで入れます。後者は後ほど使います。 データの読み込みは8章ほぼ丸コピです。tanimoto_distの定義からHDBSCANのオブジェクト作りに入ります。HDBSCANは密度計算のため距離METRICSを図る必要がありますが、Chemo用パッケージじゃないのでユークリッド距離、コサイン距離などはありますが谷本距離はありません。このような場合HDBSCANのmetricの引数に’pyfunc’を指定し、使う距離測定関数をfuncで渡してあげると独自の関数で評価してくれます。なお、Funcに渡す関数は2つのNumpy arrayをもらい距離の数値を返す必要があるのでRDKITのBitVecをちょくで渡すとエラーになります。 準備ができたので、次元圧縮と、クラスタリングの結果を見ましょう。今回次元圧縮にはTSNEを使います。Scikit-learnは便利ですね。 まずは会社ごとに色つけしてみてみます。きれいに分かれていますね。 次にHDBSCANでクラスタリングした結果を反映させてみます。ラベルはclusterer.labels_というプロパティに格納されています。 グレーの部分はクラスターに割り振られていない部分です。Min clustersize, nodesizeなどのオプションで変わるので思った結果にならないときは適当に調整してみましょう。下の例ではなんとなく点が集まっているところが一つのクラスタになってるのでいい感じじゃないでしょうか。 新しい化合物をプロットしたいんだけどさ。。。 さて、PCAやTSNEでケミカルスペースを表現できることはわかりました。しかしながらPCAやTSNEという手法は手元のデータに対して実施して跡からデータを追加したいときは、ゼロから計算し直す必要があります。なぜなら化合物の分散や距離の比較は全化合物に対してやりたいからです。一方通常の創薬プロジェクトは常に新しく化合物が生み出されます。それらがどこにいるか知りたいわけです。SOFにもTSNEで新しいデータいい感じに入れたいんだけどって質問がたまにあります。 このニーズに対する答えの一つがmlinsightsです。このパッケージにはPredictableTSNEというクラスがあります。ソースコードを見ればわかるのですがトレーニングセットでTSNEを実施ある特徴量を圧縮した次元に射影。別途渡すEstimatorクラスで特徴量=>圧縮された次元の予測モデルを作ります。 これで新しいデータも圧縮後の次元の予測値が得られるわけです。渡すEstimatorはSKLEARNのものは何でもオッケーです。今回はRandom forestとGPを使ってみます。まずデータをランダム分割します。下図のようにまんべんなくサンプリングしています。 ではトレーニングデータでケミカルスペースを学習、テストデータのケミカルスペースを予測、両方プロットの順でおってみましょう。PredictableTSNEのTransformer, estimatorに任意のオブジェクトを渡せば良いです。TSNEはYを与えても無視しますが、ないとエラーになるのでダミーを入れています。モデルができたら重ねてプロットしてみます。赤がテストデータです。 構造が見えないのでなんとも言えませんがまあそれっぽくテストデータも投影しているかな? 続いてGPモデルで。 あらら、、だめだめ。Estimatorの性能にだいぶ作用されるので実戦投入時は要注意ですね。 さt,最後に比較的良さげだったRFのモデルのデータにクラスタ情報を足してみましょう xはトレーニング、◯はテストデータです。色がクラスターです同じクラスターは同じあたりに投影されているのでそこそこ上手くワークしているようです。 今回完全にランダムサンプリングしたのでうまく行っていますが、全く道のデータが来ると性能はガクッと落ちるかもしれません。 俺のデザインする化合物はお前らのモデルで定義した空間に収まるような代物じゃねえぜ!という熱い思いの化合物を作らないとですねw 冗長ですが、まあ近傍のデザインをする上では面白いかなと思い紹介しました。HDBSCANやTSNEはデータが増えると計算コストがけっこうかさむので注意しましょう。 はあー出かける前に書き終わったのでホッとした。 コード全体は以下のGISTからどぞー

TIPS of rdkit #RDKit #memorandum #chemoinformatics

As you know, rdkit is very attractive and active project for chemoinformatics. Recent version of rdkit has heteroshuffle enumerator. It is useful for generate new molecules. You can find the details of the method below.https://www.rdkit.org/docs/source/rdkit.Chem.EnumerateHeterocycles.html However in the drug discovery project, it is not needed enumerate all aromatic rings in the molecule I think. SoContinue reading “TIPS of rdkit #RDKit #memorandum #chemoinformatics”

New trial of AttentiveFP with new atom feature #DGL #RDKit #Chemoinformatics

Recently I posted an example of AttentiveFP and I found that atom weights doesn’t directly reflect functional groups. And I could get useful suggestion via comment from DGL developper! And I wonder that how about to use functional group feature to train the model. But how can I detect functional groups in the molecule? BecauseContinue reading “New trial of AttentiveFP with new atom feature #DGL #RDKit #Chemoinformatics”

Visualize atom weight of AttentiveFP #DGL #RDKit #Chemoinformatics

Yesterday, I posted an example of DGL (almost same as original example code). And I could make regression model with my own dataset. Fortunately DGL developer provides a code for visualize atom weights of trained model. It means that, after building the model with AttentiveFP, you can visualize atom weight of the give molecule whichContinue reading “Visualize atom weight of AttentiveFP #DGL #RDKit #Chemoinformatics”

Molecular property regression with Attentive FP #RDKit #Chemoinformatics #DGL #DeepGraphLibrary

Recently Molecular Graph based deep learning is hot are in chemoinformatics.Some months ago, Zhaoping et al. published new graph based QSAR model named ‘Attentive FP’ in JMC. As its name suggests, Attentive FP uses attention mechanism for its architecture. The authors disclosed their code. And fortunately, recent version of DGL is also Attentive FP!Its repositoryContinue reading “Molecular property regression with Attentive FP #RDKit #Chemoinformatics #DGL #DeepGraphLibrary”

Deoxofluorination of carboxylic acid #organic_chemistry

Now I moved from medchem team to comp.chem team but still have interest against organic chemistry. Today I found interesting article in JOC. The article describes about method for synthesizing of trifluoro BB with SF4.https://pubs.acs.org/doi/10.1021/acs.joc.9b02596 The elegant work was published from researcher of ENAMINE. As you know enamine has huge amount of unique building blocksContinue reading “Deoxofluorination of carboxylic acid #organic_chemistry”

RDKit based CATS Descriptor #RDKit #Chemoinformatics

Chemically Advanced Template Search (CATS) is developed by Prof. Gisbert Schneider. CATS descriptor is ligand pharmacophore based fuzzy descriptor. So it is suitable for Scaffold hopping of virtual screening. Last week, I attended his lecture and had interest the descriptor again. Fortunately I could find some implementation of the CATS2D descriptor in github repo. Arthuc’s workContinue reading “RDKit based CATS Descriptor #RDKit #Chemoinformatics”

Python package for Ensemble learning #Chemoinformatics #Scikit learn

Ensemble learning is a technique for machine learning. I wrote post about blending learning before. URL is below.https://iwatobipen.wordpress.com/2018/11/11/ensemble-learning-with-scikit-learn-and-xgboost-machine-learning/I implemented the code by myself at that time. Ensemble learning sometime outperform than single model. So it is useful for try to use the method. Fortunately now we can use ensemble learning very easily by using aContinue reading “Python package for Ensemble learning #Chemoinformatics #Scikit learn”

Quantum Chemistry data of drug bank #QCportal #Quantum_Chemistry

I’m still learning QCArchive. I posted qcportal with reaction dataset. And today I tried to retrieve of drug bank from qcportal. QCportal provides not only calculated numeric data but also 3D mol view by using py3Dmol. OK let’s go to code. get_molecule method provides many data from qcportal web server. What kinds of data inContinue reading “Quantum Chemistry data of drug bank #QCportal #Quantum_Chemistry”

Open data source of Quantum chemistry! #qcportal #rdkit #cheminformatics #quantum_chemisry

In RDKit UGM 2019, I had interest about QCArchive. QCArchive is MolSSI quantum chemistry archive. It provides useful data and python packages. By using one package named qcportal, we can access huge data source of quantum chemistry. It is very useful because QC calculation is useful but it requires computational cost. QC data is usefulContinue reading “Open data source of Quantum chemistry! #qcportal #rdkit #cheminformatics #quantum_chemisry”

Small molecule MD with openMM #MD #Openforcefield

I updated openforcefield from ver 0.5 to ver 0.6. ForceField of SMIRNOFF is also updated. I tried to use new version of OpenFF.At first, I calculated partial charge with semi empirical method ‘AM1-BCC’. Ambertools is used for the calculation, it is easy. Just finished, check the result. Nitrogen has the most negative charge and neighborContinue reading “Small molecule MD with openMM #MD #Openforcefield”

Calculate free solvent accessible surface area #RDKit #Chemoinformatics

Recent version of rdkit has method to calculate FreeSASA.I never used the function so I used it. So I tried to use it. I calculated freeSASA with very simple molecules Phenol and hydroxy pyridine. To calculate FreeSASA, prepare raddii is needed. Now ready, let’s calculate FreeSASA. At first I expected that FreeSASA of pyridine isContinue reading “Calculate free solvent accessible surface area #RDKit #Chemoinformatics”

Call psi4 from web app! #Psi4 #QuantumChemistry

Psi4 is a python package for quantum chemistry. I like it. Native psi4 has some difficulties for preparing input file. So psikit is useful I think. And I think webmo is useful package for calling psi4. I’ve always been interested webmo. So I tried to use it today.Basic function of webmo is provided free licence.Continue reading “Call psi4 from web app! #Psi4 #QuantumChemistry”

A new function of rdkit201909 #RDKit #Chemoinformatics

Last week, I got cool information that new version of rdkit is available by installing conda! You can check new feature in ReleaseNotes in original repo,https://github.com/rdkit/rdkit/blob/master/ReleaseNotes.md I installed RDKit201909 now and am reading document now. MolHash function originally developed from nextmove software is implemented in the version.[RDKit Document]https://www.rdkit.org/docs/source/rdkit.Chem.rdMolHash.html[Nextmove software]https://nextmovesoftware.github.io/molhash/commandline.html#usage MolHash can generates some hashes ofContinue reading “A new function of rdkit201909 #RDKit #Chemoinformatics”

Virtual screening with quantum computing! #Quantum_computing #chemoinformatics #memorandum

Quantum computing is one of the hot area in these days. Now google reported exciting article to nature. Quantum computing reach is also very useful for drug discovery. Some days ago I found interesting article published by researcher in 1QBit, Univ. Drive, Accenture Labs and Biogen. URL is below.A Quantum-Inspired Method for Three-Dimensional Ligand-Based VirtualContinue reading “Virtual screening with quantum computing! #Quantum_computing #chemoinformatics #memorandum”