技術屋にゃん兵衛のてくてくらぼ by データウィズ [DataWith]

気の向くままソフトについて書いてます。バリバリエンジニアではないのであくまでも初心者目線で。

ChemSketchのレイアウトを調整する

ChemSketchのレイアウトを調整する

 

少しご無沙汰でした。。。

 

以前に反応式を書いたときのように、それぞれの項目の微妙な調整をするときには少し設定を触っておいたほうが良いようです。

 

今回は

  • ルーラーの表示
  • グリッドの表示
  • 印刷時のページの印刷範囲

の設定について書きます。

 

これらの設定はすべて「Options -> Preferences」でできます。

Option -> Preferences メニュー

これを選ぶと次の画面になります。

Preferences画面

ルーラーの表示

 

「View」のセクションの「Ruler」でオン/オフを切り替えます。デフォルトはオンです。

 

単位は「mm」になっています。これがどう設定されているかは、描画画面の左上のルーラーの原点あたりに「mm」と表示されていることでも確認できます。

 

単位は、「mm」「cm」「inch」「point」で指定できます。

ちなみに、「inch」に切り替えると、下のように表示されます。

インチ表示の場合

 

まあ、日本ではインチは使わないと思うので、デフォルトの「mm」でよいと思います。

「Guide」をオンにすると、マウスポインタの位置がルーラーに表示されます。

 

グリッドの表示

 

実際に書く時にはルーラーだけではうまく位置調整ができないので、グリッドを表示させます。

デフォルトでは表示されていないので、「Grid」のセクションの「Visible」をオンにします。次のようにグリッドが表示されます。

グリッドの表示

この設定で少し面白いところは、グリッドを直行だけではなく、6角形を書きやすくする「Vertically Hexagonal」「Herisontally Hexagonal」があることです。これを選ぶと、次のようになります。

Hexagonグリッドの表示

正直、グリッド表示するだけでは不足で、グリッドにスナップするようにしたほうが早いので、「Snap on Grid」をオンにします。

すると、各項目がグリッドのメモリに合わせて移動します。

 

印刷時のページの印刷範囲

 

用紙に印刷する場合、どこまで印刷されるかという範囲を示す点線が表示されています。

外側が「Printable Area」で、内側が「Page Margins」です。必要に応じて切り替えます。

 

ページのマージンはプリンタによって変わるので、印刷のときにうまくはまるように長さを設定しておく必要があります。その設定はこの画面にはありません。

「File->Page Setup」で長さを指定します。

 

「Page Setup」画面の「Margins」タブを選択すると、上下左右の印刷マージンを設定できます。

印刷マージンの設定

化学構造式をChemSketchから印刷するケースというのはあまり多くないでしょうね。多くの場合は、文章の間に埋め込むので、、、

 

簡単ですが、ここまで。

ChemSketchで化学反応式を書く

ChemSketchで化学反応式を書く

 

1つの分子を論文とかに貼るのであればわざわざソフトを使って構造式を書かなくても、オンラインのサービスなどから画像ファイルを取ってくるだけで済みます。

 

化学系の描画ソフトを使う必要が出てくるのは化学反応式を書くときでしょう。

ここでは、ChemSketchを使って、分子式で表された簡単な反応式を書く手順を書きます。

 

今回はベンゼンの燃焼。

C6H6 + O2 = CO2 + H2O

