「単粒子解析」の版間の差分

提供: Eospedia
移動: 案内検索
(実行例1)
(実行例1)
行2,290: 行2,290:
 
<pre>
 
<pre>
 
make TestDataNoise
 
make TestDataNoise
 +
make First
 
make All
 
make All
  
 
(以下繰り返し)
 
(以下繰り返し)
 
make Again
 
make Again
make First
 
 
make All
 
make All
 
</pre>
 
</pre>

2014年5月30日 (金) 04:51時点における版

単粒子解析法とは、Single Particle Analysis(SPA)の日本語訳である。単粒子とは、画像中の粒子(対象)が元来、2次元的にもしくは3次元的に同じ形をしていることを仮定して、その2次元、3次元構造解析を行う画像処理法のひとつである。

目次

2次元単粒子解析

 2次元単粒子解析とは、2次元で得られている電子顕微鏡投影像を分類し、それぞれを平均し、構造の違いを論じるための解析方法を指します。

クラスター解析

 複数の電子顕微鏡画像についてデータが近いもの同士でグループ分けしていき、階層構造を作成して画像を分類します。さらに分類した画像同士の平均画像を作成することにより、SN比を上げることができます。平均画像は主に角度決定するときの参照ファイル、あるいは粒子の動きを観察するための画像として使用します。

実行例1

入力ファイル

Input-Cluster-2dSet.png


前処理として以下のコマンドを使用します。

mrcImagePad
mrcImageLowPassFilter
mrcImageShrink

前処理後

Input1-Cluster-2dSet.png


mrcImageClusterAnalysisを使ってクラスター解析を行います。

         1          0         40         40         99.2851
         2          0         40         40         90.0657
         2          1         40         40         75.2851
         3          0         40         40         82.6412
         3          1         40         40         87.9777

-中略-

         3          2          3          2         442.652
         1          0          3          0         373.403
         2          0          3          0         630.906
         2          1          3          0         349.983
         1          0          2          1         562.309


clusterShowを使って、解析結果をファイルリストで出力します。

121p-shift-rot000.mrc-rot000.pad 0 590.000000 83.277847 
121p-shift-rot000.mrc-rot090.pad 3 580.000000 83.277847 
121p-shift-rot000.mrc-rot030.pad 1 570.000000 87.326599 
121p-shift-rot000.mrc-rot060.pad 2 560.000000 87.326599 
121p-shift-rot000.mrc-rot120.pad 4 550.000000 79.850204 

-中略-

121p-shift-rot045.mrc-rot000.pad 10 240.000000 80.898613 
121p-shift-rot045.mrc-rot270.pad 19 230.000000 80.898613 
121p-shift-rot045.mrc-rot060.pad 12 220.000000 80.506714 
121p-shift-rot045.mrc-rot240.pad 18 210.000000 78.504913 
121p-shift-rot045.mrc-rot030.pad 11 200.000000 68.052155 
121p-shift-rot000.mrc-rot000.pad.avg 0 590.000000 83.277847 0 0
121p-shift-rot000.mrc-rot090.pad.avg 3 580.000000 83.277847 0 0
121p-shift-rot000.mrc-rot030.pad.avg 1 570.000000 87.326599 0 0
121p-shift-rot000.mrc-rot060.pad.avg 2 560.000000 87.326599 0 0
121p-shift-rot000.mrc-rot120.pad.avg 4 550.000000 79.850204 0 0

-中略-

121p-shift-rot045.mrc-rot000.pad.avg 10 240.000000 80.898613 0 0
121p-shift-rot045.mrc-rot270.pad.avg 19 230.000000 80.898613 0 0
121p-shift-rot045.mrc-rot060.pad.avg 12 220.000000 80.506714 0 0
121p-shift-rot045.mrc-rot240.pad.avg 18 210.000000 78.504913 0 0
121p-shift-rot045.mrc-rot030.pad.avg 11 200.000000 68.052155 0 0


樹形図(PSファイル)

Outdata-Cluster.png

クラスター解析結果の樹形図はPSファイルとして出力されます。


mrcImageMontageCreateを使って、ソート順に表示します。

-OL

Outdata-Cluster-OL.png
-AL
Outdata-Cluster-AL.png


こちらのMakefileを使って、以下のコマンドを入力するとこれまでの一連のコマンドが実行できます。

make Init
make ALLROIS
make Pad
make Log
make LogPS


3次元単粒子解析

 元々の粒子の構造が3次元的に単一であることを仮定して、2次元の粒子画像群から3次元構造を再構成する画像処理法を指します。その手順は、下記のようになります。

ROI(粒子画像の抽出)

電子顕微鏡画像の前処理

 まず、電子顕微鏡画像から粒子画像を抽出しやすくするために画像に合った補正を行います。


CTF補正
 画像の明暗を調節したい場合にはCTF補正を掛けて、コントラスト比を調整します。
以下の流れでCTF補正を行います。


電子顕微鏡画像(2D)

↓ A: mrcImageFFT

電子顕微鏡画像(2DFFT)

↓ B: ctfDisplay

電子顕微鏡画像(2DFFT) + CTF情報(ASCII)

↓ C: mrcImageCTFCompensation

CTF補正済み画像(2D)


Input-121p-shiftr-ctf.png

最小

最大
平均値
標準偏差

標準誤差

-1066.31 (69, 47, 0)

489.111 (58, 48, 0)
0.247522
88.9735

0.347553


コマンドA: mrcImageFFT -i Input-121p-shiftr-ctf.2d -o Input-121p-shiftr-ctf.2dfft
コマンドAの出力画像

Input-121p-shiftr-ctf-fft.png
mrcFFTExpression(m=1)にて表示

最小

最大
平均値
標準偏差

標準誤差

0.129048 (255, 128, 0)

772.6 (142, 252, 0)
72.4855
51.7996

0.202342


コマンドB: ctfDisplay -i Input-121p-shiftr-ctf.2dfft -o Input-121p-shiftr-ctf.ctfinfo
ctfDisplay0.png

実行直後

> ctfDisplay1.png

lmax=400でトーンリングが見える

> ctfDisplay2.png

Rmax=0.08で拡大表示する

> ctfDisplay3.png

谷に線を合わせる(Defoucus=27000)

今回はノイズ比を1と考え、Isignalの値をInoiseの値に合わせます。
最後にInfoのSaveボタンでCTF情報ファイルを保存します。(保存した出力データ)


コマンドC: mrcImageCTFCompensation -i Input-121p-shiftr-ctf.2dfft -o Input-121p-shiftr.2d -info2 Input-121p-shiftr-ctf.ctfinfo
コマンドCの出力画像
Input-121p-shiftr.png

最小

最大
平均値
標準偏差

標準誤差

-461.072 (75, 56, 0)

1206.48 (16, 58, 0)
-0.247522
88.9734

0.347553


ローパスフィルタ
 mrcImageLowPassFilterを使用し低周波数成分を落とすと、画像が見えやすくなる場合もあります。


実行例1
Input-121p-hpfn.png

最小

最大
平均値
標準偏差

標準誤差

-357.864 (132, 55, 0)

636.92 (226, 152, 0)
-0.110347
87.6551

0.342403


コマンド: mrcImageLowPassFilter -i Input-121p-shiftr-hpfn.2d -o Output-121p-shiftr-lpfn.2d -m 3 -hvp 0.1


出力画像
Output-121p-shiftr-lpfn.png

最小

最大
平均値
標準偏差

標準誤差

-141.562 (111, 125, 0)

