sifue's blog

プログラマな二児の父の日常 ポートフォリオは www.soichiro.org

ImageJのManual Trackingから得た細胞のMigrationのデータからMean squared distanceを求めるプログラム。

clmyg.java
http://www.tulip.sannet.ne.jp/so16/data/clmyg.java
この1週間何を必死をこいて作っていたかというと、こいつです。
久しぶりにjavaでコードを書いたのですが、コメントも含めて500数行になってしまいました。
ちなみにImageJは画像処理ソフト。このプラグインであるManual Trackingで細胞の連続撮影のスタック画像から細胞の位置のXY座標を抽出することができます。
WCIF ImageJ bundle
http://www.uhnresearch.ca/facilities/wcif/download.php
imageJ plugin Manual tracking
http://rsb.info.nih.gov/ij/plugins/track/track.html
 
計算の手法は、
Molecular Biology of the Cell Vol. 15, 982–989, March 2004
Nonmuscle Myosin IIB Is Involved in the Guidance of Fibroblast Migration□V
Chun-Min Lo,* Denis B. Buxton,† Gregory C.H. Chua,* Micah Dembo,‡
Robert S. Adelstein,† and Yu-Li Wang*§
http://intl.molbiolcell.org/cgi/content/abstract/15/3/982
を参考にして
さらにMean Squared Distance(MSD)の求め方は、
http://www.ccr.buffalo.edu/etomica/app/modules/sites/Ljmd/Background2.html
の計算式を参考にしました。
拡散方程式における二乗平均を求める際の統計的処理と同じ事をしています。
使い方自体はコードの中にも書いてありますが、
javac clmyg.java
コンパイルの後、
java CellMygaration [Manual TrackingのResultファイル名] [撮影の間隔] [um/xyピクセル][1トラックの分割数] [1分割目の始まりのスライド] [1分割目の最後のスライド] [n分割目の始まりのスライド] [n分割目の最後のスライド] ......
で計算して、output[#][#].txtとRTIMEvsRRMSD.txtとTIMEvsMSD.txtを書き出してくれます。

結果としては、全てタブ区切りのcsvで、標準誤差とともに出力され、以下のようなグラフを得ることができます。

一応使用される方はコードを見てコメントを読んで自分で検証してみて下さい。とりあえずグラフソフトを使った計算で、最初の方だけは検証しています。一応これで自分の結果は細胞の移動速度に有意な結果が出たのでかなり満足です(涙)
何かありましたらこのBlogの方にコメントを下さい。