User Tools

Site Tools


transcriptome_analysis

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
transcriptome_analysis [2017/01/24 11:34] – [GFF/GTF/GFF3 file] hyjeongtranscriptome_analysis [2021/03/17 13:09] (current) – external edit 127.0.0.1
Line 2: Line 2:
 RNA-seq을 이용한 진핵 생물의 전사체(transcriptome) 분석에서는 TopHat-Cufflioks-Cuffmerge-Cuffdiff-(CummeRbund)로 이어지는 [[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3334321/figure/F2/|Tuxedo protocol]]이 표준으로 여겨지고 있다. 여기에서는 splicing을 고려한 read alignment, 새로운 유전자의 발견, novel splice variant의 발견 등이 관건이 된다. Cufflinks version 2.2.0부터는 Cuffquant/Cuffnorm이라는 새로운 프로그램을 포함하는 워크플로우로 바뀌었다([[http://cole-trapnell-lab.github.io/cufflinks/releases/v2.2.0/|링크]]). RNA-seq을 이용한 진핵 생물의 전사체(transcriptome) 분석에서는 TopHat-Cufflioks-Cuffmerge-Cuffdiff-(CummeRbund)로 이어지는 [[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3334321/figure/F2/|Tuxedo protocol]]이 표준으로 여겨지고 있다. 여기에서는 splicing을 고려한 read alignment, 새로운 유전자의 발견, novel splice variant의 발견 등이 관건이 된다. Cufflinks version 2.2.0부터는 Cuffquant/Cuffnorm이라는 새로운 프로그램을 포함하는 워크플로우로 바뀌었다([[http://cole-trapnell-lab.github.io/cufflinks/releases/v2.2.0/|링크]]).
  
-그러나 이 방법을 박테리아 대상의 RNA-seq data analysis에 그대로 적용하는 것은 무리가 있다. 특히 read alignment 과정이 박테리아에게는 딱 맞지 않는다. 왜냐하면 유전자 밀도가 낮은 진핵 생물과 달리 원핵 생물은 유전자 배열이 매우 촘촘하여 심지어는 서로 겹치기도 하고, splicing이 일어나지 않기 때문이다. 따라서 일반적인 (genome 유래) read mapping program을 그대로 사용하여 reference genome sequence에 붙이는 것이 더 나을 수 있다. 이러한 전체적인 과정은 2016년 발표된 한 논문("SPARTA: Simple Program Automated reference-based bacterial RNA-seq Transcriptome Analysis)의 [[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4743240/figure/Fig1/|그림]]에 아주 잘 표현되어 있다. +그러나 이 방법을 박테리아 대상의 RNA-seq data analysis에 그대로 적용하는 것은 무리가 있다. 특히 read alignment 과정이 박테리아에게는 딱 맞지 않는다. 왜냐하면 유전자 밀도가 낮은 진핵 생물과 달리 원핵 생물은 유전자 배열이 매우 촘촘하여 심지어는 서로 겹치기도 하고, splicing이 일어나지 않기 때문이다. 따라서 일반적인 (genome 유래) read mapping program을 그대로 사용하여 reference genome sequence에 붙이는 것이 더 나을 수 있다. 뿐만 아니라 세균의 경우 워낙 그 종류가 많아서 일부 모델 세균을 제외하면 표준적인 reference(annotation 정보 포함)가 없는 경우가 대다수이다. 즉, 분석을 하려는 당사자가 reference 정보를 같이 
 + 준비해야 한다는 뜻이다. 이러한 전체적인 과정은 2016년 발표된 한 논문("SPARTA: Simple Program Automated reference-based bacterial RNA-seq Transcriptome Analysis)의 [[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4743240/figure/Fig1/|그림]]에 아주 잘 표현되어 있다. 
  
 아주 쉽게 이야기하자면 RNA-seq read의 mapping을 통해서 샘플로부터 다음 그림과 같은 형태의 데이터를 얻어내는 것이 첫번째 단계라고 할 수 있다. 각 셀을 채우는 수치는 특정 샘플(조건 및 반복)의 유전자가 갖는 expression value이다. 이것은 read count일 수도 있고, RPKM/FPKM 및 이에 상응하는 값일 수도 있다.  아주 쉽게 이야기하자면 RNA-seq read의 mapping을 통해서 샘플로부터 다음 그림과 같은 형태의 데이터를 얻어내는 것이 첫번째 단계라고 할 수 있다. 각 셀을 채우는 수치는 특정 샘플(조건 및 반복)의 유전자가 갖는 expression value이다. 이것은 read count일 수도 있고, RPKM/FPKM 및 이에 상응하는 값일 수도 있다. 
Line 17: Line 18:
  
 어떤 경우든 mRNA feature가 없으면 CLC Genomics Workbench에서 mRNA track을 뽑아내지 못하게 되고, 결과적으로 RPKM 값은 계산이 되지 않는다(TPM, total gene reads 및 unique gene reads 값은 만들어진다). 따아서 GFF 파일을 조작하여 사용하는 것이 훨씬 낫다(아래 참조) 어떤 경우든 mRNA feature가 없으면 CLC Genomics Workbench에서 mRNA track을 뽑아내지 못하게 되고, 결과적으로 RPKM 값은 계산이 되지 않는다(TPM, total gene reads 및 unique gene reads 값은 만들어진다). 따아서 GFF 파일을 조작하여 사용하는 것이 훨씬 낫다(아래 참조)
 +
 +**추가 정보** CLC Genomics Workbench의 RNA-seq Analysis 옵션에 "Calculate RPKM for genes without transcript"가 있음을 발견하였다. 그렇다면 mRNA feature 없이 gene만 존재하여도 RPKM 계산이 가능함을 의미한다. --- //[[hyjeong@kribb.re.kr|Haeyoung Jeong]] 2017/02/23 11:42// 물론 이것은 prokaryote의 경우에 한한다.  --- //[[hyjeong@kribb.re.kr|Haeyoung Jeong]] 2017/04/04 16:33//
 +
 +**추가 정보** GFF3 file을 CLC에서 작업하는 경우 transcript feature를 mRNA로 바꾸어야 나중에 제대로 track으로 표현된다.  --- //[[hyjeong@kribb.re.kr|Haeyoung Jeong]] 2017/04/07 18:23//
 ==== .ptt & .rnt files ==== ==== .ptt & .rnt files ====
 과거에는 NCBI의 RefSeq 자료에 ptt/rnt 파일이 존재하였으나 이제는 더 이상 제공되지 않는다. 박테리아의 RNA-seq 데이터 분석용 프로그램인 [[http://ccb.jhu.edu/software/EDGE-pro/|EDGE-pro]]와 [[http://cs.wellesley.edu/~btjaden/Rockhopper/|Rockhopper2 ]]는 아직도 이것을 필요로 하므로, GenBank 파일을 사용하여 적당히 ptt/rnt 파일을 만들어야 한다. 과거에는 NCBI의 RefSeq 자료에 ptt/rnt 파일이 존재하였으나 이제는 더 이상 제공되지 않는다. 박테리아의 RNA-seq 데이터 분석용 프로그램인 [[http://ccb.jhu.edu/software/EDGE-pro/|EDGE-pro]]와 [[http://cs.wellesley.edu/~btjaden/Rockhopper/|Rockhopper2 ]]는 아직도 이것을 필요로 하므로, GenBank 파일을 사용하여 적당히 ptt/rnt 파일을 만들어야 한다.
 ==== GFF/GTF/GFF3 file ==== ==== GFF/GTF/GFF3 file ====
  
-GFF file은 워낙 형식이 느슨하므로 RNA-seq data analysis용 프로그램이 이를 잘 받아들이는지를 사전에 점검해야 한다. 예를 들어 Prokka annotation tool이 만들어낸 GFF3 파일은 뒷부분에 FASTA sequence가 붙어있는데, [[http://sparta.readthedocs.io/en/latest/|SPARTA]](htseq-count 단계)에서는 에러를 유발한다. +GFF file은 워낙 형식이 느슨하므로 RNA-seq data analysis용 프로그램이 이를 잘 받아들이는지를 사전에 점검해야 한다. 예를 들어 Prokka annotation tool이 만들어낸 GFF3 파일은 뒷부분에 FASTA sequence가 붙어있는데, [[http://sparta.readthedocs.io/en/latest/|SPARTA]](htseq-count 단계)에서는 에러를 유발한다. 그러나 Ensembl에서 제공하는 GTF/GFF3 file은 특별한 조작을 가할 필요가 없다. 
-===== CLC Genomics Workbench에서 이 파일을 사용하려면 ===== +=== CLC Genomics Workbench에서 이 파일을 사용하려면(non-Ensemble) === 
-  - Annotate with GFF file 플러그인을 설치한다.+  - **Annotate with GFF file** 플러그인을 설치한다.
   - Sequence fasta file을 standard import로 불러들인다.   - Sequence fasta file을 standard import로 불러들인다.
-  - GFF 파일을 조작하여 gene/mRNA feature를 부가한다(예제 스크립트: modifyGFFforCLC_GW.pl]]+  - GFF 파일을 조작하여 gene/mRNA feature를 부가한다($ [[modifyGFFforCLC_GW.pl]] original_gff > modified_gff). repeat_region에 상위 gene feature를 추가하지 않도록 주의한다. 
 +  - Toolbox에서 Classical Sequence Analysis -> General Sequence Analysis -> Annotate with GFF/GTF/GVF file을 실행한다. 이때 2. Set parameters에서 "Name handling"을 적절히 수정한다. Name이란 각 feature에 부가되는 유일한 식별자로서 특별히 지정하지 않으면 Name - Gene_name - Gene_ID - Locus_tag - ID의 우선 순위로 적용된다. 작업할 GFF 파일을 열어보고 결정하기 바란다. 
 +  - Toolbox에서 Track Tools -> Convert to Tracks를 실행한다.  
 +  - 이후의 RNA-seq Analysis에서 필요한 annotation track을 고른다. 'Eukaryote' setting에서는 reference sequence와 gene track 및 mRNA track이 전부 필요하고, 'prokaryote' setting에서는 reference sequence와 gene track만 고를 수 있다. Default prokaryote setting에서는 RPKM이 계산되지 않지만, mRNA track이 존재한다면 계산 가능하다.
  
  
Line 86: Line 94:
   * SPARTA: Simple Program for Automated reference-based bacterial RNA-seq Transcriptome Analysis. [[https://www.ncbi.nlm.nih.gov/pubmed/26847232|BMC Bioinformatics 2016; 4:17-66]]   * SPARTA: Simple Program for Automated reference-based bacterial RNA-seq Transcriptome Analysis. [[https://www.ncbi.nlm.nih.gov/pubmed/26847232|BMC Bioinformatics 2016; 4:17-66]]
   * Tutorial: http://sparta-teaching.readthedocs.io/en/latest/   * Tutorial: http://sparta-teaching.readthedocs.io/en/latest/
-Read 전처리 및 QC, mapping, expression level 추정 및 dfferential expression analysis를 일괄적으로 실행하는 workflow 방식의 프로그램이다. 일루미나 기반의 sinlge-end read만을 사용할 수 있으므로, pair-end read를 가진 경우에는 forward read file만을 사용하라. DEG 계산에는 edgeR이 쓰인다. 결과 디렉토리에는 DEG 계산과 diagnostic plot을 그리는데 사용한 R 스크립트가 남게 되므로 추후 활용하기에 좋다. 이상에서 소개한 3개 프로그램 중에서 유일하게 전처리 및 QC 도구를 포함하고 있고, 가장 활용성이 높다고 판단된다.+Read 전처리(trimmomatic) 및 QC(fastQC), mapping(bowtie), expression level 추정(HTSeq) 및 dfferential expression analysis(edgeR)를 일괄적으로 실행하는 workflow 방식의 프로그램이다. 일루미나 기반의 sinlge-end read만을 사용할 수 있으므로, pair-end read를 가진 경우에는 forward read file만을 사용하라. DEG 계산에는 edgeR이 쓰인다. 결과 디렉토리에는 DEG 계산과 diagnostic plot을 그리는데 사용한 R 스크립트가 남게 되므로 추후 활용하기에 좋다. 이상에서 소개한 3개 프로그램 중에서 유일하게 전처리 및 QC 도구를 포함하고 있고, 가장 활용성이 높다고 판단된다.
 ==== 주의 사항 ==== ==== 주의 사항 ====
 입력 파일의 위치, 조건 수, 각 조건에 따른 샘플 설정 등을 명령행 인터페이스에서 대화식으로 입력하면 된다. 쉬운 설치와 사용을 표방하고 있지만 우분투가 아닌 CentOS에서는 그렇지만도 않다. install_dependencies.sh 스크립트(아래 참조)를 사용하여 필요한 프로그램들을 사전에 설치해 준다고는 하지만 apt-get을 쓰도록 되어있기 때문이다. 입력 파일의 위치, 조건 수, 각 조건에 따른 샘플 설정 등을 명령행 인터페이스에서 대화식으로 입력하면 된다. 쉬운 설치와 사용을 표방하고 있지만 우분투가 아닌 CentOS에서는 그렇지만도 않다. install_dependencies.sh 스크립트(아래 참조)를 사용하여 필요한 프로그램들을 사전에 설치해 준다고는 하지만 apt-get을 쓰도록 되어있기 때문이다.
Line 97: Line 105:
   sudo R --vanilla --slave < install_edger.r   sudo R --vanilla --slave < install_edger.r
  
-설치 위치는 반드시 ~/Desktop/SPARTA_Linux-master이어야 한다. 그리고 fastq file 이름에 밑줄이 들어있으면 edgeR 실행 단계에서 에러가 나므로 미리 적절히 바꾸는 것이 좋다. Replicate가 없으면 read count file까지는 생성되지만 역시 edgeR이 실행되지 않으므로 유의하라.+설치 위치는 반드시 ~/Desktop/SPARTA_Linux-master이어야 한다. 그리고 fastq file 이름에 밑줄이 들어있으면 edgeR 실행 단계에서 에러가 나므로 미리 적절히 바꾸는 것이 좋다. Replicate가 없으면 read count file까지는 생성되지만 역시 edgeR이 실행되지 않으므로 유의하라. GFF 파일로부터 참조하는 feature의 기본 타입과 ID는 exon과 gene_id이므로, 실제 상황에 맞게 수정하여 사용한다. 다음 예를 참조한다.
  
 +  $ python SPARTA.py --type=CDS --idattr=locus_tag
 ===== CLC Genomics Workbench ===== ===== CLC Genomics Workbench =====
 +'Experiment' 설정을 통해서 분석을 수행하는 classical transcriptomics analysis와 **Advanced RNA-Seq** 플러그인이 제공하는 분석 중에서 적당한 것을 골라서 사용하면 된다. 외부에서 만들어진 read count data(csv 포맷의 텍스트 파일)을 임포트하여 사용하려면 전자를 택한다. Advanced RNA-Seq 플러그인을 설치하면 Toolbox의 Transcriptomics Analysis -> RNA-Seq Analysis에 다음과 같이 빨강색 상자로 표시한 새로운 기능이 추가된다. Advanced RNA-Seq 플러그인에서는 track과 metadata file이 매우 중요하게 다루어짐을 기억해 두자.
 +
 +{{ :advanced_rna-seq.png?direct&300 |}}
 +
 +[[Working with metadata table (CLC)]]
  
 ===== What's next? ===== ===== What's next? =====
transcriptome_analysis.1485225266.txt.gz · Last modified: (external edit)