です。

 

  1. ChemSketchの右のバーから「ベンゼン環」(Benzene)を選びます。

  2. マウスカーソルで配置したい場所に行き、描画領域でぽちっとします。

    ここで、位置を動かしたいときは、左上の「Select/Move」を押して、今、配置したものを選択すれば動かせます。

  3. 次は酸素。左側のツールバーで「O」(Oxygen)を選択して、描画領域でぽちっとします。すると、H2Oの水となります。なんか、イメージと違うなー。強制的に水素がつくんか。

  4. この状態(つまり、まだ「O」が配置できる状態)で、表示されている水をぽちっとすると次のようになります。

  5. で、ここで酸素間のボンドをプチっとすると、ようやく酸素になった。

    もっと簡単な手順があるのかな。
  6. 上のツールバーから「+」(Reaction Plus)を選択して、ベンゼンと酸素の間に置きます。

  7. さて次は生成物側の水と二酸化炭素。水は、さっき出てきた「O」を使います。

    二酸化炭素は、次のようになります。CO2はそのままでもいいんですがあえて書き起こしてみます。

    意外と面倒?
  8. 「C」をクリックして、まずはメタンを書きます。次に「O」クリックして水を2つ書きます。

  9. で、これを線でつなぐと次のようになります。

  10. 酸素のところでやったようにボンドをクリックして2重結合にすれば完成。

  11. 見栄えを整理します。「Tools」メニューから「Clean Structure」を選びます。

  12. で、最後に反応矢印です。

  13. 段がついていたりするので、きれいに配置したいけど、反応式の「Clean」コマンドが見当たらない。。。

    仕方がないので今回はグリッドを表示して、手で成形した。

    まずはグリッドを表示。「Snap on Grid」をオンにしておけば、移動するときに、グリッドに従って移動できるので、比較的きれいにできます。

二酸化炭素を簡単に書く方法を探さなくては。。。

XMLファイルのテキスト部分だけを目立たせる方法(XMLBluePrint)

XMLファイルのテキスト部分だけを目立たせる方法(XMLBluePrint)

 

XMLファイルを編集するとき、不用意にタグを編集してしまうリスクを減らす必要があります。

もちろん、最終的にバリデーションするでしょうから、編集途中はあまり気にしなくてもよい、という人があるとは思いますが。。。

ただ、文章を編集する人が必ずしもXMLを良く知っているとは限らず、その人たちに「ここが触っていい部分だよ」と分かりやすくするほうが親切です。

 

タグをロックして触らせなないようするなど、高度な編集コントロールも考えられなくないですが、シンプルなXMLエディターで何かできないかと思いました。

最近、XMLエディターを「XMLBluePrint」に変えたんですが、その機能で、編集対象の文章部分だけ色を変える、ということしたので記録として書いておきます。

 

※    実は、私が使っているバージョンは執筆時点(2024/3/18)ではダウンロードできません。開発元に頼んで、これに関する問題を修正したバージョンを特別にもらいました。

なので、近い将来のバージョンで、ここに書いている機能は使えるようになると思います。

 

XMLBluePrintでXMLファイルを開くと次のようになっています。

タグには色がついているので、XMLがわかる人にはタグ部分とテキスト部分の区別はすぐにつくと思います。

また、「黒い文字の部分だけ編集してね」ということで済む場合もあります。

 

今回は、XMLBluePrintを使って。ここであえて編集可能な部分だけに色を付ける、という手順をまとめます。

「設定」>「色…」を選択します。

 

「カテゴリ:」で「XML」を選択します。

 

「項目:」の欄から「Text」を選択します。

次に、「アイテムの背景色:」で、例えば「シアン」を選択します。

 

「OK」とすると、編集可能なテキスト部分だけ、シアンの背景色が表示されます。

例えば、編集途中で誤ってタグを編集すると下のように背景色がなくなるのですぐに「あっ、やばい」となるわけです(Ctrl+Zで戻します)。

 

ちなみに、行を折り返して表示する場合は、ツールバーのボタンを押すだけです。

 

表示はこんな感じになります。

 

今回の手順を踏んでも、本文中に「 」(空白文字)のような特殊文字を入れると色はつかないので注意が必要。

 

ではでは。

ChatGPT/GeminiでSMILES/InChIを生成させるとどうなるか

ChatGPT/GeminiでSMILES/InChIを生成させるとどうなるか

 

ではやってみます。

ChatGPT + SMILES

ChatGPTに「インドメタシンのSMILESを生成して」と入力します。

応答は、、、

念のため、ChemSketchで確認します。

  1. ChatGPTの表記をコピーします。
  2. ChemSketchの「Tools」>「Generate」>「Structure from SMILES」を選びます。

  3. 画面に張り付けます。

  4. 化学構造式が出ました。結果はこれ。

  5. 違うな~。一応、PubChemにも飛んでみました。

ChatGPT + InChI

