Showing posts with label RNA-seq. Show all posts
Showing posts with label RNA-seq. Show all posts
Monday, April 2, 2012
Thursday, December 29, 2011
Monday, October 10, 2011
Tuesday, August 30, 2011
Widespread RNA and DNA Sequence Differences in the Human Transcriptome 2
예전에 이 논문을 소개한적이 있는데 이제야 제대로 봐 볼까 한다. 음.. 사실 제대로 다 볼건 아니고 RDD(RNA-DNA Difference)를 어떻게 찾는지 방법에 대한 것에 초점을 맞추겠다. 이것이 SNP를 찾는 방법과 동일한지 확인해 보고자.
일단 아래 flowchart가 전체적인 분석 과정을 나타낸다. 잘 그렸다. 이것만 봐도 알겠다. 최곤데.
일단 아래 flowchart가 전체적인 분석 과정을 나타낸다. 잘 그렸다. 이것만 봐도 알겠다. 최곤데.
Monday, August 22, 2011
Identification of novel transcripts in annotated genomes using RNA-Seq
CuffLinks 논문중 하나. CuffLinks의 한 옵션인 -g 옵션의 설명을 위한 논문. RABT(reference annotation based transcript assembly)를 설명하는 논문이다.
INTRODUCTION
RNA-Seq의 탄생으로 좀 더 정교한 transcript abundance estimation이 가능해졌다. 그런데 그것 뿐만 아니라 RNA-Seq을 EST로 봄으로써 genome annotation도 가능함을 이야기 한다. 이런 RNA-Seq으로 annotation하는데 있어서 발현양이 적은 transcript의 경우에는 transcript의 부분만이 커버가 된다는 문제점이 있다. 아래 그림에서와 같이 95%이하로 cover된 transcript가 64.4%를 차지함을 볼 수있다. 이렇듯 naive assembly 방식으로는 제대로된 transcript를 구축하는데 문제가 있을 수 있다.
METHODS
위 method를 이해하기 위해서는 먼저 cufflinks의 transcript assembly를 봐야한다.
Cufflinks Transcript Assembly
cufflinks의 transcript assembly는 다음과 같은 목적을 갖는다.
reference annotation을 assembly algorithm에 이용하기 위해 3가지 접근을 채택했다(위의 그림이 overview).
RESULTS
DISCUSSION
INTRODUCTION
RNA-Seq의 탄생으로 좀 더 정교한 transcript abundance estimation이 가능해졌다. 그런데 그것 뿐만 아니라 RNA-Seq을 EST로 봄으로써 genome annotation도 가능함을 이야기 한다. 이런 RNA-Seq으로 annotation하는데 있어서 발현양이 적은 transcript의 경우에는 transcript의 부분만이 커버가 된다는 문제점이 있다. 아래 그림에서와 같이 95%이하로 cover된 transcript가 64.4%를 차지함을 볼 수있다. 이렇듯 naive assembly 방식으로는 제대로된 transcript를 구축하는데 문제가 있을 수 있다.
기존의 transcript assembly를 아래 3가지로 나눌수 있는데 그 어떠한 방식도 기존의 annotation을 이용하지 않는다.
- De novo assembly
- Genome reference based transcript assembly : genome에다가 mapping 하고 assembly 한다. Scripture 프로그램에서 했던 것. cover된 영역 사이의 gap을 채우는 것. 하지만 기존에 존재하던 annotation 파일을 이용하지는 않았다는 한계점이 있단다.
- RNA-Seq assisted protein coding gene annotation : ab initio gene finding program의 증거로다가 RNA-Seq데이터를 이용하는 것.
그래서 이 논문에서 기존의 annotation을 assembly에 이용하는 방식인 RABT assembly 방식을 소개한다.
METHODS
위 method를 이해하기 위해서는 먼저 cufflinks의 transcript assembly를 봐야한다.
Cufflinks Transcript Assembly
cufflinks의 transcript assembly는 다음과 같은 목적을 갖는다.
- 모든 fragment(paired-read)는 최소 한개의 assembled transcript와 일치한다
- 모든 transcript는 read들의 tiling에 의한 것이다
- transcript의 갯수는 위의 목적 1번을 만족하게 하는 최소한의 transcript 수이다.
- the resulting RNA-Seq models are identifiable
결국 fragment를 설명하기 위한 최소한의 갯수의 transcript를 찾아내는 것이 cufflinks의 목적.
reference annotation을 assembly algorithm에 이용하기 위해 3가지 접근을 채택했다(위의 그림이 overview).
- reference transcript로 부터 가상으로 faux-read를 tiled 되게 만들어서 low coverage transcript의 missing 된 부분을 찾을 수 있도록 한다. reference transcript의 15bp마다 405bp 길이의 faux-read를 생성.
- read와 1번 step의 faux-read 모두를 이용하여 Cufflinks로 parsimonious assembly를 한다.
- 2번 step에서 생긴 transfrag들을 reference transcript와 비교해서 다음 다섯가지 모든 조건과 일치하면 제거한다.
- 5' endpoint가 reference transcript에 포함된 경우
- 3' endpoint가 reference transcript의 600bp 이상으로 뻗지 못한 경우(그리고 이 영역에 intron이 없는 경우)
- reference transcript에 없는 intron을 가지지 않은 경우
- a
- a
RESULTS
DISCUSSION
Friday, August 5, 2011
deFuse: An Algorithm for Gene Fusion Discovery in Tumor RNA-Seq Data
RNA-Seq 분석 과정의 일환으로 fusion gene을 찾고자 선택된 프로그램 논문. 프로그램 다 돌려보고 나서 논문 읽어 볼려고 했는데 프로그램이 중간에 error가 나서 stop 한 관계로.. error 원인을 찾다가 run_adaboost.R의 input file에서 NA가 존재하는 것이 원인인 것을 알고 이 record를 지워도 되는가 판단하고자 급하게 논문을 읽어본다.
abstract를 보자면..
defuse는 unique read align만 쓰는게 아니라 모든 align을 쓰고 exon의 끝부분의 fusion만 보는것이 아니라 모든 부분에서의 fusion을 본다고 한다. 그래서 더욱 sensitive 하다고. specificity를 높이기 위해서 RT-PCR로 confirm 한 novel feature로 adaboost classifier를 train 한다는데 이건 영뭔소린지 본문을 봐야 알겠다. 뭐 그리그리 해서 ovarian cancer에서 gene fusion을 찾았단다.
gene fusion은 double stranded DNA breakage이 DNA repair error에 의한 것이라는데 이건 이 논문을 봐보자.
뭐 여튼.. defuse는 다른 프로그램과는 달리 ambiguously aligning read 도 쓰고, split read와 discordant read를 이용하는데 그 순서를 기존 프로그램과 달리 discordant read 분석을 먼저 하고 그 담에 dynamic programming-based split read analysis가 들어간단다. 이 순서가 좀더 sensitive 하다고.
The deFuse algorithm
일단 용어 정리부터 하자면
Conditions for considering discordant alignments to have originated from reads spanning the same fusion boundary.
defuse 알고리즘의 가장 첫번째는 fusion event가 일어나는 region을 걸치고 있는 spanning read를 찾는것. 그렇기 때문에 spanning read 의 선택 조건을 정하는 단계이다.
concordant paired-end로 fragment length distribution인 P(L)을 알 수 있는데, 여기서는 [lmin,lmax] 길이 안의 fragment만 고려한다.
서로 다른 discordant alignment가 동일한 fusion boundary를 포함하는 spanning read인지를 판단하는 2가지 조건.
Assigning a unique discordant alignment to each spanning read.
spanning read에 의해 가능한 모든 discordant alignment 중(=valid cluster)에서 split read를 찾기 위한 후보가 되는 valid cluster를 찾는 단계이다.
ambiguous alignment : spliced & unspliced gene sequence를 reference로 mapping 할때 gene들의 homology에 의해서 ambiguous alignment가 나타날 수도 있고 똑같은 유전자의 alternative splicing에 의한 동일한 exon들이 multiple splice variant(=isoform)에 나타남에 의할 수도 있다.
여튼 이러한 ambiguous alignment들에서 부터 제대로 된 alignment를 찾아야 한다.
Split read boundary sequence prediction.
찾아진 valid cluster 가 영유하는 영역(=approximate fusion boundary)에 align이 될거라 예상되는 split read를 찾고 그 split read와 approximate fusion boundary를 dynamic programming으로 align 해서 fusion boundary를 찾는 단계이다.
위 단계까지 해서 fusion event가 일어났을 것이라 예상되는 region을 찾으면 bp 단위의 fusion boundary를 찾기 위해 targeted split read analysis를 한다.
여기서 나타날 수 있는 문제점이 여러(ix,iy,j)가 같은 최대값을 갖는 경우이다. 이는 여러 split read들의 fusion boundary (ix,iy)를 clustering 해서(=동일한 (ix,iy)를 갖는 split read를 clustering) 이 cluster 중 read의 anchoring score의 합의 최대인 것을 뽑는것으로 해결한다.
Corroborating spanning read and split read evidence.
최종적으로 찾아진 fusion boundary를 confirm 하는 단계로 split read의 align으로 찾아진 fusion boundary를 바탕으로 spanning read의 fragment length distribution과 concordant read의 fragment length distribution과의 비교를 통해 유의한지 판단한다.
spanning read evidenced와 split read evidence 사이의 일치성을 확인한다. 일단 split read에 의해 예측된 fusion boundary를 이용하여 spanning read의 fragment length를 추론한다. 이렇게 나온 spanning read의 fragment length의 분포(={li})와 concordant paired-end에서 나온 fragment length의 길이 분포(P(L))를 z-test 한다({li}가 P(L)에서 나왔다는 가정하에).
----------------------------reference--------------------------------
solid tumor : cysts와 liquid에 상관없는 비정상적인 조직덩어리. 정확히는 모르겠지만 말그대로 액체에 의해 커진게 아니라 조직 자체가 비정상적으로 커져버린 덩어리를 뜻하는것 같다. 악성일수도 있고 양성일 수도 있단다. 3가지 type(sarcoma, carcinoma, lymphomas)의 solid tumor가 있다.
sarcomas는 뼈와 근육같은 connective tissue에서부터 생성된 tumor type.
carcinomas는 glandular and epithelial cell에서부터 형성된것(샘선이나 상피세포). 이런 cell들은 공기의 유출입이나 위장과 관련된 cell. lymphomas는 림프절에 관련된 tumor 일것이고.
abstract를 보자면..
defuse는 unique read align만 쓰는게 아니라 모든 align을 쓰고 exon의 끝부분의 fusion만 보는것이 아니라 모든 부분에서의 fusion을 본다고 한다. 그래서 더욱 sensitive 하다고. specificity를 높이기 위해서 RT-PCR로 confirm 한 novel feature로 adaboost classifier를 train 한다는데 이건 영뭔소린지 본문을 봐야 알겠다. 뭐 그리그리 해서 ovarian cancer에서 gene fusion을 찾았단다.
gene fusion은 double stranded DNA breakage이 DNA repair error에 의한 것이라는데 이건 이 논문을 봐보자.
뭐 여튼.. defuse는 다른 프로그램과는 달리 ambiguously aligning read 도 쓰고, split read와 discordant read를 이용하는데 그 순서를 기존 프로그램과 달리 discordant read 분석을 먼저 하고 그 담에 dynamic programming-based split read analysis가 들어간단다. 이 순서가 좀더 sensitive 하다고.
The deFuse algorithm
일단 용어 정리부터 하자면
- fragment : a size selected cDNA sequence during RNA-Seq library construction
- read : fragment에서 sequencing 된 부분
- insert sequence : fragment에서 paired-read를 제외한 sequencing 안된 부분
- fusion boundary : nucleotide 단위의 genomic 위치로 gene fusion이 일어나는 양쪽의 break point, 그러니까 두 유전자가 gene fusion이 일어날때 합쳐지는 그 bp위치
- spanning reads : paired-ends 사이의 insert sequence에 fusion boundary가 있는 reads
- split read : read 안에 fusion boundary가 있는 read
- discordant alignment : spanning reads와 split read의 alignment을 의미. spanning reads의 경우 paired-ends가 서로 다른 유전자에 align이 될거고, split read의 경우 한쪽 부분이 유전자의 끝부분에 align될거고 나머지 끝부분은 align이 안됨
defuse의 개요가 아래 그림과 같다. 총 4단계로 구성되어 있는데..
- read를 reference에 align 한다. 이 때 reference로는 spliced & unspliced gene을 모두 사용. 어떤경우에는 unspliced region이 intron인 gene fusion에 의해 발현되는 경우도 있기에. 이때 두가지 기준을 정해서 동일한 fusion event를 나타내는 discordant alignment를 clustering 한다.
- 가장 그럴듯한 fusion event를 선택한다. 아래 그림 a
- 각 fusion event의 fusion boundary를 찾기 위한 dynamic programming based solution에 이용될 split read를 찾는다. 아래 그림 b
- spanning & split reads 증거들을 증명을 위한 test. split read로 찾은 fusion boundary를 바탕으로 paired-end의 fragment의 putative length를 계산하여 fragment length distribution을 기준으로 차이가 있는지를 확인한다. 그리고 나서 quantitative feature를 구한뒤 adaboost classifier로 진짜와 가짜를 구분한다. 그림 c
Conditions for considering discordant alignments to have originated from reads spanning the same fusion boundary.
defuse 알고리즘의 가장 첫번째는 fusion event가 일어나는 region을 걸치고 있는 spanning read를 찾는것. 그렇기 때문에 spanning read 의 선택 조건을 정하는 단계이다.
concordant paired-end로 fragment length distribution인 P(L)을 알 수 있는데, 여기서는 [lmin,lmax] 길이 안의 fragment만 고려한다.
- lmin : a/2 percentile of P(L)
- lmax : (1-a/2) percentile of P(L)
- a : proportion of paired end reads that are not guaranteed by the algorithm to be assigned to the correct fusion event
서로 다른 discordant alignment가 동일한 fusion boundary를 포함하는 spanning read인지를 판단하는 2가지 조건.
- c1 : overlapping boundary region condition : 동일한 gene fusion event에서 나온 두 paired-end의 fusion boundary region은 반드시 overlap 되어야 한다. 아래 그림 c
- c2 : similar fragment length condition : 두 fragment의 길이차이(=dx+dy)가 lmax-lmin보다 작아야 한다.
아래 그림을 좀더 설명하자만 a와 d는 fusion boundary를 알고 있을때의 그림이고 b,c,e는 정확한 fusion boundary를 모를때의 위 조건에 대한 설명이다. 그러니까 실질적으로 a와 d와 같은 model에서 paired-end가 나왔을텐데 아직까지 boundary를 모르니까 b,c,e와 같은 그림이 그려질거고 거기서 부터 조건 c1과 c2가 나왔다고 생각면 된다.
Assigning a unique discordant alignment to each spanning read.
spanning read에 의해 가능한 모든 discordant alignment 중(=valid cluster)에서 split read를 찾기 위한 후보가 되는 valid cluster를 찾는 단계이다.
ambiguous alignment : spliced & unspliced gene sequence를 reference로 mapping 할때 gene들의 homology에 의해서 ambiguous alignment가 나타날 수도 있고 똑같은 유전자의 alternative splicing에 의한 동일한 exon들이 multiple splice variant(=isoform)에 나타남에 의할 수도 있다.
여튼 이러한 ambiguous alignment들에서 부터 제대로 된 alignment를 찾아야 한다.
- valid cluster : discordant alignments set으로 이 set 안의 모든 두 paired-ends 는 조건 c1과 c2를 만족한다. discordant 하게 alignment된 paired-end 의 집합인데 이 안의 모든 원소들은 서로 overlap(조건 c1)되고 fragment 길이 차이가 최소한보다는 작다(조건 c2).
ambiguous alignment에 의해 동일한 paired-end가 여러개의 valid cluster 속할 수 있다. 이렇기 때문에 하나의 ambiguous aligned paired-ends를 하나의 valid cluster에 할당함으로 해서 fusion event를 최소화 한다(maximum parsimony solution 이라고 하는데 supplementary를 참조할 필요가 있다). 모든 read와 모든 valid cluster를 unselected라고 해놓고 알고리즘의 각 step에서 read를 가장 많이 갖은 valid cluster를 selected 라고 해놓고 그 안의 read들도 assigned라고 해놓는다. 이 같은 step을 반복해서 valid cluster를 뽑는데 이를 maximal valid cluster라 한다.
Split read boundary sequence prediction.
찾아진 valid cluster 가 영유하는 영역(=approximate fusion boundary)에 align이 될거라 예상되는 split read를 찾고 그 split read와 approximate fusion boundary를 dynamic programming으로 align 해서 fusion boundary를 찾는 단계이다.
위 단계까지 해서 fusion event가 일어났을 것이라 예상되는 region을 찾으면 bp 단위의 fusion boundary를 찾기 위해 targeted split read analysis를 한다.
- approximate fusion boundary : 같은 valid cluster 안에 속하는 discordant alignment들의 fusion boundary region 의 intersection region. 아래 그림 a
- candidate split read : 한쪽 부분이 approximate fusion boundary 에 anchored된 paired-end read
- mate alignment region : candidate split read는 paired-end 중 한쪽만 anchored 된 read의 반대쪽 discordant read 가 고려 대상인데 한쪽이 align되었을때 align이 안된 read가 align 될거라고 예상되는 영역, 아래 그림 b
candidate split reads는 mate alignment region과 approximate fusion boundary가 겹치는 곳에 위치하게 되는 read들이 된다.
the split read analysis는 candidate split read를 approximate fusion boundary에 align 함으로써 진행된다. candidate split read의 fusion boundary에 의해 split 되었을 꺼라 예상되는 read(그러니까 anchored read 말고 반대쪽 read)를 transcript X의 approximate fusion boundary(=Sx)와 align 하고 transcript Y의 approximate fusion boundary(=Sy)와는 reverse로 align 한다(transcript X, Y는 gene fusion이 일어났을 거라 예상되는 trascript). 이때 align을 dynamic programming을 이용하기 때문에 X,Y 각각에 대해 matrix가 생성될 것인데 이를 Dx,Dy 라 한다. 이 allign에서 split을 (ix,iy,j)로 표현 할수 있는데 ix와 iy는 Sx와Sy에서 fusion boundary의 bp position을 뜻하고 j는 read 상에서의 bp 위치를 뜻한다. 이 (ix,iy,j)는 아래 공식으로 찾는다.
이때 Dx와 Dy는 threshold manchor를 넘어야 하는데 manchor = m*nanchor 이다(m은 match score, nanchor은 Sx 혹은 Sy에 align되어야 하는 최소한의 bp 갯수, 곧 Sx나 Sy 한쪽에만 너무 align 되는 것을 방지하기 위함이다).the split read analysis는 candidate split read를 approximate fusion boundary에 align 함으로써 진행된다. candidate split read의 fusion boundary에 의해 split 되었을 꺼라 예상되는 read(그러니까 anchored read 말고 반대쪽 read)를 transcript X의 approximate fusion boundary(=Sx)와 align 하고 transcript Y의 approximate fusion boundary(=Sy)와는 reverse로 align 한다(transcript X, Y는 gene fusion이 일어났을 거라 예상되는 trascript). 이때 align을 dynamic programming을 이용하기 때문에 X,Y 각각에 대해 matrix가 생성될 것인데 이를 Dx,Dy 라 한다. 이 allign에서 split을 (ix,iy,j)로 표현 할수 있는데 ix와 iy는 Sx와Sy에서 fusion boundary의 bp position을 뜻하고 j는 read 상에서의 bp 위치를 뜻한다. 이 (ix,iy,j)는 아래 공식으로 찾는다.
여기서 나타날 수 있는 문제점이 여러(ix,iy,j)가 같은 최대값을 갖는 경우이다. 이는 여러 split read들의 fusion boundary (ix,iy)를 clustering 해서(=동일한 (ix,iy)를 갖는 split read를 clustering) 이 cluster 중 read의 anchoring score의 합의 최대인 것을 뽑는것으로 해결한다.
Corroborating spanning read and split read evidence.
최종적으로 찾아진 fusion boundary를 confirm 하는 단계로 split read의 align으로 찾아진 fusion boundary를 바탕으로 spanning read의 fragment length distribution과 concordant read의 fragment length distribution과의 비교를 통해 유의한지 판단한다.
spanning read evidenced와 split read evidence 사이의 일치성을 확인한다. 일단 split read에 의해 예측된 fusion boundary를 이용하여 spanning read의 fragment length를 추론한다. 이렇게 나온 spanning read의 fragment length의 분포(={li})와 concordant paired-end에서 나온 fragment length의 길이 분포(P(L))를 z-test 한다({li}가 P(L)에서 나왔다는 가정하에).
----------------------------reference--------------------------------
solid tumor : cysts와 liquid에 상관없는 비정상적인 조직덩어리. 정확히는 모르겠지만 말그대로 액체에 의해 커진게 아니라 조직 자체가 비정상적으로 커져버린 덩어리를 뜻하는것 같다. 악성일수도 있고 양성일 수도 있단다. 3가지 type(sarcoma, carcinoma, lymphomas)의 solid tumor가 있다.
sarcomas는 뼈와 근육같은 connective tissue에서부터 생성된 tumor type.
carcinomas는 glandular and epithelial cell에서부터 형성된것(샘선이나 상피세포). 이런 cell들은 공기의 유출입이나 위장과 관련된 cell. lymphomas는 림프절에 관련된 tumor 일것이고.
Monday, July 18, 2011
Extensive genomic and transcriptional diversity identified through massively parallel DNA and RNA sequencing of eighteen Korean individuals
GMI에서 나온 논문이다. 완전 부럽다. GMI이고 싶을 뿐이다. 뭐 상황이 그렇지 않으니 할 수 없는거고..
여튼 음.. 힘은 빠진다만.. RNA-Seq 분석에 추가할 사항들과 분석 방법들을 뽑아내고자 선택한 논문. 내가 여기서 봐야 할 것들은 SNP detection, indel detection, annotated SNP, alternative splicing, gene fusion에 관한 것. 정확하게 그것들을 어떻게 수행했는지 파악하는데 목적을 둔다.
이 논문에서 10명의 사람의 whole genome sequencing을 하였고 추가적으로 8명의 사람의 exome sequencing을 하였다. 그리고 이 18명의 사람 중 17명의 사람의 transcriptome sequencing을 하였다.
대략적인 개요는 아래 그림과 같다.
SNP and short indel identification
10명에 대한 whole genome sequencing 정보는 아래 표와 같다.
solexa read의 경우 GSNAP으로 SOLID 데이터의 경우 Bioscope로 hg18에 mapping.
SNP detection을 위한 방법은 예전 논문을 따른단다. 사실 이 논문을 제대로 본적이 없어서 여기서 정리한다. 아래 reference를 참조
Rare and population-specific variants
Large deletions with breakpoints
Transcriptome sequencing analysis
Comparison of DNA and RNA sequence
New sequences from de novo assembly
---------------------------checklist------------------------------
1.Sequence Alignment : GSNAP을 이용해서 align. 5% mismatch까지 허용해서 highest scoring alignment를 선택한다. 200bp 까지의 read는 GSNAP 사용, 그 이상은 GMAP을 사용하길 권장. 자세한 GSNAP의 내용은 여기 참조.
2.SNP detection : korean genome 논문에 보면 Alpheus software system으로 SNPs랑 indel을 detection 했다고 나오는데.. 아무래도 이거 상용인거 같다는 생각이 든다. 여튼 SNPs call이 된 것들을
autosome의 SNP의 경우 4개 이상의 unique read가 있고, 20% or higher aligned reads 그러니까 mapping된 read 중 SNP으로 나온 read의 비율이 20%로 이상이 될때 이를 SNP로 보고 그 비율이 90%가 넘어가면 이를 homozygous SNP라고 여긴다.
3.indel detection
3.annotation of SNP
4.alternative splicing
5.gene fusion
여튼 음.. 힘은 빠진다만.. RNA-Seq 분석에 추가할 사항들과 분석 방법들을 뽑아내고자 선택한 논문. 내가 여기서 봐야 할 것들은 SNP detection, indel detection, annotated SNP, alternative splicing, gene fusion에 관한 것. 정확하게 그것들을 어떻게 수행했는지 파악하는데 목적을 둔다.
이 논문에서 10명의 사람의 whole genome sequencing을 하였고 추가적으로 8명의 사람의 exome sequencing을 하였다. 그리고 이 18명의 사람 중 17명의 사람의 transcriptome sequencing을 하였다.
대략적인 개요는 아래 그림과 같다.
SNP and short indel identification
10명에 대한 whole genome sequencing 정보는 아래 표와 같다.
solexa read의 경우 GSNAP으로 SOLID 데이터의 경우 Bioscope로 hg18에 mapping.
SNP detection을 위한 방법은 예전 논문을 따른단다. 사실 이 논문을 제대로 본적이 없어서 여기서 정리한다. 아래 reference를 참조
Rare and population-specific variants
Large deletions with breakpoints
Transcriptome sequencing analysis
Comparison of DNA and RNA sequence
New sequences from de novo assembly
---------------------------checklist------------------------------
1.Sequence Alignment : GSNAP을 이용해서 align. 5% mismatch까지 허용해서 highest scoring alignment를 선택한다. 200bp 까지의 read는 GSNAP 사용, 그 이상은 GMAP을 사용하길 권장. 자세한 GSNAP의 내용은 여기 참조.
2.SNP detection : korean genome 논문에 보면 Alpheus software system으로 SNPs랑 indel을 detection 했다고 나오는데.. 아무래도 이거 상용인거 같다는 생각이 든다. 여튼 SNPs call이 된 것들을
autosome의 SNP의 경우 4개 이상의 unique read가 있고, 20% or higher aligned reads 그러니까 mapping된 read 중 SNP으로 나온 read의 비율이 20%로 이상이 될때 이를 SNP로 보고 그 비율이 90%가 넘어가면 이를 homozygous SNP라고 여긴다.
3.indel detection
3.annotation of SNP
4.alternative splicing
5.gene fusion
Sunday, July 3, 2011
Whole Transcriptome Sequencing Reveals Gene Expression and Splicing Differences in Brain Regions Affected by Alzheimers's Disease
cufflinks를 설치, test 및 그 사이트에서 추천하는 procedure까지 알아봤다. 그럼 대충 cufflinks 의 내용과 사용법을 알았으니 이를 이용한 논문에서 어떻게 사용하고 데이터를 핸들했는지 알아보자. 왜냐.. cufflinks 결과만 주면 뻘쭘하잖아..
저자 왈 처음으로 AD(Alzheimer's disease) 환자의 뇌의 서로 다른 영역에서의 transcriptome을 RNA-Seq으로 분석했단다. 건강한 사람과 AD 환자의 post-mortem tissue(죽고 나서) 의 total brain, frontal and temporal lobe 영역(위 그림 참조)에서 transcriptome을 조사해서 gene expression의 quantification, splicing isoform, 그리고 alternative transcript start site를 찾았단다. 그리고 overrepresentative 유전자들의GO enrichment analysis를 해보니 음.. neuron 관련 유전자들이란다. 결론은 APOE (apolipoprotein E) 유전자의 alternative splicing 과 promoter usage가 AD 랑 관련있다는것.
그럼 내가 여기서 초점을 맞춰야 할 사항. 1. quantification of gene expression, 2. splicing isoform, 3.alternative transcript start site, 4.GO enrichment analysis의 방법에 대해서 확실히 알아보자.
SRA데이터가 좀 이상하다. 분면 논문 material에서는 paired end adaptor를 붙였다는데 데이터는 single이다. 뭐 여튼 건 중요한건 아니고.
mapping은 tophat을 이용, cufflinks로 assembly하고 .. cuffcompare로 기존의 annotation과 비교하고 거기서 나온 combine.gtf 파일을 새로운 annotation파일로 써서 cuffdiff를 이용하여 transcript의 양 차이와 alternative splicing 을 찾아냄.
그리고 GO enrichment analysis는 DAVID를 이용.
싱겁긴 하지만 일단은 여기까지.
Tuesday, June 7, 2011
Scripture (Ab initio reconstrunction of cell type-specific trascriptomes in mouse reveals the conserved multi-exonic structure of lincRNAs)
얼마전에 Kobic에 김남신 박사님의 수업자료(?)를 봤는데.. 허걱했다.. 정말 RNA-seq관련 논문은 죄다 꾀고 있는듯이 보였다.. 헐.. 정말 박사라는 이름에 걸맞는 느낌이랄까.
여튼 자극 받아 scripture 논문도 볼 예정이다. cufflinks랑 비슷한 계열인거 같아서 안볼려 했더만..
여튼 자극 받아 scripture 논문도 볼 예정이다. cufflinks랑 비슷한 계열인거 같아서 안볼려 했더만..
Thursday, June 2, 2011
TopHat: discovering splice junction with RNA-Seq
항상 느끼는거지만 정석대로 가는게 젤 빠른 길인거 같다. 어떻게든 빨리 가볼려고 인터넷 뒤지고 뭐하고 해도 결국은 첫 시작점으로 돌아간다. 내가 자바스크립트 완벽 가이드를 산 것처럼. 여튼 trinity을 이해할려고 cufflinks를 보게됐고.. cufflinks를 보기 위해 tophat까지 왔다. 그렇다면 bowtie까지 가야 하는건가.. 다행히도 예전에 bowtie 논문을 조금 본 기억이 있는데.. 더 내려가진 않았으면 한다.
논문의 intro에서는 QPALMA 라는 프로그램이랑 비교한다. QPLAMA는 svm을 이용한 machine-learning 방법으로 기존에 알려져 있는 junction에 read가 mapping 되는걸로 training을 해서 새로운 exon 이랑 junction을 찾는단다. 근데 자기껀 아니라는 거다. 결국 자기네 건 training set이 필요 없단다. 그리고 훨 빠르단다.
위 그림이 전체적인 tophat 알고리즘이다(그림만 보면 컨셉은 심플하다).
세세하게 보자면 일단 Bowtie를 이용해서 mapping 한다. 그래서 mapping 안된 read를 IUM (initially unmapped) reads 라고 해서 따로 모아 놓는다. mapping 할 때 mismatch 나 뭐 이런 것들은 default 값으로 유지하는 것 같고 mapping redundancy는 10까지 허용. 그 이상은 버림. 10까지 허용하는 건 gene의 multi copy를 위한것. 글고 low complexity1에 의한 unmapping은 IUM read에 들어가지 않는다.
그담엔 Bowtie의 assembly 모듈을 이용해서 mapping된 read를 assemble 한단다. splice junction에 걸쳐진 read들은 IUM read로 빠졌을 거고 그렇다면 exon의 끝부분에는 read가 몇에 없을거고 게다가 quality도 나쁠거니까(read가 끝에 얼추 정확하게 맞는다는건 exon의 끝부분이 그 read의 끝부분일테니까).. 이런 단순 mapping에 의해서 exon의 끝부분 sequence를 잃을 수 있다는 생각에 default로다가 양쪽으로 45 bp 확장한다. 발현양이 적은건 부분부분 read가 mapping 될거라서 이런 single island가 가까우면 merge 한다(default 6, 허나 mammalian일 경우 70 추천).
그 담은 각 island 마다 canonical intron2 donor 랑 acceptor를 찾는다(GT-AG). 70~20000bp(default) 안에 위치한 island 끼리의 canonical intron donor-acceptor 의 paring을 지어서 이 pair들에다가 IUM read를 맵핑한다. 중요한건 within single island 에서도 GT-AG pair를 찾는다는것. 단 속도를 높이기 위해 모든 single island에서 찾는건 아니고 depth가 높은 것에서만 찾는다.
마지막으로 Velvet+gmap이랑 자기네꺼랑 비교한다. 음 당연히 reference를 참고로 assembly 하는 TopHap이 performance가 좋단다.
음 일단은 parameter를 정리해야 할거 같다. parameter가 곧 알고리즘의 키가 되는 것이기 때문에(사실 항상 어떤 프로그램을 사용하기 전에 논문을 보는 이유가 이거다. 논문을 이해 못하면 프로그램을 제대로 사용 못하기 때문에)..
<possible parameter> 논문 보면서 예상되는 프로그램의 parameter
-D : single island로 assembly 된 것 중에도 alternative splicing에 의해 isoform이 있는 경우가 있기 때문에 single island에서도 canonical intron을 찾는데 speed를 위해 depth가 높은 island에서만 찾는다. 그 값을 정하는게 D
-s : read의 seed look up table을 만들때 사용하는 seed를 생성할 총 영역의 길이(5'쪽부터 얼마의 bp)
-k : junction의 seed라고 할 수 있다. junction에서 앞뒤로 k-mer, 즉 2k-mer를 junction의 seed로 해서 exact match되는 read의 seed index를 찾는다.
-minor isoform expression percentage : algorithm 수행후 찾아진 junction들 중에 그 expression이 주변 exon의 expression보다 15%가 안되면 report 자체를 안하는데 이 비율을 조정하는 값
----------------------------------reference---------------------------------------
1.low complexity DNA : 항상 이 단어를 보면 그냥 당연스레 sequence complexity 가 낮은거, 그러니까 polyN 같은 걸 말하겠지 하고 그냥 넘어 갔는데. . 최소한 정확한 definition이라도 알아야 할거 같아서 링크를 건다. low complexity 를 찾는데 많이 쓰는 프로그램 중 하나가 repeatmasker 라고 링크 따라 가면 low complexity DNA에 대한 내용이 나온다. 음 대충 보니 poly-purine/ poly-pyrimidine 이랑 high AT/GC content를 이야기 하는거 같네.
2. canonical intron, donor, acceptor : 위키 RNA splicing에 잘 나와있다. 넘 길어서 담에 봐야지
논문의 intro에서는 QPALMA 라는 프로그램이랑 비교한다. QPLAMA는 svm을 이용한 machine-learning 방법으로 기존에 알려져 있는 junction에 read가 mapping 되는걸로 training을 해서 새로운 exon 이랑 junction을 찾는단다. 근데 자기껀 아니라는 거다. 결국 자기네 건 training set이 필요 없단다. 그리고 훨 빠르단다.
위 그림이 전체적인 tophat 알고리즘이다(그림만 보면 컨셉은 심플하다).
세세하게 보자면 일단 Bowtie를 이용해서 mapping 한다. 그래서 mapping 안된 read를 IUM (initially unmapped) reads 라고 해서 따로 모아 놓는다. mapping 할 때 mismatch 나 뭐 이런 것들은 default 값으로 유지하는 것 같고 mapping redundancy는 10까지 허용. 그 이상은 버림. 10까지 허용하는 건 gene의 multi copy를 위한것. 글고 low complexity1에 의한 unmapping은 IUM read에 들어가지 않는다.
그담엔 Bowtie의 assembly 모듈을 이용해서 mapping된 read를 assemble 한단다. splice junction에 걸쳐진 read들은 IUM read로 빠졌을 거고 그렇다면 exon의 끝부분에는 read가 몇에 없을거고 게다가 quality도 나쁠거니까(read가 끝에 얼추 정확하게 맞는다는건 exon의 끝부분이 그 read의 끝부분일테니까).. 이런 단순 mapping에 의해서 exon의 끝부분 sequence를 잃을 수 있다는 생각에 default로다가 양쪽으로 45 bp 확장한다. 발현양이 적은건 부분부분 read가 mapping 될거라서 이런 single island가 가까우면 merge 한다(default 6, 허나 mammalian일 경우 70 추천).
그 담은 각 island 마다 canonical intron2 donor 랑 acceptor를 찾는다(GT-AG). 70~20000bp(default) 안에 위치한 island 끼리의 canonical intron donor-acceptor 의 paring을 지어서 이 pair들에다가 IUM read를 맵핑한다. 중요한건 within single island 에서도 GT-AG pair를 찾는다는것. 단 속도를 높이기 위해 모든 single island에서 찾는건 아니고 depth가 높은 것에서만 찾는다.
마지막으로 Velvet+gmap이랑 자기네꺼랑 비교한다. 음 당연히 reference를 참고로 assembly 하는 TopHap이 performance가 좋단다.
음 일단은 parameter를 정리해야 할거 같다. parameter가 곧 알고리즘의 키가 되는 것이기 때문에(사실 항상 어떤 프로그램을 사용하기 전에 논문을 보는 이유가 이거다. 논문을 이해 못하면 프로그램을 제대로 사용 못하기 때문에)..
<possible parameter> 논문 보면서 예상되는 프로그램의 parameter
-D : single island로 assembly 된 것 중에도 alternative splicing에 의해 isoform이 있는 경우가 있기 때문에 single island에서도 canonical intron을 찾는데 speed를 위해 depth가 높은 island에서만 찾는다. 그 값을 정하는게 D
-s : read의 seed look up table을 만들때 사용하는 seed를 생성할 총 영역의 길이(5'쪽부터 얼마의 bp)
-k : junction의 seed라고 할 수 있다. junction에서 앞뒤로 k-mer, 즉 2k-mer를 junction의 seed로 해서 exact match되는 read의 seed index를 찾는다.
-minor isoform expression percentage : algorithm 수행후 찾아진 junction들 중에 그 expression이 주변 exon의 expression보다 15%가 안되면 report 자체를 안하는데 이 비율을 조정하는 값
----------------------------------reference---------------------------------------
1.low complexity DNA : 항상 이 단어를 보면 그냥 당연스레 sequence complexity 가 낮은거, 그러니까 polyN 같은 걸 말하겠지 하고 그냥 넘어 갔는데. . 최소한 정확한 definition이라도 알아야 할거 같아서 링크를 건다. low complexity 를 찾는데 많이 쓰는 프로그램 중 하나가 repeatmasker 라고 링크 따라 가면 low complexity DNA에 대한 내용이 나온다. 음 대충 보니 poly-purine/ poly-pyrimidine 이랑 high AT/GC content를 이야기 하는거 같네.
2. canonical intron, donor, acceptor : 위키 RNA splicing에 잘 나와있다. 넘 길어서 담에 봐야지
Monday, May 30, 2011
Evidence of altered RNA stirs debate
이번 네이쳐에 나온 글. 얼마전 포스팅했던 사이언스지에 나온 논문에 대한 글이다.
굉장히 심각하게 이야기 한다(재밌다). 이게 사실이라면 central dogma 가 바뀌어야 할거라면서..
다시 한번 사이언스의 논문을 이야기 하자면 RNA-DNA difference region(RDD) 를 여러사람에서 공통적으로 찾았고 이것이 protein 시퀀스에 반영된다는 걸 확인 했다. 뭐 RNA-editing이 첨 알려져서 파격적인건 아니고.. 꽤 많은 RDDs를 찾았는데 이 중 일부가 이전에 알려지지 않은 RNA-editing에 의한 것이고 이것이 base chage에 관여 됐다는것. 이렇게 된다면 DNA level이 아닌 RNA level에서의 gene regulation에 관한 새로운 층(?)이 있다는 이야기가 된다는것.
근데 두가지 에러에 대한 가능성에 대해 이야기를 한다. 한가지는 시퀑싱 기계에 대한 systemic error, 그리고 genome상에 유사한 genome sequence가 있음으로 해서 RNA를 DNA에 잘못 갖다붙였다는것.
이미 다들 자기 데이터 추가해가지고 확인하고 있단다.
읽고 나니 왠지 흥미가 떨어진다.
굉장히 심각하게 이야기 한다(재밌다). 이게 사실이라면 central dogma 가 바뀌어야 할거라면서..
다시 한번 사이언스의 논문을 이야기 하자면 RNA-DNA difference region(RDD) 를 여러사람에서 공통적으로 찾았고 이것이 protein 시퀀스에 반영된다는 걸 확인 했다. 뭐 RNA-editing이 첨 알려져서 파격적인건 아니고.. 꽤 많은 RDDs를 찾았는데 이 중 일부가 이전에 알려지지 않은 RNA-editing에 의한 것이고 이것이 base chage에 관여 됐다는것. 이렇게 된다면 DNA level이 아닌 RNA level에서의 gene regulation에 관한 새로운 층(?)이 있다는 이야기가 된다는것.
근데 두가지 에러에 대한 가능성에 대해 이야기를 한다. 한가지는 시퀑싱 기계에 대한 systemic error, 그리고 genome상에 유사한 genome sequence가 있음으로 해서 RNA를 DNA에 잘못 갖다붙였다는것.
이미 다들 자기 데이터 추가해가지고 확인하고 있단다.
읽고 나니 왠지 흥미가 떨어진다.
Wednesday, May 25, 2011
Transcript assembly and quantification by RNA-Seq reveals unannotated transcripts and isoform switching during cell differentiation
작년 이맘때쯤 나온 논문. RNA-seq에 대해서.. 많이들 쓰는거 같다. 프로그램 이름은 Cufflinks.앞전에 trinity는 assembly-first 방식인데 이건 mapping-first 방식이다. 살짝 그림으로 봤을 때 이 프로그램 자체가 mapping 부터 하는거 같진 않고 TopHat 같은 프로그램의 결과를 가지고 뭔가 하는거 같다 (재밌는건 이 논문의 저자 중에 Barbara J Wold가 들어가 있는데 이 저자의 lab에서 ERANGE라는 RNA-seq 분석 프로그램으로 논문을 냈다.. 프로그램을 또 만들다니.. 물론 이사람이 주가 아니라 이건 CBCB가 주가 된거 같지만.. 난 과학자다. 뭐 이런건가.. 예전에 내가 만든 프로그램 따윈 과학의 발전을 위해선 중요치 않다 이건가..).
어짜피 Trinity setting 하고 나서 cufflinks도 해야 해서.. 그리고 RPKM이 아닌 FPKM 개념이 여기서 나온거 같단 생각이 들어서(trinity output manual 보면 butterfly 결과 fasta 파일의 accession에 rel_FPKM 이 나오는데 이 부분이 아직 fancy 하지 않다고 cufflinks 처럼 발전 시키겠다고 하는걸로 보아)
intro에서 이야기 하는 것이 전에 썻던 개념(ERANGE의 RPKM을 의미하는 것 같은데)은 gene 단위. 그러니까 trascript 단위의 개념이 아니라 gene 단위로 expression을 측정 했기 때문에 promoter isoform 같은건 측정 불가 였다. 또 annotated gene model을 사용했다는 약점이 있다고 말한다. 이것이 예전 프로그램 ERANGE와 Cufflinks의 차이점. 그리고 이것이 Cufflinks의 보안점이다.
아래 그림이 Cufflinks의 algorithm을 보여주는데..
설명하자면.. 일단을 TopHat으로 mapping 한다. 그 결과를 가지고 각 bundle of fragements(=reads) alignment (overlapped 된 mapping read들) 에서 overlap graph를 생성해서 가능한 모든 길을 찾는다(여기서 말하길 Dilworth's Theorem에 따라 incompatible 한 리드가 곧 서로 다른 transcript isoform이 있다는 걸 의미한다고). 이 각각의 길이 transcript isoform. 그리고 나서 각 transcript의 abundance를 측정하는데.. paired-end read 의 길이에 대한 확률분표를 적용한다(그림 d에서 보자면 보라색 paired-end read가 하나 있는데 이는 red trascript와 blue transcript에서 나옹 가능성이 있는 read이다. 그런데 red transcript에서 나왔다면 평균적인 library 길이에서 extremely 하게 벗어난것이기 때문에 이런 것을 수식에 적용하기 위해 길이에 대한 확률 분포 사용). 그런 담에 각각의 transcript isoform의 abundance의 likelihood 값이 최대가 되도록 해서 abundance를 구한단다.
자세한건 supplementary에 있는데 만만찮다. 에라이..
어짜피 Trinity setting 하고 나서 cufflinks도 해야 해서.. 그리고 RPKM이 아닌 FPKM 개념이 여기서 나온거 같단 생각이 들어서(trinity output manual 보면 butterfly 결과 fasta 파일의 accession에 rel_FPKM 이 나오는데 이 부분이 아직 fancy 하지 않다고 cufflinks 처럼 발전 시키겠다고 하는걸로 보아)
intro에서 이야기 하는 것이 전에 썻던 개념(ERANGE의 RPKM을 의미하는 것 같은데)은 gene 단위. 그러니까 trascript 단위의 개념이 아니라 gene 단위로 expression을 측정 했기 때문에 promoter isoform 같은건 측정 불가 였다. 또 annotated gene model을 사용했다는 약점이 있다고 말한다. 이것이 예전 프로그램 ERANGE와 Cufflinks의 차이점. 그리고 이것이 Cufflinks의 보안점이다.
아래 그림이 Cufflinks의 algorithm을 보여주는데..
설명하자면.. 일단을 TopHat으로 mapping 한다. 그 결과를 가지고 각 bundle of fragements(=reads) alignment (overlapped 된 mapping read들) 에서 overlap graph를 생성해서 가능한 모든 길을 찾는다(여기서 말하길 Dilworth's Theorem에 따라 incompatible 한 리드가 곧 서로 다른 transcript isoform이 있다는 걸 의미한다고). 이 각각의 길이 transcript isoform. 그리고 나서 각 transcript의 abundance를 측정하는데.. paired-end read 의 길이에 대한 확률분표를 적용한다(그림 d에서 보자면 보라색 paired-end read가 하나 있는데 이는 red trascript와 blue transcript에서 나옹 가능성이 있는 read이다. 그런데 red transcript에서 나왔다면 평균적인 library 길이에서 extremely 하게 벗어난것이기 때문에 이런 것을 수식에 적용하기 위해 길이에 대한 확률 분포 사용). 그런 담에 각각의 transcript isoform의 abundance의 likelihood 값이 최대가 되도록 해서 abundance를 구한단다.
자세한건 supplementary에 있는데 만만찮다. 에라이..
Tuesday, May 24, 2011
Full-length transcriptome assembly from RNA-Seq data without a reference genome
de novo transcriptome assembler 인 Trinity를 소개하는 논문. 일단은 full-length transcript의 de novo assembler로 Trinity의 방법을 소개하고 fission yeast, mouse, whitefly에 대해 테스트 해본다(참고로 whitefly는 reference genome이 없단다). 또한 다른 프로그램들 (abyss, trans-abyss, oases, SOAPdenovo)와도 비교 분석한다.
<RNA-seq 분석(특히 full-length transcript reconstruction)의 challenge(이 리스트는 아마도 다음 논문에서 따온듯 하다)>
1. transcript 마다 expression 양이 다르다.
2.한 transcript에서 나온 read들이라도 coverage가 고르지 못하다
3.많이 발현되는 transcript의 시퀀싱 error가 있는 read가 적게 발현되는 transcript의 read보다 많을 수 있다(이는 아마도 유사한 sequence일때 문제가 되지 않을까 싶네).
4.가까이에 있는 transcript 들이 ovelap되서 잘못된 chimeric transcript로 예측할 수 있다.
5.alternative splicing을 고려한 data structure가 필요.
6.서로 다른 transcript 사이에 유사한 sequence가 있을때 생기는 ambiguity.
<RNA-seq 분석에 대한 두가지 접근법>
1.Mapping-first approach : Scripture, Cufflinks 프로그램이 그 예. 일단 reference에 mapping and merging.
2.Assembly-first method : ABySS, SOAPdenovo, Oases. 일단 asseble 먼저 하고 reference 있음 그담에 mapping.
<Trinity 소개>
아래 그림이 Trinity의 대략적 개요인데.. 이걸 보면 처음에.. 뭐지 이거.. 3개의 species에 대해서 test를 해봤다는건가 이렇게 생각이 드는데. 나름 위트있게 각 모듈의 이름과 그 과정을 잘 표현한 그림이다. Trinity는 3개의 모듈(어떻게 보면 프로세스)로 되어 있는데 1.Inchworm, 2.Chrysalis, 3.Butterfly 로 되어있다(그래서 프로그램 이름이 Trinity인거 같기도).
각 단계별로 보자면
1.Inchworm : greedy k-mer-based approach 방식. 음 뭐냐면 read를 k-mer로 profiling해서 사전을 만들고 가장 frequency가 높은 k-mer를 seed로 삼아서 이 seed를 양방향으로 overlap 되는 것끼리(k-1 mer overlap) 연결시켜 contig를 만드는데 만약 k-1 overlap이 k-mer가 많을 시에는 k-mer 중 frequency가 높은 것을 연결한다. seed 선정부터 contig extend 까지 계속적으로 반복한다.
2.Chrysalis : clustering 후 complete de Bruijn graph를 생성. Inchworm 단계에서 생성된 contig를 clustering하는데 k-1 mer 이상 겹치는 contig들 또는 read에 의해 바로 연결되는 contig들을 grouping. 그 뒤 각 cluster(component)마다 de Bruijn graph를 생성한다.이때 node가 k-1mer이고 edge가 k mer이다. 각 edge는 read frequency로 weight를 구한다. 그 후 각 read들을 가장 많은 k-mer가 공통이 되는 component에 할당한다.
3.Butterfly : 생성된 component들에 read를 대입해서 가능한 모든 full-length transcript를 찾는다. 이는 두 단계로 구성되어 있는데 첫번째로 graph simplification 를 수행한다. graph simplification은 Chrysalis에서 만든 graph의 node를 merging 하고 error로 판단되는 edge를 pruning 하는 것으로 이루어진다. 두번째로 plausible path scoring 작업을 한다. 이는 실제 read를 simplified 된 graph에 대입함으로써 path를 찾게 되어 full-length transcript를 생성하는 것이다.
1.Mapping-first approach : Scripture, Cufflinks 프로그램이 그 예. 일단 reference에 mapping and merging.
2.Assembly-first method : ABySS, SOAPdenovo, Oases. 일단 asseble 먼저 하고 reference 있음 그담에 mapping.
<Trinity 소개>
아래 그림이 Trinity의 대략적 개요인데.. 이걸 보면 처음에.. 뭐지 이거.. 3개의 species에 대해서 test를 해봤다는건가 이렇게 생각이 드는데. 나름 위트있게 각 모듈의 이름과 그 과정을 잘 표현한 그림이다. Trinity는 3개의 모듈(어떻게 보면 프로세스)로 되어 있는데 1.Inchworm, 2.Chrysalis, 3.Butterfly 로 되어있다(그래서 프로그램 이름이 Trinity인거 같기도).
각 단계별로 보자면
1.Inchworm : greedy k-mer-based approach 방식. 음 뭐냐면 read를 k-mer로 profiling해서 사전을 만들고 가장 frequency가 높은 k-mer를 seed로 삼아서 이 seed를 양방향으로 overlap 되는 것끼리(k-1 mer overlap) 연결시켜 contig를 만드는데 만약 k-1 overlap이 k-mer가 많을 시에는 k-mer 중 frequency가 높은 것을 연결한다. seed 선정부터 contig extend 까지 계속적으로 반복한다.
2.Chrysalis : clustering 후 complete de Bruijn graph를 생성. Inchworm 단계에서 생성된 contig를 clustering하는데 k-1 mer 이상 겹치는 contig들 또는 read에 의해 바로 연결되는 contig들을 grouping. 그 뒤 각 cluster(component)마다 de Bruijn graph를 생성한다.이때 node가 k-1mer이고 edge가 k mer이다. 각 edge는 read frequency로 weight를 구한다. 그 후 각 read들을 가장 많은 k-mer가 공통이 되는 component에 할당한다.
3.Butterfly : 생성된 component들에 read를 대입해서 가능한 모든 full-length transcript를 찾는다. 이는 두 단계로 구성되어 있는데 첫번째로 graph simplification 를 수행한다. graph simplification은 Chrysalis에서 만든 graph의 node를 merging 하고 error로 판단되는 edge를 pruning 하는 것으로 이루어진다. 두번째로 plausible path scoring 작업을 한다. 이는 실제 read를 simplified 된 graph에 대입함으로써 path를 찾게 되어 full-length transcript를 생성하는 것이다.
더 자세한 내용은 논문 참조.
deFuse: An Algorithm for Gene Fusion Discovery in Tumor RNA-Seq Data
plos computational biology에 난 논문. cancer에서 gene fusion 현상을 볼수 있는데.. 이것이 oncogene이 역할을 하기도 한다. KOBIC 센터장 이상혁 교수님도 이와 관련해서 데이터베이스 논문 낸 걸 본 적이 있는데.. 여튼 이 논문에서 RNA-seq 데이터로 gene fusion을 찾는 새로운 알고리즘을 제안한단다.
Subscribe to:
Posts (Atom)


















