オタクと文化を科学する

バイオ系博士の備忘録

Jupyter notebookでMySQL(とMongoDB)の演習をする

東大松尾研のデータサイエンティスト育成講座を以前に紹介しました。
少しずつ進めていると、8章からデータベースのお話に。
ただし、現行のjupyter notebookではプログラムが動かないらしく、初心者が実行環境を設定するのは大変そう。
こちらの記事でも触れられていましたが、解決方法までは載っていなかったので、備忘録として記事にしておきます。

環境

$ sw_vers
>ProductName:	Mac OS X
>ProductVersion:	10.14.1
>BuildVersion:	18B75
$ python3 --version
>Python 3.7.0

$ jupyter notebook --version
>5.6.0


特にAnacondaとかは入れてないです。
jupyter notebookもpipして入れています。

1. MySQL, PyMySQLのインストール

ターミナルで、次のように打ち込む。

$ brew install mysql
$ pip3 install PyMySQL


以前にMySQLを中途半端に実行していていて色々なエラーが出たので(恨むぞプロ門...)、クリーンインストールしてしまうのが結局早かった。。。

2. MySQLサーバーの立ち上げ

ターミナルで、次のように打ち込む。

$ sudo mysql.server start


MySQLインストール後の初期設定はこちらの記事を参考にしました。
データベースの安全管理上、権限がないです、とエラーが出る場合が多いので、基本sudo付きで実行します。
色々聞かれるy/n質問は、全てyesで良いと思います。

ここまでやったら、jupyter notebookに戻って進めます。

3. jupyter notebookとMySQLを接続する

ターミナルで実行します。

$ jupyter notebook


自動でjupyter notebookが立ち上がるので、松尾研資料(data science)8章と、こちらの記事を参考にしながら接続。


これで、jupyter notebookを用いてMySQLコードを実行することができます。


以上です。
お読みいただきありがとうございました。

続きを読む

自宅でストレプトマイシン(抗生物質)を作る方法

DIYバイオで何かできないか考えて色々検索していた時に、こんな記事を見ました。

自宅でペニシリン(抗生物質)を作る方法 /バイオハッカー・ジャパン


ペニシリンが作れるなら、他の抗生物質も自作できるんじゃないか?」
そんな安直な考えで、ペニシリンに並んで有名なストレプトマイシンが自作できるかどうか、検討してみました。

 
ストレプトマイシンS.griseusが生産するアミノグリコシド抗生物質で、Waksmanら(1944)によって初めて報告されました*1
S.griseusの属するストレプトマイセス属は、放線菌分離株の90%を占めるグラム陽性細菌で、様々な形状で落ち葉や土壌中に生息しているらしい。
多種多様な放線菌の中でもストレプトマイセス属は頑強で生育しやすく、抗生物質の大部分を生産するとのこと*2
今では培地組成や培養条件を調整することで比較的安定してストレプトマイシンを生産することができるらしく、少し調べてみるとそこまで難しい培養プロセスは必要なさそう*3
だたし、人工的環境に植え継いだ菌種は(抗生物質などの)二次代謝産物の生産能が著しく低下することがあり、これが生産効率のボトルネックっぽい……。


色々調べて、S.griseusの取得、培養、検出、ストレプトマイシン生産までのプロトコルを自力でできるように改変させたものが以下になります。
※ただし、実際には試していないので、条件検討の必要あり。

ストレプトマイシン生産に関する備忘録
  1. 土壌を集める(要場所記載)。3–45cmの深さに掘り、2mmフィルター後、湿度を保ったまま家に持ち帰る。
  2. 100mg/10mLで滅菌生食水に懸濁し、そのうち1mLを滅菌処理し冷却されたSCA培地入りペトリ皿に播種する。
  3. 37˚Cで24–48時間培養し、灰色がかった白っぽいコロニーが出現することを確認する。
  4. グラム染色し、陽性の放線菌(菌糸径0.5–1.0 μm)がいることを確認する(菌糸径2–10 μmは糸状菌であるので、フィルタにかけると良い)*4
  5. 250mL half-strength YEME培地などの液体培地3日から4日培養する。(ここでストレプトマイシンが生産される)。
  6. 1mLとり、6000rpmで10分遠心し(あるいはフィルトレーションにより)、菌体を除去する。
  7. 寒天培地に大腸菌などを播いた後で取得した上清を播き、48–72時間培養後、阻止円を確認する。
  8. 上清を塩基性条件下で活性炭に通し、ストレプトマイシンを吸着させる*5
  9. 酸性条件アルコールでストレプトマイシンを溶出(0.2N 50%メタノールなど)
