pair MSAを自前で作成してColabFoldによるヘテロ複合体構造予測を行う方法

ColabFoldには自前のMSAファイルを用いて構造予測させることができるが、ヘテロ複合体のときに用いるMSAファイルを適切に手動で作成することは難しい。ここでは`colabfold_batch`の性質を用いて、少し簡単に作成する方法を紹介する。

## どんな時に自前のMSAを作成してヘテロ複合体構造予測を行うべきか？

多くの場合、AlphaFold2/ColabFoldはとても賢いので自前のMSAを作成する必要性はほとんどなく、AlphaFold2が自動的に構造予測させる結果に従うだけで精度の良い複合体が予測される。AlphaFold3においてはその複合体予測精度がさらに向上しているとされる。
しかし、以下のような非常に限定的な予測の場合においては、自前でMSAを作成することでヘテロ複合体構造予測精度が向上する可能性がある。

1. AlphaFold2/ColabFoldが自動的に取得してくる予測対象の類縁配列が極端に少ない（30以下）とき
2. なんらかの形で、正しく強く結合するタンパク質の組み合わせが前もって判明しているとき（ただし30〜100ペア以上必要）

2023年に発表した論文[アブラナ科植物の自家不和合性を制御するタンパク質複合体SRK–SP11の研究](https://doi.org/10.1016/j.csbj.2023.10.026)（日本語参考資料：[^1][^2][^3]）においては、この2つの条件を満たすタンパク質ヘテロ複合体のケースを予測しなければならなかったことで、自前pair MSAを用いた構造予測が非常に効果的だった。

[^1]: https://academic.oup.com/jxb/article/54/380/149/559288
[^2]: https://www.agri.tohoku.ac.jp/pbreed/custom5.html
[^3]: https://www.a.u-tokyo.ac.jp/topics/topics_20201001-1.html

## Example

インプットとして以下のファイル`BrSRK34_SP11-34.fasta`を用意する。

```:BrSRK34_SP11-34.fasta
>BrSRK34_BrSP11-34
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD:
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD:
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY:
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
```

これを以下のシェルスクリプトで`colabfold_batch`を実行する。

```bash:run_colabbatch.sh
#!/bin/sh
INPUTFILE="BrSRK34_BrSP11-34"
OUTPUTDIR="out"
RANDOMSEED=0

colabfold_batch \
  --num-recycle 3 \
  --amber \
  --templates \
  --use-gpu-relax \
  --num-models 5 \
  --model-order 1,2,3,4,5 \
  --random-seed ${RANDOMSEED} \
  ${INPUTFILE}.fasta \
  ${OUTPUTDIR}
```

すると、output directory（`out`）にはMSAが含まれる`BrSRK34_SP11-34_env`と`BrSRK34_SP11-34_pairgreedy`のサブディレクトリが出力される。出力ディレクトリ構成は以下のようになっているはずである。

```shell
.
├── BrSRK34_BrSP11-34.fasta
├── out
│   ├── BrSRK34_BrSP11-34.a3m
│   ├── BrSRK34_BrSP11-34_coverage.png
│   ├── BrSRK34_BrSP11-34.done.txt
│   ├── BrSRK34_BrSP11-34_env
│   │   ├── bfd.mgnify30.metaeuk30.smag30.a3m
│   │   ├── msa.sh
│   │   ├── out.tar.gz
│   │   ├── pdb70.m8
│   │   ├── templates_101
│   │   └── uniref.a3m
│   ├── BrSRK34_BrSP11-34_pae.png
│   ├── BrSRK34_BrSP11-34_pairgreedy
│   │   ├── out.tar.gz
│   │   ├── pair.a3m
│   │   └── pair.sh
│   ├── BrSRK34_BrSP11-34_plddt.png
│   ├── BrSRK34_BrSP11-34_predicted_aligned_error_v1.json
│   ├── BrSRK34_BrSP11-34_relaxed_rank_001_alphafold2_multimer_v3_model_1_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_relaxed_rank_002_alphafold2_multimer_v3_model_2_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_relaxed_rank_003_alphafold2_multimer_v3_model_4_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_relaxed_rank_004_alphafold2_multimer_v3_model_3_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_relaxed_rank_005_alphafold2_multimer_v3_model_5_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_scores_rank_001_alphafold2_multimer_v3_model_1_seed_000.json
│   ├── BrSRK34_BrSP11-34_scores_rank_002_alphafold2_multimer_v3_model_2_seed_000.json
│   ├── BrSRK34_BrSP11-34_scores_rank_003_alphafold2_multimer_v3_model_4_seed_000.json
│   ├── BrSRK34_BrSP11-34_scores_rank_004_alphafold2_multimer_v3_model_3_seed_000.json
│   ├── BrSRK34_BrSP11-34_scores_rank_005_alphafold2_multimer_v3_model_5_seed_000.json
│   ├── BrSRK34_BrSP11-34_template_domain_names.json
│   ├── BrSRK34_BrSP11-34_unrelaxed_rank_001_alphafold2_multimer_v3_model_1_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_unrelaxed_rank_002_alphafold2_multimer_v3_model_2_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_unrelaxed_rank_003_alphafold2_multimer_v3_model_4_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_unrelaxed_rank_004_alphafold2_multimer_v3_model_3_seed_000.pdb
│   ├── BrSRK34_BrSP11-34_unrelaxed_rank_005_alphafold2_multimer_v3_model_5_seed_000.pdb
│   ├── cite.bibtex
│   ├── config.json
│   └── log.txt
└── run_colabbatch.sh
```

このうち、`BrSRK34_SP11-34_pairgreedy`の方にある`pair.a3m`のファイルの中には`>101`と`>102`で始まる行がそれぞれ存在するが、これらはそれぞれインプットの配列と同じである。

```:out/BrSRK34_BrSP11-34_pairgreedy/pair.a3m
>101
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD
>UniRef100_Q84KY5
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD
>UniRef100_Q84KX2
-NILSSTETLTISDNRTLVSPGDVFELGFFKITSSSRWYLGIWYKKLyfgSIKTYVWVANRDSPLSNAIGILKISGNNLFILDHSNKSVWSTNLTRGNERSPVVAELLANGNFVMRDSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGLNRLLTSWRSSDDPSSGEISYQLDTQRGMPEFYLLINGSRYHRSGPWNGVQFNGIPEDQKLSYMVYNYIENDEEVAYSFRMTNNSIYSRLTISFEGFLERYTWTPTSIAWNLFWSSPVDIRCDVYMACGPDAYCNLNTSPLCNCIQGFKRSNEQQWDVRDGSSGCIRETRLSCSGDGFTRMKKMKLPETTTAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTTGLEDIRTYFAADLGQDLYVRLAAAD
>UniRef100_A0A3B1EZU3
INTLSSTESSTISGNRTLVSPGDDFELGFFTPGTSSRWYLGIWYKKISQRTYVWVANRDTPLSNAVGTLKISGNNLVLLGDSNKSVWSTNLTRGNERSPVVAELLANGNFVLRFSNNNDTSGFLWQSFDYPTDTLLPEMKLGYDLKKGLNRFLTSWRNSDDPSSGSISYKLDPQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMVYDFTENSEEVAYSFRMTNNNIYSRLKINSDEYLDRLTWTPTSNAWNLFWSAPVDTRCDVYMACGPDAYCDVNTSPVCNCIQGFKPTDEQQWDLSDPSSGCIRKTGLSCGGDGFTRMKKMKLPETRMAIVDRSIGVKKCEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSPADLGQDLYVRLAASD
>102
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>UniRef100_Q9LRD8
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>UniRef100_D2KUY5
MNQFSCNRTFPGaRCGSP---EDCENYFKKILNEKTASNCKCTGKHPHLLCTCQLKHKCLP-
>UniRef100_A0A347Z9I1
VKPCFRRRTLTRECVG-YRDKRCDDYFKNKLNEKTAFNCTCVPSRKHALCTCQLRLTPCPY

```

`>101`から`>102`までは、`>101`配列に対応するMSAがa3mフォーマットで記述されている。`>102`から最後の行までは`>102`配列に対応するMSAが記述されている。この間はnull charactor（``）が挿入されているので、ここには触らないようにする。
重要なのは、`>101`の下にあるMSAの各行と`>102`の下にあるMSAの各行がそれぞれペアリングされるように並んでいることである。すなわち、`UniRef100_Q84KY5`と`UniRef100_Q9LRD8`、`UniRef100_Q84KX2`と`UniRef100_D2KUY5`、`UniRef100_A0A3B1EZU3`と`UniRef100_A0A347Z9I1`がそれぞれペアの関係にある配列であると認識されて、このあとの構造予測推論が行われることになる。各MSAがペアリングされた結果は、構造予測推論が始まる直前に`out/BrSRK34_BrSP11-34.a3m`に出力される。

このことと、`colabfold_batch`はすでに出力ディレクトリ内に`pair.a3m`が存在している場合は再度の取得処理を行わないことを踏まえると、ユーザーが改変した`pair.a3m`を前もって用意しておくことで、`colabfold_batch`を実行する際に、ユーザーの手で適切にペアリングしたMSAを用いて構造予測推論を行うことができる。

## インプットの作成方法

macOSまたはLinuxで使えるHomebrew/Linuxbrewを使って、[kalign](https://github.com/TimoLassmann/kalign)と[hh-suite](https://github.com/soedinglab/hh-suite)をインストールする。

```bash
$ brew install kalign
$ brew install brewsci/bio/hh-suite
```

ここで、kalignはAlphaFoldでもMSAを作成するために使われているアライメント作成用ソフトウェアだが、[clustal-omega](https://www.ebi.ac.uk/jdispatcher/msa/clustalo)など他のものを用いてももちろん良い。[私の論文](https://doi.org/10.1016/j.csbj.2023.10.026)中では、特にSP11のアライメントにおいてジスルフィド結合の位置が正しく揃えられたMSAが重要となることを示しているので、[CysBar](https://github.com/TS404/CysBar)を補助的に用いてMSAを作成した。
次に、SRKとSP11についてそれぞれの類縁配列を用いてMSAを作成する。この例では以下のものを使用する。

```:SRKs.fasta
>SRK9
LSTLSSTESLTISSNRTLVSPGNIFELGFFRTNSRWYLGMWYKKLSGRTYVWVANRDNPLSNSIGTLKISNMNLVLLDHSNKSVWSTNLTRENVRSPVVAELLANGNFVVRDPSGFLWQSFDYPTDTLLPEMKLGYDLKTGLNRFLVSWRSSDDPSSGDFSYKLDIQRGLPEFYTFKDNTLVHRTGPWNGIRFSGIPEEQQLSYMVYNFTENSEEVAYTFLVTNNSIYSRLTINFSGFFERLTWTPSLVIWNPIWSSPASFQCDPYMICGPGSYCDVNTLPLCNCIQGFKPLNVQEWDMRDHTRGCIRRTRLSCRGDGFTRMKNMKLPETTMATVDRSIGVKECEKKCLSDCNCTAFANADIRDGGTGCVIWTGRLDDMRNYAVSGQDLYVRLAAAD
>SRK12
FNTLLSTESLTISGNRTLVSPGHVFELGFFKNTLNSRWYLGIWYKNLSDRTYVWVANRDSSLSNAIGTLKFSGSNLVLRGRSNKFVWSTNLTRGNERSPVVAELLANGNFVIRYSYNNDASGFLWQSFDFPTDTLLPEMKLGYYLKTGLNRFLTSWRNFDDPSSGEFSYKLETRRLPEFYLLKNGSPGQRSGPWNGVQFSGIPEDQTLSYMVYNFTENSEEVAYTFRMTDNSIYSRIQLSPEGLLERLTWTPTSGTWNLFWSAPVDIQCDVYMTCGPYAYCDVNTSPVCNCIQGFMPFDMQQWALRDGTGGCIRRTRLSCSSDGFTRMKNMKLPDTKMAIVDRSIDVKECEKRCLSDCNCTAFANADIRNGGTGCVTWTGELEDIRNYIGNGQDLYVRLAAAD
>SRK21
FNTLSSTESLTISNNRTLVSPGDVFELGFFRTNSSSPWYLGIWYKQLSERTYVWVANRDSPLSNAMGILKISGNNLVILDHSNKSVWSTNLTRGNERSPVVAELLANGNFVMRDSNNNDASGFLWQSFDYPTDTLLPEMELGYDLKTRLNRFLTSWKNSDDPSSGEISYKLDTQRGLPEFYLLKDGLRAQRSGPWNGVKFSGIPEDQKLNYMVYNFIENSEEVAYTFRMTNNSIYSRIQVSPAGFLARLTTTPTAWEWNWFWYAPEDPQCDVYKTCGPYAYCDLNTSPLCNCIQGFKPFDEQQWDLRNPSGGCIRRTPLSCSGDGFTRMKNMKLPETTMAVVDRSIGVKECEKMCLSDCNCTAFANADIRNGGTGCVIWTGELEDIRNYFDDGQDLYVRLAAAD
>SRK25
INTLSSTESLTISNNRTLASPGDVFELGFFRTNSSSPWYLGIWYKKVSDRTYVWVANRDNPLSSSIGTLKISGNNLVILDHSNKSVWSTNLTRGNERSPVVAELLANGNFVMRDSNNNDASGFLWQSFNFPTDTLLPEMKLGFKLKTGLDRFLTSWRSSDDPSSGEFLYKLQTRRFPEFYLSSGVFLLYRSGPWNGIRFSGLPDDQKLSYLVYNFTKNNEEVAYTFRMTNNSFYSRLTLNFLGYIERQTWNPSLGMWSRFWAFPLDSQCDTYRACGPYSYCDLNTSPICNCIQGFNPSNVEQWDQRVWANGCMRRTRLSCSGDGFTKMKNMKLPETTMAIVDRSIGVKECEKRCLNDCNCTAFANADIRNGGTGCVIWTGELEDMRNYAAAGQDLYVRLAAGD
>SRK34
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD
>SRK47
INTLSSTESLTISNNRTLVSPGDVFELGFFKTTSSSRWYLGIWYKQLPEKTYVWVANRDNPLPNSIGTLKISNMNLVLLDHSNKSVWSTNLTRRNERTPVMAELLANGNFVMRDSNNNDASEFLWQSFDYPTDTLLPEMKLGYDLKTGLNRFLISWRSSDDPSSGDYSYKLEPRRLPEFYLLQGDVREHRSGPWNGIRFSGILEDQKLSYMEYNFTETSEEVAYTFRMTNNSFYSRLTLSSTGYFERLTWAPSSVIWNVFWSSPANPQCDMYRMCGPYSYCDVNTSPSCNCIQGFDPRNLQQWALRISLRGCKRRTLLSCNGDGFTRMKNMKLPETTMAIVDRSIGEKECKKRCLTDCNCTAFANADIRNGGTGCVIWTGNLADMRNYVADGQDLYVRLAAAD
```

```:SP11s.fasta
>SP11-9
RKTCVHRLNSGGSCGKSGQHDCEAFYTNKTNQKAFYCNCTSPFRTRYCDCAIKCKVR
>SP11-12
KQQCKKNFPGHCETSERCENTYKRLNKKVFDCHCQPFGRRRLCTCKC
>SP11-21
AKPCADTFPGDCRNGGNERCAISFSSYKKRKASNCQCRPYDDKKRLCDCEC
>SP11-25
QKLCICNGTFEGRCANTRDVFCENLFKNNLQEKTAFNCGCTDSNSHILCTCHVVRPAQLC
>SP11-34
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>SP11-47
MNPCDDIFGMEGQCGGPKTCEKLYSKGMDKRPPRCECTNSGKNTYSCVCKLC
```

ここで、SRK9, SRK12, SRK21, SRK25, SRK34, SRK47はSRKタンパク質の配列であり、SP11-9, SP11-12, SP11-21, SP11-25, SP11-34, SP11-47はSP11タンパク質の配列である。**SRK34とSP11-34はそれぞれ先の`BrSRK34_SP11-34.fasta`に含めた配列と同じであることに留意する**。これらは**それぞれ同じ番号のSRK, SP11の組み合わせのみが強く結合することが知られている**。そこで、これらのタンパク質をペアとしたMSAを作成することを目的とする。

それぞれのMSAを`kalign`を用いて以下のように作成する。

```bash
kalign -i SRK.fasta -o aligned_SRK.fasta
kalign -i SP11.fasta -o aligned_SP11.fasta
```

`aligned_SP11s.fasta`は次のような形で得られた（`aligned_SRKs.fasta`は長いので省略）。

```:aligned_SP11s.fasta
>SP11-9
RKTCVHRLNSGGSCGK-SGQHDCE-AFYTNKT-NQKAFYCNCTSPF-RTRYCDCAIK---
--CKVR
>SP11-12
KQQC--KKNFPGHCET---SERCE---NTYKRLNKKVFDCHCQPFG-RRRLCTCK-----
--C---
>SP11-21
AKPC--ADTFPGDCRN-GGNERCAISFSSYKK--RKASNCQCRPYDDKKRLCDCE-----
--C---
>SP11-25
QKLCICNGTFEGRCAN-TRDVFCE-NLFKNNLQEKTAFNCGCTDSN-SHILCTCHVVRPA
QLC---
>SP11-34
VKQCFRRRTLTGECVSPGGDKRCE-DYFKNKLNEKTAFNCNCVGSR-KHALCTCEIRRNP
--CPY-
>SP11-47
MNPCDDIFGMEGQC---GGPKTCE-KLYSKGM-DKRPPRCECTNSGKNTYSCVCKL----
--C---
```

次に、**必ず予測対象のアミノ酸配列（SRK34配列とSP11-34配列）をそれぞれのファイルの最初のブロックに移動させる**。つまり

```:aligned_SP11s_2.fasta
>SP11-34
VKQCFRRRTLTGECVSPGGDKRCE-DYFKNKLNEKTAFNCNCVGSR-KHALCTCEIRRNP
--CPY-
>SP11-9
RKTCVHRLNSGGSCGK-SGQHDCE-AFYTNKT-NQKAFYCNCTSPF-RTRYCDCAIK---
--CKVR
>SP11-12
KQQC--KKNFPGHCET---SERCE---NTYKRLNKKVFDCHCQPFG-RRRLCTCK-----
--C---
>SP11-21
AKPC--ADTFPGDCRN-GGNERCAISFSSYKK--RKASNCQCRPYDDKKRLCDCE-----
--C---
>SP11-25
QKLCICNGTFEGRCAN-TRDVFCE-NLFKNNLQEKTAFNCGCTDSN-SHILCTCHVVRPA
QLC---
>SP11-47
MNPCDDIFGMEGQC---GGPKTCE-KLYSKGM-DKRPPRCECTNSGKNTYSCVCKL----
--C---
```

のように変更する（`aligned_SRKs.fasta`の方も変更する）。これは、a3mファイルフォーマットにおいては1つめのブロックではギャップおよび挿入のない配列であることが要求され、かつAlphaFoldにおいては入力のa3mフォーマットの1行目の配列が予測対象であることを前提として作られているからである。

alignされたSRKとSP11のMSAを`pair.a3m`に与えるために、`reformat.pl`を用いて以下のように変換する。

```bash
reformat.pl aligned_SRKs_2.fasta aligned_SRKs.a3m -l 9999
reformat.pl aligned_SP11s_2.fasta aligned_SP11s.a3m -l 9999
```

これにより、a3mフォーマットとなったMSAファイル`aligned_SRKs.a3m`と`aligned_SP11s.a3m`が得られる。`-l 9999`を指定しているのは、デフォルトでは100文字で自動的にアミノ酸配列中に改行が挿入されるが、それはこのあとの処理において望ましくないためである。
`aligned_SP11s.a3m`は次のような形となる。

```:aligned_SP11s.a3m
>SP11-34
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>SP11-9
RKTCVHRLNSGGSCGK-SGQHDCEAFYTNKT-NQKAFYCNCTSPFRTRYCDCAIK---CKVr
>SP11-12
KQQC--KKNFPGHCET---SERCE--NTYKRLNKKVFDCHCQPFGRRRLCTCK-----C--
>SP11-21
AKPC--ADTFPGDCRN-GGNERCAiSFSSYKK--RKASNCQCRPYDdKKRLCDCE-----C--
>SP11-25
QKLCICNGTFEGRCAN-TRDVFCENLFKNNLQEKTAFNCGCTDSNSHILCTCHVVRPAqlC--
>SP11-47
MNPCDDIFGMEGQC---GGPKTCEKLYSKGM-DKRPPRCECTNSGkNTYSCVCKL----C--
```

ここで、

- a3mファイルフォーマットにおいて、アミノ酸配列が一行で記述されていること（途中の改行は認められない）
- 1つめの配列がギャップおよび挿入のないアミノ酸配列であること
- 1つめの配列が予測対象のアミノ酸配列と同じであること

を確認する。`aligned_SRKs.a3m`についてもこれを確認する。

これらのファイルを作成したら、すでに作成されている`out/BrSRK34_BrSP11-34_pairgreedy/pair.a3m`に上書きする。

```bash:out/BrSRK34_BrSP11-34_pairgreedy/pair.a3m
>101
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD
>SRK34
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD
>SRK9
LSTLSSTESLTISSNRTLVSPGNIFELGFFRTN--SRWYLGMWYKKLSGRTYVWVANRDNPLSNSIGTLKISNMNLVLLDHSNKSVWSTNLTRENVRSPVVAELLANGNFVVRDP-----SGFLWQSFDYPTDTLLPEMKLGYDLKTGLNRFLVSWRSSDDPSSGDFSYKLDIQRGLPEFYTFKDNTLVHRTGPWNGIRFSGIPEEQQLSYMVYNFTENSEEVAYTFLVTNNSIYSRLTINFSGFFERLTWTPSLVIWNPIWSSPASFQCDPYMICGPGSYCDVNTLPLCNCIQGFKPLNVQEWDMRDHTRGCIRRTRLSCRGDGFTRMKNMKLPETTMATVDRSIGVKECEKKCLSDCNCTAFANADIRDGGTGCVIWTGRLDDMRNY--AVSGQDLYVRLAAAD
>SRK12
FNTLLSTESLTISGNRTLVSPGHVFELGFFKNTLNSRWYLGIWYKNLSDRTYVWVANRDSSLSNAIGTLKFSGSNLVLRGRSNKFVWSTNLTRGNERSPVVAELLANGNFVIRYSYNNDASGFLWQSFDFPTDTLLPEMKLGYYLKTGLNRFLTSWRNFDDPSSGEFSYKLETRR-LPEFYLLKNGSPGQRSGPWNGVQFSGIPEDQTLSYMVYNFTENSEEVAYTFRMTDNSIYSRIQLSPEGLLERLTWTPTSGTWNLFWSAPVDIQCDVYMTCGPYAYCDVNTSPVCNCIQGFMPFDMQQWALRDGTGGCIRRTRLSCSSDGFTRMKNMKLPDTKMAIVDRSIDVKECEKRCLSDCNCTAFANADIRNGGTGCVTWTGELEDIRNY--IGNGQDLYVRLAAAD
>SRK21
FNTLSSTESLTISNNRTLVSPGDVFELGFFRTNSSSPWYLGIWYKQLSERTYVWVANRDSPLSNAMGILKISGNNLVILDHSNKSVWSTNLTRGNERSPVVAELLANGNFVMRDSNNNDASGFLWQSFDYPTDTLLPEMELGYDLKTRLNRFLTSWKNSDDPSSGEISYKLDTQRGLPEFYLLKDGLRAQRSGPWNGVKFSGIPEDQKLNYMVYNFIENSEEVAYTFRMTNNSIYSRIQVSPAGFLARLTTTPTAWEWNWFWYAPEDPQCDVYKTCGPYAYCDLNTSPLCNCIQGFKPFDEQQWDLRNPSGGCIRRTPLSCSGDGFTRMKNMKLPETTMAVVDRSIGVKECEKMCLSDCNCTAFANADIRNGGTGCVIWTGELEDIRNY--FDDGQDLYVRLAAAD
>SRK25
INTLSSTESLTISNNRTLASPGDVFELGFFRTNSSSPWYLGIWYKKVSDRTYVWVANRDNPLSSSIGTLKISGNNLVILDHSNKSVWSTNLTRGNERSPVVAELLANGNFVMRDSNNNDASGFLWQSFNFPTDTLLPEMKLGFKLKTGLDRFLTSWRSSDDPSSGEFLYKLQTRR-FPEFYLSSGVFLLYRSGPWNGIRFSGLPDDQKLSYLVYNFTKNNEEVAYTFRMTNNSFYSRLTLNFLGYIERQTWNPSLGMWSRFWAFPLDSQCDTYRACGPYSYCDLNTSPICNCIQGFNPSNVEQWDQRVWANGCMRRTRLSCSGDGFTKMKNMKLPETTMAIVDRSIGVKECEKRCLNDCNCTAFANADIRNGGTGCVIWTGELEDMRNY--AAAGQDLYVRLAAGD
>SRK47
INTLSSTESLTISNNRTLVSPGDVFELGFFKTTSSSRWYLGIWYKQLPEKTYVWVANRDNPLPNSIGTLKISNMNLVLLDHSNKSVWSTNLTRRNERTPVMAELLANGNFVMRDSNNNDASEFLWQSFDYPTDTLLPEMKLGYDLKTGLNRFLISWRSSDDPSSGDYSYKLEPRR-LPEFYLLQGDVREHRSGPWNGIRFSGILEDQKLSYMEYNFTETSEEVAYTFRMTNNSFYSRLTLSSTGYFERLTWAPSSVIWNVFWSSPANPQCDMYRMCGPYSYCDVNTSPSCNCIQGFDPRNLQQWALRISLRGCKRRTLLSCNGDGFTRMKNMKLPETTMAIVDRSIGEKECKKRCLTDCNCTAFANADIRNGGTGCVIWTGNLADMRNY--VADGQDLYVRLAAAD
>102
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>SP11-34
VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>SP11-9
RKTCVHRLNSGGSCGK-SGQHDCEAFYTNKT-NQKAFYCNCTSPFRTRYCDCAIK---CKVr
>SP11-12
KQQC--KKNFPGHCET---SERCE--NTYKRLNKKVFDCHCQPFGRRRLCTCK-----C--
>SP11-21
AKPC--ADTFPGDCRN-GGNERCAiSFSSYKK--RKASNCQCRPYDdKKRLCDCE-----C--
>SP11-25
QKLCICNGTFEGRCAN-TRDVFCENLFKNNLQEKTAFNCGCTDSNSHILCTCHVVRPAqlC--
>SP11-47
MNPCDDIFGMEGQC---GGPKTCEKLYSKGM-DKRPPRCECTNSGkNTYSCVCKL----C--

```

あとは、当初のシェルスクリプト`run_colabbatch.sh`（**`pair.a3m`を直接`colabfold_batch`のインプットには指定しないこと**）をもう一度実行すれば書き換えた`pair.a3m`を用いて構造予測推論が行われる。ただし、計算が終了したことを示すマーカーファイル`out/BrSRK34_BrSP11-34.done.txt`だけは先に削除しておかないと、`colabfold_batch`は再度の計算を行わないので注意する。

改変した`pair.a3m`を用いて構造予測をさせた時、`out/BrSRK34_BrSP11-34.a3m`が以下のようにペアリングされて出力されていれば成功である。

```:out/BrSRK34_BrSP11-34.a3m
#406,61	2,2
>101	102
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAADVKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>SRK34	SP11-34
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAADVKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>SRK9	SP11-9
LSTLSSTESLTISSNRTLVSPGNIFELGFFRTN--SRWYLGMWYKKLSGRTYVWVANRDNPLSNSIGTLKISNMNLVLLDHSNKSVWSTNLTRENVRSPVVAELLANGNFVVRDP-----SGFLWQSFDYPTDTLLPEMKLGYDLKTGLNRFLVSWRSSDDPSSGDFSYKLDIQRGLPEFYTFKDNTLVHRTGPWNGIRFSGIPEEQQLSYMVYNFTENSEEVAYTFLVTNNSIYSRLTINFSGFFERLTWTPSLVIWNPIWSSPASFQCDPYMICGPGSYCDVNTLPLCNCIQGFKPLNVQEWDMRDHTRGCIRRTRLSCRGDGFTRMKNMKLPETTMATVDRSIGVKECEKKCLSDCNCTAFANADIRDGGTGCVIWTGRLDDMRNY--AVSGQDLYVRLAAADRKTCVHRLNSGGSCGK-SGQHDCEAFYTNKT-NQKAFYCNCTSPFRTRYCDCAIK---CKVr
>SRK12	SP11-12
FNTLLSTESLTISGNRTLVSPGHVFELGFFKNTLNSRWYLGIWYKNLSDRTYVWVANRDSSLSNAIGTLKFSGSNLVLRGRSNKFVWSTNLTRGNERSPVVAELLANGNFVIRYSYNNDASGFLWQSFDFPTDTLLPEMKLGYYLKTGLNRFLTSWRNFDDPSSGEFSYKLETRR-LPEFYLLKNGSPGQRSGPWNGVQFSGIPEDQTLSYMVYNFTENSEEVAYTFRMTDNSIYSRIQLSPEGLLERLTWTPTSGTWNLFWSAPVDIQCDVYMTCGPYAYCDVNTSPVCNCIQGFMPFDMQQWALRDGTGGCIRRTRLSCSSDGFTRMKNMKLPDTKMAIVDRSIDVKECEKRCLSDCNCTAFANADIRNGGTGCVTWTGELEDIRNY--IGNGQDLYVRLAAADKQQC--KKNFPGHCET---SERCE--NTYKRLNKKVFDCHCQPFGRRRLCTCK-----C--
>SRK21	SP11-21
FNTLSSTESLTISNNRTLVSPGDVFELGFFRTNSSSPWYLGIWYKQLSERTYVWVANRDSPLSNAMGILKISGNNLVILDHSNKSVWSTNLTRGNERSPVVAELLANGNFVMRDSNNNDASGFLWQSFDYPTDTLLPEMELGYDLKTRLNRFLTSWKNSDDPSSGEISYKLDTQRGLPEFYLLKDGLRAQRSGPWNGVKFSGIPEDQKLNYMVYNFIENSEEVAYTFRMTNNSIYSRIQVSPAGFLARLTTTPTAWEWNWFWYAPEDPQCDVYKTCGPYAYCDLNTSPLCNCIQGFKPFDEQQWDLRNPSGGCIRRTPLSCSGDGFTRMKNMKLPETTMAVVDRSIGVKECEKMCLSDCNCTAFANADIRNGGTGCVIWTGELEDIRNY--FDDGQDLYVRLAAADAKPC--ADTFPGDCRN-GGNERCAiSFSSYKK--RKASNCQCRPYDdKKRLCDCE-----C--
>SRK25	SP11-25
INTLSSTESLTISNNRTLASPGDVFELGFFRTNSSSPWYLGIWYKKVSDRTYVWVANRDNPLSSSIGTLKISGNNLVILDHSNKSVWSTNLTRGNERSPVVAELLANGNFVMRDSNNNDASGFLWQSFNFPTDTLLPEMKLGFKLKTGLDRFLTSWRSSDDPSSGEFLYKLQTRR-FPEFYLSSGVFLLYRSGPWNGIRFSGLPDDQKLSYLVYNFTKNNEEVAYTFRMTNNSFYSRLTLNFLGYIERQTWNPSLGMWSRFWAFPLDSQCDTYRACGPYSYCDLNTSPICNCIQGFNPSNVEQWDQRVWANGCMRRTRLSCSGDGFTKMKNMKLPETTMAIVDRSIGVKECEKRCLNDCNCTAFANADIRNGGTGCVIWTGELEDMRNY--AAAGQDLYVRLAAGDQKLCICNGTFEGRCAN-TRDVFCENLFKNNLQEKTAFNCGCTDSNSHILCTCHVVRPAqlC--
>SRK47	SP11-47
INTLSSTESLTISNNRTLVSPGDVFELGFFKTTSSSRWYLGIWYKQLPEKTYVWVANRDNPLPNSIGTLKISNMNLVLLDHSNKSVWSTNLTRRNERTPVMAELLANGNFVMRDSNNNDASEFLWQSFDYPTDTLLPEMKLGYDLKTGLNRFLISWRSSDDPSSGDYSYKLEPRR-LPEFYLLQGDVREHRSGPWNGIRFSGILEDQKLSYMEYNFTETSEEVAYTFRMTNNSFYSRLTLSSTGYFERLTWAPSSVIWNVFWSSPANPQCDMYRMCGPYSYCDVNTSPSCNCIQGFDPRNLQQWALRISLRGCKRRTLLSCNGDGFTRMKNMKLPETTMAIVDRSIGEKECKKRCLTDCNCTAFANADIRNGGTGCVIWTGNLADMRNY--VADGQDLYVRLAAADMNPCDDIFGMEGQC---GGPKTCEKLYSKGM-DKRPPRCECTNSGkNTYSCVCKL----C--
>101
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD-------------------------------------------------------------
>UniRef100_Q84KY5	564	1.00	1.822E-176	0	405	406	21	426	440
INTLSSTESLTISGNRTLASPGDDFELGFFKTISRSRWYLGIWYKKISQRTYVWVANRDSPLFNAVGTLKISGNNLVILGDSNNSVWSTNHTRGNERSPVVAELLANGNFVIRYSNNNDASGFLWQSFDYPTDTLLPEMKLGYDLKKGMNRFLTSWRNSDDPSSGNIKYQLDTQRGMPEFYLLKEGSRAHRSGPWNGVQFYGIPEDQKLSYMAYNFIENSEEVAYTFRMTNNSIYSRLKINSDEYLDRLTWTPTSTAWNLFWSAPVDIRCDVYMACGPDAYCDVSTSPVCNCIQGFKRSDEQQWDLRDPSSGCIRGTPLSCKGDGFTRMKKMKLPETRMAIVDRSIGVKECEKRCLSDCNCTAFANADIRNGGTGCVIWTRELEDIRTYSAADLGQDLYVRLAAAD-------------------------------------------------------------
>UniRef100_A0A3B1EZU3	562	0.908	6.415E-176	0	405	406	11	416	429
...
...
...
>102
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>UniRef100_Q9LRD8	106	1.00	1.834E-24	0	60	61	15	75	76
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------VKQCFRRRTLTGECVSPGGDKRCEDYFKNKLNEKTAFNCNCVGSRKHALCTCEIRRNPCPY
>UniRef100_A0A347Z9I9	96	0.442	7.020E-21	0	59	61	12	72	87
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------MKQCSCNGTFLGRCDDtRNRNKFCADIFSKIYNEKTAFNCRCSDAFPHALCFCQIYVRPGP-
```

このように、新しい構造予測時には先程手動で作成したペアのMSAが正しく利用されていることがわかる。

## 自前のpair MSAを用いて予測するときの備考

AlphaFold2の性質としては、per-residue $N_{\textrm{eff}}$が30〜100以上あるときに本来の精度が得られるとされている（AF2論文のFig. 5を参照）。言い換えれば、互いにあまり似過ぎていないアミノ酸配列でMSAを30〜100ほど手動で作成すれば、AF2が本来発揮するであろう精度を得られるということである。

> The MSA depth analysis was based on computing the normalized number of effective sequences ($N_{\textrm{eff}}$) for each position of a query sequence. Per-residue $N_{\textrm{eff}}$ values were obtained by counting the number of non-gap residues in the MSA for this position and weighting the sequences using the $N_{\textrm{eff}}$ scheme with a threshold of 80% sequence identity measured on the region that is non-gap in either sequence.