[DataWith]気の向くままソフトについて書いてます。エンジニアではないのであくまでも初心者目線で。Colaboratoryで化学構造式を使う脱線が好きなので、いろいろ飛びますがご容赦を。RDKitを使うと化学構造式をPythonで使うことができる。Colab)を使うとそれなりに化学構造式を書くことができたので少し書いてみます。Colabでpipを使うときには先頭に「!」を付ける必要があります。py3Dmolエラーが表示されずに実行が終わったら、ベースの環境設定は終わりです。Mol形式のデータを構造式にしてみます。Colabの「セッションストレージにアップロード」を使ってMolファイルをアップロードします。Chem.MolFromMolFile('/content/caffeine.mol')Colaboratoryのファイルのパスの指定には、次の方法を使うと便利です。Draw.MolToImage(m)imgカフェインの構造式が出力これは画像なので、どこでもコピー&ペーストできます。意地悪して、立体はどうなるか、とC36フラーレンのMolファイルを入れてみると次のようになりました。C36フラーレンの描画やはり少し厳しいか。MolToImage()には次の属性があるので、触ってみます。構造式のケクレ化のオン/オフ。画像ぞサイズ(ピクセル)。[楔形のボンド])のオン/オフ。ハイライトする原子のリスト。ハイライトするボンドのリスト。タプルとしてRGB指定。【kekulize】わかりやすいようにベンゼンを使います。Chem.MolFromMolFile('/content/benzene.mol')まずはデフォルトの状態を確認します。kekulize=True)imgベンゼンの表示(1)で次にオフにしてみます。100pxになり画像が小さくなります。【wedgeBonds】wedgeBondsは、例えば、L-乳酸でやってみると、wedgeBondsがTrueの時(デフォルト)は次。ボンドの表示(1)Falseにすると次のようになります。highlightAtoms=[1])imgすると、インデックス「1」の原子がハイライトされます。Cookbook参照)。原子ごとにIDを取得して(getAtoms())、そのIDを原子にマップします(SetAtomMapNum(atom.GetIdx()))。molこの関数を読んで、構造式の画像を生成すると次のようになります。Draw.MolToImage(m)img原子のIDを表示これで何番かわかりますね。併せて表示してみると次のようになります。今度はイブプロフェンのMolファイルを使ってやってみましょう。1と5のボンドをハイライトするように指定してみます。5])imgボンドのハイライト【highlightColor】highlightBondsのようなハイライトの色を変更します。0.2))img次のように色が変わります。ボンドのハイライトの色の変更とりあえず今回はここまで。構造式を書くだけであれば他のソフトを使ったほうが手っ取り早いです。Pythonを使うのは、分析やフローを作るとき、という感じでしょうか。2引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。