324.213 (233, 153, 0)
-0.110346
36.3984

0.142181


実行例2
Input-121p-water.png

最小

最大
平均値
標準偏差

標準誤差

37 (55, 59, 0)

77 (56, 46, 0)
60.0624
4.56632

0.0713488


実行例1と同様のコマンドで実行


出力画像
Output-121p-water-lpf.png

最小

最大
平均値
標準偏差

標準誤差

49.2681 (55, 59, 0)

68.8195 (29, 35, 0)
60.0623
2.47312

0.0386425


スムージング
Input-121p-water.png

最小

最大
平均値
標準偏差

標準誤差

37 (55, 59, 0)

77 (56, 46, 0)
60.0624
4.56632

0.0713488


実行例1と同様のコマンドで実行


出力画像
Output-121p-water-smt.png

最小

最大
平均値
標準偏差

標準誤差

52 (56, 60, 0)

69 (29, 34, 0)
60.1317
2.51206

0.0392509


電子顕微鏡画像から粒子画像の抽出

 Display2を使用して、粒子部分をROIファイルとして切り出します。


Input-121p-shiftr.png

最小

最大
平均値
標準偏差

標準誤差

-461.072 (75, 56, 0)

1206.48 (16, 58, 0)
-0.247522
88.9734

0.347553


コマンド: Display2 -i Input-121p-shiftr.2d
View-Display2.png

実行直後



> View1-Display2.png

mrcImage InfoのMax, Minの値を、
Display2 InfoのHigh, Lowに設定すると、
観察しやすい画像として表示される
今回はHigh=1207, Low=-462に設定

> View2-Display2.png

切り出したい範囲を囲む
ROI->Createにて操作


View3-Display2.png

複数囲む場合はROI->MultiROIにチェック



切り出したい範囲を囲み終えたら、ROI->ROIInfoからroiinfo画面を開き、
下部のExtractボタンを押すと、ROIファイルが作成されます。


出力したROIファイルの画像

Input-121p-shiftr-roi.png
0000.roi

最小

最大
平均値
標準偏差

標準誤差

-461.072 (17, 21, 0)

1098.8 (10, 13, 0)
28.9941
317.641

13.5938

Input-121p-shiftr-roi1.png
0001.roi

最小

最大
平均値
標準偏差

標準誤差

-394.013 (18, 10, 0)

1206.48 (14, 12, 0)
18.3544
299.042

12.5036

Input-121p-shiftr-roi2.png
0002.roi

最小

最大
平均値
標準偏差

標準誤差

-418.302 (17, 6, 0)

1107.53 (14, 10, 0)
20.3934
302.756

12.8861


参照画像の作成

参照画像の準備(mrcImageModelCreate, pdb2mrc etc.)

 ここでは3次元再構成に必要な3次元モデルデータ(参照画像)を用意する方法を記述します。


3次元の概形が分かっている場合
 概形が分かっている場合はその形に近いmrcファイルあるいはPDBファイルを用意します。
PDBファイルの場合はpdb2mrcを使用して、mrcに変換します。


121p-shift-PDB.png

重心

最大半径

最大半径(座標)

3.012034e-03 -4.102425e-03 7.530045e-04

3.286664e+01

24.77 23.85 28.04


コマンド: pdb2mrc -i 121p-shift.pdb -o 121p-shift.ref3d -nx 64 -ny 64 -nz 64 -Sx -80 -Sy -80 -Sz -80 -dx 2.5 -dy 2.5 -dz 2.5 -m 1


もしくはこちらのMakefileからpdb2mrcを実行することもできます。
設定項目(今回は変更の必要はありません)
###
### Initial model from PDB
###
REFSOURCE=121p-shift
DELTA=2.5
SIZE_X=64
SIZE_Y=64
SIZE_Z=64
START_X=`awk 'BEGIN { print -1*$(DELTA)*$(SIZE_X)/2}'`
START_Y=`awk 'BEGIN { print -1*$(DELTA)*$(SIZE_Y)/2}'`
START_Z=`awk 'BEGIN { print -1*$(DELTA)*$(SIZE_Z)/2}'`
make InitialModelと入力すれば参照画像が作成されます。


121p-shift.png
xy平面

121p-shift1.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

0 (0, 0, 0)

22320.6 (34, 39, 32)
42.1608
615.001

1.20117


3次元の概形が分からない場合
 概形が分からない場合はmrcImageModelCreateにて仮の3次元モデルデータを作成し、参照画像とします。今回は粒子を対象としているので、楕円体として参照画像を作成します。


コマンド mrcImageModelCreate -o Model-ellipsoidal.ref3d -m 7 -nx 20 -ny 20 -nz 20 -lx 1 -ly 1 -lz 1


Model-ellipsoidal.png
xy平面

Model-ellipsoidal1.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

0 (0, 0, 0)

2 (10, 10, 1)
0.38865
0.608959

0.00680837


3次元再構成

 3次元再構成を行うためには多くの参照投影像が必要になりますので、Makefileを使用することをお薦めします。

ROIファイル(.roi)および参照画像(.ref3d)がある場合はこちらのMakefileにて、make Allと入力すれば、3次元再構成を1ターン分行い、3次元再構成されたファイル(.3d)が作成されます。

以降の項目では3次元再構成に至るまでの各処理をEosコマンドMakefileのコマンドと対応させながら、実行例を記述していきます。


参照画像から2次元の参照投影像のセットを生成

 mrc3Dto2Dを使用して、2次元の参照投影像を作成します。


メルカトル図法
 オプションm=0(デフォルト)の場合は角度の組み合わせ全てについて2D投影を行います。
121p-shift.ref3d を元に参照投影像121p-shift.ref2dを作成する場合(y軸, 軸周りに0度 ~ 360度の範囲で30度刻み)


121p-shift.png
xy平面

121p-shift1.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

0 (0, 0, 0)

22320.6 (34, 39, 32)
42.1608
615.001

1.20117


コマンド: mrc3Dto2D -i 121p-shift.ref3d -o 121p-shift.ref2d -EulerMode YOYS -InterpolationMode 2 -Rot2 0 359 30 -Rot1 0 359 30 -Rot3 0 0 30 -m 0


既存のMakefileを利用する場合は以下の設定を確認します。
今回はファイル名のみ変更しています。
# Ref File Name
INITIAL=121p-shift

#
# Search Area for 3D
#
ROTMODE=YOYS

#
# Search Area for 3D
#
ROTMODE=YOYS
# Rot1
ROT1MIN=0
ROT1MAX=359
ROT1D=30
nRot1=6

# Rot2
ROT2MIN=0
ROT2MAX=359
ROT2D=30
nRot2=6

# Rot3
ROT3MIN=0
ROT3MAX=0
ROT3D=30
nRot3=1
make *.ref2dと入力すれば全ての.ref3dファイルについて参照投影像(.ref2d)が作成されます。


121p-shift2d.png
z=0

121p-shift2d1.png
z=1

121p-shift2d2.png
z=2

121p-shift2d3.png
z=168

サイズ

最小
最大
平均値
標準偏差

標準誤差

( 64, 64, 169)

-76.7146 (32, 41, 138)
2557.54 (35, 32, 131)
42.1574
207.727

0.249672


モルワイデ図法
 オプションm=1の場合は3次元像の緯度が大きくなる毎に経度の刻み幅を減らすモルワイデ図法で投影します。


コマンド: mrc3Dto2D -i 121p-shift.ref3d -o 121p-shift.ref2d -EulerMode YOYS -InterpolationMode 2 -Rot2 0 359 30 -Rot1 0 359 30 -Rot3 0 0 30 -m 1


