Skip to content

PHYLIP #
Find similar titles

Structured data

Category
Software

PHYLIP #

PHYLIP은 the PHYLogeny Inference Package의 약자로 DNA나 Protein 서열을 이용한 계통분류 분석 프로그램을 모아놓은 패키지이다. Parsimony의 계산, 서열간 distance matrix 작성, tree construction과 같은 계통분류분석 과정에서 사용할 수 있는 30여가지의 프로그램을 모아놓았다. 각 프로그램은 command line(shell, terminal, cmd)에서 실행되는 프로그램이며, 프로그램을 실행하는 디렉토리에 입력 파일이 infile 이라는 이름으로 존재해야 한다. 그렇지 않으면 프로그램 실행시 infile을 찾지 못해서 입력 파일로 사용할 파일의 이름을 입력하는 단계를 거쳐야 한다. 계산에 필요한 옵션들을 지정하는 메뉴가 나타나고 분석을 실행하면, outfile 또는 outtree 등의 이름으로 결과 파일이 생성된다. 이때 파일 이름을 outfile을 infile 이런 식으로 수정하면 된다.

계통분류분석 #

일반적으로 PHYLIP을 이용하여 계통분류분석을 하고자 할 때 다음과 같은 과정을 거치며 각 단계마다 사용되는 프로그램은 아래와 같다. PHYLIP은 기본적으로 2. Distance matrix, 3. Tree 데이터 작성을 지원한다.

  1. muliple alignment : clustalw, muscle등
  2. Distance matrix 계산 : DNADIST 또는 PROTDIST
  3. Tree 데이터 작성 : Neighbor
  4. Tree 가시화 : drawtree, TreeView, FigTree

구성 프로그램 #

Molecular sequence methods #

DNA혹은 protein 서열로부터 Phylogenis를 계산해주는 프로그램들이 있다.

Program Documentation
protpars protein parsimony documentation file
dnapars DNA sequence parsimony documentation file
dnapenny DNA parsimony branch and bound documentation file
dnamove interactive DNA parsimony documentation file
dnacomp DNA compatibility documentation file
dnaml DNA maximum likelihood documentation file
dnamlk DNA maximum likelihood with clock documentation file
proml Protein sequence maximum likelihood documentation file
promlk Protein sequence maximum likelihood with clock documentation file
dnainvar DNA invariants documentation file
dnadist DNA distance documentation file
protdist Protein sequence distance documentation file
restdist Restriction sites and fragments distances documentation file
restml Restriction sites maximum likelihood documentation file
seqboot Bootstrapping/Jackknifing documentation file

Distance matrix methods #

tree 계산에 앞서 염기 혹은 아미노산의 일치도를 바탕으로 서열 간 거리를 계산해주는 도구이다. PHYLIP은 Markov chain을 이용하는 Maximum likelihood, Neighbor-Joining(NJ), Maximum parsimony와 같은 다양한 tree construction 알고리즘을 제공한다.

Program Documentation
fitch Fitch-Margoliash distance matrix method documentation file
kitsch Fitch-Margoliash distance matrix with clock documentation file
neighbor Neighbor-Joining and UPGMA method documentation file

Gene frequencies and continuous characters #

Program Documentation
contml Maximum likelihood continuous characters and gene frequencies documentation file
contrast Contrast method documentation file
gendist Genetic distance documentation file

Discrete characters methods #

Program Documentation
pars Unordered multistate parsimony documentation file
mix Mixed method parsimony documentation file
penny Branch and bound mixed method parsimony documentation file
move Interactive mixed method parsimony documentation file
dollop Dollo and polymorphism parsimony documentation file
dolpenny Dollo and polymorphism branch and bound parsimony documentation file
dolmove Dollo and polymorphism interactive parsimony documentation file
clique 0/1 characters compatibility method documentation file
factor Character recoding program documentation file

Tree drawing, consensus, tree editing, tree distances #

SEQBOOT와 같은 프로그램을 사용하여 bootstrap tree도 만들 수 있다. bootstrap은 사용자가 지정해준 만큼의 tree를 만들어내기 때문에 이 프로그램을 이용하면 consensus tree를 구하는 것도 가능하다.

Program Documentation
drawgram Rooted tree drawing program documentation file
drawtree Unrooted tree drawing program documentation file
consense Consensus tree program documentation file
treedist Tree distance program documentation file
retree interactive tree rearrangement program documentation file

사용법 예제 #

간단한 예제를 통해 PHYLIP의 사용법을 익혀보자. 둘 이상의 DNA 혹은 Amino acid 서열 간 비교 및 phylogenetic tree 분석은 크게 세 가지 과정으로 이루어진다. 먼저Multiple sequence alignment (MSA)를 이용해 서열간 base의 유사도를 확인한다. 그 다음 서열 간 거리를 계산한다. 마지막으로 서열간 거리를 이용해 Tree를 그린다. MSA 이후 다음 두 과정에서 PHYLIP을 이용할 수 있다. 이번 예제에서는 Amino acid 서열을 이용해 Neighbot-joining 방법을 이용한 phylogenetic tree를 그려 보겠다.

1) 데이터 준비(.fasta 파일) 예제를 위해 Uniprot 데이터베이스로부터 200여개의 Cox1유전자 서열을 가져 왔다(그림 1). 서열 두 개 이상이 입력된 fasta 포맷이면 좋다.

Image

<그림 1 예제 파일 다운로드>

2) Multiple sequence alignment 다음으로 예제파일인 Uniprot_cox1에 대해 multiple sequence alignment를 진행한다. 이때 PHYLIP 파이프라인의 입력 포맷인 .phy 포맷으로 결과파일을 주는 프로그램을 사용해야한다. 예제에서는 clustalo프로그램을 사용하였다.

command
clustalo -i Uniprot_cox1 --outfmt=phy -o Uniprot_cox1.phy

3) 서열 간 거리 계산(PHYLIP: dnadist.ext 혹은 amino acid인 경우 protdist.exe) PHYLIP의 입력 방식은 두 가지가 있다. 첫째는 입력파일의 이름을 'input'으로 변경하는 것과 파일의 이름을 직접 입력해주는 것이다. 입력 파일은 Amino acid 서열이므로 'protdist.exe'를 사용해보도록 하겠다(그림 2). (3번에서는 서열 간 거리를 구하는 방법을 설정하는 것으로 원하는 방법이 나올 때까지 'P'를 입력하면된다.)

Image

<그림 2>

4) Tree 만들기(PHYLIP: neighbor.exe) 앞서 protdist가 완료되면 결과파일인 'outfile'이 생성된다. 이 파일의 이름을 'infile'로 바꾸고 'neighbor.exe' 프로그램을 실행하면 된다. 이 때 필요에 따라 'O' 옵션을 통한 outgroup 지정도 가능하다(그림 3).

Image

<그림 3>

결과파일인 'outtree'는 Treeview, FigTree등의 뷰어를 사용해 확인할 수 있다.

참조 #

Incoming Links #

Related Bioinformaticses #

Suggested Pages #

0.0.1_20140628_0