User Tools

Site Tools


bioinfo:계통수_작성하기

This is an old revision of the document!


계통수 작성하기

Roary 또는 다른 multiple sequence alignment(MSA) 소프트웨어로 만들어진 염기서열 정렬 결과물을 trimAl로 트리밍한 뒤 FastTree로 처리하면 신속하게 approximately-maximum likelihood tree를 얻을 수 있다. 진짜 maximum likelihood(ML) tree를 얻으려면 PhyML이나 RAxML을 사용한다. FastTree는 매우 유용한 프로그램이지만 진정한 의미의 ML tree를 만들어주지 않고, 생성하는 support value 역시 널리 이용되는 bootstrap value가 아니라 Shimodaira-Hasegawa test에 의한 값이라는 한계점이 있다.

Alignment로부터 불량한 곳을 제거하려면 trimAl 이외에도 Gblocks를 쓸 수 있다. ClipKIT는 MSA로부터 계통발생학적으로 의미 있는 위치만을 남기고 나머지를 제거하는 도구이다. TrimAl 패키지에 포함된 readAl은 sequence alignment file의 포맷 전환용 유틸리티이다(예: FASTA → Phylip). MSA의 편집과 시각화 및 분석에는 Jalview가 유용할 것이다. SeaView('Multiplatform GUI for molecular phylogeny')도 MSA 자료의 시각화를 위한 프로그램이다. 작은 용량의 MSA를 시각화하려면 'trimal -htmlout filename.html' 명령어를 써도 좋다.

정렬된 MSA 자료의 조작에는 FASconCAT이나 Phylommand(tree 자료도 다룰 수 있음) 등의 유틸리티를 써도 좋을 것이다.

MSA로부터 간단하게 계통수를 만드는 방법은 다음과 같다.

$ trimal –in core_gene_alignment.aln –out core_gene_alignment.aln.trim –automated1
$ fasttree –nt –gtr core_gene_alignment.aln.trim > my_tree.newick

세균의 유전체 진화에서는 horizontal gene transfer(HGT)가 매우 빈번히 일어난다. HGT로 유입된 영역을 제거하지 않으면 정확한 계통수를 작성하기가 어려워질 수 있다. 이를 위해 gubbins와 같은 도구를 이용하여 sequence alignment file을 처리하는 것이 바람직하다. Gubbins의 사용에 관해서는 Snippy를 이용한 간편한 변이 탐색 항목을 참조하기 바란다.

Newick 포맷의 파일은 FigTree, Archaeopteryx, Dendroscope 또는 iTOL server 등을 통해서 시각화하면 된다. 특히 iTOL server는 각종 annotation 자료를 트리와 같이 표현할 수 있다는 점에서 유용하다.

R에서 트리 그리기

R에서 tree file을 다루려면 ape package를 사용하면 된다.

> library(ape)
> myTree = ape::read.tree("gubbins2.final_tree.tre")
> myTree

Phylogenetic tree with 11 tips and 10 internal nodes.

Tip labels:
	NCTC2916, Ibaraki2007, Iwate2008, Iwate2007, Fukuoka2010, Miyagi2006, ...

Rooted; includes branch lengths.
> myTree$tip.label
[1] "NCTC2916"    "Ibaraki2007" "Iwate2008"   "Iwate2007"   "Fukuoka2010"
[6] "Miyagi2006"  "Tochigi2008" "Af650"       "Reference"   "Okayama2011"
[11] "Aichi2011"
> plot(myTree) # tree 구조가 그림으로 표시된다.
# Newick format의 텍스트를 직접 
> myTree2 <- ape::read.tree(text='((A:1, B:1):2, ((C:1, D:1):2, (E:1, F:1):2):4);')

R에서 트리 자료를 본격적으로 다루려면 phytools 패키지를 권장한다. 계통수 자료의 처리에 입문하려면 Introduction to phylogenies in R을 학습할 것을 권장한다.

IQ-TREE로 maximum likelihood를 이용한 계통분류학적 추론하기

bioinfo/계통수_작성하기.1691715354.txt.gz · Last modified: 2023/08/11 09:55 by hyjeong