第4回目となる今回は,ソフトウェアMorphoJを用いて解析する方法について解説させていただきます.
実際に解析を進めていく上で,幾何学的形態測定法の基本原理の理解は必須なので,①~③を熟読した上で解析を進めることを推奨します.
2023.10.23 「3.よくあるトラブルシューティング集」を追記しました.
目次
1.MorphoJを扱う上での注意点
その1:MorphoJではセミランドマークを認識できない
セミランドマークは2点の定義を持ったランドマーク(fixed landmark)間の等分点なので,プロクラステス解析による座標補正は垂直方向の分散のみに絞られます(下図右上).これは,水平方向の分散は2点間の距離を表しており,形態的特徴を表すものではないためです.
現状MorphoJではセミランドマークを認識することができないので,通常のランドマークとして認識されます(下図右下).
Rパッケージの”Geomorph”を用いることでセミランドマークを認識することができますが,こちらは別の記事で紹介します.
セミランドマークを扱う場合,投稿するジャーナルあるいは扱う分類群によってはMorphoJを用いて解析するとリジェクトされる可能性があります(私の友人はこれが理由で一度リジェクトされていました).
ですが,実際得られる結果はセミランドマークとして認識してもしなくてもほとんど変わらない場合が多い印象です.私は今でも予備解析としてMorphoJを用いています.
その2:MorphoJは図の描画が苦手
あまりビジュアルにこだわらない方は気にしないで良いのですが,MorphoJで図を描画するのは面倒かつ柔軟性がないため,あまりお勧めできません.
MorphoJの解析で得た生データをRで読み取って作図したり,MorphoJの図をPDFなどで出力してillustratorなどで見易くしたりすることをお勧めします.
MorphoJで出力できる図と編集例を示します.
2.MorphoJを用いた各解析と,各解析の簡単な説明
ここからは,MorphoJの実際の画面をみながら解析の流れを説明します.
今回は,形態解析で良く用いられる「主成分分析(Principal Component Analysis)」,「正準判別分析(Canonical Variate Analysis)」,「回帰分析(Regression Analysis)」を紹介します.
①新規プロジェクトの作成とtpsファイルの読み込み
MorphoJを開いて,ページ上部の「File」->「Create New Project...」を選びます.
Name for the new project: 新規プロジェクト名を入力
Dimensionality of the data: 2 dimensionsにチェック.Object symmetry?-> noにチェック.
File type: TPSにチェック.
読み込むTPSファイルのパスを指定したら「Create Dataset」をクリック.
自動的にReportsタブに移動して,読み込みが始まります.
この時,TPSファイル内のサンプル間でランドマークの打ち忘れなどがあると読み込み時にエラーが生じるので注意してください.
Project Treeタブに戻って,作成したファイルがあることを確認できたら完了です.
②プロクラステス解析と補正座標の指定
Project Treeタブから作成したファイル(メモ用紙のアイコン)を選択し,ページ上部の 「Preliminaries」->「New Procrustes Fit...」を選びます.
「Align by principal axes」にチェック.->「Perform Procrustes Fit」で実行します.
完了すると,Graphicsタブに補正後の各標本のランドマークの座標(黒色の小さい点群)と平均座標(青色の大きい点)が表示されます.
プロクラステス解析についての解説は,”幾何学的形態測定法 ①基礎編”をご覧ください.
続けて,「Preliminaries」->「Generate Covariance Matrix...」を選びます.
Data typesの「Procrustes coordinates」にチェック.->「Execute」を選びます.
Project Treeタブに戻って,「CovMatrix」が表示されていることを確認できたら完了です.
①,②の解析はどの解析にも共通です.この後の解析は目的によって異なります.
③主成分分析(Principal Component Analysis)
Project Treeタブから②作成したCovMatrixを選択し,ページ上部の 「Variation」->「Principal Component Analysis」をクリックして実行します.
実行すると,GraphicsタブにPCAの結果が示され,「PC shape changes」,「Eigenvalues」,「PC scores」のタブが表示されます.
PC shape changes:各主成分が表す形状差を可視化できます.
右クリックで結果の表示を変えることができます.
結果を解釈する上で良く用いるオプションは以下の通りです.
・「Choose PC to display...」:表示する主成分点の変更
・「Set Scale Factor...」:表示する形状のスケールの変更(主成分点の最大値を指定するのがオススメですが,形状の違いが分かりにくい場合はそれより大きい値を設定すると解釈し易いです.しかし形状変化の過大評価には注意してください.)
・「Change the Type of Graph...」:グラフのタイプを変更します.デフォルトでは「Lolipop graph」になっていますが,「Transformation Grid」か「Wireframe Graph」がオススメです.
Wireframe Graphを選択する場合は,Project Treeの根元のデータを選択して,「Preliminaries」->「Create or Edit Wireframe...」からWireframeを作成してください.
Eigenvalues:各主成分点の寄与率が縦棒グラフで表示されます.
PC scores:主成分分析の散布図が表示されます.
右クリックで結果の表示を変えることができます.
結果を解釈する上で良く用いるオプションは以下の通りです.
・「Choose Principal component for the Horizontal (Vertical) Axis...」:X軸(Y軸)に表示する主成分点を変更します(デフォルトではX軸に第一主成分,Y軸に第二主成分が表示されます).
・「Color the Data Points...」:散布図の点群を色分けします.
グループ別に色分けしたい場合は,Project Treeの根元のデータを選択して,「Preliminaries」->「Edit Classifiers...」からグループを作成してください.
・「Confidence ellipses...」:信頼楕円を表示します.
こちらもグループ別に表示・色分けしたい場合は,上記と同様にグループを作成してください.
④正準判別分析(Canonical Variate Analysis)
産地や系統などのグループを指定して,グループ間の分散が最大になる(グループ間で最も異なる)形状変化を表示します.
まずはグループを指定します.Project Treeタブの根元のデータを選択して,「Preliminaries」->「Edit Classifiers...」からグループを作成してください.
次に,Project TreeタブのCovMatrixを選択して,「Comparison」->「Canonical Variate Analysis...」をクリックします.
Name: Project Treeに表示する名前
Dataset: Procrustes coordinatesが格納されているデータを選択
Data type: Procrustes coordinatesを選択
Classifier variable(s) to use for grouping: 違いが見たいグループを指定
Permutation test for pairwise distances: permutation testの有無と回数の指定
設定を終えたら,「Execute」をクリックして実行します.
その後の形状変化や散布図の見方や調整方法はPCAの時と同様なので割愛します.
⑤回帰分析(Regression Analysis)
形態学的データを用いて主成分分析を行う際に,第一主成分の寄与率が著しく大きくなる場合,サイズの違いによる形状変化(アロメトリー)が反映されていることが多いです.
例えば,哺乳類の頭骨に一般的に見られるアロメトリー形状として,大型のものほど吻部が長くなるといった傾向があります.
このようなアロメトリー形状は,アロメトリーではない(サイズと相関のない)形状の過小評価や,種間やグループ間の形状の違いを見出す妨げとなる場合があります.
そこで,回帰分析によってサイズと相関のある形状をあらかじめ抽出し,その残渣(residuals)を用いてPCAやCVAを行うことで,サイズによる影響を取り除いた解析を行うことができます.これを「size-adjusted PCA」や「size-adjusted CVA」などといいます.
(ここでいう”残渣”とは,サイズと相関のある形状を抽出した残り,つまりサイズと相関のない形状のことを示します.)
Project TreeタブのCovMatrixを選択して,「Covariation」->「Regression...」をクリックします.
従属変数(Dependent variable(s))にProcrustes coordinatesを,独立変数(Independent variable(s))にLog Centroid Sizeを選択.
Perform permutation testにチェックし,Executeで実行します.
GraphicsタブでShape Changesと散布図が見れます.
size-adjusted PCA(CVA)をする場合
回帰分析(Regression Analysis)をした後に,Project TreeタブからRegression, results(メモ用紙のアイコン)を選択 ->「Preliminaries」->「Generate Covariance Matrix...」をクリック.
Data typesから「Regression residuals」を選択してExecuteをクリック.
作成されたCovMatrixに対して,③および④で紹介したPCAやCVAを実行することで,side-adjusted PCA(CVA)を実行できます.
3.よくあるトラブルシューティング集
私が解析する上で生じたエラーやご質問いただいたトラブルについて,解決方法を説明します.
【ランドマークを打ったTPSファイルがMorphoJで読み取ることができない】
―TPSファイルを確認して,各標本に打ったランドマーク数がすべて同じか確認する.”tpsDig2”でTPSファイルを開き,ウィンドウ下部でランドマークの総数をそれぞれ確認する.
【セミランドマークが読み取られない】
―”tpsUtil”でランドマークに変換したか確認する.セミランドマークの打ち方およびランドマークへの変換の流れは③ランドマーク編を参照してください.
【PCAやCVAでいくつかの標本が異常な値をとってしまう】
―ランドマークの打つ順序を間違えている可能性があります.その場合,Graphicsタブで示されるTransformation gridの格子やWireframeが異常に歪みます.Graphicsタブで散布図を開き,右クリックのオプションから各点のIDを表示し異常な値を示す標本を確認→その標本のランドマークの順序を”tpsDig2”で確認する.
【Procrustes coordinatesやCentroid Size,PC scoresなどの生データが出力できない】
―Project treeのノートのかたちをしたアイコンを選択した上で,「File」->「Export Dataset...」をクリック.「Data types:」から保存したいデータを選択して保存する.よく出力するデータの場所は以下の通りです:
Centroid size,Procrustes coordinates:一番最初のデータ(Procrustes fitをしたデータ)
PCAやCVAのscores:PCAまたはCVAを実行したデータ
※Eigenvalueや各主成分点の寄与率などのデータは,Project tree内のPCAやCVAのアイコンを右クリックして「Display Results」をクリックすることで確認できます.
最後に
第1回~第4回にかけて,幾何学的形態測定法の基本となる解析について解説しました.
今回紹介した以外にも,Rのgeomorphを用いた解析手法や3Dモデルをもちいた解析など,様々な応用ができます.
この記事が,生物学や形態学を専攻する多くの学生や研究者の一助となることを切に願っています.ここまでお付き合いいただきありがとうございました!
質問やご指南等ございましたら,コメント欄やわたしのメールアドレスにお願いします.
Comments