Makefileの変更箇所
.ref3d.ref2d:
	#mrc3Dto2D -i $(TARGET).ref3d -o $(TARGET).ref2d -EulerMode $(ROTMODE) -InterpolationMode 2 -Rot2 $(ROT2MIN) $(ROT2MAX) $(ROT2D) -Rot1 $(ROT1MIN) $(ROT1MAX) $(ROT1D) -Rot3 $(ROT3MIN) $(ROT3MAX) $(ROT3D) -m 0
	mrc3Dto2D -i $(TARGET).ref3d -o $(TARGET).ref2d -EulerMode $(ROTMODE) -InterpolationMode 2 -Rot2 $(ROT2MIN) $(ROT2MAX) $(ROT2D) -Rot1 $(ROT1MIN) $(ROT1MAX) $(ROT1D) -Rot3 $(ROT3MIN) $(ROT3MAX) $(ROT3D) -m 1


121p-shift2d1-0.png
z=0

121p-shift2d1-1.png
z=1

121p-shift2d1-2.png
z=2

121p-shift2d1-3.png
z=98

サイズ

最小
最大
平均値
標準偏差

標準誤差

( 64, 64, 99)

-96.877 (33, 22, 81)
2729.79 (32, 32, 46)
42.1673
208.082

0.326766


粒子画像の再調整

 参照投影像が用意できたら、粒子画像と参照投影像を比較しやすくするための処理を行います。


窓関数を掛ける
窓関数を掛けて、切り出した粒子画像の端のノイズを除去します。


Input-121p-shiftr-roi.png

最小

最大
平均値
標準偏差

標準誤差

-461.072 (17, 21, 0)

1098.8 (10, 13, 0)
28.9941
317.641

13.5938


今回は横:90%, 縦95%の窓関数を掛けます。
コマンド: mrcImageWindowing -i Input-121p-shiftr.2d-0000.roi -o Input-121p-shiftr.2d-0000.mask -W 0.1 0.0 0.05 0.0 -m 18


Input-121p-shiftr-mask.png

最小

最大
平均値
標準偏差

標準誤差

-461.072 (17, 21, 0)

1098.8 (10, 13, 0)
49.6982
307.622

13.165


パディング
粒子画像のサイズを参照投影像のサイズに合わせます。
Input-121p-shiftr-mask.png

最小

最大
平均値
標準偏差

標準誤差

-461.072 (17, 21, 0)

1098.8 (10, 13, 0)
49.6982
307.622

13.165


今回はサイズを64x64にします。
コマンド: mrcImagePad -i Input-121p-shiftr.2d-0000.mask -o Input-121p-shiftr.2d-0000.pad -W 64 -H 64


Input-121p-shiftr-pad.png

最小

最大
平均値
標準偏差

標準誤差

-510.77 (39, 40, 0)

1049.1 (32, 32, 0)
2.21189e-07
112.314

1.7549


Makefileを利用する場合はこちらの設定を確認します。
# Pad size for 2D 
PAD_W=64
PAD_H=64
make ROIs, make padの順に入力すれば、全て.roiファイルに窓関数、パディングの処理を行った.padファイルが作成されます。


最も類似度(相関値)の高い参照投影像の角度を粒子画像の投影角として決定

 mrcImageAutoRotationCorrelationを使用して粒子画像の投影角を決定します。


Input-121p-shiftr-pad.png

最小

最大
平均値
標準偏差

標準誤差

-510.77 (39, 40, 0)

1049.1 (32, 32, 0)
2.21189e-07
112.314

1.7549


121p-shift2d.png
z=0

121p-shift2d1.png
z=1

121p-shift2d2.png
z=2

121p-shift2d3.png
z=168

サイズ

最小
最大
平均値
標準偏差

標準誤差

( 64, 64, 169)

-76.7146 (32, 41, 138)
2557.54 (35, 32, 131)
42.1574
207.727

0.249672


コマンド: mrcImageAutoRotationCorrelation -i Input-121p-shiftr.2d-0000.pad -r 121p-shift.ref2d -O Input-121p-shiftr.2d-0000.corinfo -fit Input-121p-shiftr.2d-0000.fit -n 12 -m 18 -range 0 359 -Iter 2 -Rot2 12 -Rot1 12 -Rot3 12


Makefileを利用する場合はこちらの設定を確認します。
# For 2D 
STEP=12
ROTMIN=0
ROTMAX=359
nROT=`echo "" | awk 'BEGIN {printf 360 / $(STEP)}'`
make PADs, make corinfoの順に入力すれば、全て.padファイルについて角度情報ファイル(.corinfo)および角度決定後の画像ファイル(.fit)が作成されます。


-O の出力結果
0:                        YOYS        0.000000        0.000000        0.000000 :     1737.870605 theta      179.499994 at        2.000000        1.000000 onMap        0.000000        0.000000 Input-121p-shiftr.2d-0000.pad Cor        0.689801

1:                        YOYS        0.000000       30.000001        0.000000 :     1731.543091 theta      284.208488 at        1.000000        1.000000 onMap        0.000000        0.083333 Input-121p-shiftr.2d-0000.pad Cor        0.695427

2:                        YOYS        0.000000       60.000002        0.000000 :     3307.848633 theta      281.216811 at        1.000000        1.000000 onMap        0.000000        0.166667 Input-121p-shiftr.2d-0000.pad Cor        0.797129

3:                        YOYS        0.000000       90.000003        0.000000 :     1742.967407 theta       26.925002 at        0.000000        1.000000 onMap        0.000000        0.250000 Input-121p-shiftr.2d-0000.pad Cor        0.711250

4:                        YOYS        0.000000      120.000003        0.000000 :     1774.003418 theta       29.916669 at        0.000000        1.000000 onMap        0.000000        0.333333 Input-121p-shiftr.2d-0000.pad Cor        0.706876

-中略-

164:                        YOYS      360.000010      240.000007        0.000000 :     1713.460815 theta       89.749970 at        1.000000       63.000000 onMap        0.000000        0.666667 Input-121p-shiftr.2d-0000.pad Cor        0.691559

165:                        YOYS      360.000010      270.000001        0.000000 :     1856.687744 theta      239.333326 at        0.000000        1.000000 onMap        0.000000        0.750000 Input-121p-shiftr.2d-0000.pad Cor        0.723829

166:                        YOYS      360.000010      299.999995        0.000000 :     1759.510742 theta      236.341675 at        0.000000        1.000000 onMap        0.000000        0.833333 Input-121p-shiftr.2d-0000.pad Cor        0.720541

167:                        YOYS      360.000010      329.999989        0.000000 :     1599.635254 theta      299.166657 at       63.000000        0.000000 onMap        0.000000        0.916667 Input-121p-shiftr.2d-0000.pad Cor        0.689916

168:                        YOYS      360.000010      360.000010        0.000000 :     1737.870850 theta      179.499994 at        2.000000        1.000000 onMap        0.000000        1.000000 Input-121p-shiftr.2d-0000.pad Cor        0.689801


Input-121p-shiftr-fit.png

最小

最大
平均値
標準偏差

標準誤差

-447.493 (25, 39, 0)

1062.05 (35, 31, 0)
-0.00489992
112.736

1.76149


さらに出力ファイル(-O)からmrc2Dto3Dで使用するファイルを作成する必要があります。
ファイル作成にはこちらのMakefileを利用することをお薦めします。


