バイオ系だけどプログラミング始めました

ImageJ (Fiji)の使い方や Python でのプログラミングなどを、主にバイオ系の研究者・大学院生向けに書いていこうと思います。

はてなブログに Jupyter notebook を載せるテスト

ブログに Jupyter notebook を載せるためのテスト。 Download as でmarkdownをダウンロードして、はてなブログmarkdown 形式の編集を選択してコピペした。

print("Hello World!")
Hello World!

モジュールのインポート。

import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline

x に 0 から 2π までの 0.1 刻みの値を代入。 y に x の各値を入力とした sin の値を代入。

x = np.arange(0, 2*np.pi, 0.1)
y = np.sin(x)
print("x =", x)
print("y =", y)
続きを読む

このブログについて

このブログには ImageJ と Python を用いた解析について技術的なところを色々書いていく予定です。

 

環境等

私が使っている PC は基本的に Windows8.1(64-bit)で、解説も WindowsPC での内容になります。ImageJ と Python のどちらも WindowsMacLinux どのOSでも動作するように作られているので他のOSを使われている人でも問題ありません。ただ、微妙な違いがあるかもしれません。

 特に断らない場合、ImageJ と書いた時には ImageJ Fiji を指します。

特に断らない場合、PythonPython 3.6 の Anaconda を前提として書いています。

 

 謝辞

私は、ImageJ FIji と PythonJython)による解析を、新学術領域 少数性生物学(平成23-27年)が主催した第3回少数性生物学トレーニングコースで教わりました。したがって、少数性生物学トレーニングコースで学んだ内容を元に記述した部分が多くあります。少数生物学の領域の方々、特に ImageJ と Python での解析の実習でお世話になりました三浦先生と新井先生に感謝いたします。

少数性生物学の領域の先生方が執筆された書籍が出版されています。従来の生化学でなされてきたバルクの状態での議論では扱えない分子生物学の問題について記述されてい(ると思い)ます。僕はまだ読んでいないですが良書であること間違いないと思います。

 

覚えておくと役に立つ Windows のショートカット・コマンド

あまり知らない人も多いかもしれないけど役に立つショートカット

・Ctrl + Shift +「N」で新しいフォルダを作る。

・「F2」もしくは Fn +「F2」でリネーム。

・Ctrl + 「W」でウィンドウを閉じる。

割とみんな知ってる基本的なショートカット

・Ctrl +「C」でコピー。

・Ctrl +「V」で貼り付け。

・Ctrl +「A」で全部選択。

・ファイル等を選んで Shift + 「矢印」で複数の並んだファイルを選択。

・Ctrl を押しながらクリックで任意のファイルを複数選択。

・Shift + Delete でごみ箱を経由せずにデリート。

 

気が向いたら追加するかも。

ImageJ Fiji の役に立つショートカット

ImageJ のショートカットの確認

ショートカットが設定されていれば画像のように、コマンドの右の方に表示されます。

f:id:shatoshi:20170608032607j:plain

また、Plugins > Shortcuts からショートカットを確認したり、自分でショートカットを設定したりできます。

 

使用頻度の高い覚えておくと便利なコマンド

・「L」でコマンドの検索。

続きを読む

バイオ系だけど Python を始めよう

Python って?

Pythonプログラミング言語で、近年最もよく使われるプログラミング言語のひとつになっています。

Python - Wikipedia

 

特徴として、

フリーで使うことができ、オープンソースソフトウェアであるため内部での計算がクリアである。

・短い行数でプログラムをシンプルに書くことができ、書いたプログラムが読みやすい。

WindowsMacLinux などの多くのプラットフォームに対応している。

・行列計算、グラフのプロット、データ分析、機械学習などのライブラリが充実している。

 

などが挙げられます。

これらの特徴があるため、プログラミング初心者が研究のためのツールとして学ぶのに最適な言語であると言えます。また、他の記事で今後紹介する予定ですが Python を用いることで、ImageJ に機能の追加をしたり、ImageJ でルーチンの画像処理を自動で行うためのプログラムを書くことができます*1

 

*1:実はこれから紹介する Python とは微妙に異なるのですが表面上は大体同じです

続きを読む

Link 集

生命系の大学院生・研究者のためのLink集を備忘録もかねて作っておきます。特に Python や ImageJ やその他のツールの使い方で参考になるページや、勉強や知識の確認のために使えるページを集めます。

続きを読む

ImageJ Fiji のインストールと Fiji

 目次

  •  目次
  • ImageJ について
  • Fiji について
  • Fiji のインストール
    •  Windows へのインストールについて
    • Mac へのインストールについて
    • Linux へのインストールについて
  • ImageJについての書籍やリンク

 

ImageJ について

ImageJとは、Java というプログラミング言語で書かれた画像解析のためのソフトウェアです。

ImageJ - Wikipedia

 

ImageJ はオープンソースソフトウェア、つまり、どういういう仕組みでプログラムが書かれているかが公開されています*1Java で書かれているので、OS に依存せず WindowsMacLinux 上で同様に動作することが特徴です。

オープンソースで、かつ誰もが自由に使うことができ、プログラムが画像をどういう処理をしているかが明確なので科学技術計算に向いているため、広く使われています。ImageJ は元々はNIHで開発されたため、生命科学系のツールが豊富で、生命科学系の分野でのデファクトスタンダードとなっています。

 

*1:オープンソースと一口に言っても色々ライセンスの種類があるのですがそれは置いときます

続きを読む

はじめに

僕は2017年現在、生物系の大学院で博士課程の学生として研究を行っています。主に顕微鏡観察や生化学的な解析をして、運動する分子の性質を調べています。

このブログには、僕が研究で身に着けてきたテクニック、特にプログラミングや画像処理について記していこうと思います。特に、ImageJ(Fiji)Python を用いた解析や解析の効率化について書いてく予定です。

 

・研究室きまってザックリしたテーマは決まった。顕微鏡で観察をすることになったけど、この ImageJ ってソフトの使い方がよくわからない・・・・・・。

・研究を頑張っていたけど、自分がやりたい解析をするには、100個以上の画像やデータを解析する必要がある・・・・・・心が折れそうだ。

そんなあなた、画像解析の基礎的な知識と軽い初歩的なプログラミングができればこれらの問題は解決します。しかし、大学で生物系の専攻だと、なかなかプログラミングを基礎から学んだりする機会も少ないですし、どう役に立つか分からない状態では身につきづらいです。

 

バイオ系であっても、プログラミングができればできる解析の幅が広がります。多数の実験結果を自動で、定量的に解析し、実験結果だけでなく軽いシミュレーションなんかもできると良い研究になるでしょう。自動的に解析するプログラムが作れたら、解析に使っていた時間を論文を読むのに使ったり、別な実験をしたり、休んだりするのに使えるでしょう。

 

バイオ系の院生・研究者のあなた、プログラミングはじめてみませんか?