ChatGPTに「インドメタシンのInChI( International Chemical Identifier)を生成して」と入力します。

応答は、、、

残念ながら、インドメタシンの具体的なInChI(International Chemical Identifier)を生成することはできません。InChIは、特定の分子構造を表現するための標準的な識別子であり、生成するには分子の具体的な構造情報が必要です。

インドメタシンの分子構造に基づいてInChIを生成するには、専門の化学情報ツールやデータベースを使用する必要があります。分子構造の描画や識別子生成には、ケモインフォマティクスツールやオンラインの分子構造データベースが利用されます。

化学情報システムや分子構造データベースのウェブサイトを利用して、インドメタシンのInChIを生成するか、既存のデータベースから取得することができます。

だめか。。。

 

Geminiではどうか。

Gemini + SMILES

Geminiに「インドメタシンのSMILESを生成して」と入力します。

応答は、、、

インドメタシンのSMILESは以下の通りです。

C1=CC(=O)C(=C1)C(=O)O

SMILESは、化学物質の構造を表すための簡潔な表記法です。化学物質の原子と結合を、文字と数字の組み合わせで表します。

SMILESは、以下の用途に使用することができます。

·        化学物質の構造の表示

·        化学物質の検索

·        化学物質の性質の予測

·        化学物質の反応性の予測

参考資料

·        SMILES: https://en.wikipedia.org/wiki/SMILES

 

さて取り込んでみます。

やはり違う。

 

Gemini + InChI

Geminiに「インドメタシンのInChI( International Chemical Identifier)を生成して」と入力します。

応答は、、、

インドメタシンのInChIは、以下の2種類があります。

標準InChI: InChI=1S/C19H16ClNO2/c1-18(21)14-10-8-9-11-13(16(20)22)12-15-19-7-5-6-2-3-4/h5-6,8-9,11,13-15H,7H2,1-4H3/b14-10-

InChIKey: InChIKey=QKZVKVKVKXDGJJ-UHFFFAOYSA-N

生成方法

これらのInChIは、以下の方法で生成しました。