make CORINFOs, make 3dinfoの順に入力すると、全ての.corinfoファイルから相関値が最大のデータを取り出しmrc2Dto3D用に変換したデータ(.3dinfo)が作成されます。


出力データ(.3dinfo)
Input-121p-shiftr.2d-0000.fit YOYS 360.000010 60.000002 0.000000 3307.848633


続いてmake 3DINFOs, make 3dlstの順に入力すると、全ての.3dinfoファイルを1つのファイルにまとめたデータ(.3dlst)が作成されます。このファイルがmrc2Dto3D(-I)の入力ファイルとして使用できます。


出力データ(.3dlst)
121p-shift-noise-0-120-0.fit YOYS 0.000000 120.000003 0.000000 2823731.500000
121p-shift-noise-0-180-0.fit YOYS 0.000000 180.000005 0.000000 2663069.500000
121p-shift-noise-0-0-0.fit YOYS 0.000000 360.000010 0.000000 2594591.000000
121p-shift-noise-0-240-0.fit YOYS 0.000000 240.000007 0.000000 2708659.750000
121p-shift-noise-0-60-0.fit YOYS 0.000000 60.000002 0.000000 2704966.750000
121p-shift-noise-0-300-0.fit YOYS 0.000000 299.999995 0.000000 2807886.500000
121p-shift-noise-120-0-0.fit YOYS 120.000003 0.000000 0.000000 2935737.500000

-中略-

121p-shift-noise-300-240-0.fit YOYS 299.999995 240.000007 0.000000 2922086.000000
121p-shift-noise-60-0-0.fit YOYS 60.000002 0.000000 0.000000 2554428.000000
121p-shift-noise-60-120-0.fit YOYS 60.000002 120.000003 0.000000 2777184.000000
121p-shift-noise-60-180-0.fit YOYS 60.000002 180.000005 0.000000 2574856.750000
121p-shift-noise-60-60-0.fit YOYS 60.000002 60.000002 0.000000 2717428.500000
121p-shift-noise-60-300-0.fit YOYS 60.000002 299.999995 0.000000 2771646.500000
121p-shift-noise-60-240-0.fit YOYS 60.000002 240.000007 0.000000 2691474.000000


3次元像を再構成する

 mrc2Dto3Dを使用して3次元像を再構成します。


作成例1
121p-shift-noise-0-120-0.fit YOYS 0.000000 120.000003 0.000000 2823731.500000
121p-shift-noise-0-180-0.fit YOYS 0.000000 180.000005 0.000000 2663069.500000
121p-shift-noise-0-0-0.fit YOYS 0.000000 360.000010 0.000000 2594591.000000
121p-shift-noise-0-240-0.fit YOYS 0.000000 240.000007 0.000000 2708659.750000
121p-shift-noise-0-60-0.fit YOYS 0.000000 60.000002 0.000000 2704966.750000
121p-shift-noise-0-300-0.fit YOYS 0.000000 299.999995 0.000000 2807886.500000
121p-shift-noise-120-0-0.fit YOYS 120.000003 0.000000 0.000000 2935737.500000

-中略-

121p-shift-noise-300-240-0.fit YOYS 299.999995 240.000007 0.000000 2922086.000000
121p-shift-noise-60-0-0.fit YOYS 60.000002 0.000000 0.000000 2554428.000000
121p-shift-noise-60-120-0.fit YOYS 60.000002 120.000003 0.000000 2777184.000000
121p-shift-noise-60-180-0.fit YOYS 60.000002 180.000005 0.000000 2574856.750000
121p-shift-noise-60-60-0.fit YOYS 60.000002 60.000002 0.000000 2717428.500000
121p-shift-noise-60-300-0.fit YOYS 60.000002 299.999995 0.000000 2771646.500000
121p-shift-noise-60-240-0.fit YOYS 60.000002 240.000007 0.000000 2691474.000000


入力ファイルの画像(一部)

121p-shift-noise-fit.png
121p-shift-noise-0-0-0.fit

121p-shift-noise-fit1.png
121p-shift-noise-0-60-0.fit

121p-shift-noise-fit2.png
121p-shift-noise-0-120-0.fit

121p-shift-noise-fit3.png
121p-shift-noise-0-180-0.fit


コマンド: mrc2Dto3D -I 121p-shift.3dlst -O 121p-shift.3d -InterpolationMode 2 -Double -CounterThreshold 0.5 -m 1 -WeightMode 2


Makefileを利用する場合はmake 3DLIST, make 3dの順に入力すれば、全て.3dlstファイルについて3次元画像ファイル(.3d)が作成されます。


121p-shift-3d.png
xy平面

121p-shift-3d1.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-6849.61 (11, 31, 32)

9844.57 (33, 28, 30)
16.1946
1511.61

2.95236

入力データの角度に偏りがある場合、ぼやけた3次元像ができることもあります。
今回は入力ファイルの角度刻みが各60°ずつですので、90°回転した方向からはぼやけてしまっています。


作成例2 (テストデータ数を変更して実行)
テストデータ数を角度刻み数と同じ分だけ用意してMakefileを使用します。


変更箇所: テストデータの作成間隔を刻み幅と同じ値に変更
TestDataNoise::
	@for (( rot1 = $(ROT1MIN); rot1 <= $(ROT1MAX); rot1 += $(ROT1D) )) \
	do \
	for (( rot2 = $(ROT2MIN); rot2 <= $(ROT2MAX); rot2 += $(ROT2D) )) \
入力データを参照画像(3D)から始め(Initial.3dにリネーム)、以下のコマンドを入力し、3次元再構成まで行います。
make First
make TestDataNoise
make All


121p-shift-3d2.png
xy平面

121p-shift-3d3.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-3203.31 (28, 28, 37)

13153.5 (31, 31, 28)
14.7861
555.637

1.08523

角度30°ずつの画像で作成すると90°の方向も見えやすくなりました。


作成例3 (角度刻み幅を変更して実行)
角度刻み幅15°に変更してMakefileを使用します。


変更箇所
ROT1D=15
nRot1=24

ROT2D=15
nRot2=24

STEP=24
コマンドは作成例2と同様で実行


出力ファイルの画像

121p-shift-3d4.png
xy平面

121p-shift-3d5.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2955.91 (27, 32, 39)

12347.2 (31, 31, 28)
15.0729
483.66

0.944648

角度15°ずつの場合はさらに鮮明になります。


作成例4 (参照像をモルワイデ図法で実行)
参照像をモルワイデ図法(m=1)で投影したものを使用します。


作成例1からのMakefileの変更箇所
.ref3d.ref2d:
	#mrc3Dto2D -i $(TARGET).ref3d -o $(TARGET).ref2d -EulerMode $(ROTMODE) -InterpolationMode 2 -Rot2 $(ROT2MIN) $(ROT2MAX) $(ROT2D) -Rot1 $(ROT1MIN) $(ROT1MAX) $(ROT1D) -Rot3 $(ROT3MIN) $(ROT3MAX) $(ROT3D) -m 0
	mrc3Dto2D -i $(TARGET).ref3d -o $(TARGET).ref2d -EulerMode $(ROTMODE) -InterpolationMode 2 -Rot2 $(ROT2MIN) $(ROT2MAX) $(ROT2D) -Rot1 $(ROT1MIN) $(ROT1MAX) $(ROT1D) -Rot3 $(ROT3MIN) $(ROT3MAX) $(ROT3D) -m 1


コマンドは作成例1と同様で実行


出力ファイルの画像

121p-shift-3d6.png
xy平面

121p-shift-3d7.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-3538.72 (3, 27, 15)

