各遺伝子領域について、アクセッション番号一覧から配列をダウンロードする。
python3 NCBI_download.py accessions.csv LSU.fasta
python3 NCBI_download.py accessions.csv ITS.fasta
目的
NCBI に登録された LSU および ITS 配列を一括取得する。
中間作業
アクセッション番号一覧 (accessions.csv) を準備
出力先として各領域の FASTA ファイルを作成
取得配列のラベルを後続解析用に整理した。
この工程はスクリプトではなく FaBox [Link] を用いて実施した。
目的
配列名を簡潔にする
結合解析のために配列名を統一する
既存配列に加えて、自前で得た配列を MEGA [Link] 上で追加した。
目的
公開配列と自前配列を同一データセットに統合する。
中間作業
NCBI 由来配列と新規配列を同じ FASTA に統合
配列ラベルの表記揺れを確認
ITS および LSU をそれぞれ別々に MAFFT [Link] で整列した。
mafft --localpair --maxiterate 1000 /mnt/d/raxmlng/ITS_merged.fas > /mnt/d/raxmlng/ITSmafft.fas
mafft --localpair --maxiterate 1000 /mnt/d/raxmlng/LSU_merged.fas > /mnt/d/raxmlng/LSUmafft.fas
目的
各遺伝子領域ごとに高精度な多重アラインメントを作成する。
アラインメント後、両端の不安定な領域を MEGA で調整・切除した。TrimAl [Link] を使う場合もある。
目的
末端の不整列領域や比較困難な部分を除去し、解析精度を上げる。
トリミング後の ITS, LSU 配列について、それぞれ modeltest-NG [Link] で置換モデルを推定した。
./modeltest-ng -d nt -i ITScut.fas -o ITS -p 6
./modeltest-ng -d nt -i LSUcut.fas -o LSU -p 6
目的
各遺伝子領域に適した塩基置換モデルを推定し、後の ML 解析に用いる。
中間作業
ITS と LSU を単一領域で別々に評価
推定結果をもとに partition file を作成
ITS と LSU を結合する前に、両領域でサンプル名が一致しているか確認し、片方の領域が欠損しているサンプルには missing data を埋めた。
python3 make_missing_placeholders.py /mnt/d/raxmlng/ITScut.fas /mnt/d/raxmlng/LSUcut.fas /mnt/d/raxmlng/LSUmissing.fas
python3 make_missing_placeholders.py /mnt/d/raxmlng/LSUcut.fas /mnt/d/raxmlng/ITScut.fas /mnt/d/raxmlng/ITSmissing.fas
目的
サンプルラベルの不一致を防ぐ
一方の領域しかないサンプルも結合データセットに含められるようにする
重要点
この工程は、結合解析で最もミスが起きやすい。ラベルが少しでも違うと別 OTU 扱いになることに注意。
ITS と LSU を連結して、最終的な multi-locus データセットを作成した。
python3 Dango3.py.txt ITSver01.fas LSUver01.fas --output_fasta whole.fas --out
目的
ITS + LSU の連結データセットを作成し、総合的な系統解析に用いる。
中間作業
各領域の配列順序やラベルをそろえる
partition 情報に対応するよう結合順を管理する
結合データセットに対して partition model を指定し、ブートストラップ付きで最尤系統解析を行った。
./raxml-ng-mpi --msa whole.fas --model partition.txt --bs-trees 1000 --threads 16 --all
目的
連結配列に基づき、最尤法による系統樹推定とブートストラップ支持値計算を行う。