SCA培地組成 カゼイン, 1g(アミノ酸、ペプチド、ビタミン、微量元素) デンプン, 10g(炭素) 海水, 37g(錯体イオン) 寒天, 15g(固化させるために用いる) 水, 1L (pH = 7.2 +/- 2) YMEM培地組成 酵母抽出物, 3g 麦芽抽出物, 3g 獣肉ペプトン(Bacto peptone), 10g グルコース, 10g スクロース, 170g 水, 1L half-strength YEME培地組成 酵母抽出物, 0.2g 麦芽抽出物, 0.5g グルコース, 0.2g 水, 1L ・培地類やディッシュなどは、いずれもオートクレーブで滅菌状態を保っておく。 ・ストレプトマイシンは10%グリセロールストック中で-20˚C保存可能。


SCA培地は海水を混ぜると代用できるらしい*6(ホンマかいな)
YEME培地が自力だと調達が難しそうですが、Waksmanも初めは肉汁とコーンスティープリカーで培養しているので、工夫は出来そう。
あとは収率との戦い……。

だれか作って(他力本願)


以上、お読みいただきありがとうございました。

*1:Albert Schatz, Elizabeth Bugle, and Selman A. Waksman, Streptomycin, a Substance Exhibiting Antibiotic Activity Against Gram-Positive and Gram-Negative Bacteria, Experimental Biology and Medicine, 55, p.66-69, 1944

*2:木下浩, 「放線菌・糸状菌に生理活性物質を作らせるには」, 生物工学基礎講座-バイオよもやま話- 89巻 p.408–410, 2011
宮道慎二, 「不思議な微生物, 放線菌」, 生物工学基礎講座-バイオよもやま話- 90巻 p.32–36, 2012

*3:US PATENT OFFICE 2515461, 1946
Lekh Ram, Optimization of Medium for the Production of Streptomycin By Streptomyces Griseus, International Journal of Pharmaceutical Science Invention, 3, p.1–8, 2014
武市千代子, 「放線菌の分離と同定」, 跡見学園短期大学紀要, 12, A1 - F16, 1976

*4:その他、メチルレッド陽性、アミラーゼ生産、アルコール発酵陽性などでも確かめられる。

*5:有機物が活性炭に吸着する性質を利用している。脱臭効果もコレ。

