Skip to content

技術書のサポートページです

Notifications You must be signed in to change notification settings

chemshi/support-page

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

サポートページ

『実践 マテリアルズインフォマティクス』のサポートページです。

プロジェクトの始め方

本リポジトリを使用する際には

  1. このリポジトリをクローンする(手元へダウンロードする)
  2. 必要なライブラリを揃える

という2つのステップを踏む必要があります。

このリポジトリをクローンする

Git BashやMac OS Xのターミナルを開いて,以下のコマンドを実行してください. support-pageというフォルダが作成されます.

$ git clone https://github.com/funatsu-lab/support-page.git

必要なライブラリを揃える

それぞれのライブラリをインストールする場合

$ conda create -n regz python==3.7 numpy scipy pandas scikit-learn
$ conda install -c rdkit rdkit
$ pip install jupyter

environment.ymlファイルを使ってインストールする場合

Anaconda (Miniconda)のconda env createコマンドを使って
(Pythonの)仮想環境を構築します。本フォルダには既に
environment.ymlという必要なライブラリのリストが
掲載されているテキストファイルがありますので利用してください。

$ conda env create -n [Python仮想環境名] -f environment.yml

プロジェクトの構成

以下のフォルダ構成はCookie Cutter/Data Science
テンプレートとして作成するフォルダ構成を参考に作っています。
他の人も利用可能な状況にフォルダを維持しておくのは
プログラミングの生産性の観点からも重要です。
可能な限り以下のフォルダ構成を維持するようにしてください。
もちろん、必要に応じてフォルダが増減しても構いません。

support-page
|-- README.md       # プロジェクト概要を示すテキストファイル
|-- environment.yml # Anacondaにインストールしたライブラリの情報を書き出す
|-- setup.py        # cheminfo ライブラリをコンパイルする場合は作成する
|-- bin             # シェルスクリプトを書いたら保存しておくフォルダ
|   `-- compile_package.sh
|-- cheminfo        # 自作ライブラリを保存するフォルダで、今回は`cheminfo`とした
|   |-- __init__.py # __init__.pyを必ず含む
|   |-- descriptors.py
|   `-- metrics.py
|-- data            # データを保存するフォルダ。データセットが多様ならデータソースごとに
|   |-- catalyst    # サブフォルダを作っておくと良い
|   |-- chembl
|   |-- delaney-solubility
|   `-- zinc
|-- models          # 作った機械学習モデルを保存するフォルダ
|   |-- 9.3_rdkit_pls.joblib
|   |-- morgan_svm.joblib
|   |-- rdfrags_svm.joblib
|   `-- rdkit_svm.joblib
|-- notebooks       # 探索的な解析,可視化をする場合はJupyter Notebookを用いた解析をする
|   |-- 1.2-eda-boston-data.ipynb
|   |-- 1.3-tsne-tanimoto-distance.ipynb
|   |-- 1.4-fragment-visualization.ipynb
|   |-- 4.2-doe_orthogonal.ipynb
|   |-- 4.4-deap_d_optimal_design.ipynb
|   |-- 8.1.2-structure-decomposition.ipynb
|   |-- 8.1.2-structure-generation-brics.ipynb
|   |-- 8.2-bayes-optimization.ipynb
|   |-- 9.2-catalyst-exhaustive.ipynb
|   |-- 9.3-decsriptors.ipynb
|   `-- 9.4-histamine-antagonist-screening.ipynb
|-- references      # 文献を保存しておくフォルダ
|-- results         # 解析結果の図を保存しておくフォルダ。必要に応じてサブフォルダを作る
`-- src             # Jupyter Notebookで実行すべきではない重い処理や
    |               #   何度も実行する処理をスクリプトにまとめて保存するフォルダ
    |-- from_root.py
    |-- from_src.py
    |-- parallel.py
    |-- parallel_wo_with.py
    |-- data
    |   `-- 9.3-brics.py
    |-- features
    |   |-- 5.2-3-fragmentor.py
    |   |-- 5.4-rdkit_desc.py
    |   `-- 5.5-run_mordred.py
    `-- models
        `-- 9.3-screening.py

コンテンツ

  1. Pythonの基礎(テキスト本編にはありません) gist
  2. CoLabでの演習
    • 1.2 Bostonデータ可視化 gist
    • 1.3 tSNEでのタニモト距離基準の可視化 gist
    • 1.4 フラグメント可視化 gist
  3. (環境構築,テキスト参照のこと)
  4. (マテリアルズインフォマティクス概論,テキスト参照のこと)
  5. 実験計画法
    • 4.2 直交計画法 gist
    • 4.4 D最適化計画 gist
  6. 記述子計算(スクリプト実行)
    • 5.2 フラグメントカウントの実装
    • 5.3 RDKit組み込みのフラグメントカウント
    • 5.4 RDKit記述子
    • 5.5 Mordred
    • 5.6 Pymatgen
  7. (機械学習,テキスト参照のこと)
  8. (機械学習モデルの解釈,テキスト参照のこと)
  9. 追加検討
    • 8.1.1 自作構造生成
    • 8.1.2 ReCAP,BRICSによる構造生成
    • 8.2 ベイズ最適化
  10. 解析例
    • 9.2 触媒データを使った解析
    • 9.3 水溶解度データを使った構造生成、スクリーニング
    • 9.4 ChEMBLデータを用いた分類。カーネル法と分類問題
  11. (Bashによるデータ加工,テキスト参照のこと)

Dockerによる起動

本項はDockerの操作を分かっている方がご利用ください。

ローカルでイメージをビルドする場合

$ docker build -t example/matcheminfo . # Dockerfileからビルド
$ docker run -i -v /$(pwd):/workspace -p 9999:8888 -t example/matcheminfo # 現在のフォルダとDockerコンテナ内を-vオプションで紐付ける(マウントする)

イメージを取得する場合

$ docker pull sshojiro/alpine:latest
$ docker run -i -v /$(pwd):/workspace -p 9999:8888 -t sshojiro/alpine:latest # 現在のフォルダとDockerコンテナ内を-vオプションで紐付ける(マウントする)

誤字脱字等の報告

本書あるいは本リポジトリに誤りが見つかった場合は
Issueを立ててください

About

技術書のサポートページです

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 89.1%
  • HTML 10.5%
  • Other 0.4%