Skip to content

JBrowse의 사용 #

Find similar titles

19회 업데이트 됨.

Edit
  • 최초 작성자
    dseonah
  • 최근 업데이트
    green

Structured data

Category
Programming

JBrowse의 사용 #

Jbrowse는 AJAX 인터페이스를 가진 게놈 브라우저이며 Gbrowse의 새로운 버전이다. 대부분의 게놈 브라우저들이 서버 단에 요청해서 받는 방식이지만 Jbrowse는 자바스크립트 기반이며 모든 작업을 서버에게 직접 요청하는 것이 아니라 json 형태로 받아 웹 브라우저에서 수행하므로 서버의 요구사항을 최소화할 수 있다. 확대/축소, 탐색 및 트랙 선택 등을 제공하고 같은 게놈 위치를 반복적으로 보면 해당 위치의 데이터가 해당 사용자의 컴퓨터에 캐싱 되어 사용자가 서버가 응답하기를 기다리는 시간을 단축할 수 있고 gff3나 fasta등의 다양한 파일 형태를 지원하고 있다.

  1. Ajax 인터페이스를 가진 Genome Browse
  2. JavaScript 기반이며 json형태를 받아 수행
  3. 확대/축소, 탐색 및 트랙 선택 등 제공
  4. Cache를 사용하여 응답시간 단축
  5. Gff3, bed, fasta, wiggle, bigwig, BAM, VCF, REST 지원

workflow #

Image

그림1 JBrowse workflow
출처 : https://genome.cshlp.org/content/early/2009/08/03/gr.094607.109.full.pdf

JBrowse를 포함한 workflow의 개략도로 이 workflow에는 온라인으로 볼 수 있는 최종 단계인 JBrowse 파일 준비와 함께 기본 호출, 어셈블리, 주석, 정렬 및 비교 주석이 포함된다. JBrowse 파일 준비에 대한 자세한 내용은 다음을 참조한다.

Image

그림2. JBrowse workflow
출처 : https://genome.cshlp.org/content/early/2009/08/03/gr.094607.109.full.pdf

서버와 클라이언트의 구성 요소를 보여주는 JBrowse 아키텍처의 개략도로 '서버' 영역은 웹 서버에서 제공하는 데이터 (직사각형), 해당 데이터를 생성하는 프로그램 (화살표 레이블) 및 해당 프로그램 (실린더)에서 차례로 사용되는 데이터 소스를 보여준다. '클라이언트' 영역은 웹 브라우저에서 실행되는 코드의 주요 부분과 이들이 어떻게 어울리며 어떤 데이터를 사용하는지 보여준다.

설치 #

JBrowse는 http://jbrowse.org/blog/ 에서 설치할 수 있다. JBrowse코드와 데이터 파일은 모두 웹 서버가 사용자에게 제공할 수 있는 위치에 있어야 한다. 그런 다음 사용자가 웹 브라우저에서 JBrowse 디렉토리의 index.html 파일에 대한 적절한 URL을 가리키면 데이터 소스를 반영하는 시퀀스 및 기능 트랙을 포함하여 JBrowse 인터페이스가 표시된다.

  1. Linux에 설치

    • JBrowse를 실행하기 위해서는 Perl module인 CPAN(Comprehensive Perl Archive Network)을 설치해야 한다.

      # yum install perl-CPAN
      # cpan> Bundle::BioPerl
      
    • 빌드 필수 구성 요소와 make 및 C 컴파일러를 설치한다.

      # yum groupinstall "Development Tools"
      # yum install libpng-devel gd-devel zlib-devel perl-ExtUtils-MakeMaker
      
    • JBrowse의 bin폴더 안의 startup을 실행한다. 만약 이때 실행이 되지 않는다면 CPAN을 다시 설치해 주거나 빌드 필수 구성요소가 설치되었는지 확인한다.

      # ./setup.sh
      
    • setup이 완료 되었다면 http://[your.machine.address]/jbrowse/index.html?data=sample_data/json/volvox 이곳에 접속했을 시 JBrowse가 표시된다.
      Image

      그림3. Linux에서 JBrowse 실행
      데이터 생성 후 JBrowse 실행한 모습

    • CPAN은 다음과 같이 새로 설치할 수 있다. 설치를 완료한 후에는 [cpanm --help]으로 설치 여부를 알수 있다.

      # curl -L https://cpanmin.us | perl - --sudo App::cpanminus
      
    • 만약 setup에 실패하였다면 CPAN을 새로 설치해 본 후 perl종속성을 설치해 준다.

      # [jbrowse] bin/cpanm -l extlib --installdeps .
      
    • 데이터를 직접 생성한다. (아래 데이터 생성하기 참조)

  2. Window에 설치

    • Perl스크립트를 실행하기 위해 strawberry perl를 설치한다.

    • 설치가 잘 되었는지 확인하려면 [시작] - [cmd] - [perl -v]를 입력한다.

      C:\Users\USER>perl -v
      This is perl 5, version 26, subversion 2 (v5.26.2) built for MSWin32-x64-multi-thread
      
      Copyright 1987-2018, Larry Wall
      
      Perl may be copied only under the terms of either the Artistic License or the
      GNU General Public License, which may be found in the Perl 5 source kit.
      
      Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl".  If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.
      
    • JBrowse를 [eclipse] - [project] - [webapp] 에 위치시킨다.

    • 해당 project의 tomcat을 실행 후 http://[your.machine.address]/[projectName]/jbrowse/index.html 이곳에 접속했을 시 다음과 같이 JBrowse가 표시된다. Image

      그림4. Window에서 JBrowse 실행
      데이터 생성 전 JBrowse 실행한 모습

