3. Genome Annoation Methods
From Biospecies
Genome Annotation
-
Genome Annotation의 목적은 genome의 key feature를 밝혀내는 것이고, 특히 gene과 그 생산물에 대한 것을 알아내는 것이다. 현재 Prokaryotes을 대상으로 genome annotation이 활발히 진행되고 있다. 물론 Human을 포함한 Eukaryotes을 대상으로 하는 annotation 역시 활발히 진행되고 있으나, prokaryotes처럼 수월하지 않은 것이 사실이다. Eukaryotic genome annotation에 있어서 가장 걸림돌이 되는 건 다음과 같다. i) Fragments of viral and prokaryotic genomes that infected ancestral individuals ,ii) Mobile elements, iii) Pseudogenes, iv) Repetitive elements 물론 이 외에도 여러 걸림돌들이 있다.
-
Genome annotation은 크게 세 단계로 나눌 수 있다.
i) Nucleotide-level annotation
ii)Protein-level annotation
iii) Process-level annotation -
Nucleotide-Level Annotation
Mapping은 genome annotation에서 가장 첫 단계이다. 지금까지 알려진 모든 landmarks를 genome sequence 위에 표시하는 것이라 할 수 있다. Mapping은 다음과 같이 여섯 단계로 나눌 수 있다.
1. Finding Genomic Landmarks
PCR-based genetic markers처럼 short sequence를 찾는 것은 e-PCR program을 쓴다. 그보다 긴 sequence, 에를 들어 restriction-fragment length polymorphism markers같은 경우는 BLASTN이나 SSAHA같은 프로그램을 사용한다. Human일 경우 지금까지 의학 관련 연구로 인해 만들어진 cytogenetic map과의 연계 역시 중요하다. 이는 BAC clone의 In situ hybridization mapping을 이용한다.
2. Gene Finding
Gene finding 은 genome size가 커질수록 난이도가 높아지며, 정확도가 떨어진다. Coding region이 전체 genome의 85%인 influenzae라던지 70%인 yeast인 경우 six-frame translation & identifying ORFs 방법으로 대다수의 ORF를 찾아낼 수 있다. 그러나 genome size가 클 경우는 조금 사정이 달라지게 된다. Fly나 Worm의 경우 25%정도만이 coding region이라 하며, Human일 경우는 그것이 겨우 몇 퍼센트에 그친다고 알려져 있다. 또한 Eukaryote의 large genome일 경우 더욱 복잡한 문제가 산재해 있다. 우선, intron의 존재다. 일반적인 exon이 150bp인 반면, intron의 수 kb일정도로 intron은 exon에 비해 상당히 많은 부분을 차지한다. 둘째로, exon의 정확한 시작과 끝을 구별할 수 있는 방법이 아직 알려져 있지 않다. 셋째로, exon과 exon 사이에 있는 non-coding region이 intragenic region인지 intergenic region인지 확실치 않다. 그로 인해 multi-exon gene의 정확한 처음과 끝을 알아내기 힘들다. 넷째로 alternative splicing의 존재다. 이로 인해 exon을 찾아낸다 하더라도 그 순서 그대로 mRNA로 발현되리라는 보장이 없다. 이 외에도 여러 문제들이 large genome annotation을 힘들게 한다. Gene finding은 크게 두 가지 방법으로 분류할 수 있다. 기존에 알려진 다른 종의 gene sequence나 cDNA등의 similarity에 대한 사전 정보 없이 gene을 찾는 방법과, 그런 정보를 바탕으로 gene을 찾는 방법이다. 처음 방법을 Ab initio Gene Prediction이라 한다. 이 방법의 대부분의 경우 sensor가 있고, sequence에서 sensor에 부합하는 부분을 찾아내게 되어 있다. G+C content가 transcriptional start site와 관련이 있다고 알려져 있는 사실을 이용하여 이를 찾아내기 위해 G+C content를 측정하는 sensor라던지, splice consensus sequence를 이용하여 splice site를 찾아내기 위한 sensor가 그 예이다. Neural networks를 이용한 Grail 이나, Rule-based system을 이용한 GeneFinder, Hidden Markov Model을 이용한 GenScan, Genie, HMMGene, GeneMark 등도 하나 또는 그 이상의 sensor algorithm을 기반으로 작동한다. Reese et al.은 두 개의 annotation이 잘 되어 있는 fruitfly genome region을 이용하여 최근의 Ab initio gene prediction 프로그램들의 정확도를 평가하였다. 특정 염기가 exon에 포함되어 있는지 아닌지를 물어본 질문에 best algorithms은 ~95% sensitivities(a measure of the ability to detect true positives)와 ~90%의 specifities(a measure of the ability to discriminate against false positives)를 보여주었다. 그러나 exon boundary의 정확한 측정을 요구한 결과는 40% sensitivities와 30% specificity를 보여주었다. Ab initio prediction method 만으로는 정확한 gene finding을 할 수 없기 때문에, 기존의 실험이나 annotation 과정에서부터 알려진 다른 종의 gene sequence, 또는 cDNA, EST 등을 이용해 similarity data를 이용하여 gene finding을 한다. 이 방법은 훌륭한 접근 방법이지만, 이 역시 많은 어려움이 있기 때문에 쉽게 할 수 있는 것은 아니다.
i) Pseudogene – gene의 형태를 갖고 있지만 실제로 발현되지는 않는다. 고등생물일수록 이런 모습이 일반적이다.
ii) Repetitive elements of cDNA sequence
iii) ESTs – fragment data라서 완벽하지 않으며, 실험 과정에서 artifact의 우려도 있다. 또한 low-copy number gene이나 transient transcript일 경우 EST data에 포함될 가능성이 거의 없다.
iv) Alternative splicing
v) Chimerism – 다른 종의 유전자(ex-virus)가 일부 섞여서 이루어진 gene일 경우, 찾아내기 힘들다.
vi) Single-exon gene – similarity-based gene-prediction algorithm은 ORF를 찾기 위해 splicing에 대한 증거를 찾는다. 그러므로 single-exon gene은 찾을 수 없다. 이러한 단점들을 최소화하고자 최근의 gene prediction method는 Ab initio prediction과 similarity data를 같이 이용하고 있다. Grail/Exp, Genie EST, GenomeScan등의 소프트웨어는 이러한 경향을 반영하는 것이다. Human genome annotation인 경우, Celera와 Public Sequencing Consortium 둘 다, automated rules-based gene-prediction system을 자체 개발하여 사용하고 있다. Celera의 경우 Otto라 불리는 software package를 개발하였다. Otto는 RefSeq libaray의 well-characterized human genes과 Unigene의 human ESTs set, 그리고 SWISS-PROT과 그 외 다른 protein DB의 data를 이용하여 sequence similarity를 우선 측정한다. 그후에 GenScan등의 Ab initio 프로그램을 이용하여 splicing pattern을 찾는다. 반면 Human Sequencing Consortium은 Ensembl이라 하는 genome annotation system을 만들었다. 이것은 Genscan을 이용하여 ab initio gene prediction을 우선적으로 하고, 그 후에 sequence similarity data를 보강하는 형식이다. 서로 다른 방향으로 접근하지만 두 곳 다 cDNA와 EST similarity data에 더 무게를 두고 있다는 점이 공통점이다. 그래서 두 groups이 예상한 gene의 수가 ~30,000 정도로 비슷하다고 한 것은 그다지 놀랄 만한 일이 아니다.
3. Non-coding RNAs and regulatory regions
Genome에는 Protein coding sequence 말고도 rRNA, tRNA처럼 non-coding RNA들이 있다. rRNA는 similarity searching을 통하여 쉽게 찾을 수 있다. tRNA는 similarity search보다는 tRNA 특유의 구조를 이용한 De novo prediction method가 효율적으로 쓰인다. tRNAScanSE가 de novo prediction method를 이용한 소프트웨어이다. Telomerase RNA나 spliceosome RNAs 등도 similarity search를 이용하여 찾을 수 있다. 그러나 실험적으로 알려진 정보는 적은 만큼, similarity search도 한계가 있다. Regulatory regions도 non-coding RNA와 비슷하다. 일부분이지만 transcriptional-factor-binding sites가 실험적인 방법으로 알려져 있고, 이러한 정보는 TRANSFAC이나 PROSITE에서 얻을 수 있다. Regulatory region을 찾는 프로그램 중에서 MEME가 유명하다. 이 방법은 확률적인 방법에 의존한다. 그러나 이 방법은 input sequence에 따라 많이 달라지므로 확실치 않아서, 주로 실험 방법으로 밝힌 sequence에 대해 확인하는 단계로 쓰인다. Regulatory region를 찾아내는 algorithms의 개발은 Bioinformatics에서 중요한 이슈이다. 현재 C. elegans와 Caenorhabditis brigsae, mouse와 human, human과 chimpanzee 처럼 밀접한 관계가 있는 종간의 sequence 비교를 통해 transcriptional start site의 upstream에서 공통된 conserved blocks을 밝혀내고 있다.
4. Identifying Repetitive Elements & Mapping Segmental Duplication
Repetitive elements는 genome annotation에서 junk DNA로 취급된다. Human genome의 경우 44% 정도의 nucleotide가 repetitive elements일 것이라 추정되고 있다. 그러므로 본격적인 genome anntation에 앞서 repetitive elements를 효과적으로 처리해 주는 것이 선행되어야 한다. 이에 쓰이는 프로그램으로는 RepeatMasker가 있다. 그러나 Repetitive Elements를 junk DNA만으로 판단하기에는 아직 여러 놀랄만한 연구 결과들이 발표되고 있다. 1)canonical sequence에 관련된 repetitive sequence에 누적된 mutation의 개수로 age를 결정할 수 있다는 연구나 2)ALU-type transposable elements가 (A+T)-rich region에서부터 (G+C)-rich region으로 이동한다는 연구 결과들이 Repetitive elements를 단순히 junk DNA로 보기 힘들게 한다. Segmental duplication은 repetitive elements와 비슷하게 보일 수 있지만, 다른 것이다. 이것은 evolutionary history를 파악하는 데 있어서 중요한 역할을 한다.
5. Mapping Variations
Polymorphisms을 mapping하는 것은 nucleotide-level annotation의 마지막 단계라고 보인다. Single-nucleotide polymorphisms (SNPs) 은 genetic mapping, population genetics study와 clinical diagnosis등의 분야에서 유용한 정보로 쓰인다. 이론상으로 생각하면, SNPs를 밝혀내는 것은 단순하게 두 개의 individual genome sequence를 각각 sequencing하여 비교하여 알아낼 수 있는 쉬운 작업이다. 그러나 실제로 SNP-calling algorithms을 구현하려면, sequencing errors로 인한 것과 biological variation을 구별해내야 하는 어려움이 따른다. C. elegans의 SNPs의 경우 다양한 wild-type isolate에서부터 shotgun sequencing DNA 얻은 다음, 이를 reference genomic sequence와 비교해서 알아낸다. -
Protein-Level Annotation
기능이 알려지지 않은 수많은 단백질들을 만나면 annotator들은 우선 다른 종들의 잘 구분된 protein들에 대한 similarity 정보에 따라 그것들을 분류하려 한다. 이런 방법이 쉽고 효율적이긴 하지만, 완벽한 전제 하에 하는 것이 아니다. 우선, 기능이 비슷한 단백질이 있다 해서 그것들이 공통된 조상으로부터 내려왔다는 보장이 없고, 반대로 같은 family group으로 묶여진 단백질들이라 해도, 놀랄 정도로 다양한 기능들을 가지고 있는 경우도 많다. 게다가 진화 과정상 gain-of-function or loss-of-function등의 과정으로 인해 chimeric proteins이 되어서 두 개 이상의 (서로 연관되지 않은) 조상을 갖게 되었을 경우엔 이런 분류가 불가능하다. 전형의 단백질 protein annotation pipeline은 BLASTP 또는 PSI-BLAST를 이용하여 다른 여러 protein sequence database들에서 similarity search를 하는 것이다. 이런 DB 중에서 가장 유용한 것은 SWISS-PROT과 TrEMBL이다. 이런 방법을 보완하는 또 다른 방법으로는 functional domains에 대한 database를 이용하는 것이다. 이 중에 가장 대표적인 DB로는 PFAM이 있다. 이는 HMM profile과 common protein family의 alignment 정보를 모아둔 것이다. (HMMER software tool이용) 그 외에도 많이 이용되는 DB로는 PRINTS(short protein motifs), PROSITE(longer protein signatures known as profiles), ProDom(Protein domains derived from the Psi-Blast procedure), SMART(curated collection of protein domains), BLOCKS(conserved protein regions and their multiple alignments) 등이 있다. Functional domains들이 종류가 많고 다양하며, 위의 DB들이 서로 방법을 달리하여 구축된 것들이기는 하지만, 많은 부분 중첩되는 것은 사실이다. 그러나 서로 다른 명명법과 검색 방법등으로 이용자에게 혼란을 추구하는 것이 문제점이다. 이런 문제를 해결하기 위해, 최근 몇 년간 protein signature database를 통합하여 unified InterPro resource로 만드는 노력이 진행되고 있다. InterPro는 cross-referencing system으로 functional domains 관련 DB들이 다 연관되어 있다. -
Process-Level Annotation
Genome annotation과정에서 가장 많은 노력과 시간이 필요한 부분은 genome과 biological processes를 연결하는 작업일 것이다. Gene과 그로 인해 파생되는 protein과 그 외의 building block을 어떻게 cell cycle, cell death, embryogenesis, metabolism, maintenance of health and disease와 연결할 것인가 ? 이러한 질문의 대부분은 순수하게 computational work로 극복하기에는 한계가 잇다. 아직까지 다양한 종들 사이에서 biological function을 표현할 수 있는 common classification scheme이라 할 수 있는 방법론이 나오지 않았다. 최근에 Saccharomyces genome DB, FlyBase, Mouse Genome DB등이 중심이 되어 만든 Gene Ontology(GO) Consortium은 eukaryotic gene의 function을 표현할 기준이 될 수 있는 vocabulary full을 만드려 하는 노력이라 할 수 있다. GO의 뛰어난 점은 hierarchy structure를 이용하여 용어들을 조직적으로 정리하고 있다는 점이다. 그러나 단순히 tree구조는 biological meaning을 표현하기에 한계가 있고, 확장성도 낮다. 그래서 GO는 directed acyclic graph(DAG)를 이용하여 tree와는 다르게 하나의 child가 여러 개의 parent node를 가질 수 있게 하여, 이런 단점을 극복하였다. 아직 GO의 작업이 끝나지는 않았지만 앞으로 process-level annotation을 위해 큰 힘이 될 것이다.



