Skip to content

파이썬 라이브러리 ete toolkit #
Find similar titles

Structured data

Category
Programming

개요 #

ETE 는 python 프로그램 언어로 제작된 분석 도구로 계통수 분석 및 시각화에 유용하게 사용할 수 있는 패키지이다. 이 패키지는 계통수 분석 시 필요에 따라 맞춤제작(node annotation, tree reconciliation 등) 하여 시각화하는 데 유용하게 사용할 수 있다. 계통수 분석뿐만 아니라 hierarchical 구조를 가진 데이터를 시각화하는 경우에도 적용이 가능하다.

설치 #

  • ete 설치 준비 ete를 사용하기 위해서는 numpy, lxml, PyQt 패키지가 먼저 설치되어야 한다. 설치 방법은 아래와 같다.

    • apt 를 이용하여 설치하는 경우

      sudo apt-get install python-numpy python-qt4 python-lxml python-six
      
    • yum을 이용하여 설치하는 경우

      sudo yum install PyQt4.x86_64 numpy.x86_64 python-lxml.x86_64 python-six.noarch
      
    • ete 설치 ete는 pip를 이용하여 다음과 같이 설치한다. 2017년 11월 기준으로 최신 버전은 3.0.0b34 이다.

      sudo pip install ete3
      

사용방법 #

  • 계통수 그리기 기본적인 계통수는 다음과 같이 생성할 수 있다.
    from ete3 import Tree # 문자열로 데이터 입력 t = Tree("(A:1,(B:1,(E:1,D:1):0.5):0.5);") print t #or t.show() # newick 형식 파일을 사용하는 경우 from ete3 import Tree t = Tree("sample.newick") print t #or t.show()

  • 계통수 맞춤제작 ete toolkit을 이용하여 다양한 형태의 계통수를 작성할 수 있으며, 각 노드에 해당하는 서열 간 alignment, matrix 데이터 등을 각 노드와 연계하여 계통수를 시각화할 수 있다.

    아래는 예제 코드이다.

    • alignment 연동 서열 데이터는 fasta, phyliip 형식의 데이터를 이용한다.

          from ete3 import PhyloTree, TreeStyle  
          fasta_txt = """
          >A
          MAEIPDETIQQFMALT--- HNIAVQYLSEFGDLNEALNSYYASQTDDIKDRREEAH
          >B
          MAEIPDATIQQFMALTNVSHNIAVQY--EFGDLNEALNSYYAYQTDDQKDRREEAH
          >C
          MAEIPDATIQ---ALTNVSHNIAVQYLSEFGDLNEALNSYYASQTDDQPDRREEAH
          >D
          MAEAPDETIQQFMALTNVSHNIAVQYLSEFGDLNEAL--------------REEAH
          """
          t = PhyloTree("(((A,B),C),D);")
          t.link_to_alignment(alignment=fasta_txt, alg_format="fasta")
          t.show(tree_style=TreeStyle())
      

    다음은 위의 예제 코드의 결과이미지이다.
    alignment

    • matrix 연동
      from ete3 import ClusterTree

          matrix = """
          #Names\tcol1\tcol2\tcol3\tcol4\tcol5\tcol6\tcol7
          A\t-1.23\t-0.81\t1.79\t0.78\t-0.42\t-0.69\t0.58
          B\t-1.76\t-0.94\t1.16\t0.36\t0.41\t-0.35\t1.12
          C\t-2.19\t0.13\t0.65\t-0.51\t0.52\t1.04\t0.36
          D\t-1.22\t-0.98\t0.79\t-0.76\t-0.29\t1.54\t0.93
          E\t-1.47\t-0.83\t0.85\t0.07\t-0.81\t1.53\t0.65
          F\t-1.04\t-1.11\t0.87\t-0.14\t-0.80\t1.74\t0.48
          G\t-1.57\t-1.17\t1.29\t0.23\t-0.20\t1.17\t0.26
          H\t-1.53\t-1.25\t0.59\t-0.30\t0.32\t1.41\t0.77
          """
          t = ClusterTree("(((A,B),(C,(D,E))),(F,(G,H)));", text_array=matrix)
          t.show("heatmap") # tree, heatmap cluster 연동
      

참조자료 #

Suggested Pages #

0.0.1_20210630_7_v33