데이터 생성 #

데이터를 생성하기 위해서는 bin 폴더 안의 파일 권한이 [-rwxr-xr-x]가 되어야 한다. 데이터는 기본적으로 data라는 폴더에 생성되는데 직접 폴더를 지정하고 싶을 때는 [-out] 옵션을 통해 지정해 줄 수 있다.

  1. sequence 생성

    • sequence를 생성하기 위해서는 fasta 타입이 필요하지만 gff 파일에 sequence가 포함되어 있다면 gff 파일도 사용할 수 있다. 다음 명령어를 통해 sequence를 생성할 수 있다.

      # perl bin/prepare-refseqs.pl -fasta [경로] --out [경로]
      
  2. track 생성

    • flatfile-to-json.pl를 통해 track을 생성하기 위한 타입은 gff, bed, genbank로 [--gff], [--bed], [--gbk] 옵션으로 생성할 수 있다. 같은 폴더 안의 track은 trackLabel을 통해 구분하는데 [--trackLabel] 옵션을 통해 지정할 수 있고, 이때 trackLabel은 필수 옵션이다. 다음 명령어를 통해 track을 생성할 수 있다.

      # perl bin/flatfile-to-json.pl --gff [경로] --trackLabel [라벨명] --out [경로]
      
  3. names 생성

    • JBrowse에서 검색기능을 사용하기 위해서는 names를 생성해 주어야 한다. 이때 [-workdir]옵션을 통해 검색기능을 추가하고자 하는 track을 지정하고 [--out] 옵션을 통해 track과 같은 위치에 생성한다.

      # perl bin/generate-names.pl -workdir [track의 경로] --out [track의 경로]
      
  4. 생성된 것 확인하기

    • data 폴더 안에 seq, tarcks, names폴더가 생성된 것을 볼 수 있다. Image

      그림5. data 생성 확인

JBrowse 실행 #

JBrowse는 http://[your.machine.address]/[projectName]/jbrowse/index.html로 실행할 수 있다. 이때 index.html뒤에 '?'를 붙여 여러 옵션을 지정해 줄 수 있고, 옵션들은 '&'으로 구분한다.

  1. 실행 data 폴더 지정

    • 만약 기본 생성 폴더인 data폴더를 실행하고자 할 때는 옵션을 붙이지 않아도 되지만 다른 폴더에 생성한 데이터를 불러오고자 할 때는 data 옵션에 폴더명을 작성해 준다. 폴더 경로는 상대경로로 JBrowse 폴더를 기준으로 한다.
      Image

      그림6. data 폴더 지정

  2. track 선택 지정

    • JBrowse를 실행 시 어떤 track을 활성화 시킬지 tracks 옵션을 통해 지정할 수 있다. tracks 다음에는 trackLabel을 입력하고 track은 콤마(,)로 구분한다.
      Image

      그림7. tracks 선택 지정

참고 사이트 #

0.0.1_20230725_7_v68