*6:Starch Casein Agar (SCA)- Composition, Principle, Preparation and Results (https://microbenotes.com/starch-casein-agar-sca-composition-principle-preparation-and-results/)

FlaskでWebアプリ導入

~/hello-flask.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello Flask!"

if __name__ == '__main__':
    app.run()

実行結果
f:id:arukuhito_000:20180902233935p:plain
f:id:arukuhito_000:20180902231255p:plain


Raspberry Piをはじめよう 第3版を参考。
その後、Pythonで学ぶwebアプリケーションの作り方by Flaskを写経。
記事自体が古くてimport文が動かないことがあったり、コード脱字のために動かないことがあったりしたけど、基本的には非常に勉強になった。
自分でコードを書きながら、ユーザーログイン機能付きの簡易tweetアプリみたいな物が作成できる。

Flask自体はwebアプリがどう動くか勉強するには非常に良いけれど、実用的な運用は難しそうなので、今後は、Node.jsとReact(create-react-appというめちゃんこ便利な呪文がある)を使う予定。

一通りフロントができたら、Raspberry piでローカルサーバーを立てて個人的に運用するのもいいかもしれない。

データサイエンスと機械学習が無料で学べる、Jupyter Notebook (.ipynb) 形式の演習ノート

深層学習 (ディープラーニング, deep learning) や、それを扱うエンジニアの育成を目的とした研究会である、Deep Learning JPを紹介する。

見ているだけで色々コンテンツがあって無限に学びが深まる気がする......(アカン)

 

Deep Learning JPには様々な教育プログラムがあるが、特に主催研究室の一つである東大松尾研が公開している実際の公開講座の演習資料が、初学者の私にとって非常に勉強になった(なってる)。

 

グローバル消費インテリジェンス寄附講座Deep Learning基礎講座では、ipynb形式で演習資料が配布されている。

リンク先のDOWNLOADからgoogle driveに保存してColaboratoryで進めてもいいし、Jupyter Notebookを使ってオフライン上で進めてもいい。

この講座を修了した後は、応用としてDeep Learning開発実践講座も用意されている。

 

そのほか、Deep Learning JPの輪読会資料や論文を読むのも良いかもしれない。

 

備忘録。

Raspberry Piをセットアップする

Maker Faire Tokyo行ってきました。

 

めっちゃ楽しかった。そして、出展者はもっと(多分)楽しんでた。来年は自分で何か出したい。できればバイオ系で。。。

 

そして前々から気になってたRaspberry Piが安かったので購入。思い立ったら実行。

周辺機器その他最低限取り揃える。

ちなみにラズパイの参考書的なのは既にメルカリで半額購入してた(Raspberry Piをはじめよう)。

 

  1. Win 10 Home Edition 64bit(OSインストール用)
  2. Raspberry Pi 3 Model B(MF Tokyo 2018で特価購入)
  3. microSDカード 64GB Class10 読み出し85MB/s 書き込み15MB/s
  4. 電源(Output 5V, 700mA以上、携帯に使ってたのを流用)とUSBケーブル(これもMFTokyoで100円で買った)
  5. USBマウス、USBキーボード(家にあったのを流用)
  6. ケースも、かわいいやつが500円で売ってたのでその場で購入

AmazonでSDカードだけ注文して、一日で届く(すごい)。

さっそくいじってみる。

 

Win10にSDカードぶっさして、Raspbianをインストール

Lite版はディスプレイが使えないっぽい。64GBのいいやつ買ったので、通常版を選択。

インストール中にここまでの記事を書いて待つ。

 

Raspberry PiFAT32microSDしか認識しないらしいので、exFATからFAT32にする(guiformat.exeを使用)。

(SDカードそのものに「Lock▸」って書いてあるスイッチがあったので入れてたら、書込み禁止になってた。これで30分くらい迷った。)

 

f:id:arukuhito_000:20180806004719p:plain

↓ 

f:id:arukuhito_000:20180806010154p:plain

DD for windowsでイメージファイルを書き込み。

f:id:arukuhito_000:20180806010529p:plain

 

と、ここまでやって、なぜかSDカードは空ファイルのまま。

いろいろフォーマットを試すもうまくいかず。

書き込んだ瞬間にSDカードがexFATに戻るのも、よくわからない。。。

 

 

面倒くさいので、NOOBsでインストールする。できた。

初期設定などはこちらのページを参考にした。

 

wi-fi, ssh, vnc等の設定を行う。

 

VNCの初期設定はだるそうだったけど、2016年モデル以降はRaspberry PiVNCサーバーが標準インストールされているらしいので、Enableチェックを押すだけ。

Win10にVNC Viewerを入れて、Sign Upして、ラズパイ側でサーバーを立ち上げる。

”Indirect”で接続する方式をとってみると、ラズパイのIPアドレスをWin10側で入力する必要なく、自動的に接続された。

 

その後、一度ラズパイをシャットダウンし、HDMI, USBなどの配線を外す。

再度電源のみぶっさして、30秒くらい待つと、Win10でラズパイが動くように設定できた。

 

f:id:arukuhito_000:20180807010727p:plain

だいぶスッキリ。

 

 

今日はここまで。

 

Windows10を初期化し、自宅でサイエンスできる環境を整える

高校生くらいの頃から使用しているPC(Windows10だけインストールされてしまっている)が非常に重いので、思い出写真やどうしても必要なデータだけGoogle Driveにバックアップして完全初期化。

今は全部Cloud上でバックアップされているので、Google ChromeEvernoteだけインストールしたら特に問題ないような気がする。

 

初期化後、Anacondaをインストールしました。

基本的にはjupyter notebookpythonコードを、RstudioでRコードを書いて、つらつらデータサイエンスを勉強をしてゆきます。

 

内容は、バイオインフォマティクス、統計、AIに挑戦していくつもりです。

 

今日はここまで。