1.      PubChemのウェブサイト (https://pubchem.ncbi.nlm.nih.gov/) にアクセスし、インドメタシンの検索を行います。

2.      検索結果から、インドメタシンの化合物ページを開きます。

3.      化合物ページの "Identifiers" セクションにある "InChI" または "InChIKey" のリンクをクリックします。

InChIの利用

InChIは、化学物質を識別するためのユニークなコードです。化学物質の構造、性質、反応性などを理解するために使用することができます。

InChIは、以下の用途に使用することができます。

·        化学物質の検索

·        化学物質の構造の比較

·        化学物質の性質の予測

·        化学物質の反応性の予測

参考資料

·        PubChem: https://pubchem.ncbi.nlm.nih.gov/

·        InChI: https://en.wikipedia.org/wiki/InChI

 

標準InChIのほうを使って、ChemSketchで構造式を書かせてみます。

「Tools」>「Generate」>「Structure from InChiI」を選択します。

貼り付けてもうまくいかない。

ちゃんとNIHのサイトにアクセスして取ってきてますが。

 

「そもそも生成AIに投入した日本語がうまく伝わっていないのでは?」と思い、英語にしてみました。

Generate SMILES for Indomethacin

 

おお、答えが違う。

Indomethacin actually has two types of SMILES:

·        Canonical SMILES: COc1ccc2c(c1)c(CC(=O)O)c(n2C(=O)c1ccc(cc1)Cl)C

·        Isomeric SMILES: (same as Canonical SMILES for Indomethacin) COc1ccc2c(c1)c(CC(=O)O)c(n2C(=O)c1ccc(cc1)Cl)C

These can be found in resources like the IUPHAR/BPS Guide to Pharmacology (https://www.guidetopharmacology.org/).

 

Canonical SMILESでChemSketchに取り込んで、構造式を書かせると。

この構造をPubChemで検索しても正しいことが分かった。

 

【補足】

同じ英文をChatGPTに食わせると次の応答。

これをChemSketchで取り込むと。。。

 

残念。今回のテストはGeminiの勝ちかな。

 

生成AIの日本語の解釈は化学系の言葉ではうまくないことがわかります。

多分、絶対的な学習量が足りないんだろうな。

ChemSketchで3D表示する

ChemSketchで3D表示する

 


化学構造式を3Dで表示することもあります。

ChemSketchには「3D Viewer」の機能があるようなので、試してみました。

 

「ACD/Labs」に「3D Viewer」というのがありますので、選択します。

 

普通、こういう動きだと、現在2Dで表示されているものが3Dになって表示される、と思いますよね。

でも、結果は真っ暗。

 

どうもやり方が違うようだ。

 

あ、わかった!

カギは画面左下。

 

今の状態は「1-ChemSketch」です。

次のステップは「2-Copy to 3D」で2Dに構造式をコピーするということでした。

すると、次のように表示されました。

 

マウスで回転とかできるのですが、OpenGLが軽く動くPCでないといけないようです。

私のラップトップでは苦しい。

 

ちなみにステップ4「4-3D Optimization」をするとどうなるか。

 

なんか、重いのでここまで。

Wolfram 言語実行環境 WLJS がアップデートされた

Wolfram 言語実行環境 WLJS がアップデートされた

 

何日か、WLJSのWebサイトにアクセスできない期間があったのですが、つながるようになってみると、なんと大きくバージョンが上がっていることがわかりました。

 

おさらいのために。

WLJSというのは、Wolfram Mathematicaで使えるWolfram言語を、Mathematicaを使わずに実行できる環境です。計算エンジンとしては、Wolfram EngineというMathematicaと同じものを使い、独自のユーザーインターフェイスを実装したものです。ドイツにいる研究者が一人で作っています。

(WLJSというのは「Wolfram Language JavaScript」の頭文字だと筆者は思っています)

 

 

WLJSのページはこちら

jerryi.github.io

 

最近まで、WLJS 0.7.0だったわけですが、ついに最初の数字が「0」ではなくなったんです。

最新版はなんと「2.2.2」。一気に飛びました。

 

まずは、インストーラーのアイコンの色が変わりましたね。

WLJSのインストーラーアイコン

メインの画面はこんな感じになった。

少し洗練された印象があります。

少し洗練されたメイン画面

サンプルを見てみますか。

「MathInput.wln」はこんな感じで表示されました。

サンプルコードを表示したところ

今回「すごいなー」と思ったのは、グラフ機能の向上。

サンプルの「Plot3D」を見てみると。

3D グラフの表示

この3Dプロットはきっちりと、マウスで回転できたり、マウスホイールで拡大縮小できる。

 

さすがに、v2というだけあって、使い勝手がすごくよくなっています。

PubChemからChemSketchに構造式を取り込む

PubChemからChemSketchに構造式を取り込む

 

おそらく、PubChemに登録されているものであれば、一から化学構造式を描画する手間を省こうとすると思います。

 

例えば、前回のように「インドメタシンを書きたい」と思ったら、どっかから構造式データをダウンロードしてきて、読み込ませるでしょう。

 

なので、PubChemで検索して、構造式データをダウンロードし、ChemSketchに取り込むまでの手順を確認します。

 

  1. まずはPubChemのIndomethacinのページを開きます。

  2. 下にスクロールしていくと「Structures」というセクションがあります。この右上の「Download Coordinates」を選択します。

  3. 今回はSDF形式を使います。「Save」をクリックすると、ダウンロードされます。

  4. ChemSketchで「File」>「Open…」で、ダウンロードしたファイルを開きます。

  5. 確認画面が出るので「Yes」。

  6. なんかすごいことになってしまった。。。

  7. PubChemのページで、「DOWNLOAD COORDINATES」の「Display」をクリックすると確かに画面にあるような情報が入っています。余計な分は手で消すしかなさそうです。
  8. ならば、ということで今度は「InChI」をダウンロードして、ChemSketch側で描かせることにしました。

  9. ChemSketchで「Tools」>「Generate」>「Structure from InChI」を選びます。

  10. PubChemからコピーしたテキストを貼り付けます。

  11. 「OK」とすると、見事に取り込まれました。多分こっちのやり方のほうが早いかな。

ではでは。