Phylogenetic tree란?
계통수(phylogenetic tree)를 통해 다양한 분류군 간의 진화관계를 알 수 있다 (Sequences set이 있을 때, 이들의 다양성을 보여주는 가장 좋은 방법 중 하나이다). Phylogenetics에서는 계통수를 dendrogram이라고도 부른다 (1). 일반적으로 계통수는 1) 여러 종에서 유래한 marker gene sequences에 대해서 2) multiple sequence alignment (MSA)를 진행하고 3) 특정 phylogenetic method 및 4) 특정 모델을 사용하여 얻어진다.
Phylogenetic methods는 아래와 같이 크게 distance-based와 character-based methods로 나뉜다.
- Distance-based methods: MSA에서 'pairwise distances를 계산하여 생성된 matrix로부터' tree를 생성 (characters 자체는 무시), 빠르지만 부정확
- NJ (Neighbour-Joining): character-based methods와 비슷한 정확도를 가진다. Distance matrix를 바탕으로 Q matrix(전체 leaves를 고려)를 계산, Q matrix에서 값이 가장 작은 서로 다른 두개의 노드를 묶어 새로운 노드를 만든다. 이 새로운 노드와의 거리를 계산하여 distance matrix를 업데이트한다. 모든 노드가 묶일 때까지 위의 과정을 반복한다.
- UPGMA (Unweighted Pair Group Method with Arithmetic Mean)
- FM (Fitch-Margoliash)
- Character-based methods: MSA에서 '바로' tree를 생성, 느리지만 정확
- Maximum Likelihood (ML): 모델(tree topology)을 가정했을 때 데이터(query sequence)가 나올 확률인 likelihood를 최대화할 수 있는 모델을 구한다. 모든 가능한 trees를 다 고려하기 때문에 느리다.
- Maximum Parsimony (MP)
Phylogenetic method를 정했다면 substitution model/method을 정해야한다. Substitution model/method은 두 sequence 간의 거리나 substitution 확률을 계산하는 데 사용되는 것으로, p-distance, Jukes and Cantor 등이 있다.
계통수 생성
위의 2) 단계까지 진행하여 MSA를 갖고 있다고 해보자. 이를 가지고 MEGA-X 등의 프로그램을 사용하여 계통수를 만들 수 있다.
먼저 프로그램을 실행하여 상단의 [PHYLOGENY]를 클릭한다.
그러면 maximum Likelihood, neighbor-joining 등 여러 종류의 phylogenetic methods를 확인할 수 있다. Maximum Likelihood를 선택하자. 그후, MSA를 import하면 아래와 같은 창을 확인할 수 있다.
이때 [SUBSTITUTION MODEL]>[Model/Method]가 위에서 설명한 substitution model/method에 해당한다. 어느 sequences를 분석하는지에 따라 적절한 model을 선택하면 될 것 같다.
한편 [PHYLOGENY TEST]에서는 bootstrap method로 phylogeny를 test할 수 있다. Bootstrapping이란, 계통수의 각 가지가 얼마나 stable한지 알아보기 위한 방법이다. Alignment의 여러 부분을 임의로 선택해서(resampling) 계통수를 새로 그렸을 때 처음 계산한 계통수와 동일한 모양이 나오는지 확인한다. 이는 bootstrap replications의 수가 100이라면, MSA의 각 columns를 resampling하여 새로운 MSA를 만들고 이로부터 새로운 tree를 생성하는 과정을 100번 반복했을 때, 기존에 계산한 tree와 일치하는 비율을 나타낸 값으로 이해하였다. 즉, bootstrap value가 높을 수록 더 robust한 가지라는 뜻이다.
위 그림에서 branch를 따라 표시된 pairwise distances 및 왼쪽 편에 표시된 percentage bootstrap values를 확인할 수 있다.
참고 사항
계통수의 종류
- Cladogram: 진화 관계만 (가까운 정도 X, 상대적으로 가까운지 O)
- Additive tree: root부터의 거리 다름, FM 혹은 NJ를 통해 unrooted additive tree가 생성될 수 있다.
- Ultrametric tree: root부터의 거리 일정. molecular clock이 절대적이라고 해석 (진화의 속도가 일정), UPGMA를 통해 생성될 수 있다.
용어
- Monophyly: 계통수에서 하나의 clade를 일컫는 말
- Paraphyly: 큰 monophyly – 작은 monophyly
- Polyphyly: 나머지 관계
Newick (New Hampshire) format
(A,B,(C,D));
(A:0.1,B:0.2,(C:0.3,D:0.4):0.5);
등의 표현으로 unrooted additive tree를 나타낼 수 있다.
Outgroup
종종 계통수를 그릴 때 outgroup을 설정하는 모습을 볼 수 있다. 이는 unrooted additive tree에서 outgroup을 따로 빼서 unrooted tree를 rooted tree로 만들기 위한 목적이다. 예를 들어, 특정 genus의 세균들에 대해 계통수를 그린다면 그 genus와 같은 family에 포함되는 다른 genus에 해당하는 세균도 포함하여 계통수를 그린다. 그후, 다른 genus 그룹(outgroup)만 따로 빼주면 rooted tree를 얻을 수 있다.
한편 outgroup을 너무 먼 taxa로 잡으면 long branch attraction (LBA)이 생길 수 있다. 이는 긴 가지를 갖는 outgroup과 ingroup 내 긴 branch를 갖는 taxon이 실제로는 distantly related lineages이지만 closely related라고 잘못 추론될 수 있다는 점에서 문제가 된다. LBA가 일어났는지 유무는 outgroup이 있을 때와 없을 때의 phylogenetic 분석 결과를 비교하여 알 수 있으며, LBA를 방지하기 위해서는 more closely related outgroups의 사용이 추천된다 [2].
하지만 outgroup을 넣어서 그리면 그림이 안 이뻐진다는 문제가 있다 (Tree topology를 잘 확인할 수 없음). 그래서 pratical하게는 outgroup을 먼저 넣어서 그리고, (관심 있는 clade인) 그 outgroup의 sister clade를 가져와서 보여줄 수 있다. Python package인 ete3로 할 수 있다.
MEGA-X 옵션
MEGA-X에서는 계통수를 확인하는 데 있어 다양한 옵션을 제공한다.
1. Topology only: 계통수를 더 쉽게 알아볼 수 있다.
2. 선택한 branch에서 root를 생성할 수 있다.
3. 선택한 subtree를 flip한다.
ANI dendrogram
이 ANI dendrogram (Figure S2)에서 branch length (5%)가 표시되어 있다. 만약 branch length 대신 ANI 값으로 표시하고 싶다면 100-2*branch length로 계산하여 표시하면 된다 (ex. branch length가 5%인 두 node 사이의 거리는 10%이기 때문에).
Reference
- https://en.wikipedia.org/wiki/Dendrogram
- Li, Teng, et al. "Long-branch attraction and the phylogeny of true water bugs (Hemiptera: Nepomorpha) as estimated from mitochondrial genomes." BMC evolutionary biology 14.1 (2014): 1-12.
'Bioinformatics > Genomics' 카테고리의 다른 글
[용어 설명] Candidate phyla radiation (CPR)이란? (0) | 2021.07.14 |
---|---|
[EzBioCloud] EzBioCloud를 활용한 세균 동정 (Identification) (0) | 2021.07.13 |
[용어 설명] Phylogeny와 Taxonomy의 차이 (0) | 2021.07.02 |
[Newick] 계통수 표현에 사용되는 Newick tree format (0) | 2021.02.16 |