7142.02 (31, 31, 31)
14.9472
465.419

0.909021

メルカトル図法(m=0)よりもくっきりとした3次元像が作成されました。


作成例5 (PDBファイルを変更し、作成例1と同様に実行)
別のPDBファイルを使った参照画像(Initial.3dにリネーム)を使用して、作成例1と同様のパターンで実行します。


Input-1VOM.png
xy平面

Input1-1VOM.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

0 (0, 0, 0)

3398.12 (23, 55, 41)
72.129
294.805

0.368507


変更箇所
### Initial model from PDB
###
REFSOURCE=1VOM

# Target structure name
TARGET=1VOM

# Pad size for 2D 
PAD_W=100
PAD_H=100
コマンドは作成例2と同様で実行


出力ファイルの画像

1VOM-3d.png
xy平面

1VOM-3d1.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-1406.85 (66, 17, 87)

1493.3 (71, 13, 75)
14.475
184.71

0.18471

作成例1の結果と同様にyz平面の画像がぼやけています。


作成例6 (ラドン変換)
 mrc2Dto3D以外にラドン変換を利用して3次元再構成をすることもできます。


入力ファイルの画像(一部)

121p-shift-noise-fit.png
121p-shift-noise-0-0-0.fit

121p-shift-noise-fit1.png
121p-shift-noise-0-60-0.fit

121p-shift-noise-fit2.png
121p-shift-noise-0-120-0.fit

121p-shift-noise-fit3.png
121p-shift-noise-0-180-0.fit


Media:Makefile-Radon.zipを使います。
コマンド
make IN_3D_LIST
make sino
make 3DRadon


出力ファイルの画像

121p-radon3d.png
xy平面

121p-radon3d1.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-254462 (63, 57, 63)

4.17039e+06 (31, 32, 32)
308433
466586

911.3


3次元像の分解能・質の確認

フーリエシェル相関
実行例1
(.3dlst)を分割して、別々に作成した3次元像についてフーリエシェル相関を使用した比較を行います。

入力ファイル1(-i1)の画像(ファイル:121p-shift.3dlst.zipの奇数行目のみで3次元像を作成)

121p-shift-3d-1.png
xy平面

121p-shift-3d1-1.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2284.26 (21, 34, 32)

7073.81 (32, 31, 28)
14.5713
490.485

0.957978


入力ファイル2(-i2)の画像(ファイル:121p-shift.3dlst.zipの偶数行目のみで3次元像を作成)

121p-shift-3d-2.png
xy平面

121p-shift-3d1-2.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2821.77 (48, 2, 26)

7828.59 (31, 31, 31)
15.1938
501.463

0.97942


コマンド: mrcImageFourierShellCorrelation -i1 121p-shift-1.3d -i2 121p-shift-2.3d


出力結果
0.000000 1.000000 1 
0.006250 0.989451 13 
0.012500 0.765751 37 
0.018750 0.724093 57 
0.025000 0.509790 121 
0.031250 0.595041 189 
0.037500 0.249055 245 
0.043750 0.201907 321 
0.050000 0.450095 405 
0.056250 0.290857 605 
0.062500 0.398243 653 
0.068750 0.354419 765 
0.075000 0.348684 941 
0.081250 0.386710 1133 
0.087500 0.394123 1293 
0.093750 0.334787 1353 
0.100000 0.350660 1725 

-中略-

0.325000 0.167641 122 
0.331250 0.169556 102 
0.337500 -0.013454 38 
0.343750 -0.560236 6 
各周波数毎の相関値が観察できます。


実行例2(ノイズ無しのデータ)
ノイズを無しにして実行例1と同じ組み合わせ、同じコマンドで実行します。
入力ファイル1(-i1)の画像

121p-shift-3d-5.png
xy平面

121p-shift-3d1-5.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2268.94 (61, 28, 16)

7168.45 (32, 31, 28)
14.623
448.776

0.876516


入力ファイル2(-i2)の画像

121p-shift-3d-6.png
xy平面

121p-shift-3d1-6.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2686.55 (48, 2, 26)

7439.83 (31, 31, 31)
15.115
457.972

0.894476


出力結果
0.000000 1.000000 1 
0.006250 0.995845 5 
0.012500 0.906930 7 
0.018750 0.905062 9 
0.025000 0.631563 17 
0.031250 0.578835 15 
0.037500 0.196330 21 
0.043750 0.574291 21 
0.050000 0.451850 25 
0.056250 0.307165 35 
0.062500 -0.021993 29 
0.068750 0.025311 37 
0.075000 -0.219354 35 
0.081250 0.031700 45 
0.087500 0.086866 45 
0.093750 -0.003283 43 
0.100000 0.199928 57 

-中略-

0.325000 0.000000 0 
0.331250 0.000000 0 
0.337500 0.000000 0 
0.343750 0.000000 0 
実行例3(サイズ変更)
実行例1のデータをパディングでサイズ変更し、同じコマンドで実行します。
入力ファイル1(-i1)の画像

121p-shift-3d-1p.png
xy平面

121p-shift-3d1-1p.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2063.55 (32, 26, 21)

7073.81 (20, 19, 16)
118.203
718.111

2.83858


入力ファイル2(-i2)の画像

121p-shift-3d-2p.png
xy平面

121p-shift-3d1-2p.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2348.84 (32, 11, 14)

7828.59 (19, 19, 19)
112.176
724.952

2.86562


出力結果
0.000000 1.000000 1 
0.010000 0.950381 13 
0.020000 0.915184 37 
0.030000 0.579132 57 
0.040000 0.542596 121 
0.050000 0.554290 189 
0.060000 0.483626 245 
0.070000 0.570390 321 
0.080000 0.546605 405 
0.090000 0.502031 605 
0.100000 0.513241 653 
0.110000 0.510585 765 
0.120000 0.506603 941 
0.130000 0.463857 1133 
0.140000 0.433665 1293 
0.150000 0.379408 1353 
0.160000 0.261836 1725 
0.170000 0.272471 1917 
0.180000 0.220786 2141 
0.190000 0.095691 2237 
0.200000 0.135210 2495 

-中略-

0.320000 -0.052608 107 
0.330000 -0.287293 33 
0.340000 -0.261199 10 
0.350000 -1.000000 1 


実行例4(組み合わせを変更)
実行例1にて角度の組み合わせを変えて、同じコマンドで実行します。
入力ファイル1(-i1)の画像(ファイル:121p-shift.3dlst.zipの第2軸60x2n°のみで3次元像を作成)

121p-shift-3d-3.png
xy平面

121p-shift-3d1-3.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2123.89 (37, 39, 32)

7304.58 (32, 31, 28)
14.8745
477.13

0.931894


入力ファイル2(-i2)の画像(ファイル:121p-shift.3dlst.zipの第2軸60x(2n+1)°のみで3次元像を作成)

121p-shift-3d-4.png
xy平面

121p-shift-3d1-4.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2084.54 (41, 30, 30)

7772.35 (31, 31, 31)
14.8906
475.908

0.929507


