GithubHelp home page GithubHelp logo

ttiz / support-page Goto Github PK

View Code? Open in Web Editor NEW

This project forked from funatsu-lab/support-page

0.0 0.0 0.0 4.73 MB

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

Python 0.34% Jupyter Notebook 89.48% HTML 10.15% Dockerfile 0.02%

support-page's Introduction

サポートページ

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

プロジェクトの始め方

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

  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を立ててください

support-page's People

Contributors

sshojiro avatar tatsukichi108 avatar ttiz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.