管理人の大学院時代は、実験ノートは紙が当たり前でしたが、最近では電子実験ノート(Electronic Lab Notebook; ELN) がだいぶ普及しているようです。
電子実験ノートには様々なメリットがあります。例えば、
- 検索機能が充実!最近は構造式検索も!
- 各種データの紐付けが容易!(各種スペクトルなど)
- グループ内で簡単にシェアできる!
- 文字が読みやすい。(一般に外国人の実験ノートは字が汚い)。
- 保管が簡単
などなど、挙げればキリがない感じです。
一方で、デメリットとしてはコストが高いことがまず最初に挙げられます。ラボ全体で導入する場合、数十万円することもザラです。(はっきり言って「ぼったくり」です。)
また、実験科学には対応しているけど、計算化学にはあまりまだまだ対応していない印象を受けます。(そもそも、いちいち計算内容をノートに書き留めない人も多いと思います。)
なければ自分で作ればいいじゃん!ということで、PHP と MySQL を使って電子実験ノート(Gaussian 用)を自作してみました。(自作なので導入コストはゼロ!)
これから何回かに分けて電子実験ノートの作り方を紹介していきたいと思います。
参考:電子実験ノートを自作してみた!導入コストゼロ!(1/5)
参考:リアルタイムで計算状況を表示するシステムの構築!【電子実験ノートを自作してみた!導入コストゼロ!】(2/5)
参考:CRUD を実装!電子実験ノートを自作してみた!導入コストゼロ!(3/5)
参考:PHP でブラウザから job を投入する。電子実験ノートを自作してみた!導入コストゼロ!(4/5)
参考:ログイン機能を実装する。電子実験ノートを自作してみた!導入コストゼロ!(5/5)
完成品
まずは、下動画で完成品をみてください。
また、こちらのページに実験ノートのデモ版を置いておきます。ユーザー名:admin、パスワード:password でログインできます。
実装する機能
実験ノートの機能として最低限必要なものは、CRUD と呼ばれるものです。
Create(記述)、Read(参照)、Update(更新)、Delete(削除) の頭文字を取ったもので、基本的なコンピュータソフトウェアが持つ4つの機能になります。
CRUD だけだと紙のノートと同じですが、今回は電子ノートならではの以下の機能を追加したいと思います。
- 計算状況のリアルタイム表示
- 電子実験ノートから job を submit
- job を submit した瞬間に自動的にノートも作成
- 検索機能
- ログイン機能
それぞれの項目について、これから実際のコードを紹介していきます。
構築環境
- Mac Book Pro 2017 (15 inch)
- MAMP 5.7
- PHP 7.4.2
- mysqlnd 7.4.2
- Vue.js 2.5.16
mac で個人で利用する場合は、MAMP で仮想サーバーを立ち上げるだけで良いです。
windows で個人使用の場合は、MAMP の代わりに XAMPP を使用してください。
複数人で使用する場合は、研究室の共用パソコンやレンタルサーバーにファイルを入れてください。MAMP は不要ですが Apache, php, mysql などの環境構築を自分で行ってください。
第一回のまとめ
計算化学用に作った電子実験ノートですが、有機化学実験用や生物実験用に簡単にカスタマイズできます。
次回以降の記事では、以下のことを書いていきます。
- MAMP, PHP, MySQL の設定とリアルタイムで計算状況を確認する方法
- 電子実験ノートからの job の submit
- ノート部分の作成 (CRUD)
- ログイン機能
もし、他にも追加して欲しい機能がありましたらコメント欄に書いてください。
もしも PHP と MySQL についてしっかり学びたいと言う人がいましたら、Udemy の「PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門講座」という講座がおすすめです。
Udemy は、定期的に 9 割引程度の値引セールをするので、2,000 円以下の時に購入するのがおすすめです。