出力結果
0.000000 1.000000 1 
0.006250 0.999612 13 
0.012500 0.999746 37 
0.018750 0.999239 57 
0.025000 0.997605 121 
0.031250 0.994594 189 
0.037500 0.978055 245 
0.043750 0.965901 321 
0.050000 0.965457 405 
0.056250 0.934140 605 
0.062500 0.905267 653 
0.068750 0.888274 765 
0.075000 0.900884 941 
0.081250 0.897323 1133 
0.087500 0.834834 1293 
0.093750 0.807904 1353 
0.100000 0.761212 1725 
0.106250 0.726165 1917 
0.112500 0.697379 2141 
0.118750 0.653729 2237 
0.125000 0.625764 2573 
0.131250 0.574149 2929 
0.137500 0.541115 3061 
0.143750 0.554302 3373 
0.150000 0.512534 3637 
0.156250 0.521077 4101 
0.162500 0.539936 4385 
0.168750 0.494051 4613 
0.175000 0.466709 5073 
0.181250 0.461219 5361 
0.187500 0.453959 5713 
0.193750 0.056334 6169 
0.200000 0.022271 6285 

-中略-

0.318750 -0.010797 242 
0.325000 -0.038431 122 
0.331250 -0.042839 102 
0.337500 0.150436 38 
0.343750 0.229217 6 
実行例5(ノイズ無しのデータ2)
ノイズを無しにして実行例4と同じ組み合わせ、同じコマンドで実行します。
入力ファイル1(-i1)の画像

121p-shift-3d-7.png
xy平面

121p-shift-3d1-7.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-1987.69 (33, 16, 32)

7384.87 (38, 33, 33)
14.869
427.036

0.834054


入力ファイル2(-i2)の画像

121p-shift-3d-8.png
xy平面

121p-shift-3d1-8.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-1987.97 (33, 16, 32)

7382.54 (38, 33, 33)
14.869
427.057

0.834097


出力結果
0.000000 1.000000 1 
0.006250 0.999993 13 
0.012500 0.999988 37 
0.018750 0.999935 57 
0.025000 0.999881 121 
0.031250 0.999710 189 
0.037500 0.999213 245 
0.043750 0.999239 321 
0.050000 0.999609 405 
0.056250 0.999581 605 
0.062500 0.999644 653 
0.068750 0.999753 765 
0.075000 0.999802 941 
0.081250 0.999861 1133 
0.087500 0.999876 1293 
0.093750 0.999912 1353 
0.100000 0.999920 1725 
0.106250 0.999922 1917 
0.112500 0.999956 2141 
0.118750 0.999893 2237 
0.125000 0.999881 2573 
0.131250 0.999857 2929 
0.137500 0.999872 3061 
0.143750 0.999881 3373 
0.150000 0.999928 3637 
0.156250 0.999965 4101 
0.162500 0.999961 4385 
0.168750 0.999995 4613 
0.175000 0.999998 5073 
0.181250 0.999998 5361 
0.187500 0.999988 5713 
0.193750 0.107706 6169 
0.200000 -0.020195 6285 

-中略-

0.325000 0.046650 122 
0.331250 0.047681 102 
0.337500 -0.032594 38 
0.343750 -0.495508 6 


実行例5(データ数を増やした場合)
データ数を増やして3次元像(ノイズ有り)を作り、同じコマンドで実行します。
入力ファイル1(-i1)の画像

121p-shift-3d-9.png
xy平面

121p-shift-3d1-9.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-2997.82 (8, 12, 19)

12023.9 (31, 31, 28)
14.745
539.012

1.05276


入力ファイル2(-i2)の画像

121p-shift-3d-10.png
xy平面

121p-shift-3d1-10.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

-3052.44 (34, 34, 25)

11672.4 (31, 31, 28)
14.8271
527.599

1.03047


出力結果
0.000000 1.000000 1 
0.006250 0.999177 13 
0.012500 0.988864 37 
0.018750 0.984902 57 
0.025000 0.953270 121 
0.031250 0.942360 189 
0.037500 0.907998 245 
0.043750 0.893182 321 
0.050000 0.919577 405 
0.056250 0.822941 605 
0.062500 0.820877 653 
0.068750 0.797056 765 
0.075000 0.788068 941 
0.081250 0.765067 1133 
0.087500 0.703449 1293 
0.093750 0.683254 1353 
0.100000 0.655836 1725 
0.106250 0.666758 1917 
0.112500 0.610469 2141 
0.118750 0.607556 2237 
0.125000 0.572677 2573 
0.131250 0.549092 2929 
0.137500 0.507201 3061 
0.143750 0.467578 3373 
0.150000 0.435820 3637 
0.156250 0.471540 4101 
0.162500 0.471371 4385 
0.168750 0.505103 4613 
0.175000 0.456427 5073 
0.181250 0.460768 5361 
0.187500 0.453957 5713 
0.193750 0.494946 6169 
0.200000 0.030314 6285 
0.206250 0.007321 6468 

-中略-

0.325000 0.082301 122 
0.331250 -0.089649 102 
0.337500 -0.450711 38 
0.343750 0.206614 6 


実行例6(元PDBファイルを使用)
元PDBファイルから作成した参照画像にそれぞれノイズを加えて、実行します。


コマンド:
mrcImageNoiseAdd -i 121p-shift.ref3d -o Input1.3d -NS 1
mrcImageNoiseAdd -i 121p-shift.ref3d -o Input2.3d -NS 1
mrcImageFourierShellCorrelation -i1 Input1.3d -i2 Input2.3d


出力結果
0.000000 1.000000 1 
0.006250 0.968859 13 
0.012500 0.945843 37 
0.018750 0.893456 57 
0.025000 0.718383 121 
0.031250 0.338452 189 
0.037500 0.220720 245 
0.043750 0.173959 321 
0.050000 0.220791 405 
0.056250 0.067855 605 
0.062500 0.079261 653 


FOMの計算
mrcImageFOMCalcを用いてFOMを計算します。各入力ファイルはFFTファイルなので、予めmrcImageFFTにて変換しておきます。


実行例1
入力ファイル1(-i)の画像

121p-shift-1-3dfft.png
mrcFFTExpression(m=1)で表示

最小

最大
平均値
標準偏差

標準誤差

0 (58, 11, 1)

20560.1 (33, 63, 1)
133.578
500.738

0.978004


入力ファイル2(-r)の画像

121p-shift-2-3dfft.png
mrcFFTExpression(m=1)で表示

最小

最大
平均値
標準偏差

標準誤差

0 (58, 7, 1)

20155.7 (34, 63, 62)
134.415
509.291

0.99471


コマンド: mrcImageFOMCalc -i1 121p-shift-1.3dfft -i2 121p-shift-2.3dfft -dR 0.006250


出力結果
##Sector index     0/    1        0.00       90.00       90.00
##      minR<        <=maxR           FOM           Num          XMax       Scaling
   0.0000e+00    6.2500e-03        0.8941            12    4.0774e+03    1.0000e+00
   6.2500e-03    1.2500e-02        0.7619            28    2.0580e+03    1.0000e+00
   1.2500e-02    1.8750e-02        0.7323            72    5.9033e+02    1.0000e+00
   1.8750e-02    2.5000e-02        0.6918           100    3.3402e+03    1.0000e+00
   2.5000e-02    3.1250e-02           nan           180    1.6649e+03    1.0000e+00
   3.1250e-02    3.7500e-02           nan           256    8.5474e+02    1.0000e+00
   3.7500e-02    4.3750e-02        0.5614           268    2.7986e+02    1.0000e+00
   4.3750e-02    5.0000e-02        0.5787           456    6.8568e+02    1.0000e+00
   5.0000e-02    5.6250e-02        0.5522           568    5.4674e+02    1.0000e+00
   5.6250e-02    6.2500e-02        0.5323           648    1.3708e+03    1.0000e+00
   6.2500e-02    6.8750e-02           nan           796    1.2311e+03    1.0000e+00
   6.8750e-02    7.5000e-02           nan           888    1.9878e+03    1.0000e+00
   7.5000e-02    8.1250e-02           nan          1144    1.9348e+03    1.0000e+00
   8.1250e-02    8.7500e-02           nan          1264    1.7693e+03    1.0000e+00
   8.7500e-02    9.3750e-02           nan          1452    1.1612e+04    1.0000e+00
   9.3750e-02    1.0000e-01           nan          1648    6.6062e+03    1.0000e+00
