Func_AcXcFit関数
FCS/FCCS解析スクリプト(FCCSanalysis_PCNCKd.m)の中で呼び出される関数。
指定されたフォルダにあるTiffファイルから
GFPおよびHaloTagの計測データを読み込み、
自己相関、相互相関を計算し、
それらの相関曲線をフィッティングする。
具体的な手順は以下の通り。
1.引数で指定されたフォルダにある「s_C001.tif」ファイル(GFPの計測データ)
および「s_C002.tif」ファイル(HaloTagの計測データ)を読み込む。
2.読み込んだデータは2次元行列となっているので1次元ベクトルに直す。
Func_tifToTimecourse関数を用いる。
3.計測データのintensityが徐々に変化していくのを修正する。
Func_detrend関数を用いる。
4.いらないデータを削るための配列 temp を用意する。
これはcorrelation curveの横軸であるラグの値を格納した配列である。
5.maxlagを10^7としてGFPおよびHaloTagの自己相関と相互相関を計算する。
Func_correlation関数を用いる。
出力された相関の配列は4.のtemp配列を使い必要な部分だけ抽出する。
6.自己相関、相互相関のデータに対してフィッティングを行う。
Func_Fitting関数を用いる。
できるだけ処理を高速にしてCPUやメモリの負担を減らすため、
上記のtemp関数を使ってデータを削ったり、不要になったデータを逐一削除するようにしている。
function [output, parameter] = Func_AcXcFit(input, scanspeed, k)
引数
input(文字列)
GFPとHaloTagの計測データ(Tiffファイル)が入っているディレクトリ
scanspeed(数値)
scanspeed (usec/pixel)
k (数値)
structure parameter
戻り値
output(構造体)
GFPとHaloTagの自己相関、相互相関およびそれらのフィッティングカーブを
格納した構造体。不要なデータは削っている。
output構造体のメンバー
取得するときは output.lags のように記述する
graw(値なし)
GFPの生データを格納するものだったがデータが巨大なので
メモリ節約のため中身を削除した。無視してよい
hraw(値なし)
HaloTagの生データを格納するものだったがデータが巨大なので
メモリ節約のため中身を削除した。無視してよい
lags(1次元数値配列)
ラグの値を格納した配列。
gAc(1次元数値配列)
GFPの自己相関列。lagsのラグに対応。
hAc(1次元数値配列)
HaloTagの自己相関列。lagsのラグに対応。
g_hXc(1次元数値配列)
GFP-HaloTagの相互相関列。lagsのラグに対応。
h-gXc(1次元数値配列)
HaloTag-GFPの相互相関列。lagsのラグに対応。
gfit(1次元数値配列)
GFPの自己相関列のフィッティングカーブ。lagsのラグに対応。
hfit(1次元数値配列)
HaloTagの自己相関列のフィッティングカーブ。lagsのラグに対応。
g_hfit(1次元数値配列)
GFP-HaloTagの相互相関列のフィッティングカーブ。lagsのラグに対応。
h_gfit(1次元数値配列)
HaloTag-GFPの相互相関列のフィッティングカーブ。lagsのラグに対応。
parameter(構造体)
GFPとHaloTagの自己相関、相互相関のフィッティング結果のパラメータを
格納した構造体。
いずれのメンバーもFunc_Fitting関数の戻り値fittedParaと同様
4行1列の数値配列である。
配列の1番目がG(0)、2番目がτD。
3番目と4番目は2成分fitの名残であるため無視してよい。
parameter構造体のメンバー
gfit(1次元数値配列)
GFPの自己相関列のフィッティング結果のパラメータ。
hfit(1次元数値配列)
HaloTagの自己相関列のフィッティング結果のパラメータ。
g_hfit(1次元数値配列)
GFP-HaloTagの相互相関列のフィッティング結果のパラメータ。
h_gfit(1次元数値配列)
HaloTag-GFPの相互相関列のフィッティング結果のパラメータ。