各周波数毎のFOMが出力されます。


さらにSector毎のFOMを出力したい場合は-nSを使用します。
コマンド: mrcImageFOMCalc -i1 121p-shift-1.3dfft -i2 121p-shift-2.3dfft -dR 0.006250 -nS 10
出力結果
##Sector index     0/   10        0.00        9.00        9.00
##      minR<        <=maxR           FOM           Num          XMax       Scaling
   0.0000e+00    6.2500e-03        0.8481             8    4.0774e+03    1.0000e+00
   6.2500e-03    1.2500e-02        0.7752            12    2.0580e+03    1.0000e+00
   1.2500e-02    1.8750e-02        0.7818            20    5.9033e+02    1.0000e+00
   1.8750e-02    2.5000e-02        0.7985            24    3.3402e+03    1.0000e+00
   2.5000e-02    3.1250e-02        0.7897            36    1.6649e+03    1.0000e+00
   3.1250e-02    3.7500e-02        0.6968            36    8.5474e+02    1.0000e+00
   3.7500e-02    4.3750e-02        0.5382            56    2.7986e+02    1.0000e+00
   4.3750e-02    5.0000e-02        0.5894           112    6.8568e+02    1.0000e+00
   5.0000e-02    5.6250e-02        0.5804           120    5.4674e+02    1.0000e+00
   5.6250e-02    6.2500e-02        0.5048           128    1.3708e+03    1.0000e+00
   6.2500e-02    6.8750e-02        0.5019           136    1.2311e+03    1.0000e+00
   6.8750e-02    7.5000e-02        0.4911           136    1.9878e+03    1.0000e+00
   7.5000e-02    8.1250e-02           nan           196    1.9348e+03    1.0000e+00
   8.1250e-02    8.7500e-02        0.4858           256    1.7693e+03    1.0000e+00
   8.7500e-02    9.3750e-02           nan           292    1.1612e+04    1.0000e+00
   9.3750e-02    1.0000e-01        0.4133           308    6.6062e+03    1.0000e+00
##Sector index     1/   10        9.00       18.00        9.00
##      minR<        <=maxR           FOM           Num          XMax       Scaling
   0.0000e+00    6.2500e-03           nan             0    4.0774e+03    1.0000e+00
   6.2500e-03    1.2500e-02           nan             0    2.0580e+03    1.0000e+00
   1.2500e-02    1.8750e-02           nan             0    5.9033e+02    1.0000e+00
   1.8750e-02    2.5000e-02        0.6162            16    3.3402e+03    1.0000e+00
   2.5000e-02    3.1250e-02        0.5398            28    1.6649e+03    1.0000e+00
   3.1250e-02    3.7500e-02           nan            44    8.5474e+02    1.0000e+00
   3.7500e-02    4.3750e-02        0.4508            32    2.7986e+02    1.0000e+00
   4.3750e-02    5.0000e-02        0.5026            52    6.8568e+02    1.0000e+00
   5.0000e-02    5.6250e-02        0.3898            60    5.4674e+02    1.0000e+00
   5.6250e-02    6.2500e-02        0.4684            72    1.3708e+03    1.0000e+00
   6.2500e-02    6.8750e-02        0.3570           144    1.2311e+03    1.0000e+00
   6.8750e-02    7.5000e-02           nan           144    1.9878e+03    1.0000e+00
   7.5000e-02    8.1250e-02        0.4424           160    1.9348e+03    1.0000e+00
   8.1250e-02    8.7500e-02        0.3660           168    1.7693e+03    1.0000e+00
   8.7500e-02    9.3750e-02        0.3963           192    1.1612e+04    1.0000e+00
   9.3750e-02    1.0000e-01           nan           196    6.6062e+03    1.0000e+00

-中略-

##Sector index     9/   10       81.00       90.00        9.00
##      minR<        <=maxR           FOM           Num          XMax       Scaling
   0.0000e+00    6.2500e-03        0.9862             4    4.0774e+03    1.0000e+00
   6.2500e-03    1.2500e-02        0.7461             4    2.0580e+03    1.0000e+00
   1.2500e-02    1.8750e-02        0.4934             4    5.9033e+02    1.0000e+00
   1.8750e-02    2.5000e-02        0.5137             4    3.3402e+03    1.0000e+00
   2.5000e-02    3.1250e-02        0.6247             4    1.6649e+03    1.0000e+00
   3.1250e-02    3.7500e-02        0.9217             4    8.5474e+02    1.0000e+00
   3.7500e-02    4.3750e-02           nan             0    2.7986e+02    1.0000e+00
   4.3750e-02    5.0000e-02        0.6773            16    6.8568e+02    1.0000e+00
   5.0000e-02    5.6250e-02        0.6278            12    5.4674e+02    1.0000e+00
   5.6250e-02    6.2500e-02        0.5626            16    1.3708e+03    1.0000e+00
   6.2500e-02    6.8750e-02        0.5592            16    1.2311e+03    1.0000e+00
   6.8750e-02    7.5000e-02        0.5569            16    1.9878e+03    1.0000e+00
   7.5000e-02    8.1250e-02        0.4102            16    1.9348e+03    1.0000e+00
   8.1250e-02    8.7500e-02        0.5416            20    1.7693e+03    1.0000e+00
   8.7500e-02    9.3750e-02        0.4489            28    1.1612e+04    1.0000e+00
   9.3750e-02    1.0000e-01        0.2845            32    6.6062e+03    1.0000e+00
実行例2(ノイズ無しデータ)
ノイズ無しのデータを使用し、実行例1と同じコマンドで実行します
入力ファイル1(-i)の画像

121p-shift-5-3dfft.png
mrcFFTExpression(m=1)で表示

最小

最大
平均値
標準偏差

標準誤差

0 (56, 51, 0)

20588.5 (33, 63, 1)
116.462
464.422

0.907075


入力ファイル2(-r)の画像

121p-shift-6-3dfft.png
mrcFFTExpression(m=1)で表示

最小

最大
平均値
標準偏差

標準誤差

0 (39, 53, 1)

20086.5 (34, 63, 62)
115.283
471.146

0.920207


出力結果
##Sector index     0/    1        0.00       90.00       90.00
##      minR<        <=maxR           FOM           Num          XMax       Scaling
   0.0000e+00    6.2500e-03        0.8951            12    1.1528e+04    1.0000e+00
   6.2500e-03    1.2500e-02        0.7611            28    4.4962e+04    1.0000e+00
   1.2500e-02    1.8750e-02        0.7301            72    7.1173e+02    1.0000e+00
   1.8750e-02    2.5000e-02        0.6882           100    1.2338e+04    1.0000e+00
   2.5000e-02    3.1250e-02        0.6636           180    4.1844e+03    1.0000e+00
   3.1250e-02    3.7500e-02        0.6210           256    9.0759e+02    1.0000e+00
   3.7500e-02    4.3750e-02        0.5745           268    5.8970e+03    1.0000e+00
   4.3750e-02    5.0000e-02        0.5966           456    1.1883e+03    1.0000e+00
   5.0000e-02    5.6250e-02        0.5715           568    1.5978e+04    1.0000e+00
   5.6250e-02    6.2500e-02           nan           648    4.6943e+04    1.0000e+00
   6.2500e-02    6.8750e-02           nan           796    1.8246e+03    1.0000e+00
   6.8750e-02    7.5000e-02           nan           888    4.2966e+04    1.0000e+00
   7.5000e-02    8.1250e-02           nan          1144    2.7414e+05    1.0000e+00
   8.1250e-02    8.7500e-02           nan          1264    1.6437e+04    1.0000e+00
   8.7500e-02    9.3750e-02           nan          1452    6.9815e+03    1.0000e+00
   9.3750e-02    1.0000e-01           nan          1648    1.5821e+03    1.0000e+00


実行例3(データ量を増やして実行)
データ数を増やして3次元像(ノイズ有り)を作り、同じコマンドで実行します。
入力ファイル1(-i)の画像

121p-shift-9-3dfft.png
mrcFFTExpression(m=1)で表示

最小

最大
平均値
標準偏差

標準誤差

0 (53, 42, 9)

18662.1 (34, 63, 62)
244.337
516.318

1.00843


入力ファイル2(-r)の画像

121p-shift-10-3dfft.png
mrcFFTExpression(m=1)で表示

最小

最大
平均値
標準偏差

標準誤差

0 (55, 42, 1)

17705.3 (34, 63, 62)
243.474
503.237

0.982885


出力結果
sumPP is zero
##Sector index     0/    1        0.00       90.00       90.00
##      minR<        <=maxR           FOM           Num          XMax       Scaling
   0.0000e+00    6.2500e-03        0.9995            12    6.7197e+04    1.0000e+00
   6.2500e-03    1.2500e-02        0.9956            28    6.4271e+04    1.0000e+00
   1.2500e-02    1.8750e-02        0.9879            72    3.6622e+04    1.0000e+00
   1.8750e-02    2.5000e-02        0.9638           100    2.5987e+03    1.0000e+00
   2.5000e-02    3.1250e-02        0.9237           180    1.2138e+05    1.0000e+00
   3.1250e-02    3.7500e-02        0.8821           256    3.1826e+03    1.0000e+00
   3.7500e-02    4.3750e-02        0.8832           268    3.2913e+03    1.0000e+00
   4.3750e-02    5.0000e-02        0.8996           456    1.0771e+04    1.0000e+00
   5.0000e-02    5.6250e-02        0.8496           568    1.5466e+06    1.0000e+00
   5.6250e-02    6.2500e-02        0.8071           648    1.7452e+03    1.0000e+00
   6.2500e-02    6.8750e-02        0.8160           796    1.6423e+03    1.0000e+00
   6.8750e-02    7.5000e-02        0.7958           888    3.8389e+03    1.0000e+00
   7.5000e-02    8.1250e-02        0.7879          1144    5.5127e+04    1.0000e+00
   8.1250e-02    8.7500e-02        0.7522          1264    3.2747e+03    1.0000e+00
   8.7500e-02    9.3750e-02        0.7434          1452    5.9965e+03    1.0000e+00
   9.3750e-02    1.0000e-01        0.7422          1648    6.1985e+03    1.0000e+00


繰り返し(精密化)

 出来上がった3次元像を新たな参照像として、再び3次元再構成を行います。
こちらのMakefileを使用する場合、make Again, make Allと入力すると3次元像(.3d)及び角度情報(.3dlst)のバックアップを残して3次元再構成を繰り返すことができます。


実行例1
第1軸のみの回転で繰り返したときの画像、角度の推移を観察します。
入力ファイルの画像(Initial.3dにリネーム)

1WDC-shift1-3d.png
xy平面

1WDC-shift1-3d2.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

0 (0, 0, 0)

4 (31, 26, 26)
0.0116844
0.147033

0.000287174


参照ファイルの画像(1WDC.ref3dにリネーム)

1B7T-shift1-3d.png
xy平面

1B7T-shift1-3d2.png
yz平面

最小

最大
平均値
標準偏差

標準誤差

0 (0, 0, 0)

18763.4 (19, 21, 15)
174.181
1064.33

2.07878


変更箇所
TARGET=1WDC

ROTMODE=XEYS

ROT1MIN=0
ROT1MAX=0
ROT1D=30
nRot1=1

ROT2MIN=0
ROT2MAX=355
ROT2D=5
nRot2=72

STEP=72
ROTMIN=0
ROTMAX=355

REFSOURCE=1WDC



TestDataNoise::
	@for (( rot1 = $(ROT1MIN); rot1 <= $(ROT1MAX); rot1 += $(ROT1D) )) \
	do \
	for (( rot2 = $(ROT2MIN); rot2 <= $(ROT2MAX); rot2 += $(ROT2D) )) \


コマンド
make TestDataNoise
make First
make All

(以下繰り返し)
make Again
make All


実行結果
今回は6回目で角度情報が決定しました。

1回目(角度情報)

1WDC.3d-1.png
xy平面
1WDC.3d1-1.png

yz平面

2回目(角度情報)

1WDC.3d-2.png
xy平面
1WDC.3d1-2.png

yz平面

3回目(角度情報)

1WDC.3d-3.png
xy平面
1WDC.3d1-3.png

yz平面

...

...
...
...

...

6回目(角度情報)

1WDC.3d-6.png
xy平面
1WDC.3d1-6.png

yz平面


実行例2(2軸回転)
回転軸を2軸にして繰り返します。


変更箇所
TARGET=1WDC

ROTMODE=XEYS

ROT1MIN=0
ROT1MAX=30
ROT1D=10
nRot1=4

ROT2MIN=0
ROT2MAX=355
ROT2D=5
nRot2=72

STEP=72
ROTMIN=0
ROTMAX=355

REFSOURCE=1WDC



TestDataNoise::
	@for (( rot1 = $(ROT1MIN); rot1 <= $(ROT1MAX); rot1 += $(ROT1D) )) \
	do \
	for (( rot2 = $(ROT2MIN); rot2 <= $(ROT2MAX); rot2 += $(ROT2D) )) \


実行結果

1回目(角度情報)

1WDC.3d-1-1.png
xy平面
1WDC.3d1-1-1.png

yz平面

2回目(角度情報)

1WDC.3d-1-2.png
xy平面
1WDC.3d1-1-2.png

yz平面

...

...
...
...

...

10回目(角度情報)

1WDC.3d-1-10.png
xy平面
1WDC.3d1-1-10.png

yz平面


実行例3(モルワイデ図法)
実行例2をモルワイデ図法にして繰り返します。


実行例2からのMakefileの変更箇所
.ref3d.ref2d:
	#mrc3Dto2D -i $(TARGET).ref3d -o $(TARGET).ref2d -EulerMode $(ROTMODE) -InterpolationMode 2 -Rot2 $(ROT2MIN) $(ROT2MAX) $(ROT2D) -Rot1 $(ROT1MIN) $(ROT1MAX) $(ROT1D) -Rot3 $(ROT3MIN) $(ROT3MAX) $(ROT3D) -m 0
	mrc3Dto2D -i $(TARGET).ref3d -o $(TARGET).ref2d -EulerMode $(ROTMODE) -InterpolationMode 2 -Rot2 $(ROT2MIN) $(ROT2MAX) $(ROT2D) -Rot1 $(ROT1MIN) $(ROT1MAX) $(ROT1D) -Rot3 $(ROT3MIN) $(ROT3MAX) $(ROT3D) -m 1